Parse GEP with attached custom metadata. This happens during libprofile_rt.bca build.
authorDevang Patel <dpatel@apple.com>
Tue, 13 Oct 2009 18:49:55 +0000 (18:49 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 13 Oct 2009 18:49:55 +0000 (18:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84002 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/LLParser.cpp

index 93f0a1848d8b5566f46acb06e2858535701e44c9..a1186ac9c7bceb8533a5bbdbbe3b7b61601e24f8 100644 (file)
@@ -3554,11 +3554,15 @@ bool LLParser::ParseGetElementPtr(Instruction *&Inst, PerFunctionState &PFS) {
 
   SmallVector<Value*, 16> Indices;
   while (EatIfPresent(lltok::comma)) {
+    if (Lex.getKind() == lltok::NamedOrCustomMD)
+      break;
     if (ParseTypeAndValue(Val, EltLoc, PFS)) return true;
     if (!isa<IntegerType>(Val->getType()))
       return Error(EltLoc, "getelementptr index must be an integer");
     Indices.push_back(Val);
   }
+  if (Lex.getKind() == lltok::NamedOrCustomMD)
+    if (ParseOptionalCustomMetadata()) return true;
 
   if (!GetElementPtrInst::getIndexedType(Ptr->getType(),
                                          Indices.begin(), Indices.end()))