1. You have to add -inline 2. Don't know. I'm guessing it depends on the function complexity, among other things. 3. No, it cannot possibly inline everything due to recursive functions, and indirect function calls. It would also be a terrible idea due to code bloat.