diff options
author | Haopeng Liu <153236845+haopliu@users.noreply.github.com> | 2024-06-21 12:09:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-21 12:09:00 -0700 |
commit | 5ece35df8586d0cb8c104a9f44eaae771de025f5 (patch) | |
tree | b1c14e2f040a5282bb7f3a3a2ea73927df22e2cb /llvm/lib/IR/LLVMContextImpl.cpp | |
parent | f1f3c34b4770437bdb022737918603b4bbeb523e (diff) | |
download | llvm-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.cpp | 3 |
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; |