Don't check TLI.getOperationAction. The FastISel way is to
authorDan Gohman <gohman@apple.com>
Wed, 27 Aug 2008 18:15:05 +0000 (18:15 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 27 Aug 2008 18:15:05 +0000 (18:15 +0000)
just try to do the action and let the tablegen-generated code
determine if there is target-support for an operation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55427 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/FastISel.cpp

index 78201c9adca0a6dbadc10ac3078aef4c5f3c8115..6e2bd4b7f577e3c0101fa326f97efe18f4cae53f 100644 (file)
@@ -458,10 +458,8 @@ unsigned FastISel::FastEmit_rri(MVT::SimpleValueType, MVT::SimpleValueType,
 unsigned FastISel::FastEmit_ri_(MVT::SimpleValueType VT, ISD::NodeType Opcode,
                                 unsigned Op0, uint64_t Imm,
                                 MVT::SimpleValueType ImmType) {
-  unsigned ResultReg = 0;
   // First check if immediate type is legal. If not, we can't use the ri form.
-  if (TLI.getOperationAction(ISD::Constant, ImmType) == TargetLowering::Legal)
-    ResultReg = FastEmit_ri(VT, VT, Opcode, Op0, Imm);
+  unsigned ResultReg = FastEmit_ri(VT, VT, Opcode, Op0, Imm);
   if (ResultReg != 0)
     return ResultReg;
   unsigned MaterialReg = FastEmit_i(ImmType, ImmType, ISD::Constant, Imm);
@@ -477,10 +475,8 @@ unsigned FastISel::FastEmit_ri_(MVT::SimpleValueType VT, ISD::NodeType Opcode,
 unsigned FastISel::FastEmit_rf_(MVT::SimpleValueType VT, ISD::NodeType Opcode,
                                 unsigned Op0, ConstantFP *FPImm,
                                 MVT::SimpleValueType ImmType) {
-  unsigned ResultReg = 0;
   // First check if immediate type is legal. If not, we can't use the rf form.
-  if (TLI.getOperationAction(ISD::Constant, ImmType) == TargetLowering::Legal)
-    ResultReg = FastEmit_rf(VT, VT, Opcode, Op0, FPImm);
+  unsigned ResultReg = FastEmit_rf(VT, VT, Opcode, Op0, FPImm);
   if (ResultReg != 0)
     return ResultReg;