Displaying 6 results from an estimated 6 matches for "initdagtopologicalsorting".
2010 Jun 08
2
[LLVMdev] Always unfold memory operand
...e resulting tool-chain was broken.
There are only two references to "CALL64m": the definition in
X86Instr64bit.td, and an entry in X86InstrInfo.cpp.
After commenting both out, compilation of a large application fails with:
llc: ScheduleDAG.cpp:462: void
llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(): Assertion
`Node2Index[SU->NodeNum] > Node2Index[I->getSUnit()->NodeNum] && "Wrong
topological sorting"' failed.
bugpoint produced this minimal example which triggers the problem:
define ccc void @ArgsFree() nounwind {
entry:
%0 = load void (i8*)** undef, ali...
2010 Jun 09
0
[LLVMdev] Always unfold memory operand
...was broken.
> There are only two references to "CALL64m": the definition in
> X86Instr64bit.td, and an entry in X86InstrInfo.cpp.
> After commenting both out, compilation of a large application fails with:
> llc: ScheduleDAG.cpp:462: void
> llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(): Assertion
> `Node2Index[SU->NodeNum] > Node2Index[I->getSUnit()->NodeNum] && "Wrong
> topological sorting"' failed.
> bugpoint produced this minimal example which triggers the problem:
> define ccc void @ArgsFree() nounwind {
> entry:
> %0 =...
2010 Jun 09
1
[LLVMdev] Always unfold memory operand
...re are only two references to "CALL64m": the definition in
> > X86Instr64bit.td, and an entry in X86InstrInfo.cpp.
> > After commenting both out, compilation of a large application fails with:
> > llc: ScheduleDAG.cpp:462: void
> > llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(): Assertion
> > `Node2Index[SU->NodeNum] > Node2Index[I->getSUnit()->NodeNum] && "Wrong
> > topological sorting"' failed.
> > bugpoint produced this minimal example which triggers the problem:
> > define ccc void @ArgsFree() nounwind {
>...
2010 Jun 08
2
[LLVMdev] Always unfold memory operand
Hi,
I am attempting to modify LLVM to generate code for an architecture which is
nearly identical to X86-64, but with a few minor differences.
In particular, "call" must always have a register operand, and cannot have a
memory operand. Any ideas on how I can express this rule?
Thanks,
- David
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2010 Jun 08
0
[LLVMdev] Always unfold memory operand
On Tue, Jun 8, 2010 at 2:05 PM, David Meyer <pdox at google.com> wrote:
> Hi,
> I am attempting to modify LLVM to generate code for an architecture which is
> nearly identical to X86-64, but with a few minor differences.
> In particular, "call" must always have a register operand, and cannot have a
> memory operand. Any ideas on how I can express this rule?
Just get
2013 Feb 28
2
[LLVMdev] Calling with register indirect reference instead of memory indirect reference.
...extern void (*foo)(int);
foo(2);
return 0;
}
And the problem is that I am seeing an assertion failure with respect to the DAG structure.
.file "<stdin>"
llc: ~/llvm/lib/CodeGen/ScheduleDAG.cpp:510: void llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(): Assertion `Node2Index[SU->NodeNum] > Node2Index[I->getSUnit()->NodeNum] && "Wrong topological sorting"' failed.
0 llc 0x000000000117ef3a llvm::sys::PrintStackTrace(_IO_FILE*) + 38
I am wondering if the modification made to the DAG is causing a prob...