[llvm-commits] [llvm] r51054 - /llvm/trunk/lib/Target/X86/X86InstrInfo.td

Chris Lattner clattner at apple.com
Tue May 13 11:37:40 PDT 2008


On May 13, 2008, at 9:45 AM, Evan Cheng wrote:
> URL: http://llvm.org/viewvc/llvm-project?rev=51054&view=rev
> Log:
> - Don't treat anyext 16-bit load as a 32-bit load if it's volatile.
> - Correct a pasto.

The correction goes the wrong way:
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
> +++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Tue May 13 11:45:56 2008
> @@ -239,7 +239,7 @@
>     if (ExtType == ISD::NON_EXTLOAD)
>       return true;
>     if (ExtType == ISD::EXTLOAD)
> -      return LD->getAlignment() >= 16;
> +      return LD->getAlignment() >= 8 && !LD->isVolatile();

This should be 16,

>
>   }
>   return false;
> }]>;
> @@ -252,7 +252,7 @@
>     if (ExtType == ISD::NON_EXTLOAD)
>       return true;
>     if (ExtType == ISD::EXTLOAD)
> -      return LD->getAlignment() >= 16;
> +      return LD->getAlignment() >= 16 && !LD->isVolatile();
>   }

This should be 32.

// It's always safe to treat a anyext i16 load as a i32 load. Ditto for
// i8 to i16.

This should be "it is safe to treat anyext i16 load as i32 load if the  
i16 is known to be 32-bit aligned or better".

-Chris



More information about the llvm-commits mailing list