gollvm: fix release build issue

This fixes a crash when compiling with -enable-gc=1 for release-built
compilers (use of ArrayRef not quite right, scope of things being
referenced is not long enough).

Change-Id: Ida860ebb10eb12ff8c7488ba4cbea820a18a7c47
Reviewed-on: https://go-review.googlesource.com/c/158177
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/passes/Util.cpp b/passes/Util.cpp
index 8076669..560e838 100644
--- a/passes/Util.cpp
+++ b/passes/Util.cpp
@@ -58,7 +58,9 @@
   case Type::ArrayTyID: {
     Type *ET = T->getArrayElementType();
     for (unsigned i = 0, n = T->getArrayNumElements(); i < n; ++i) {
-      ArrayRef<Value*> Idx = { ConstantInt::get(Int32Ty, 0), ConstantInt::get(Int32Ty, i) };
+      Value *ivals[2] = { ConstantInt::get(Int32Ty, 0),
+                          ConstantInt::get(Int32Ty, i) };
+      ArrayRef<Value*> Idx = makeArrayRef(ivals, 2);
       uint64_t Offset = DL.getIndexedOffsetInType(T, Idx);
       getPtrBitmapForTypeHelper(ET, DL, BaseOffset+Offset, BV);
     }
@@ -67,7 +69,9 @@
   case Type::VectorTyID: {
     Type *ET = T->getVectorElementType();
     for (unsigned i = 0, n = T->getVectorNumElements(); i < n; ++i) {
-      ArrayRef<Value*> Idx = { ConstantInt::get(Int32Ty, 0), ConstantInt::get(Int32Ty, i) };
+      Value *ivals[2] = { ConstantInt::get(Int32Ty, 0),
+                          ConstantInt::get(Int32Ty, i) };
+      ArrayRef<Value*> Idx = makeArrayRef(ivals, 2);
       uint64_t Offset = DL.getIndexedOffsetInType(T, Idx);
       getPtrBitmapForTypeHelper(ET, DL, BaseOffset+Offset, BV);
     }
@@ -78,7 +82,9 @@
       Type *ET = T->getStructElementType(i);
       if (!hasPointer(ET))
         continue;
-      ArrayRef<Value*> Idx = { ConstantInt::get(Int32Ty, 0), ConstantInt::get(Int32Ty, i) };
+      Value *ivals[2] = { ConstantInt::get(Int32Ty, 0),
+                          ConstantInt::get(Int32Ty, i) };
+      ArrayRef<Value*> Idx = makeArrayRef(ivals, 2);
       uint64_t Offset = DL.getIndexedOffsetInType(T, Idx);
       getPtrBitmapForTypeHelper(ET, DL, BaseOffset+Offset, BV);
     }