[LLVMdev] Problem in X86 backend (original) (raw)
Quentin Colombet qcolombet at apple.com
Wed Oct 29 11:49:16 PDT 2014
- Previous message: [LLVMdev] Problem in X86 backend
- Next message: [LLVMdev] Problem in X86 backend
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [LLVMdev] Problem in X86 backend
- Next message: [LLVMdev] Problem in X86 backend
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]