aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/epiphany/resolve-sw-modes.c
diff options
context:
space:
mode:
authorChristian Bruel <christian.bruel@st.com>2014-07-02 15:03:14 +0200
committerChristian Bruel <chrbr@gcc.gnu.org>2014-07-02 15:03:14 +0200
commitcbb1e3d98c5f18f82c1b733aa6338fab78fb891b (patch)
treed5f4efb38c4b5345b26af85c0f13b1a9412dd461 /gcc/config/epiphany/resolve-sw-modes.c
parentb18f1efce09e8cab57d6141754db3456fab938f7 (diff)
downloadgcc-cbb1e3d98c5f18f82c1b733aa6338fab78fb891b.zip
gcc-cbb1e3d98c5f18f82c1b733aa6338fab78fb891b.tar.gz
gcc-cbb1e3d98c5f18f82c1b733aa6338fab78fb891b.tar.bz2
Support mode toggle.
* mode-switching.c (struct bb_info): Add mode_out, mode_in caches. (make_preds_opaque): Delete. (clear_mode_bit, mode_bit_p, set_mode_bit): New macros. (commit_mode_sets): New function. (optimize_mode_switching): Handle current_mode to mode_switching_emit. Process all modes at once. * basic-block.h (pre_edge_lcm_avs): Declare. * lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm. Call clear_aux_for_edges. Fix comments. (pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs. (pre_edge_rev_lcm): Idem. * config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode parameter. * config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem. * config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute): Idem. * config/i386/i386.c (x96_emit_mode_set): Idem. * config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle. * config/sh/sh.md (toggle_pr): Defined if TARGET_FPU_SINGLE. (fpscr_toggle) Disallow from delay slot. * target.def (emit_mode_set): Add prev_mode parameter. * doc/tm.texi: Regenerate. From-SVN: r212230
Diffstat (limited to 'gcc/config/epiphany/resolve-sw-modes.c')
-rw-r--r--gcc/config/epiphany/resolve-sw-modes.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/epiphany/resolve-sw-modes.c b/gcc/config/epiphany/resolve-sw-modes.c
index f65fe2a..a0c4fa4 100644
--- a/gcc/config/epiphany/resolve-sw-modes.c
+++ b/gcc/config/epiphany/resolve-sw-modes.c
@@ -170,7 +170,7 @@ pass_resolve_sw_modes::execute (function *fun)
}
start_sequence ();
emit_set_fp_mode (EPIPHANY_MSW_ENTITY_ROUND_UNKNOWN,
- jilted_mode, NULL);
+ jilted_mode, FP_MODE_NONE, NULL);
seq = get_insns ();
end_sequence ();
need_commit = true;