[llvm-commits] [llvm] r132076 - in /llvm/trunk/lib/Target/Mips: MipsISelLowering.cpp MipsISelLowering.h

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Wed May 25 16:54:46 PDT 2011


For  further reference, this commit fix PR8868.
Thanks Akira

On Wed, May 25, 2011 at 5:08 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> Author: ahatanak
> Date: Wed May 25 15:08:05 2011
> New Revision: 132076
>
> URL: http://llvm.org/viewvc/llvm-project?rev=132076&view=rev
> Log:
> Remove MipsTargetLowering::LowerFP_TO_SINT. Patterns for fp_to_sint have already
> been defined in MipsInstrFPU.td.
>
> Modified:
>    llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp
>    llvm/trunk/lib/Target/Mips/MipsISelLowering.h
>
> Modified: llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp?rev=132076&r1=132075&r2=132076&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp Wed May 25 15:08:05 2011
> @@ -103,7 +103,6 @@
>   setOperationAction(ISD::SELECT,             MVT::i32,   Custom);
>   setOperationAction(ISD::BRCOND,             MVT::Other, Custom);
>   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32,   Custom);
> -  setOperationAction(ISD::FP_TO_SINT,         MVT::i32,   Custom);
>   setOperationAction(ISD::VASTART,            MVT::Other, Custom);
>
>   setOperationAction(ISD::SDIV, MVT::i32, Expand);
> @@ -508,7 +507,6 @@
>     case ISD::BRCOND:             return LowerBRCOND(Op, DAG);
>     case ISD::ConstantPool:       return LowerConstantPool(Op, DAG);
>     case ISD::DYNAMIC_STACKALLOC: return LowerDYNAMIC_STACKALLOC(Op, DAG);
> -    case ISD::FP_TO_SINT:         return LowerFP_TO_SINT(Op, DAG);
>     case ISD::GlobalAddress:      return LowerGlobalAddress(Op, DAG);
>     case ISD::BlockAddress:       return LowerBlockAddress(Op, DAG);
>     case ISD::GlobalTLSAddress:   return LowerGlobalTLSAddress(Op, DAG);
> @@ -656,40 +654,6 @@
>  //===----------------------------------------------------------------------===//
>  //  Misc Lower Operation implementation
>  //===----------------------------------------------------------------------===//
> -
> -SDValue MipsTargetLowering::
> -LowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) const
> -{
> -  if (!Subtarget->isMips1())
> -    return Op;
> -
> -  MachineFunction &MF = DAG.getMachineFunction();
> -  unsigned CCReg = AddLiveIn(MF, Mips::FCR31, Mips::CCRRegisterClass);
> -
> -  SDValue Chain = DAG.getEntryNode();
> -  DebugLoc dl = Op.getDebugLoc();
> -  SDValue Src = Op.getOperand(0);
> -
> -  // Set the condition register
> -  SDValue CondReg = DAG.getCopyFromReg(Chain, dl, CCReg, MVT::i32);
> -  CondReg = DAG.getCopyToReg(Chain, dl, Mips::AT, CondReg);
> -  CondReg = DAG.getCopyFromReg(CondReg, dl, Mips::AT, MVT::i32);
> -
> -  SDValue Cst = DAG.getConstant(3, MVT::i32);
> -  SDValue Or = DAG.getNode(ISD::OR, dl, MVT::i32, CondReg, Cst);
> -  Cst = DAG.getConstant(2, MVT::i32);
> -  SDValue Xor = DAG.getNode(ISD::XOR, dl, MVT::i32, Or, Cst);
> -
> -  SDValue InFlag(0, 0);
> -  CondReg = DAG.getCopyToReg(Chain, dl, Mips::FCR31, Xor, InFlag);
> -
> -  // Emit the round instruction and bit convert to integer
> -  SDValue Trunc = DAG.getNode(MipsISD::FPRound, dl, MVT::f32,
> -                              Src, CondReg.getValue(1));
> -  SDValue BitCvt = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Trunc);
> -  return BitCvt;
> -}
> -
>  SDValue MipsTargetLowering::
>  LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const
>  {
>
> Modified: llvm/trunk/lib/Target/Mips/MipsISelLowering.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsISelLowering.h?rev=132076&r1=132075&r2=132076&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsISelLowering.h (original)
> +++ llvm/trunk/lib/Target/Mips/MipsISelLowering.h Wed May 25 15:08:05 2011
> @@ -106,7 +106,6 @@
>     SDValue LowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
>     SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
>     SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
> -    SDValue LowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) const;
>     SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
>     SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
>     SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



-- 
Bruno Cardoso Lopes
http://www.brunocardoso.cc




More information about the llvm-commits mailing list