diff options
author | Nikita Popov <npopov@redhat.com> | 2024-11-25 10:21:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-25 10:21:38 +0100 |
commit | e5faeb69fbb87722ee315884eeef2089b10b0cee (patch) | |
tree | 0e5d21df6f94b338fbac42fd30565506d0c22a99 /clang/lib/CodeGen | |
parent | 7d8d51ed3409cae96fb975281deca2babf4f9994 (diff) | |
download | llvm-e5faeb69fbb87722ee315884eeef2089b10b0cee.zip llvm-e5faeb69fbb87722ee315884eeef2089b10b0cee.tar.gz llvm-e5faeb69fbb87722ee315884eeef2089b10b0cee.tar.bz2 |
[InstCombine] Support reassoc for foldLogicOfFCmps (#116065)
We currently support simple reassociation for foldAndOrOfICmps().
Support the same for foldLogicOfFCmps() by going through the common
foldBooleanAndOr() helper.
This will also resolve the regression on #112704, which is also due to
missing reassoc support.
I had to adjust one fold to add support for FMF flag preservation,
otherwise there would be test regressions. There is a separate fold
(reassociateFCmps) handling reassociation for *just* that specific case
and it preserves FMF. Unfortunately it's not rendered entirely redundant
by this patch, because it handles one more level of reassociation as
well.
Diffstat (limited to 'clang/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions