For some reason, the ARM backend thinks it needs it's own BUILDVECTOR. This adds a small fold for extract (ARM_BUILD_VECTOR) to fold to the original node. This can help simplify the resulting codegen in some cases.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
For some reason, the ARM backend thinks it needs it's own BUILDVECTOR
I think the issue here is that ISD::BUILD_VECTOR has funny interactions with legalization, so you can't just mark it "Legal". So we transform to ARMISD::BUILD_VECTOR to indicate "yes, this is actually a legal operation".
llvm/lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
14665 | Missing check that the constant is in range. |
Missing check that the constant is in range.