Hi Gravis,
All fair comments. C++ is inherently a bigger language than C - it's only just possible on Epiphany. You really are better sticking to C.
I'm not sure how much the inline keyword will do for you. It is advisory only. You are probably better looking at the command line options which control inlining.
Its not at all unusual to get smaller code with -O1 than -Os. -Os is just -O2 with a few optimizations that tend to increase size disabled. There is no GCC equivalent of LLVM's -Oz.