[llvm-bugs] [Bug 27689] New: shuffle lowering causes hang in DAGCombiner

via llvm-bugs llvm-bugs at lists.llvm.org
Mon May 9 13:32:23 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=27689

            Bug ID: 27689
           Summary: shuffle lowering causes hang in DAGCombiner
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: sroland at vmware.com
                CC: jfonseca at vmware.com, llvm-bugs at lists.llvm.org
    Classification: Unclassified

Running piglit gl-1.0-blend-func test with llvm trunk or 3.8 causes llvm to
hang infinitely. It seems to ping-pong between some functions, but never making
progress. In the backtrace below, the point where it is stuck is #12 (anonymous
namespace)::DAGCombiner::Run or thereabouts.



#0  0x00007fec5c50deb7 in llvm::SDUse::getResNo (this=0x7ffd13278dd0) at
/home/sroland/devel/vmware/llvm/include/llvm/CodeGen/SelectionDAGNodes.h:266
#1  0x00007fec5c742609 in AddNodeIDOperands (ID=..., Ops=...) at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:398
#2  0x00007fec5c742f3a in AddNodeIDNode (ID=..., N=0x1973d50) at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:567
#3  0x00007fec5c76acc3 in llvm::SDNode::Profile (this=0x1973d50, ID=...) at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:6688
#4  0x00007fec5c781eda in llvm::DefaultFoldingSetTrait<llvm::SDNode>::Profile
(X=..., ID=...) at
/home/sroland/devel/vmware/llvm/include/llvm/ADT/FoldingSet.h:214
#5  0x00007fec5c781f06 in llvm::DefaultFoldingSetTrait<llvm::SDNode>::Equals
(X=..., ID=..., TempID=...)
    at /home/sroland/devel/vmware/llvm/include/llvm/ADT/FoldingSet.h:362
#6  0x00007fec5c781e84 in llvm::FoldingSet<llvm::SDNode>::NodeEquals
(this=0x185ee30, N=0x1973d50, ID=..., IDHash=3783644393, TempID=...)
    at /home/sroland/devel/vmware/llvm/include/llvm/ADT/FoldingSet.h:412
#7  0x00007fec5d65136e in llvm::FoldingSetImpl::FindNodeOrInsertPos
(this=0x185ee30, ID=..., InsertPos=@0x7ffd13278ea0: 0x0)
    at /home/sroland/devel/vmware/llvm/lib/Support/FoldingSet.cpp:315
#8  0x00007fec5d6516f7 in llvm::FoldingSetImpl::GetOrInsertNode
(this=0x185ee30, N=0x1983e80) at
/home/sroland/devel/vmware/llvm/lib/Support/FoldingSet.cpp:404
#9  0x00007fec5c774fe7 in llvm::FoldingSet<llvm::SDNode>::GetOrInsertNode
(this=0x185ee30, N=0x1983e80)
    at /home/sroland/devel/vmware/llvm/include/llvm/ADT/FoldingSet.h:453
#10 0x00007fec5c7442c1 in llvm::SelectionDAG::AddModifiedNodeToCSEMaps
(this=0x185ed00, N=0x1983e80)
    at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:842
#11 0x00007fec5c769076 in llvm::SelectionDAG::ReplaceAllUsesWith
(this=0x185ed00, From=0x1983590, To=0x197f680)
    at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:6333
#12 0x00007fec5c696de1 in (anonymous namespace)::DAGCombiner::Run
(this=0x7ffd132793a0, AtLevel=llvm::AfterLegalizeDAG)
    at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1313
#13 0x00007fec5c6f1e20 in llvm::SelectionDAG::Combine (this=0x185ed00,
Level=llvm::AfterLegalizeDAG, AA=..., OptLevel=llvm::CodeGenOpt::Default)
    at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:14561
#14 0x00007fec5c7e7d6d in llvm::SelectionDAGISel::CodeGenAndEmitDAG
(this=0x185baf0) at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:782
#15 0x00007fec5c7e6c67 in llvm::SelectionDAGISel::SelectBasicBlock
(this=0x185baf0, Begin=..., End=..., HadTailCall=@0x7ffd13279a80: false)
    at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:626
#16 0x00007fec5c7ea301 in llvm::SelectionDAGISel::SelectAllBasicBlocks
(this=0x185baf0, Fn=...)
    at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1351
#17 0x00007fec5c7e5ceb in llvm::SelectionDAGISel::runOnMachineFunction
(this=0x185baf0, mf=...)
    at
/home/sroland/devel/vmware/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:466
#18 0x00007fec5c4f6a09 in (anonymous
namespace)::X86DAGToDAGISel::runOnMachineFunction (this=0x185baf0, MF=...)
    at /home/sroland/devel/vmware/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:173
#19 0x00007fec5c9e714d in llvm::MachineFunctionPass::runOnFunction
(this=0x185baf0, F=...) at
/home/sroland/devel/vmware/llvm/lib/CodeGen/MachineFunctionPass.cpp:43
#20 0x00007fec5d58f37f in llvm::FPPassManager::runOnFunction (this=0x1889da0,
F=...) at /home/sroland/devel/vmware/llvm/lib/IR/LegacyPassManager.cpp:1521
#21 0x00007fec5d58f536 in llvm::FPPassManager::runOnModule (this=0x1889da0,
M=...) at /home/sroland/devel/vmware/llvm/lib/IR/LegacyPassManager.cpp:1542
#22 0x00007fec5d58f8f3 in (anonymous namespace)::MPPassManager::runOnModule
(this=0x1855f80, M=...) at
/home/sroland/devel/vmware/llvm/lib/IR/LegacyPassManager.cpp:1598
#23 0x00007fec5d59005d in llvm::legacy::PassManagerImpl::run (this=0x18dee20,
M=...) at /home/sroland/devel/vmware/llvm/lib/IR/LegacyPassManager.cpp:1701
#24 0x00007fec5d59029d in llvm::legacy::PassManager::run (this=0x7ffd13279f90,
M=...) at /home/sroland/devel/vmware/llvm/lib/IR/LegacyPassManager.cpp:1732
#25 0x00007fec5cfea992 in llvm::MCJIT::emitObject (this=0x182e480, M=0x18536d0)
at /home/sroland/devel/vmware/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp:160
#26 0x00007fec5cfeaca8 in llvm::MCJIT::generateCodeForModule (this=0x182e480,
M=0x18536d0) at
/home/sroland/devel/vmware/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp:203
#27 0x00007fec5cfeb108 in llvm::MCJIT::finalizeObject (this=0x182e480) at
/home/sroland/devel/vmware/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp:251
#28 0x00007fec5d00a4a7 in LLVMGetPointerToGlobal (EE=0x182e480,
Global=0x184c358) at
/home/sroland/devel/vmware/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp:335
#29 0x00007fec5c426ac1 in gallivm_compile_module (gallivm=0x182f4b0) at
src/gallium/auxiliary/gallivm/lp_bld_init.c:621

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160509/a01434af/attachment-0001.html>


More information about the llvm-bugs mailing list