Bugzilla – Bug 459
[llvmg++] C++ frontend is expanding lots of unused inline functions
Last modified: 2004-11-28 01:58:40
You need to log in before you can comment on or make changes to this bug.
Testcase: --- #include <stdio.h> --- To reproduce: $ llvmg++ test.c -S -o - Look at all of the linkonce function bodies that get emitted. This is VERY bad. Note this only happens with llvmg++, not with llvmgcc. -Chris
Fixed. Testcase here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041122/021366.html Patch here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041122/021367.html -Chris
As it turns out, that patch broke the C++ FE, causing it to emit too few symbols. The problem is that it didn't notice when global variables (e.g. vtables) referred to inline functions. These patches fix this: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041122/021395.html http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041122/021396.html -Chris