[all-commits] [llvm/llvm-project] 8aff88: [LegalizeDAG] Propagate alignment in ExpandExtract...
Benjamin Kramer via All-commits
all-commits at lists.llvm.org
Tue Jul 19 04:17:26 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8aff88fd3a5f6f974f4ce62923981764fafbb820
https://github.com/llvm/llvm-project/commit/8aff88fd3a5f6f974f4ce62923981764fafbb820
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2022-07-19 (Tue, 19 Jul 2022)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[LegalizeDAG] Propagate alignment in ExpandExtractFromVectorThroughStack
Unlike the name suggests this can reuse any store as a base for a
memory-based vector extract. If that store is underaligned the loads
created to extract will have an invalid alignment. Since most CPUs are
forgiving wrt alignment this is almost never an issue, on x86 this is
only reproducible by extracting a 128 bit vector out of a wider vector.
I tried making a test case in the context of
https://reviews.llvm.org/D127982 but it's really really fragile, as the
output pretty much looks like a missed optimization.
More information about the All-commits
mailing list