aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/LLVMContextImpl.cpp
diff options
context:
space:
mode:
authorHaopeng Liu <153236845+haopliu@users.noreply.github.com>2024-06-21 12:09:00 -0700
committerGitHub <noreply@github.com>2024-06-21 12:09:00 -0700
commit5ece35df8586d0cb8c104a9f44eaae771de025f5 (patch)
treeb1c14e2f040a5282bb7f3a3a2ea73927df22e2cb /llvm/lib/IR/LLVMContextImpl.cpp
parentf1f3c34b4770437bdb022737918603b4bbeb523e (diff)
downloadllvm-5ece35df8586d0cb8c104a9f44eaae771de025f5.zip
llvm-5ece35df8586d0cb8c104a9f44eaae771de025f5.tar.gz
llvm-5ece35df8586d0cb8c104a9f44eaae771de025f5.tar.bz2
Add the 'initializes' attribute langref and support (#84803)
We propose adding a new LLVM attribute, `initializes((Lo1,Hi1),(Lo2,Hi2),...)`, which expresses the notion of memory space (i.e., intervals, in bytes) that the argument pointing to is initialized in the function. Will commit the attribute inferring in the follow-up PRs. https://discourse.llvm.org/t/rfc-llvm-new-initialized-parameter-attribute-for-improved-interprocedural-dse/77337
Diffstat (limited to 'llvm/lib/IR/LLVMContextImpl.cpp')
-rw-r--r--llvm/lib/IR/LLVMContextImpl.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/IR/LLVMContextImpl.cpp b/llvm/lib/IR/LLVMContextImpl.cpp
index 72fedd8..0a37617 100644
--- a/llvm/lib/IR/LLVMContextImpl.cpp
+++ b/llvm/lib/IR/LLVMContextImpl.cpp
@@ -91,6 +91,9 @@ LLVMContextImpl::~LLVMContextImpl() {
// Destroy MDNodes.
for (MDNode *I : DistinctMDNodes)
I->deleteAsSubclass();
+
+ for (auto *ConstantRangeListAttribute : ConstantRangeListAttributes)
+ ConstantRangeListAttribute->~ConstantRangeListAttributeImpl();
#define HANDLE_MDNODE_LEAF_UNIQUABLE(CLASS) \
for (CLASS * I : CLASS##s) \
delete I;