[llvm-commits] [llvm] r98931 - /llvm/trunk/lib/Target/Blackfin/BlackfinInstrInfo.td

Jakob Stoklund Olesen stoklund at 2pi.dk
Thu Mar 18 22:14:47 PDT 2010


On Mar 18, 2010, at 9:53 PM, Chris Lattner wrote:

> Author: lattner
> Date: Thu Mar 18 23:53:21 2010
> New Revision: 98931
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=98931&view=rev
> Log:
> disable some illegal blackfin patterns.  sext from i32 to i32 can never
> match.  Jakob, please take a look when you get a chance.

CC is really an i1 register, and it was modeled as such for a while. However, having i1 as a legal type caused many problems, and it was easier to make it a fake i32 register.

Those patterns must have survived the change. It is right to remove them. MOVECC_zext is used by BlackfinInstrInfo::copyRegToReg as a copy instruction now.

The IA64 target had i1 as a legal type, but it couldn't compile basic-i1.ll.


> 
> Modified:
>    llvm/trunk/lib/Target/Blackfin/BlackfinInstrInfo.td
> 
> Modified: llvm/trunk/lib/Target/Blackfin/BlackfinInstrInfo.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/BlackfinInstrInfo.td?rev=98931&r1=98930&r2=98931&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Blackfin/BlackfinInstrInfo.td (original)
> +++ llvm/trunk/lib/Target/Blackfin/BlackfinInstrInfo.td Thu Mar 18 23:53:21 2010
> @@ -610,7 +610,7 @@
> 
> def MOVECC_zext : F1<(outs D:$dst), (ins JustCC:$cc),
>                       "$dst = $cc;",
> -                      [(set D:$dst, (zext JustCC:$cc))]>;
> +                     [/*(set D:$dst, (zext JustCC:$cc))*/]>;
> 
> def MOVENCC_z : F1<(outs D:$dst), (ins NotCC:$cc),
>                    "$dst = cc;", []>;
> @@ -859,10 +859,10 @@
> def : Pat<(BfinCall (i32 texternalsym:$dst)),
>           (CALLa texternalsym:$dst)>;
> 
> -def : Pat<(sext JustCC:$cc),
> -          (NEG (MOVECC_zext JustCC:$cc))>;
> -def : Pat<(anyext JustCC:$cc),
> -          (MOVECC_zext JustCC:$cc)>;
> +//def : Pat<(sext JustCC:$cc),
> +//          (NEG (MOVECC_zext JustCC:$cc))>;
> +//def : Pat<(anyext JustCC:$cc),
> +//          (MOVECC_zext JustCC:$cc)>;
> def : Pat<(i16 (zext JustCC:$cc)),
>           (EXTRACT_SUBREG (MOVECC_zext JustCC:$cc), bfin_subreg_lo16)>;
> def : Pat<(i16 (sext JustCC:$cc)),
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list