diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/LoopVersioning.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopVersioning.cpp b/llvm/lib/Transforms/Utils/LoopVersioning.cpp index 8630fd7..19c7fa7 100644 --- a/llvm/lib/Transforms/Utils/LoopVersioning.cpp +++ b/llvm/lib/Transforms/Utils/LoopVersioning.cpp @@ -207,29 +207,33 @@ void LoopVersioning::annotateLoopWithNoAlias() { } } -void LoopVersioning::annotateInstWithNoAlias(Instruction *I) { +void LoopVersioning::annotateInstWithNoAlias(Instruction *VersionedInst, + const Instruction *OrigInst) { if (!AnnotateNoAlias) return; LLVMContext &Context = VersionedLoop->getHeader()->getContext(); - Value *Ptr = isa<LoadInst>(I) ? cast<LoadInst>(I)->getPointerOperand() - : cast<StoreInst>(I)->getPointerOperand(); + const Value *Ptr = isa<LoadInst>(OrigInst) + ? cast<LoadInst>(OrigInst)->getPointerOperand() + : cast<StoreInst>(OrigInst)->getPointerOperand(); // Find the group for the pointer and then add the scope metadata. auto Group = PtrToGroup.find(Ptr); if (Group != PtrToGroup.end()) { - I->setMetadata( + VersionedInst->setMetadata( LLVMContext::MD_alias_scope, - MDNode::concatenate(I->getMetadata(LLVMContext::MD_alias_scope), - MDNode::get(Context, GroupToScope[Group->second]))); + MDNode::concatenate( + VersionedInst->getMetadata(LLVMContext::MD_alias_scope), + MDNode::get(Context, GroupToScope[Group->second]))); // Add the no-alias metadata. auto NonAliasingScopeList = GroupToNonAliasingScopeList.find(Group->second); if (NonAliasingScopeList != GroupToNonAliasingScopeList.end()) - I->setMetadata( + VersionedInst->setMetadata( LLVMContext::MD_noalias, - MDNode::concatenate(I->getMetadata(LLVMContext::MD_noalias), - NonAliasingScopeList->second)); + MDNode::concatenate( + VersionedInst->getMetadata(LLVMContext::MD_noalias), + NonAliasingScopeList->second)); } } |