[all-commits] [llvm/llvm-project] e431b2: [DAG] CombineConsecutiveLoads - replace getABIType...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue Aug 24 04:37:34 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e431b280c9aedfd405ec248fbb934bd88863dd2c
https://github.com/llvm/llvm-project/commit/e431b280c9aedfd405ec248fbb934bd88863dd2c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2021-08-24 (Tue, 24 Aug 2021)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512vbmi2-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512vbmi2-intrinsics.ll
M llvm/test/CodeGen/X86/pr35982.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
M llvm/test/CodeGen/X86/xmulo.ll
Log Message:
-----------
[DAG] CombineConsecutiveLoads - replace getABITypeAlign with allowsMemoryAccess (PR45116)
One of the cases identified in PR45116 - we don't need to limit load combines (in this case for ISD::BUILD_PAIR) to ABI alignment, we can use allowsMemoryAccess - which tests using getABITypeAlign, but also checks if a target permits (fast) misaligned memory loads by checking allowsMisalignedMemoryAccesses as a fallback.
This helps in particular for 32-bit X86 cases loading 64-bit size data, reducing codegen diffs vs x86_64.
Differential Revision: https://reviews.llvm.org/D108307
More information about the All-commits
mailing list