diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/LoopInfo.cpp | 11 | ||||
-rw-r--r-- | llvm/lib/IR/LLVMContext.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 3 |
3 files changed, 11 insertions, 8 deletions
diff --git a/llvm/lib/Analysis/LoopInfo.cpp b/llvm/lib/Analysis/LoopInfo.cpp index 47a313a8f3a..e3e1a281a6c 100644 --- a/llvm/lib/Analysis/LoopInfo.cpp +++ b/llvm/lib/Analysis/LoopInfo.cpp @@ -47,9 +47,6 @@ static cl::opt<bool,true> VerifyLoopInfoX("verify-loop-info", cl::location(VerifyLoopInfo), cl::desc("Verify loop info (time consuming)")); -// Loop identifier metadata name. -static const char *const LoopMDName = "llvm.loop"; - //===----------------------------------------------------------------------===// // Loop implementation // @@ -222,7 +219,7 @@ bool Loop::isSafeToClone() const { MDNode *Loop::getLoopID() const { MDNode *LoopID = nullptr; if (isLoopSimplifyForm()) { - LoopID = getLoopLatch()->getTerminator()->getMetadata(LoopMDName); + LoopID = getLoopLatch()->getTerminator()->getMetadata(LLVMContext::MD_loop); } else { // Go through each predecessor of the loop header and check the // terminator for the metadata. @@ -234,7 +231,7 @@ MDNode *Loop::getLoopID() const { // Check if this terminator branches to the loop header. for (BasicBlock *Successor : TI->successors()) { if (Successor == H) { - MD = TI->getMetadata(LoopMDName); + MD = TI->getMetadata(LLVMContext::MD_loop); break; } } @@ -259,7 +256,7 @@ void Loop::setLoopID(MDNode *LoopID) const { assert(LoopID->getOperand(0) == LoopID && "Loop ID should refer to itself"); if (isLoopSimplifyForm()) { - getLoopLatch()->getTerminator()->setMetadata(LoopMDName, LoopID); + getLoopLatch()->getTerminator()->setMetadata(LLVMContext::MD_loop, LoopID); return; } @@ -268,7 +265,7 @@ void Loop::setLoopID(MDNode *LoopID) const { TerminatorInst *TI = BB->getTerminator(); for (BasicBlock *Successor : TI->successors()) { if (Successor == H) - TI->setMetadata(LoopMDName, LoopID); + TI->setMetadata(LLVMContext::MD_loop, LoopID); } } } diff --git a/llvm/lib/IR/LLVMContext.cpp b/llvm/lib/IR/LLVMContext.cpp index 77cefd038d8..151c2055813 100644 --- a/llvm/lib/IR/LLVMContext.cpp +++ b/llvm/lib/IR/LLVMContext.cpp @@ -128,6 +128,11 @@ LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl(*this)) { assert(AlignID == MD_align && "align kind id drifted"); (void)AlignID; + // Create the 'llvm.loop' metadata kind. + unsigned LoopID = getMDKindID("llvm.loop"); + assert(LoopID == MD_loop && "llvm.loop kind id drifted"); + (void)LoopID; + auto *DeoptEntry = pImpl->getOrInsertBundleTag("deopt"); assert(DeoptEntry->second == LLVMContext::OB_deopt && "deopt operand bundle id drifted!"); diff --git a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp index 8a76896215b..c084b48fdc4 100644 --- a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp @@ -432,7 +432,8 @@ bool NVPTXAsmPrinter::isLoopHeaderOfNoUnroll( continue; } if (const BasicBlock *PBB = PMBB->getBasicBlock()) { - if (MDNode *LoopID = PBB->getTerminator()->getMetadata("llvm.loop")) { + if (MDNode *LoopID = + PBB->getTerminator()->getMetadata(LLVMContext::MD_loop)) { if (GetUnrollMetadata(LoopID, "llvm.loop.unroll.disable")) return true; } |