[all-commits] [llvm/llvm-project] f67d93: [ARM] Constant long shift combines

David Green via All-commits all-commits at lists.llvm.org
Fri Mar 13 01:55:15 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f67d93dc23f97700253538dfebcfbcc22c6d4a2d
      https://github.com/llvm/llvm-project/commit/f67d93dc23f97700253538dfebcfbcc22c6d4a2d
  Author: David Green <david.green at arm.com>
  Date:   2020-03-13 (Fri, 13 Mar 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/longshift-const.ll
    M llvm/test/CodeGen/Thumb2/mve-intrinsics/longshift-demand.ll

  Log Message:
  -----------
  [ARM] Constant long shift combines

This changes the way that asrl and lsrl intrinsics are lowered, going
via a the ISEL ASRL and LSLL nodes instead of straight to machine nodes.
On top of that, it adds some constant folds for long shifts, in case it
turns out that the shift amount was either constant or 0.

Differential Revision: https://reviews.llvm.org/D75553




More information about the All-commits mailing list