[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


           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
- 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