[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