diff options
author | Andrew Pinski <quic_apinski@quicinc.com> | 2025-04-22 09:40:28 -0700 |
---|---|---|
committer | Andrew Pinski <quic_apinski@quicinc.com> | 2025-05-13 08:51:31 -0700 |
commit | eaee2df409ae40ab4a0c557839d6f64b9c6b936d (patch) | |
tree | 9250aac861214de40fb604e4646f0d48000e5857 /gcc/cobol/gcobc | |
parent | e4fb1b435a65f505b0172b4f0213483c3a07adbf (diff) | |
download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 |
gimple-fold: Don't replace `tmp = FP0 CMP FP1; if (tmp != 0)` over and over again when comparison can throwHEADtrunkmaster
with -ftrapping-math -fnon-call-exceptions and:
```
tmp = FP0 CMP FP1;
if (tmp != 0) ...
```
a call fold_stmt on the GIMPLE_COND will replace the above with
a new tmp each time and we even lose the eh informatin on the
previous comparison too.
Changes since v1:
* v2: Use INTEGRAL_TYPE_P instead of a check against BOOLEAN_TYPE.
Add testcase which shows where losing of landing pad happened.
PR tree-optimization/119903
gcc/ChangeLog:
* gimple-fold.cc (replace_stmt_with_simplification): Reject for
noncall exceptions replacing comparison with itself.
gcc/testsuite/ChangeLog:
* g++.dg/tree-ssa/pr119903-1.C: New test.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
Diffstat (limited to 'gcc/cobol/gcobc')
0 files changed, 0 insertions, 0 deletions