[LLVMbugs] [Bug 10876] New: byval causes infinite recursion

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Sep 6 15:29:40 PDT 2011


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

           Summary: byval causes infinite recursion
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nlewycky at google.com
                CC: llvmbugs at cs.uiuc.edu


The four tests:
  llvm/trunk/test/CodeGen/ARM/2011-06-09-TailCallByVal.ll
  llvm/trunk/test/CodeGen/Mips/cprestore.ll
  llvm/trunk/test/CodeGen/Mips/largeimmprinting.ll
  llvm/trunk/test/CodeGen/Thumb/2011-05-11-DAGLegalizer.ll
all suffer the same problem: they infinitely recurse due to byval stuff.

Here's the stack trace:

Program received signal SIGSEGV, Segmentation fault.
0x0000000000fd9288 in (anonymous namespace)::SelectionDAGLegalize::LegalizeOp (
    this=Cannot access memory at address 0x7fffff5fe898
) at LegalizeDAG.cpp:766
766     SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) {
(gdb) bt
#0  0x0000000000fd9288 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=Cannot access memory at
address 0x7fffff5fe898
) at LegalizeDAG.cpp:766
#1  0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#2  0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#3  0x0000000000fdb147 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:1071
#4  0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#5  0x0000000000fdabc0 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:1028

#16 0x0000000000fdb02e in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:1062
#17 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#18 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#19 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#20 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#21 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#22 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
  [...]
#1537 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#1538 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#1539 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#1540 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#1541 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#1542 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
#1543 0x0000000000fdb147 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:1071
#1544 0x0000000000fdaf45 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:1054
#1545 0x0000000000fd3ac2 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeDAG (this=0x7fffffffd740) at
LegalizeDAG.cpp:210
#1546 0x0000000000ffb8e7 in llvm::SelectionDAG::Legalize (this=0x1d5b5c0)
    at LegalizeDAG.cpp:3917
#1547 0x0000000000f9983e in llvm::SelectionDAGISel::CodeGenAndEmitDAG (
    this=0x1d53ba0) at SelectionDAGISel.cpp:559
#1548 0x0000000000f98a80 in llvm::SelectionDAGISel::SelectBasicBlock (
    this=0x1d53ba0, Begin=..., End=..., HadTailCall=@0x7fffffffdb68)
    at SelectionDAGISel.cpp:424
#1549 0x0000000000f9b28a in llvm::SelectionDAGISel::SelectAllBasicBlocks (
    this=0x1d53ba0, Fn=...) at SelectionDAGISel.cpp:989
#1550 0x0000000000f97fe2 in llvm::SelectionDAGISel::runOnMachineFunction (
    this=0x1d53ba0, mf=...) at SelectionDAGISel.cpp:292
#1551 0x0000000001105095 in llvm::MachineFunctionPass::runOnFunction (
    this=0x1d53ba0, F=...) at MachineFunctionPass.cpp:33
#1552 0x00000000014930e8 in llvm::FPPassManager::runOnFunction (
    this=0x1d526e0, F=...) at PassManager.cpp:1512
#1553 0x0000000001493333 in llvm::FPPassManager::runOnModule (this=0x1d526e0, 
    M=...) at PassManager.cpp:1534
#1554 0x0000000001493679 in llvm::MPPassManager::runOnModule (this=0x1d4d390, 
    M=...) at PassManager.cpp:1588
#1555 0x0000000001493b78 in llvm::PassManagerImpl::run (this=0x1d4d040, M=...)
    at PassManager.cpp:1670
#1556 0x00000000014940c1 in llvm::PassManager::run (this=0x7fffffffe1e0, M=...)
    at PassManager.cpp:1714
#1557 0x00000000009dfedd in main (argc=3, argv=0x7fffffffe418) at llc.cpp:374
(gdb) up 100
#100 0x0000000000fd9c24 in (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp (this=0x7fffffffd740, Op=...) at
LegalizeDAG.cpp:908
908           Ops.push_back(LegalizeOp(Node->getOperand(i)));
(gdb) p Node
$1 = (llvm::SDNode *) 0x1d92380
(gdb) p *Node
$2 = {<llvm::FoldingSetImpl::Node> = {
    NextInFoldingSetBucket = 0x0}, <llvm::ilist_node<llvm::SDNode>> =
{<llvm::ilist_half_node<llvm::SDNode>> = {Prev = 0x1d92280}, Next = 0x1d92580}, 
  NodeType = 41, OperandsNeedDelete = 1, HasDebugValue = 0, SubclassData = 0, 
  NodeId = 87, OperandList = 0x1d92ff0, ValueList = 0x1d86150, 
  UseList = 0x1d93118, NumOperands = 4, NumValues = 2, debugLoc = {
    LineCol = 0, ScopeIdx = 0}}
(gdb) p Node->dump()
Cannot access memory at address 0x7fffff5fe778

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