Dale Johannesen
2010-Oct-27 18:47 UTC
[LLVMdev] PowerPC : Assertion `MovePCtoLROffset & & " MovePCtoLR not seen yet?" ' failed.
I'm not working on it, but I might be able to help find the problem. What this means is that you're generating code in PIC mode, and an object that requires a PIC register to reference is being addressed, and no PIC register was allocated. The allocation was supposed to happen in PPCDAGtoDAGISel::Select when the reference was processed, and a MovePCtoLR instruction inserted at that time. Somebody can probably figure it out by stepping through that. On Oct 27, 2010, at 10:16 AMPDT, D. Johnson wrote:> Erik de Castro Lopo <mle+cl <at> mega-nerd.com> writes: > >> >> Hi all, >> >> I'm compiling current SVN HEAD on Linux/x86. The tests are failing >> on PowerPC due to the following assertion failure : >> >> JITTests: PPCCodeEmitter.cpp:152: unsigned int<unnamed>::PPCCodeEmitter:: >> getMachineOpValue(const llvm::MachineInstr&, const llvm::MachineOperand&) >> const: Assertion `MovePCtoLROffset && "MovePCtoLR not seen yet?"' failed. >> >> Is anyone working on the PowerPC backend? >> >> Erik > > I'm seeing these same errors on powerpc-yellowdog-linux-gnu. > Causes failures on some LLVM :: ExecutionEngine and LLVM-Unit :: > ExecutionEngine/JIT/Release+Asserts/JITTests tests. > > > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Erik de Castro Lopo
2010-Oct-28 10:23 UTC
[LLVMdev] PowerPC : Assertion `MovePCtoLROffset & & " MovePCtoLR not seen yet?" ' failed.
Dale Johannesen wrote:> I'm not working on it, but I might be able to help find the problem. > What this means is that you're generating code in PIC mode, and an > object that requires a PIC register to reference is being addressed, > and no PIC register was allocated. The allocation was supposed to > happen in PPCDAGtoDAGISel::Select when the reference was processed, > and a MovePCtoLR instruction inserted at that time. Somebody can > probably figure it out by stepping through that.I'm an LLVM user, not and LLVM dev. I've read the above and and get the basic idea, but I can't find PPCDAGtoDAGISel::Select anywhere in the sources. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
Dale Johannesen
2010-Oct-28 17:39 UTC
[LLVMdev] PowerPC : Assertion `MovePCtoLROffset & & " MovePCtoLR not seen yet?" ' failed.
On Oct 28, 2010, at 3:23 AMPDT, Erik de Castro Lopo wrote:> Dale Johannesen wrote: > >> I'm not working on it, but I might be able to help find the problem. >> What this means is that you're generating code in PIC mode, and an >> object that requires a PIC register to reference is being addressed, >> and no PIC register was allocated. The allocation was supposed to >> happen in PPCDAGtoDAGISel::Select when the reference was processed, >> and a MovePCtoLR instruction inserted at that time. Somebody can >> probably figure it out by stepping through that. > > I'm an LLVM user, not and LLVM dev. > > I've read the above and and get the basic idea, but I can't find > PPCDAGtoDAGISel::Select anywhere in the sources.Spelling it right should help, sorry: PPCDAGToDAGISel::Select is in llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
Dale Johannesen
2010-Oct-28 17:44 UTC
[LLVMdev] PowerPC : Assertion `MovePCtoLROffset & & " MovePCtoLR not seen yet?" ' failed.
> On Oct 28, 2010, at 3:23 AMPDT, Erik de Castro Lopo wrote: > >> Dale Johannesen wrote: >> >>> I'm not working on it, but I might be able to help find the problem. >>> What this means is that you're generating code in PIC mode, and an >>> object that requires a PIC register to reference is being addressed, >>> and no PIC register was allocated. The allocation was supposed to >>> happen in PPCDAGtoDAGISel::Select when the reference was processed, >>> and a MovePCtoLR instruction inserted at that time. Somebody can >>> probably figure it out by stepping through that. >> >> I'm an LLVM user, not and LLVM dev. >> >> I've read the above and and get the basic idea, but I can't find >> PPCDAGtoDAGISel::Select anywhere in the sources. >Spelling it right should help, sorry: PPCDAGToDAGISel::Select is in llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
Possibly Parallel Threads
- [LLVMdev] PowerPC : Assertion `MovePCtoLROffset & & " MovePCtoLR not seen yet?" ' failed.
- [LLVMdev] PowerPC : Assertion `MovePCtoLROffset && "MovePCtoLR not seen yet?"' failed.
- [LLVMdev] PowerPC : Assertion `MovePCtoLROffset && "MovePCtoLR not seen yet?"' failed.
- [LLVMdev] PowerPC : Assertion `MovePCtoLROffset && "MovePCtoLR not seen yet?"' failed.
- [LLVMdev] PowerPC : Assertion `MovePCtoLROffset & & " MovePCtoLR not seen yet?" ' failed.