diff options
author | Ilya Enkovich <ilya.enkovich@intel.com> | 2016-05-13 09:55:58 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2016-05-13 09:55:58 +0000 |
commit | da7674f6a6bd485ee250f1dcd53daec68090827e (patch) | |
tree | abfd6b8beb45cb61957f2b753e3353f06e762297 /gcc | |
parent | c959db3d3b344fa2e21fdd79768e2349d7c2db25 (diff) | |
download | gcc-da7674f6a6bd485ee250f1dcd53daec68090827e.zip gcc-da7674f6a6bd485ee250f1dcd53daec68090827e.tar.gz gcc-da7674f6a6bd485ee250f1dcd53daec68090827e.tar.bz2 |
cse.c (rest_of_handle_cse): Use cleanup_cfg returned value cse_cfg_altered computation.
gcc/
* cse.c (rest_of_handle_cse): Use cleanup_cfg
returned value cse_cfg_altered computation.
(rest_of_handle_cse2): Likewise.
(rest_of_handle_cse_after_global_opts): Likewise.
gcc/testsuite/
* gcc.dg/pr71084.c: New test.
From-SVN: r236199
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cse.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr71084.c | 38 |
4 files changed, 55 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27deda6..0346cbc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-05-13 Ilya Enkovich <ilya.enkovich@intel.com> + + * cse.c (rest_of_handle_cse): Use cleanup_cfg + returned value cse_cfg_altered computation. + (rest_of_handle_cse2): Likewise. + (rest_of_handle_cse_after_global_opts): Likewise. + 2016-05-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/53440 @@ -7562,11 +7562,11 @@ rest_of_handle_cse (void) { timevar_push (TV_JUMP); rebuild_jump_labels (get_insns ()); - cleanup_cfg (CLEANUP_CFG_CHANGED); + cse_cfg_altered |= cleanup_cfg (CLEANUP_CFG_CHANGED); timevar_pop (TV_JUMP); } else if (tem == 1 || optimize > 1) - cleanup_cfg (0); + cse_cfg_altered |= cleanup_cfg (0); if (cse_cfg_altered && dom_info_available_p (CDI_DOMINATORS)) free_dominance_info (CDI_DOMINATORS); @@ -7634,11 +7634,11 @@ rest_of_handle_cse2 (void) { timevar_push (TV_JUMP); rebuild_jump_labels (get_insns ()); - cleanup_cfg (CLEANUP_CFG_CHANGED); + cse_cfg_altered |= cleanup_cfg (CLEANUP_CFG_CHANGED); timevar_pop (TV_JUMP); } else if (tem == 1) - cleanup_cfg (0); + cse_cfg_altered |= cleanup_cfg (0); if (cse_cfg_altered && dom_info_available_p (CDI_DOMINATORS)) free_dominance_info (CDI_DOMINATORS); @@ -7711,11 +7711,11 @@ rest_of_handle_cse_after_global_opts (void) { timevar_push (TV_JUMP); rebuild_jump_labels (get_insns ()); - cleanup_cfg (CLEANUP_CFG_CHANGED); + cse_cfg_altered |= cleanup_cfg (CLEANUP_CFG_CHANGED); timevar_pop (TV_JUMP); } else if (tem == 1) - cleanup_cfg (0); + cse_cfg_altered |= cleanup_cfg (0); if (cse_cfg_altered && dom_info_available_p (CDI_DOMINATORS)) free_dominance_info (CDI_DOMINATORS); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e3b0280..4547ce3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-05-13 Ilya Enkovich <ilya.enkovich@intel.com> + + * gcc.dg/pr71084.c: New test. + 2016-05-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/53440 diff --git a/gcc/testsuite/gcc.dg/pr71084.c b/gcc/testsuite/gcc.dg/pr71084.c new file mode 100644 index 0000000..46fdf9f --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr71084.c @@ -0,0 +1,38 @@ +/* PR tree-optimization/71084 */ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +void babl_format (void); +void gimp_drawable_get_format (void); +int _setjmp (void); + +enum { + GIMP_RGB_IMAGE, + GIMP_RGBA_IMAGE, + GIMP_GRAY_IMAGE, + GIMP_GRAYA_IMAGE, + GIMP_INDEXED_IMAGE +} run_i; + +int run_height; + +void fn1 () +{ + int type, width; + if (_setjmp ()) + switch (type) + { + case GIMP_RGB_IMAGE: + babl_format (); + case GIMP_RGBA_IMAGE: + case GIMP_GRAY_IMAGE: + babl_format (); + case GIMP_GRAYA_IMAGE: + case GIMP_INDEXED_IMAGE: + gimp_drawable_get_format(); + } + for (; run_height;) + for (; run_i < (long)fn1; ++run_i) + for (; width;) + ; +} |