diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2020-08-04 17:30:16 +0200 |
---|---|---|
committer | Marc Glisse <marc.glisse@inria.fr> | 2020-08-04 17:30:16 +0200 |
commit | ca2b8c082c4f16919071c9f8de8db0b33b54c405 (patch) | |
tree | 457a68e6317228a5710215d659e7234c9da209ad /gcc/omp-expand.c | |
parent | c79d8335fd5905324b32d65cc0115986301f07eb (diff) | |
download | gcc-ca2b8c082c4f16919071c9f8de8db0b33b54c405.zip gcc-ca2b8c082c4f16919071c9f8de8db0b33b54c405.tar.gz gcc-ca2b8c082c4f16919071c9f8de8db0b33b54c405.tar.bz2 |
Simplify X * C1 == C2 with undefined overflow
this transformation is quite straightforward, without overflow, 3*X==15 is
the same as X==5 and 3*X==5 cannot happen. Adding a single_use restriction
for the first case didn't seem necessary, although of course it can
slightly increase register pressure in some cases.
2020-08-04 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/95433
* match.pd (X * C1 == C2): New transformation.
* gcc.c-torture/execute/pr23135.c: Add -fwrapv to avoid
undefined behavior.
* gcc.dg/tree-ssa/pr95433.c: New file.
Diffstat (limited to 'gcc/omp-expand.c')
0 files changed, 0 insertions, 0 deletions