[PATCH] D94350: [GlobalISel] Combine (a[0]) | (a[1] << k1) | ...| (a[m] << kn) into a wide load
Amara Emerson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 14 16:11:41 PST 2021
aemerson added a comment.
In D94350#2499061 <https://reviews.llvm.org/D94350#2499061>, @paquette wrote:
> In D94350#2496310 <https://reviews.llvm.org/D94350#2496310>, @aemerson wrote:
>
>> We also need to check for the strict-align function attribute before we generate wider loads.
>
> Shouldn't the legalizer check alignment requirements on the load? Or is this something different?
Each pass has to respect the semantics though. At the moment we fall back in the translator for strict-align, but when we do add support places like this will need to correct. Unless you add alignment checks for this combine, this might create unaligned wide loads which are illegal with strict-align, since we’re not allowed to assume that unaligned loads are safe.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94350/new/
https://reviews.llvm.org/D94350
More information about the llvm-commits
mailing list