diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2015-11-06 23:55:38 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2015-11-06 23:55:38 +0000 |
commit | 5cfcce12eb0446db614ae3f213f9c02ed4aa87a3 (patch) | |
tree | 1f4b89a02b6964f005f6fbc5e724620c72c3db3a /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 6e680b2be7e2af65fa054a61133f4930844975a4 (diff) | |
download | llvm-5cfcce12eb0446db614ae3f213f9c02ed4aa87a3.zip llvm-5cfcce12eb0446db614ae3f213f9c02ed4aa87a3.tar.gz llvm-5cfcce12eb0446db614ae3f213f9c02ed4aa87a3.tar.bz2 |
Add 'notail' marker for call instructions.
This marker prevents optimization passes from adding 'tail' or
'musttail' markers to a call. Is is used to prevent tail call
optimization from being performed on the call.
rdar://problem/22667622
Differential Revision: http://reviews.llvm.org/D12923
llvm-svn: 252368
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 941e547..b88e55c 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -2131,7 +2131,8 @@ static void WriteInstruction(const Instruction &I, unsigned InstID, Vals.push_back(VE.getAttributeID(CI.getAttributes())); Vals.push_back((CI.getCallingConv() << 1) | unsigned(CI.isTailCall()) | - unsigned(CI.isMustTailCall()) << 14 | 1 << 15); + unsigned(CI.isMustTailCall()) << 14 | 1 << 15 | + unsigned(CI.isNoTailCall()) << 16); Vals.push_back(VE.getTypeID(FTy)); PushValueAndType(CI.getCalledValue(), InstID, Vals, VE); // Callee |