summaryrefslogtreecommitdiff
path: root/gcc/mode-switching.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-05-13 11:33:50 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-05-13 11:33:50 +0000
commit54ef9b16a2cc8b187bd153eb34ffa9a3a6ae3e90 (patch)
tree812127d45949f458b96c1e4453fe5a81c195c607 /gcc/mode-switching.c
parent31131f91919a921dab928f7f3d1921304c65eb95 (diff)
downloadgcc-54ef9b16a2cc8b187bd153eb34ffa9a3a6ae3e90.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198825 138bc75d-0d04-0410-961f-82ee72b054a4
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 2bcb154d22b..70a77d081a4 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);