Put back SelectionDAG::getTargetIndex.
authorBenjamin Kramer <benny.kra@googlemail.com>
Mon, 19 Oct 2015 18:26:16 +0000 (18:26 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Mon, 19 Oct 2015 18:26:16 +0000 (18:26 +0000)
While technically this is untested dead code, it has out-of-tree users.
This reverts a part of r250434.

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

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 8b03fe65d6c39e598301290f406b32b44adc3093..bd948f5b5d0ea6c1a272ed004375b3fbeec7000e 100644 (file)
@@ -1398,6 +1398,24 @@ SDValue SelectionDAG::getConstantPool(MachineConstantPoolValue *C, EVT VT,
   return SDValue(N, 0);
 }
 
+SDValue SelectionDAG::getTargetIndex(int Index, EVT VT, int64_t Offset,
+                                     unsigned char TargetFlags) {
+  FoldingSetNodeID ID;
+  AddNodeIDNode(ID, ISD::TargetIndex, getVTList(VT), None);
+  ID.AddInteger(Index);
+  ID.AddInteger(Offset);
+  ID.AddInteger(TargetFlags);
+  void *IP = nullptr;
+  if (SDNode *E = FindNodeOrInsertPos(ID, IP))
+    return SDValue(E, 0);
+
+  SDNode *N =
+      new (NodeAllocator) TargetIndexSDNode(Index, VT, Offset, -TargetFlags);
+  CSEMap.InsertNode(N, IP);
+  InsertNode(N);
+  return SDValue(N, 0);
+}
+
 SDValue SelectionDAG::getBasicBlock(MachineBasicBlock *MBB) {
   FoldingSetNodeID ID;
   AddNodeIDNode(ID, ISD::BasicBlock, getVTList(MVT::Other), None);