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

Reply via email to