[LLVMbugs] [Bug 4931] New: [meta] Improve inlining effectiveness
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Sep 8 18:24:12 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=4931
Summary: [meta] Improve inlining effectiveness
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: sharparrow1 at yahoo.com
CC: llvmbugs at cs.uiuc.edu
Blocks: 2353,2973
Limitations in inlining in LLVM (from llvmdev discussion]:
- Inlining doesn't take into account whether a load from a constant pointer is
constant.
- Inlining is purely bottom-up: we inline large functions into small functions
when it would be better to inline the small function.
- The cost metrics for constant-propagating into a branch or switch are
extremely imprecise.
- Cost metrics can easily end up being negative (i.e. we always inline) in
cases where inlining will lead to arbitrarily large increases in code size.
This might be okay at -O3, but it isn't for -Os.
- We only use one inlining pass normally; IIRC, the gcc devs found that an
additional early inlining pass is beneficial.
Partial inlining also probably falls into here somewhere.
Filing per request from Chris.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list