From: Piotr Padlewski Date: Thu, 17 Sep 2015 20:25:07 +0000 (+0000) Subject: Added MD_invariant_group to LLVMContext X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c11b75566a0a4a30dd0f7c66fbbfdfbdf8a72b68;p=oota-llvm.git Added MD_invariant_group to LLVMContext http://reviews.llvm.org/D12926 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247931 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/IR/LLVMContext.h b/include/llvm/IR/LLVMContext.h index 4c9f8e5e92a..cc8c149052c 100644 --- a/include/llvm/IR/LLVMContext.h +++ b/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/lib/CodeGen/CodeGenPrepare.cpp b/lib/CodeGen/CodeGenPrepare.cpp index d0c8fb95d48..8faa35b17ef 100644 --- a/lib/CodeGen/CodeGenPrepare.cpp +++ b/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/lib/IR/LLVMContext.cpp b/lib/IR/LLVMContext.cpp index 77fd3e1c198..788fa2838f4 100644 --- a/lib/IR/LLVMContext.cpp +++ b/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; }