diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2023-03-12 13:25:23 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2023-03-12 13:25:23 +0000 |
commit | b53ea2b9c5ac252fa417f5fe76ce805bb09ed1ab (patch) | |
tree | f2b8dd75e2e515b751faedf73898c1f390075b79 /llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp | |
parent | 84547ec4012ae34b36eb3b86efec8c3a18e55313 (diff) | |
download | llvm-b53ea2b9c5ac252fa417f5fe76ce805bb09ed1ab.zip llvm-b53ea2b9c5ac252fa417f5fe76ce805bb09ed1ab.tar.gz llvm-b53ea2b9c5ac252fa417f5fe76ce805bb09ed1ab.tar.bz2 |
[DAG] visitAND - fold (and (any_ext V), c) -> (zero_ext (and (trunc V), c)) if profitable.
Try to more aggressively narrow masks of extended values.
This is mainly for cases where the mask is trying to zero out any_extended upper bits, assuming we can zext/trunc the values for free.
This catches a few actual missed folds, as well as helps canonicalize a number of other cases which were being caught in isel etc.
Differential Revision: https://reviews.llvm.org/D145866
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions