diff options
| author | 2017-01-24 08:32:59 +0000 | |
|---|---|---|
| committer | 2017-01-24 08:32:59 +0000 | |
| commit | 53d771aafdbe5b919f264f53cba3788e2c4cffd2 (patch) | |
| tree | 7eca39498be0ff1e3a6daf583cd9ca5886bb2636 /gnu/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp | |
| parent | In preparation of compiling our kernels with -ffreestanding, explicitly map (diff) | |
| download | wireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.tar.xz wireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.zip | |
Import LLVM 4.0.0 rc1 including clang and lld to help the current
development effort on OpenBSD/arm64.
Diffstat (limited to 'gnu/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp')
| -rw-r--r-- | gnu/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gnu/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/gnu/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp index 6f7c29feef0..711b887da6e 100644 --- a/gnu/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp +++ b/gnu/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp @@ -24,7 +24,7 @@ void IndirectStubsManager::anchor() {} std::unique_ptr<JITCompileCallbackManager> createLocalCompileCallbackManager(const Triple &T, - TargetAddress ErrorHandlerAddress) { + JITTargetAddress ErrorHandlerAddress) { switch (T.getArch()) { default: return nullptr; @@ -71,7 +71,7 @@ createLocalIndirectStubsManagerBuilder(const Triple &T) { } } -Constant* createIRTypedAddress(FunctionType &FT, TargetAddress Addr) { +Constant* createIRTypedAddress(FunctionType &FT, JITTargetAddress Addr) { Constant *AddrIntVal = ConstantInt::get(Type::getInt64Ty(FT.getContext()), Addr); Constant *AddrPtrVal = @@ -241,5 +241,14 @@ GlobalAlias* cloneGlobalAliasDecl(Module &Dst, const GlobalAlias &OrigA, return NewA; } +void cloneModuleFlagsMetadata(Module &Dst, const Module &Src, + ValueToValueMapTy &VMap) { + auto *MFs = Src.getModuleFlagsMetadata(); + if (!MFs) + return; + for (auto *MF : MFs->operands()) + Dst.addModuleFlag(MapMetadata(MF, VMap)); +} + } // End namespace orc. } // End namespace llvm. |
