[all-commits] [llvm/llvm-project] 56fcd4: [AArch64][GlobalISel] Change store value type from...

Jessica Paquette via All-commits all-commits at lists.llvm.org
Wed Feb 3 16:21:19 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 56fcd4ea8dafecbd71ff6eda7db6407d66505c93
      https://github.com/llvm/llvm-project/commit/56fcd4ea8dafecbd71ff6eda7db6407d66505c93
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/sext-inreg-ldrow-16b.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-wro-addressing-modes.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Change store value type from p0 -> s64 to import patterns

Similar to the G_PTR_ADD + G_LOAD twiddling we do in `preISelLower`.

The imported patterns expect scalars only, so they can't handle things like

```
 G_STORE %ptr1, %ptr2
```

To get around this, use s64 instead.

(This probably makes a good portion of the manual selection code for G_STORE
dead.)

This is a 0.2% geomean code size improvement on CTMark at -Os.

(Best is consumer-typeset @ -0.7%)

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




More information about the All-commits mailing list