[llvm] [JumpThreading] Copy metadata when inserting preload into preds (PR #134403)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 13 09:13:44 PDT 2025


================
@@ -1409,6 +1409,13 @@ bool JumpThreadingPass::simplifyPartiallyRedundantLoad(LoadInst *LoadI) {
     if (AATags)
       NewVal->setAAMetadata(AATags);
 
+    if (auto *MD = LoadI->getMetadata(LLVMContext::MD_invariant_load))
+      NewVal->setMetadata(LLVMContext::MD_invariant_load, MD);
+    if (auto *InvGroupMD = LoadI->getMetadata(LLVMContext::MD_invariant_group))
+      NewVal->setMetadata(LLVMContext::MD_invariant_group, InvGroupMD);
+    if (auto *RangeMD = LoadI->getMetadata(LLVMContext::MD_range))
+      NewVal->setMetadata(LLVMContext::MD_range, RangeMD);
----------------
dtcxzyw wrote:

Copied from https://github.com/llvm/llvm-project/blob/c41ef751f85ee42f40380d064f44cfd347fb6215/llvm/lib/Transforms/Scalar/GVN.cpp#L1519-L1532.

I agree we may need a better helper function.


https://github.com/llvm/llvm-project/pull/134403


More information about the llvm-commits mailing list