diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/IR/LLVMContext.h | 3 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/IR/LLVMContext.cpp | 7 |
3 files changed, 10 insertions, 2 deletions
diff --git a/llvm/include/llvm/IR/LLVMContext.h b/llvm/include/llvm/IR/LLVMContext.h index 4c9f8e5e92a..cc8c149052c 100644 --- a/llvm/include/llvm/IR/LLVMContext.h +++ b/llvm/include/llvm/IR/LLVMContext.h @@ -62,7 +62,8 @@ public: MD_dereferenceable = 12, // "dereferenceable" MD_dereferenceable_or_null = 13, // "dereferenceable_or_null" MD_make_implicit = 14, // "make.implicit" - MD_unpredictable = 15 // "unpredictable" + MD_unpredictable = 15, // "unpredictable" + MD_invariant_group = 16 // "invariant.group" }; /// getMDKindID - Return a unique non-zero ID for the specified metadata kind. diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index d0c8fb95d48..8faa35b17ef 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -4836,6 +4836,6 @@ bool CodeGenPrepare::splitBranchCondition(Function &F) { } void CodeGenPrepare::stripInvariantGroupMetadata(Instruction &I) { - if (auto *InvariantMD = I.getMetadata("invariant.group")) + if (auto *InvariantMD = I.getMetadata(LLVMContext::MD_invariant_group)) I.dropUnknownNonDebugMetadata(InvariantMD->getMetadataID()); } diff --git a/llvm/lib/IR/LLVMContext.cpp b/llvm/lib/IR/LLVMContext.cpp index 77fd3e1c198..788fa2838f4 100644 --- a/llvm/lib/IR/LLVMContext.cpp +++ b/llvm/lib/IR/LLVMContext.cpp @@ -116,6 +116,13 @@ LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl(*this)) { assert(UnpredictableID == MD_unpredictable && "unpredictable kind id drifted"); (void)UnpredictableID; + + // Create the 'invariant.group' metadata kind. + unsigned InvariantGroupId = getMDKindID("invariant.group"); + assert(InvariantGroupId == MD_invariant_group && + "invariant.group kind id drifted"); + (void)InvariantGroupId; + } LLVMContext::~LLVMContext() { delete pImpl; } |

