diff options
author | Lang Hames <lhames@gmail.com> | 2015-04-20 20:41:45 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2015-04-20 20:41:45 +0000 |
commit | dc4260db2a8df312268771fdfb8e9db5cd522508 (patch) | |
tree | b819bdff87f9fd9548db9c63db5c65b08f7287c7 /llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp | |
parent | 1ff46f2060c7d4de3dde8851dbd9deba66232070 (diff) | |
download | bcm5719-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.cpp | 1 |
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); } |