[all-commits] [llvm/llvm-project] a84891: [instcombine] Scalarize operands of vector geps if...
Philip Reames via All-commits
all-commits at lists.llvm.org
Tue Jun 24 09:48:21 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a84891698a2a13780d3804686ebf31d3639dd6a4
https://github.com/llvm/llvm-project/commit/a84891698a2a13780d3804686ebf31d3639dd6a4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-24 (Tue, 24 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/fold-phi-arg-gep-to-phi-negative.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vector_gep1-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector_gep1.ll
Log Message:
-----------
[instcombine] Scalarize operands of vector geps if possible (#145402)
If we have a gep with vector indices which were splats (either constants
or shuffles), prefer the scalar form of the index. If all operands are
scalarizable, then prefer a scalar gep with splat following.
This does loose some information about undef/poison lanes, but I'm not
sure that's significant versus the number of downstream transformations
which get confused by having to manual scalarize operands.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list