Added MD_invariant_group to LLVMContext

http://reviews.llvm.org/D12926

llvm-svn: 247931
This commit is contained in:
Piotr Padlewski 2015-09-17 20:25:07 +00:00
parent 4ea96421d1
commit ea09288ee7
3 changed files with 10 additions and 2 deletions

View 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.

View 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());
}

View 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; }