diff options
author | Richard Biener <rguenther@suse.de> | 2019-05-03 08:18:48 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-05-03 08:18:48 +0000 |
commit | a09b7f1441cda1392c535293d0e73b3525d8f94e (patch) | |
tree | d45ad791f5edc39b0d57bebb4c8a48735c1e2217 /gcc/tree-ssa-loop-ch.c | |
parent | e50bb4fe73bb7e1c5c2a4d938f8f9678a3614e86 (diff) | |
download | gcc-a09b7f1441cda1392c535293d0e73b3525d8f94e.zip gcc-a09b7f1441cda1392c535293d0e73b3525d8f94e.tar.gz gcc-a09b7f1441cda1392c535293d0e73b3525d8f94e.tar.bz2 |
Backport PRs 86984, 89595, 89698, 89710, 89711, 90071
2019-05-03 Richard Biener <rguenther@suse.de>
Backport from mainline
2019-03-14 Richard Biener <rguenther@suse.de>
PR middle-end/89698
* fold-const.c (operand_equal_p): For INDIRECT_REF check
that the access types are similar.
* g++.dg/torture/pr89698.C: New testcase.
2019-03-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/89595
* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take
stmt iterator as reference, take boolean output parameter to
indicate whether the stmt was removed and thus the iterator
already advanced.
(dom_opt_dom_walker::before_dom_children): Re-iterate over
stmts created by folding.
* gcc.dg/torture/pr89595.c: New testcase.
2019-03-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/89710
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use
safe_dyn_cast.
* gcc.dg/torture/pr89710.c: New testcase.
2019-04-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/90071
* tree-ssa-reassoc.c (init_range_entry): Do not pick up
abnormal operands from def stmts.
* gcc.dg/torture/pr90071.c: New testcase.
2018-08-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR target/86984
* expr.c (expand_assignment): Assert that bitpos is positive.
(store_field): Likewise
(expand_expr_real_1): Make sure that bitpos is positive.
* config/alpha/alpha.h (CONSTANT_ADDRESS_P): Avoid signed
integer overflow.
* gcc.target/alpha/pr86984.c: New test.
2019-03-14 Richard Biener <rguenther@suse.de>
PR target/89711
* config/i386/i386.c (make_resolver_func): Properly set
DECL_CONTEXT on the RESULT_DECL.
* config/rs6000/rs6000.c (make_resolver_func): Likewise.
From-SVN: r270841
Diffstat (limited to 'gcc/tree-ssa-loop-ch.c')
-rw-r--r-- | gcc/tree-ssa-loop-ch.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c index 92e0c43..1d99be3 100644 --- a/gcc/tree-ssa-loop-ch.c +++ b/gcc/tree-ssa-loop-ch.c @@ -99,7 +99,7 @@ should_duplicate_loop_header_p (basic_block header, struct loop *loop, } last = last_stmt (header); - if (gimple_code (last) != GIMPLE_COND) + if (!last || gimple_code (last) != GIMPLE_COND) { if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, |