[PATCH] D55630: [ARM] Complete the Thumb1 shift+and->shift+shift transforms.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 12 17:29:54 PST 2018


efriedma created this revision.
efriedma added reviewers: SjoerdMeijer, samparker, spatel.
Herald added subscribers: kristof.beyls, javed.absar.

This saves materializing the immediate.  The additional forms are less common, but they're still relevant in some situations.

I had to add a new target hook to prevent DAGCombine from reversing the transform. That isn't the only possible way to solve the conflict, but it seems straightforward enough.


Repository:
  rL LLVM

https://reviews.llvm.org/D55630

Files:
  include/llvm/CodeGen/TargetLowering.h
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/ARM/ARMISelLowering.h
  test/CodeGen/Thumb/shift-and.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55630.177980.patch
Type: text/x-patch
Size: 8491 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181213/dfaecd45/attachment.bin>


More information about the llvm-commits mailing list