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: [email protected]
ReportedBy: [email protected]
CC: [email protected]
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs