autoupgrade files that use callfoo as call foo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44218 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp
index 25b532f..27798be 100644
--- a/lib/AsmParser/LLLexer.cpp
+++ b/lib/AsmParser/LLLexer.cpp
@@ -617,12 +617,20 @@
}
}
- // Finally, if this is "cc1234", return this as just "cc".
+ // If this is "cc1234", return this as just "cc".
if (TokStart[0] == 'c' && TokStart[1] == 'c') {
CurPtr = TokStart+2;
return CC_TOK;
}
+ // If this starts with "call", return it as CALL. This is to support old
+ // broken .ll files. FIXME: remove this with LLVM 3.0.
+ if (CurPtr-TokStart > 4 && !memcmp(TokStart, "call", 4)) {
+ CurPtr = TokStart+4;
+ llvmAsmlval.OtherOpVal = Instruction::Call;
+ return CALL;
+ }
+
// Finally, if this isn't known, return just a single character.
CurPtr = TokStart+1;
return TokStart[0];