[LLVMbugs] [Bug 4643] New: pathological inlining/unrolling causes SelectionDAG:: ComputeMaskedBits to eat time

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Jul 29 03:00:21 PDT 2009


           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: unassignedbugs at nondot.org
        ReportedBy: deeppatel1987 at gmail.com
                CC: llvmbugs at cs.uiuc.edu

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

More information about the llvm-bugs mailing list