[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