diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2014-12-17 23:08:14 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2014-12-17 23:08:14 +0000 |
commit | 89f8797ee13b8ce48c50ad829cf0989564b5bfb8 (patch) | |
tree | 0712f51fab9bdec89bec5432d03c151f3e270220 /gcc/tree-ssa-loop-ivopts.c | |
parent | ff49a9ba7b528078691a9f4e811bcdd4e9f99cdd (diff) | |
download | gcc-89f8797ee13b8ce48c50ad829cf0989564b5bfb8.zip gcc-89f8797ee13b8ce48c50ad829cf0989564b5bfb8.tar.gz gcc-89f8797ee13b8ce48c50ad829cf0989564b5bfb8.tar.bz2 |
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (is_conditional_insn): New function.
(cbranch_trace): Add member rtx* condition_rtx_in_insn, initialize it
accordingly in constructor.
(cbranch_trace::branch_condition_rtx_ref): New function.
(cbranch_trace::branch_condition_rtx): Use branch_condition_rtx_ref.
(sh_treg_combine::try_invert_branch_condition): Invert condition rtx
in insn using reversed_comparison_code and validate_change instead of
invert_jump_1.
(sh_treg_combine::execute): Look for conditional insns in basic blocks
in addition to conditional branches.
* config/sh/sh.md (*movsicc_div0s): Remove combine patterns.
From-SVN: r218850
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
0 files changed, 0 insertions, 0 deletions