[LLVMdev] The one remaining bug keeping CellSPU from release...

Evan Cheng evan.cheng at apple.com
Thu Oct 18 11:23:04 PDT 2007


Sorry, still not enough information. I am guessing it's asserting in  
getVR() called from EmitNode()? The node is CopyToReg and it's trying  
to find the virtual register of operand 2? From the schedule, I don't  
see the definition of the operand.

Can you do DAG.viewGraph()? That should gives us a better idea.

Evan

On Oct 16, 2007, at 9:06 PM, Scott Michel wrote:

> Evan:
>
> What you requested was in the debug output (sans offending Node), but
> here it is, outside of the attachment. The offending node is
> highlighted:
>
> SU(0): 0xa908760: ch = EntryToken
> SU(1): 0xa907600: i32,ch,flag = CopyFromReg 0xa9095d0, 0xa9070e0,
> 0xa9095d0:1
>     0xa906e30: ch,flag = CopyToReg 0xa908760, 0xa9070e0, 0xa9071f0
> <<--<<--<<--<<--<< Node
>     0xa9095d0: ch,flag = inlineasm 0xa906e30, 0xa908570, 0xa908c60,
> 0xa9070e0, 0xa9075a0, 0xa9070e0, 0xa906e30:1
> SU(2): 0xa909560: ch = CopyToReg 0xa907600:1, 0xa909500, 0xa907600
> SU(3): 0xa907ff0: ch = BRZ 0xa907600, 0xa906f10, 0xa909560
>
> 0xa906e30: ch,flag = CopyToReg 0xa908760, 0xa9070e0, 0xa9071f0
>
>
> -scooter
>
> On Oct 16, 2007, at 12:00 AM, Evan Cheng wrote:
>
>> This is a scheduler assertion. It means a value (virtual register)  
>> use
>> is somehow scheduled before its definition.
>>
>> Please run llc in gdb. Call dumpSchedule() to print out the schedule.
>> Also please let me know which node it is processing at the time of  
>> the
>> assertion.
>>
>> Evan
>>
>> On Oct 15, 2007, at 11:48 PM, Scott Michel <scottm at aero.org> wrote:
>>
>>> Yup, I've got one remaining bug that holding up the CellSPU release.
>>> It still has a bunch of warts, but so long as I can get it into
>>> shape such that llvm-gcc-4.2 compiles all the way through, then we
>>> collectively have something with which to work.
>>>
>>> I'm getting the following error from llc, the attachments have llc's
>>> debug and the .ll files, respectively. Can anyone shed some light on
>>> what I should look at to track this one down?
>>>
>>> /Users/scottm/play/llvm/branches/llvm-spu/lib/CodeGen/SelectionDAG/
>>> ScheduleDAG.cpp:406: failed assertion `I != VRBaseMap.end() && "Node
>>> emitted out of order - late"'
>>>
>>>
>>> -scooter
>>>
>>> <crtbegin.debug>
>>> <testcase.ll>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list