aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Reader/Reader.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-05-06 06:13:34 +0000
committerChris Lattner <sabre@nondot.org>2005-05-06 06:13:34 +0000
commit38287bdfde17249ed4725aa906ec15c59ccfe610 (patch)
tree0213f0def51f9a2c49ebad81fef0dfa774abbd1a /lib/Bytecode/Reader/Reader.cpp
parent653488d1660c2d43ca7efc3f2a81c83d903d1e7f (diff)
add bytecode reader support for tail calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21727 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/Reader.cpp')
-rw-r--r--lib/Bytecode/Reader/Reader.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp
index 82a73fa599..24875e42fd 100644
--- a/lib/Bytecode/Reader/Reader.cpp
+++ b/lib/Bytecode/Reader/Reader.cpp
@@ -720,6 +720,7 @@ void BytecodeReader::ParseInstruction(std::vector<unsigned> &Oprnds,
break;
}
+ case 61: // tail call
case Instruction::Call: {
if (Oprnds.size() == 0)
error("Invalid call instruction encountered!");
@@ -765,6 +766,7 @@ void BytecodeReader::ParseInstruction(std::vector<unsigned> &Oprnds,
}
Result = new CallInst(F, Params);
+ if (Opcode == 61) cast<CallInst>(Result)->setTailCall(true);
break;
}
case Instruction::Invoke: {