[all-commits] [llvm/llvm-project] 292f72: [AArch64][GlobalISel] Fold G_ASHR into TB(N)Z bit ...

Jessica Paquette via All-commits all-commits at lists.llvm.org
Wed Feb 5 10:04:57 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 292f7257118a6e270f93acb14dc6119588e9e427
      https://github.com/llvm/llvm-project/commit/292f7257118a6e270f93acb14dc6119588e9e427
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2020-02-05 (Wed, 05 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-shift-tbz-tbnz.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Fold G_ASHR into TB(N)Z bit calculation

This implements walking over G_ASHR in the same way as `getTestBitOperand` in
AArch64ISelLowering.

```
(tbz (ashr x, c), b) -> (tbz x, b+c) or (tbz x, msb) if b+c is > # bits in x
```

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




More information about the All-commits mailing list