[StatepointLowering] Schedule gc relocates before uniqueing them
Otherwise we can see an "unexpected" gc.relocate that we uniqued away.
llvm-svn: 264127
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
index 5e27a1c..c68f363 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
@@ -732,11 +732,11 @@
struct StatepointLoweringInfo {
/// Bases[i] is the base pointer for Ptrs[i]. Together they denote the set
/// of gc pointers this STATEPOINT has to relocate.
- ArrayRef<const Value *> Bases;
- ArrayRef<const Value *> Ptrs;
+ SmallVector<const Value *, 16> Bases;
+ SmallVector<const Value *, 16> Ptrs;
/// The set of gc.relocate calls associated with this gc.statepoint.
- ArrayRef<const GCRelocateInst *> GCRelocates;
+ SmallVector<const GCRelocateInst *, 16> GCRelocates;
/// The full list of gc arguments to the gc.statepoint being lowered.
ArrayRef<const Use> GCArgs;