diff options
author | Jessica Paquette <jpaquette@apple.com> | 2020-11-13 14:09:08 -0800 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2020-11-16 14:14:14 -0800 |
commit | 5bc0bd05e6a8d788e08cdf3d154f3a33202aee53 (patch) | |
tree | 41c78795ad1d59c7941ae48d6c3376b53424162d /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | ace9653c11c6308401dcda2e8b26bf97e6e66e30 (diff) | |
download | llvm-5bc0bd05e6a8d788e08cdf3d154f3a33202aee53.zip llvm-5bc0bd05e6a8d788e08cdf3d154f3a33202aee53.tar.gz llvm-5bc0bd05e6a8d788e08cdf3d154f3a33202aee53.tar.bz2 |
[AArch64][GlobalISel] Fold G_XOR x, -1 into G_SELECT and select CSINV
When we see
```
xor = G_XOR xor_lhs, -1
select = G_SELECT cc, tval, xor
```
Fold this into
```
select = CSINV tval, xor_lhs, cc
```
Update select-select.mir to reflect the changes.
For now, only handle the case where the G_XOR is the false-value for the
G_SELECT. It may make more sense to handle the true-value case in post-legalizer
lowering.
Differential Revision: https://reviews.llvm.org/D90774
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions