[LLVMbugs] [Bug 11915] New: [llvm][llc]slatallocator memory full error

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Feb 2 21:32:09 PST 2012


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

             Bug #: 11915
           Summary: [llvm][llc]slatallocator memory full error
           Product: new-bugs
           Version: 3.0
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: bogon82.kim at samsung.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 7990
  --> http://llvm.org/bugs/attachment.cgi?id=7990
gcc test case which generate slatallocator memory full error

Log:
When passing a huge parameter using the byval mechanism, a long
sequence of loads and stores was being generated to perform the
copy on the arm targets if the parameter was less than 4 byte
aligned, causing llc to use up vast amounts of memory and time


http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20101101/111138.html

This problem is similar testcase as above link.
However, the dying point is different like below callstacks
I assume that this comes from invalid NumValues which obtains by ValueVTs
  ComputeValueVTs(TLI, Ty, ValueVTs, &Offsets);
  unsigned NumValues = ValueVTs.size();
I attached testcase I used.
Please test it.

Call stack
     llc.exe!llvm::MallocSlabAllocator::Allocate(unsigned int Size)  Line 171  
 C++
     llc.exe!llvm::BumpPtrAllocator::StartNewSlab()  Line 53 + 0x1b bytes   
C++
     llc.exe!llvm::BumpPtrAllocator::Allocate(unsigned int Size, unsigned int
Alignment)  Line 125    C++
    
llc.exe!llvm::Recycler<llvm::SDNode,136,8>::Allocate<llvm::SDNode,llvm::BumpPtrAllocator>(llvm::BumpPtrAllocator
& Allocator)  Line 97 + 0x38 bytes    C++
    
llc.exe!llvm::Recycler<llvm::SDNode,136,8>::Allocate<llvm::BumpPtrAllocator>(llvm::BumpPtrAllocator
& Allocator)  Line 103    C++
    
llc.exe!llvm::RecyclingAllocator<llvm::BumpPtrAllocator,llvm::SDNode,136,8>::Allocate()
 Line 46 + 0x1d bytes    C++
     llc.exe!operator new<llvm::BumpPtrAllocator,llvm::SDNode,136,8>(unsigned
int __formal,
llvm::RecyclingAllocator<llvm::BumpPtrAllocator,llvm::SDNode,136,8> &
Allocator)  Line 64    C++
>	llc.exe!llvm::SelectionDAG::getNode(unsigned int Opcode, llvm::DebugLoc DL, llvm::EVT VT, llvm::SDValue N1, llvm::SDValue N2)  Line 3096 + 0xe bytes	C++
     llc.exe!llvm::SelectionDAGBuilder::visitLoad(const llvm::LoadInst & I) 
Line 3227    C++
     llc.exe!llvm::SelectionDAGBuilder::visit(unsigned int Opcode, const
llvm::User & I)  Line 134 + 0xc bytes    C++
     llc.exe!llvm::SelectionDAGBuilder::visit(const llvm::Instruction & I) 
Line 920    C++
    
llc.exe!llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const > Begin, llvm::ilist_iterator<llvm::Instruction const > End, bool &
HadTailCall)  Line 413 + 0x14 bytes    C++
     llc.exe!llvm::SelectionDAGISel::SelectAllBasicBlocks(const llvm::Function
& Fn)  Line 992    C++
     llc.exe!llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction
& mf)  Line 294    C++
     llc.exe!llvm::MachineFunctionPass::runOnFunction(llvm::Function & F)  Line
33 + 0x13 bytes    C++
     llc.exe!llvm::FPPassManager::runOnFunction(llvm::Function & F)  Line 1512
+ 0x17 bytes    C++
     llc.exe!llvm::FPPassManager::runOnModule(llvm::Module & M)  Line 1534 +
0x15 bytes    C++
     llc.exe!llvm::MPPassManager::runOnModule(llvm::Module & M)  Line 1588 +
0x17 bytes    C++
     llc.exe!llvm::PassManagerImpl::run(llvm::Module & M)  Line 1672 + 0x1b
bytes    C++
     llc.exe!llvm::PassManager::run(llvm::Module & M)  Line 1717    C++
     llc.exe!main(int argc, char * * argv)  Line 375    C++
     llc.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes    C
     llc.exe!mainCRTStartup()  Line 371    C
     kernel32.dll!76deed6c()     
     [Frames below may be incorrect and/or missing, no symbols loaded for
kernel32.dll]    
     ntdll.dll!773f37f5()     
     ntdll.dll!773f37c8()

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