[ConstExpr] Remove more leftovers of extractvalue expression (NFC)
authorNikita Popov <npopov@redhat.com>
Wed, 29 Jun 2022 08:42:46 +0000 (10:42 +0200)
committerNikita Popov <npopov@redhat.com>
Wed, 29 Jun 2022 08:45:19 +0000 (10:45 +0200)
Remove some leftover bits of extractvalue handling after the
removal in D125795.

llvm/lib/Analysis/Lint.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp

index 1f46a21576e5d51455ef1891bd14a6ca0e3122b5..9cfb91a22b7d1727b44a45715556dceb09ce610c 100644 (file)
@@ -686,11 +686,6 @@ Value *Lint::findValueImpl(Value *V, bool OffsetOk,
                                CE->getOperand(0)->getType(), CE->getType(),
                                *DL))
         return findValueImpl(CE->getOperand(0), OffsetOk, Visited);
-    } else if (CE->getOpcode() == Instruction::ExtractValue) {
-      ArrayRef<unsigned> Indices = CE->getIndices();
-      if (Value *W = FindInsertedValue(CE->getOperand(0), Indices))
-        if (W != V)
-          return findValueImpl(W, OffsetOk, Visited);
     }
   }
 
index f5ccc80584bd5bdfe61d80a8b6f07d9a6fc6836a..941ed808bab1641677259524c864956d56b032ee 100644 (file)
@@ -2674,9 +2674,8 @@ void ModuleBitcodeWriter::writeConstants(unsigned FirstVal, unsigned LastVal,
         Record.push_back(VE.getValueID(C->getOperand(1)));
         Record.push_back(CE->getPredicate());
         break;
-      case Instruction::ExtractValue:
       case Instruction::InsertValue:
-        report_fatal_error("extractvalue/insertvalue constexprs not supported");
+        report_fatal_error("insertvalue constexprs not supported");
         break;
       }
     } else if (const BlockAddress *BA = dyn_cast<BlockAddress>(C)) {
index 0bfcd39fcb8de8b7819ea91c861c89b50570a5c4..37d05cdba76da5b768f56710c05d9d35f2b67dbe 100644 (file)
@@ -3801,13 +3801,8 @@ void SelectionDAGBuilder::visitInsertValue(const User &I) {
                            DAG.getVTList(AggValueVTs), Values));
 }
 
-void SelectionDAGBuilder::visitExtractValue(const User &I) {
-  ArrayRef<unsigned> Indices;
-  if (const ExtractValueInst *EV = dyn_cast<ExtractValueInst>(&I))
-    Indices = EV->getIndices();
-  else
-    Indices = cast<ConstantExpr>(&I)->getIndices();
-
+void SelectionDAGBuilder::visitExtractValue(const ExtractValueInst &I) {
+  ArrayRef<unsigned> Indices = I.getIndices();
   const Value *Op0 = I.getOperand(0);
   Type *AggTy = Op0->getType();
   Type *ValTy = I.getType();
index a26eb98e6750820b88f0900e3b6e2ac9bb91b95f..72cca3d9b001f69950ec3ade8c0a487bb6a8804d 100644 (file)
@@ -528,7 +528,7 @@ private:
   void visitInsertElement(const User &I);
   void visitShuffleVector(const User &I);
 
-  void visitExtractValue(const User &I);
+  void visitExtractValue(const ExtractValueInst &I);
   void visitInsertValue(const User &I);
   void visitLandingPad(const LandingPadInst &LP);
 
index f1829c29a2bf8eb42a37a9eac22fc6d9b22b13a3..2201eb19c80fee5787d9217fe8a03dc7bfe30c0b 100644 (file)
@@ -270,9 +270,6 @@ Value *GenericToNVVM::remapConstantExpr(Module *M, Function *F, ConstantExpr *C,
     // ShuffleVector
     return Builder.CreateShuffleVector(NewOperands[0], NewOperands[1],
                                        NewOperands[2]);
-  case Instruction::ExtractValue:
-    // ExtractValueConstantExpr
-    return Builder.CreateExtractValue(NewOperands[0], C->getIndices());
   case Instruction::InsertValue:
     // InsertValueConstantExpr
     return Builder.CreateInsertValue(NewOperands[0], NewOperands[1],