[clang] [llvm] [SROA] Prefer integer types over non-promotable aggregates (PR #167771)

Yonah Goldberg via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 26 14:48:32 PST 2025


YonahGoldberg wrote:

Both of the arm changes are due to the early exit I added if isVectorPromotionViable returns a vector of floats. The neon testcase has the following pattern:

alloca i64
load <4 x bfloat>
store i64

Originally we prefer to promote via integer widening, now we prefer to promote via vector promotion. I think this is a win because if you're loading as a float type its probably being treated as a float.

The bf16 testcase has a alloca <1 x double> that we now promote via vector promotion instead of integer widening, which causes the small diff. Again, I think this is fine.

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


More information about the llvm-commits mailing list