[LLVMdev] Does the gcc frontend do inlining or deadcode elimination ?
Long Fei
lfei at ecn.purdue.edu
Thu Jul 7 13:52:42 PDT 2005
I am investigating some inlining issue, so I did
llvm-gcc aaa.c bbb.c ... nnn.c -o output
opt -inline -inline-threshold=xxx < output.bc | llc -march=c >
output_inline.c
1)
I noticed that even if I set xxx to 0 or even a very small negative
number, many functions are eliminated. I am wondering if these functions
are inlined by the frontend, or identified as deadcode.
For instance, SPEC2k bzip2 has 79 functions, after these two steps, only
61 functions are left. no other optimizations are used.
2)
I noticed that the inlining condition (in
Transforms/IPO/InlineSimple.cpp) is tested during llvm-gcc but not
during the opt phase ? Can anybody explain what happens during llvm-gcc
and opt respectively ?
thanks,
--Long
More information about the llvm-dev
mailing list