[llvm] [VPlan] Manage instruction medata in VPlan. (PR #135272)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 22 06:50:23 PDT 2025
================
@@ -1509,9 +1514,11 @@ void VPWidenSelectRecipe::execute(VPTransformState &State) {
Value *Op1 = State.get(getOperand(2));
Value *Sel = State.Builder.CreateSelect(Cond, Op0, Op1);
State.set(this, Sel);
- if (isa<FPMathOperator>(Sel))
- applyFlags(*cast<Instruction>(Sel));
- State.addMetadata(Sel, dyn_cast_or_null<Instruction>(getUnderlyingValue()));
+ if (auto *I = dyn_cast<Instruction>(Sel)) {
+ if (isa<FPMathOperator>(I))
+ applyFlags(*I);
+ applyMetadata(*I);
+ }
----------------
ayalz wrote:
Independent, consistency nit: good to keep State.set() as the last operation of execute(), after fully finishing to build the new instruction/value, including applying its flags/metadata. Conceptually, flags and metadata could be folded into Builder.CreateSelect().
https://github.com/llvm/llvm-project/pull/135272
More information about the llvm-commits
mailing list