[LLVMbugs] [Bug 11507] New: missing optimization opportunity: recursive inlining

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Dec 8 09:51:16 PST 2011


http://llvm.org/bugs/show_bug.cgi?id=11507

             Bug #: 11507
           Summary: missing optimization opportunity: recursive inlining
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: s3734770 at mail.zih.tu-dresden.de
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 7689
  --> http://llvm.org/bugs/attachment.cgi?id=7689
Test case in C++

I saw a lot of std::map usage in the llvm compiler which uses lots of
operators, especially to check if the map is empty. But thinking this check is
cheap is too naive as you will see in the test case:

_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E
is called with null as the second parameter.
_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E
itself starts with a comparison of the second parameter against null. So
inlining this function can fold a lot (the test case is designed to be a
completely empty program).

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