diff options
author | Richard Biener <rguenther@suse.de> | 2019-03-13 14:08:07 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-03-13 14:08:07 +0000 |
commit | fbbfed2085940bbd2822d7ae55d96e8351127c35 (patch) | |
tree | 0b1bada38ff2fd98b0a09682ac57bf62eaa01304 /gcc/tree-scalar-evolution.c | |
parent | f5eb41ce2d72f465fe53a33461c635f66be04a0f (diff) | |
download | gcc-fbbfed2085940bbd2822d7ae55d96e8351127c35.zip gcc-fbbfed2085940bbd2822d7ae55d96e8351127c35.tar.gz gcc-fbbfed2085940bbd2822d7ae55d96e8351127c35.tar.bz2 |
backport: [multiple changes]
2019-03-14 Richard Biener <rguenther@suse.de>
Backport from mainline
2019-03-13 Richard Biener <rguenther@suse.de>
PR middle-end/89677
* tree-scalar-evolution.c (simplify_peeled_chrec): Do not
throw FP expressions at tree-affine.
* gcc.dg/torture/pr89677.c: New testcase.
2019-03-01 Richard Biener <rguenther@suse.de>
PR middle-end/89497
* tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
argument, defaulted to zero.
* passes.c (execute_function_todo): Pass down SSA update flags
to cleanup_tree_cfg.
* tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
(cleanup_tree_cfg_1): After cleanup_control_flow_pre update SSA
form if requested.
(cleanup_tree_cfg_noloop): Pass down SSA update flags.
(cleanup_tree_cfg): Get and pass down SSA update flags.
* gcc.dg/tree-ssa/reassoc-43.c: Avoid false match in regex.
* g++.dg/tree-prof/devirt.C: Scan tracer dump for foldings
that happen now earlier.
2019-02-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/89296
* tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
of no-warning flag to cases that might emit the bogus warning.
* gcc.dg/uninit-pr89296.c: New testcase.
From-SVN: r269650
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
-rw-r--r-- | gcc/tree-scalar-evolution.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c index fefc9de..c955352 100644 --- a/gcc/tree-scalar-evolution.c +++ b/gcc/tree-scalar-evolution.c @@ -1421,6 +1421,11 @@ simplify_peeled_chrec (struct loop *loop, tree arg, tree init_cond) return build_polynomial_chrec (loop->num, init_cond, right); } + /* The affine code only deals with pointer and integer types. */ + if (!POINTER_TYPE_P (type) + && !INTEGRAL_TYPE_P (type)) + return chrec_dont_know; + /* Try harder to check if they are equal. */ tree_to_aff_combination_expand (left, type, &aff1, &peeled_chrec_map); tree_to_aff_combination_expand (step_val, type, &aff2, &peeled_chrec_map); |