summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Padlewski <prazek@google.com>2015-09-17 20:25:07 +0000
committerPiotr Padlewski <prazek@google.com>2015-09-17 20:25:07 +0000
commitea09288ee7728917283573b206fae53e6a3347e8 (patch)
tree440874fe98e5282014feba8b22557bfbe9542c14
parent4ea96421d151e5fab48b10122d54b73cee75400b (diff)
downloadbcm5719-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.h3
-rw-r--r--llvm/lib/CodeGen/CodeGenPrepare.cpp2
-rw-r--r--llvm/lib/IR/LLVMContext.cpp7
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; }
OpenPOWER on IntegriCloud