summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2015-04-20 20:41:45 +0000
committerLang Hames <lhames@gmail.com>2015-04-20 20:41:45 +0000
commitdc4260db2a8df312268771fdfb8e9db5cd522508 (patch)
treeb819bdff87f9fd9548db9c63db5c65b08f7287c7 /llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
parent1ff46f2060c7d4de3dde8851dbd9deba66232070 (diff)
downloadbcm5719-llvm-dc4260db2a8df312268771fdfb8e9db5cd522508.tar.gz
bcm5719-llvm-dc4260db2a8df312268771fdfb8e9db5cd522508.zip
[Orc] Make the makeStub function propagate argument attributes onto the call to
the function body. This is necessary for correctness when lazily compiling. Also, flesh out the Orc unit test infrastructure slightly, and add a unit test for this. llvm-svn: 235347
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
index ebeedef7eae..75b610876b7 100644
--- a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
@@ -49,6 +49,7 @@ void makeStub(Function &F, GlobalVariable &ImplPointer) {
CallArgs.push_back(&A);
CallInst *Call = Builder.CreateCall(ImplAddr, CallArgs);
Call->setTailCall();
+ Call->setAttributes(F.getAttributes());
Builder.CreateRet(Call);
}
OpenPOWER on IntegriCloud