aboutsummaryrefslogtreecommitdiff
path: root/gcc/mode-switching.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-05-13 13:33:50 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-05-13 11:33:50 +0000
commit5f28524a011ad3b8bf7612a604e0ad4c557e47d3 (patch)
tree812127d45949f458b96c1e4453fe5a81c195c607 /gcc/mode-switching.c
parenta164a17b5e1471d556c51257e59e46681f2d6073 (diff)
downloadgcc-5f28524a011ad3b8bf7612a604e0ad4c557e47d3.zip
gcc-5f28524a011ad3b8bf7612a604e0ad4c557e47d3.tar.gz
gcc-5f28524a011ad3b8bf7612a604e0ad4c557e47d3.tar.bz2
mode-switching.c (optimize_mode_switching): Set correct RTL profile.
* mode-switching.c (optimize_mode_switching): Set correct RTL profile. * config/i386/i386.c (ix86_compute_frame_layout, ix86_expand_epilogue, emit_i387_cw_initialization, ix86_expand_vector_move_misalign, ix86_fp_comparison_strategy, ix86_local_alignment): Fix use of size/speed predicates. From-SVN: r198825
Diffstat (limited to 'gcc/mode-switching.c')
-rw-r--r--gcc/mode-switching.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index 2bcb154..70a77d0 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -667,10 +667,12 @@ optimize_mode_switching (void)
REG_SET_TO_HARD_REG_SET (live_at_edge, df_get_live_out (src_bb));
+ rtl_profile_for_edge (eg);
start_sequence ();
EMIT_MODE_SET (entity_map[j], mode, live_at_edge);
mode_set = get_insns ();
end_sequence ();
+ default_rtl_profile ();
/* Do not bother to insert empty sequence. */
if (mode_set == NULL_RTX)
@@ -713,6 +715,7 @@ optimize_mode_switching (void)
{
rtx mode_set;
+ rtl_profile_for_bb (bb);
start_sequence ();
EMIT_MODE_SET (entity_map[j], ptr->mode, ptr->regs_live);
mode_set = get_insns ();
@@ -727,6 +730,8 @@ optimize_mode_switching (void)
else
emit_insn_before (mode_set, ptr->insn_ptr);
}
+
+ default_rtl_profile ();
}
free (ptr);