aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/LLVMContextImpl.cpp
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2022-03-21 17:11:35 -0700
committerArthur Eubanks <aeubanks@google.com>2022-03-21 17:24:56 -0700
commit2362c4ecdc88123e5d54c7ebe30889fbfa760a88 (patch)
tree97adc6d643c8fed5ba9bad160402b617deb52247 /llvm/lib/IR/LLVMContextImpl.cpp
parent10ffe80a24b042473cb4988861c45ab7b15f1f21 (diff)
downloadllvm-2362c4ecdc88123e5d54c7ebe30889fbfa760a88.zip
llvm-2362c4ecdc88123e5d54c7ebe30889fbfa760a88.tar.gz
llvm-2362c4ecdc88123e5d54c7ebe30889fbfa760a88.tar.bz2
Revert "Revert "[OpaquePtr][LLParser] Automatically detect opaque pointers in .ll files""
This reverts commit 9c96a6bbfdde665b5c2389100a15acdeea0f4145. Issues were already fixed at head.
Diffstat (limited to 'llvm/lib/IR/LLVMContextImpl.cpp')
-rw-r--r--llvm/lib/IR/LLVMContextImpl.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/lib/IR/LLVMContextImpl.cpp b/llvm/lib/IR/LLVMContextImpl.cpp
index 8f95302..401af7a 100644
--- a/llvm/lib/IR/LLVMContextImpl.cpp
+++ b/llvm/lib/IR/LLVMContextImpl.cpp
@@ -47,7 +47,11 @@ LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
X86_FP80Ty(C, Type::X86_FP80TyID), FP128Ty(C, Type::FP128TyID),
PPC_FP128Ty(C, Type::PPC_FP128TyID), X86_MMXTy(C, Type::X86_MMXTyID),
X86_AMXTy(C, Type::X86_AMXTyID), Int1Ty(C, 1), Int8Ty(C, 8),
- Int16Ty(C, 16), Int32Ty(C, 32), Int64Ty(C, 64), Int128Ty(C, 128) {}
+ Int16Ty(C, 16), Int32Ty(C, 32), Int64Ty(C, 64), Int128Ty(C, 128) {
+ if (OpaquePointersCL.getNumOccurrences()) {
+ OpaquePointers = OpaquePointersCL;
+ }
+}
LLVMContextImpl::~LLVMContextImpl() {
// NOTE: We need to delete the contents of OwnedModules, but Module's dtor
@@ -245,9 +249,13 @@ void LLVMContextImpl::setOptPassGate(OptPassGate& OPG) {
this->OPG = &OPG;
}
+bool LLVMContextImpl::hasOpaquePointersValue() {
+ return OpaquePointers.hasValue();
+}
+
bool LLVMContextImpl::getOpaquePointers() {
if (LLVM_UNLIKELY(!(OpaquePointers.hasValue())))
- OpaquePointers = OpaquePointersCL;
+ OpaquePointers = false;
return *OpaquePointers;
}