Skip to content

Commit 0ec4063

Browse files
committed
[JumpThreading] Copy metadata when inserting preload into preds
1 parent 61907eb commit 0ec4063

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

llvm/lib/Transforms/Scalar/JumpThreading.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -1409,6 +1409,13 @@ bool JumpThreadingPass::simplifyPartiallyRedundantLoad(LoadInst *LoadI) {
14091409
if (AATags)
14101410
NewVal->setAAMetadata(AATags);
14111411

1412+
if (auto *MD = LoadI->getMetadata(LLVMContext::MD_invariant_load))
1413+
NewVal->setMetadata(LLVMContext::MD_invariant_load, MD);
1414+
if (auto *InvGroupMD = LoadI->getMetadata(LLVMContext::MD_invariant_group))
1415+
NewVal->setMetadata(LLVMContext::MD_invariant_group, InvGroupMD);
1416+
if (auto *RangeMD = LoadI->getMetadata(LLVMContext::MD_range))
1417+
NewVal->setMetadata(LLVMContext::MD_range, RangeMD);
1418+
14121419
AvailablePreds.emplace_back(UnavailablePred, NewVal);
14131420
}
14141421

0 commit comments

Comments
 (0)