IMPLICIT_DEF

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

IMPLICIT_DEF

dag-7
Can someone explain where things like IMPLICIT_DEF_FR64 come from?
I believe something is noticing a use before def and inserting some kind of
bogus code to compensate.  The machine instructions look like this (x86):

        %reg1069<def> = IMPLICIT_DEF_FR64
        FsMOVLPDmr %reg0, 1, %reg0, 0, %reg1069

This is no good -- it stores to zero.

Thanks.

                                           -Dave
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: IMPLICIT_DEF

Evan Cheng-2
IMPLICIT_DEF is a value defined by an 'undef' instruction:

http://llvm.org/docs/LangRef.html#undefvalues

It can come from source program or produced as result of optimization.

Evan

On Apr 1, 2008, at 2:58 PM, David Greene wrote:

> Can someone explain where things like IMPLICIT_DEF_FR64 come from?
> I believe something is noticing a use before def and inserting some  
> kind of
> bogus code to compensate.  The machine instructions look like this  
> (x86):
>
> %reg1069<def> = IMPLICIT_DEF_FR64
> FsMOVLPDmr %reg0, 1, %reg0, 0, %reg1069
>
> This is no good -- it stores to zero.
>
> Thanks.
>
>                                           -Dave
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev