[llvm] [VPlan] Consistently use (Part, 0) for first lane scalar values (PR #80271)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 18 06:12:49 PST 2024
================
@@ -213,8 +213,13 @@ VPBasicBlock::iterator VPBasicBlock::getFirstNonPhi() {
}
Value *VPTransformState::get(VPValue *Def, const VPIteration &Instance) {
- if (Def->isLiveIn())
- return Def->getLiveInIRValue();
+ if (Def->isLiveIn()) {
+ if (Value *V = Def->getLiveInIRValue())
----------------
ayalz wrote:
Ahh, thanks for reminding. This may deserve a better representation to avoid confusion.
An alternative way of handling non-IR-valued live-ins, is to complement them with one asap, i.e., have prepareToExecute() call setUnderlyingValue() on every such "symbolic invariant" variant of "live-in", instead of filling State. That way they will behave as any other live-in.
https://github.com/llvm/llvm-project/pull/80271
More information about the llvm-commits
mailing list