http://llvm.org/bugs/show_bug.cgi?id=4643
Summary: pathological inlining/unrolling causes
SelectionDAG::ComputeMaskedBits to eat time
Product: new-bugs
Version: unspecified
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Created an attachment (id=3254)
--> (http://llvm.org/bugs/attachment.cgi?id=3254)
crc from EEMBC
The attached test case, reduced from the EEMBC benchmark takes an excessive
amount of time to compile.
A sample report shows that we're recursing in ComputeMaskedBits a _lot_:
Total number in stack (recursive counted multiple, when >=5):
70830 llvm::SelectionDAG::ComputeMaskedBits(llvm::SDValue, llvm::APInt
const&, llvm::APInt&, llvm::APInt&, unsigned int) const
26458
llvm::ARMTargetLowering::computeMaskedBitsForTargetNode(llvm::SDValue,
llvm::APInt const&, llvm::APInt&, llvm::APInt&, llvm::SelectionDAG const&,
unsigned int) const
371 llvm::APInt::APInt(unsigned int, unsigned long long, bool)
349 llvm::APInt::clearUnusedBits()
334 llvm::APInt::operator&(llvm::APInt const&) const
331 llvm::APInt::operator=(llvm::APInt const&)
237 llvm::APInt::isSingleWord() const
115 llvm::cast_retty<llvm::ConstantSDNode, llvm::SDValue>::ret_type
llvm::cast<llvm::ConstantSDNode, llvm::SDValue>(llvm::SDValue const&)
...
Unrolling and inlining cause some serious expansion here.
--
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