> > > > Please reconsider? Why to we need to match LLVM here?< > > Matching llvm is not really the goal. I implemented it since it is > useful optimization for code that builds small objects on heap and > compiler can optimize away their use. This is relatively common for > code with higer abstraction penalty. My original motivation was > std::vector and std::string consumers, but I think there is C code doing > similar things, too, so it would be better to support both C and C++ > allocations.
Compilers doing surprising optimizations is now a top complaint C programmers have, which - from the feedback I get - prefer reliable and predictable behavior over compiler optimizations. So if this implemented for C, I think it should be turned off by default. Martin