Added MD_invariant_group to LLVMContext
authorPiotr Padlewski <prazek@google.com>
Thu, 17 Sep 2015 20:25:07 +0000 (20:25 +0000)
committerPiotr Padlewski <prazek@google.com>
Thu, 17 Sep 2015 20:25:07 +0000 (20:25 +0000)
http://reviews.llvm.org/D12926

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247931 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/LLVMContext.h
lib/CodeGen/CodeGenPrepare.cpp
lib/IR/LLVMContext.cpp

index 4c9f8e5e92a433ce8a39751df90f78b7e79bdc9c..cc8c149052cae33e16305faa730fcf57def68bd2 100644 (file)
@@ -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.
index d0c8fb95d4845300c0862093f4c20652a319fd66..8faa35b17ef9eb36f57c5c0341b992f780ed95bf 100644 (file)
@@ -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());
 }
index 77fd3e1c19845ae867c9604c2bf68154b3d2b31b..788fa2838f4d89f5f0750e5494b9302e8ef915df 100644 (file)
@@ -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; }