I don't think this is an optimization. Optimizations carried out by the compiler have to do with what kind of object code is emitted. An example would be "if (!(n%2))" becoming a bitwise and instruction in assembly language rather than a remainder one. I think in order for what exactly the OP wants to be optimized, you would have to do something about function call overhead, which means that things like inline functions matter more than the manner in which the function call was written.
Maybe the OP wants to be a compiler writer, guys. If he really did, this would be an important step in the process because to write the optimizations, you need to first understand them.
A wrinkle in the truth of the above statement is that the compiler has to be smart enough to realize that you are doing something subject to optimization, and a lot of the time this has to do with the sort of assembler emitted. I don't think you can confuse the compiler by just writing function calls the way that one wants. Still, it probably means resisting the temptation to vomit in your editor:
How many different ways can that go really?
foo(bar(baz(quz(arg, barg, harbl, carbl))));
For example, I hate it when some people need to write a math program. Sometimes you end up with one giant expression to solve the problem. It must have been a tricky thing to write thanks to all the operators present. It is also (probably) a tricky to optimize.