diff options
author | Piotr Padlewski <prazek@google.com> | 2015-09-17 20:25:07 +0000 |
---|---|---|
committer | Piotr Padlewski <prazek@google.com> | 2015-09-17 20:25:07 +0000 |
commit | ea09288ee7728917283573b206fae53e6a3347e8 (patch) | |
tree | 440874fe98e5282014feba8b22557bfbe9542c14 | |
parent | 4ea96421d151e5fab48b10122d54b73cee75400b (diff) | |
download | bcm5719-llvm-ea09288ee7728917283573b206fae53e6a3347e8.tar.gz bcm5719-llvm-ea09288ee7728917283573b206fae53e6a3347e8.zip |
Added MD_invariant_group to LLVMContext
http://reviews.llvm.org/D12926
llvm-svn: 247931
-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; } |