From 77f86ad08775e0ed2a704ef09ffff3dbd6e04583 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 9 Dec 2008 07:31:49 +0000 Subject: [PATCH] DisableGVCompilation should not abort on internal GlobalValue's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60750 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ExecutionEngine/ExecutionEngine.h | 5 +++-- lib/ExecutionEngine/JIT/JIT.cpp | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h index 1ee824177bb..327e9c6aa92 100644 --- a/include/llvm/ExecutionEngine/ExecutionEngine.h +++ b/include/llvm/ExecutionEngine/ExecutionEngine.h @@ -263,8 +263,9 @@ public: return LazyCompilationDisabled; } - /// DisableGVCompilation - If called, the JIT will abort if it's asked to allocate - /// space and populate a GlobalVariable. + /// DisableGVCompilation - If called, the JIT will abort if it's asked to + /// allocate space and populate a GlobalVariable that is not internal to + /// the module. void DisableGVCompilation(bool Disabled = true) { GVCompilationDisabled = Disabled; } diff --git a/lib/ExecutionEngine/JIT/JIT.cpp b/lib/ExecutionEngine/JIT/JIT.cpp index 41b3ebcc6db..5d5ecc4fe77 100644 --- a/lib/ExecutionEngine/JIT/JIT.cpp +++ b/lib/ExecutionEngine/JIT/JIT.cpp @@ -553,8 +553,8 @@ void *JIT::getOrEmitGlobalVariable(const GlobalVariable *GV) { addGlobalMapping(GV, Ptr); } } else { - if (isGVCompilationDisabled()) { - cerr << "Compilation of GlobalVariable is disabled!\n"; + if (isGVCompilationDisabled() && !GV->hasInternalLinkage()) { + cerr << "Compilation of non-internal GlobalValue is disabled!\n"; abort(); } // If the global hasn't been emitted to memory yet, allocate space and