[PATCH] D94350: [GlobalISel] Combine (a[0]) | (a[1] << k1) | ...| (a[m] << kn) into a wide load

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 15 16:25:56 PST 2021


paquette updated this revision to Diff 317110.
paquette added a comment.

- Add a LLT variant of `allowsMemoryAccess`. This is the same as the DAGCombiner check.
- Add a testcase that shows that when we have strict-align, the combine only fires when the resulting load will be aligned.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94350/new/

https://reviews.llvm.org/D94350

Files:
  llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/include/llvm/Target/GlobalISel/Combine.td
  llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
  llvm/lib/CodeGen/TargetLoweringBase.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern-align.mir
  llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94350.317110.patch
Type: text/x-patch
Size: 86003 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210116/f557a61c/attachment.bin>


More information about the llvm-commits mailing list