./llc bugpoint-reduced-simplified.bc llc: /home/asl/proj/llvm/src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:336: void <unnamed>::SelectionDAGLegalize::LegalizeDAG(): Assertion `Order.size() == Visited.size() && Order.size() == (unsigned)std::distance(DAG.allnodes_begin(), DAG.allnodes_end()) && "Error: DAG is cyclic!"' failed. This is reduction from Mozilla.
Created attachment 565 [details] Failed bytecode
looks like a dag combine issue.
reduced testcase: declare i1 %foo() define i32 %test(i32* %A, i32* %B) { %a = load i32* %A %b = load i32* %B %cond = call i1 %foo() %c = select i1 %cond, i32 %a, i32 %b ret i32 %c }
Fixed. Testcase here: CodeGen/Generic/2007-01-15-LoadSelectCycle.ll Patch here: -Chris
no really! patch here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of- Mon-20070115/042758.html