[LLVMdev] Problem in X86 backend
Rinaldini Julien
julien.rinaldini at heig-vd.ch
Thu Oct 30 01:32:04 PDT 2014
Oh ok, that's what I tought but I wasn't sure I did understand
correctly... Thx for the help!
Cheers
On 10/29/2014 07:49 PM, Quentin Colombet wrote:
> Hi Julien,
>
> Akira already pointed out the problem.
> You have basically two definitions of the same virtual register, which is forbidden in SSA.
> I.e., you have:
> Reg = something
> ...
> Reg = Reg + something else
>
> What you want is
> Reg = something
> ...
> Reg2 = Reg + something else
> => you need to create a second virtual register for the second definition.
>
> Cheers,
> -Quentin
>
>
> Envoyé de mon iPhone
>
> Le 29 oct. 2014 à 02:58, Rinaldini Julien <julien.rinaldini at heig-vd.ch> a écrit :
>
>>> Your problem is that kill flag on RDI. Indeed, this is not the last use of RDI in your
>>> case and because you set this flag, when jumping to BB#4, the compiler thinks
>>> that > RDI is not defined.
>>>
>>> Also, I am not sure what you are trying to achieve, but are you sure you always
>>> want to use RDI? In this case, should it be vreg7 for instance?
>>>
>>> -Quentin
>>
>> Hi, thx for your answer...
>>
>> I figured it that out... In fact I changed my code and now I'm using a virtual register, but I still have a problem :( (http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-October/078315.html)
>>
>> I'm trying to erase the content of the stack in the epilogue of the function...
>>
>> Cheers
>> _______________________________________________
>> 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