Commit b47f8cfc by Jan Hubicka Committed by Jan Hubicka

Thu Jun 7 13:20:14 CEST 2001 Jan Hubicka <jh@suse.cz>

	* expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.

Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* toplev.c (rest_of_compilation): Call split_all_insns
	before reg-stack and shorten-branches. Do shorten-branches
	after reg-stack.
	* final.c (shorten_branches): Remove insn splitting code.

From-SVN: r42956
parent 43160d01
Thu Jun 7 13:20:14 CEST 2001 Jan Hubicka <jh@suse.cz>
* expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
Thu Jun 7 12:12:58 CEST 2001 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_compilation): Call split_all_insns
before reg-stack and shorten-branches. Do shorten-branches
after reg-stack.
* final.c (shorten_branches): Remove insn splitting code.
2001-06-07 Nathan Sidwell <nathan@codesourcery.com> 2001-06-07 Nathan Sidwell <nathan@codesourcery.com>
* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support. * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
......
...@@ -2200,7 +2200,8 @@ copy_blkmode_from_reg (tgtblk, srcreg, type) ...@@ -2200,7 +2200,8 @@ copy_blkmode_from_reg (tgtblk, srcreg, type)
(the first time through). */ (the first time through). */
if (xbitpos % BITS_PER_WORD == 0 if (xbitpos % BITS_PER_WORD == 0
|| xbitpos == big_endian_correction) || xbitpos == big_endian_correction)
src = operand_subword_force (srcreg, xbitpos / BITS_PER_WORD, BLKmode); src = operand_subword_force (srcreg, xbitpos / BITS_PER_WORD,
GET_MODE (srcreg));
/* We need a new destination operand each time bitpos is on /* We need a new destination operand each time bitpos is on
a word boundary. */ a word boundary. */
......
...@@ -960,26 +960,6 @@ shorten_branches (first) ...@@ -960,26 +960,6 @@ shorten_branches (first)
int uid; int uid;
rtx align_tab[MAX_CODE_ALIGN]; rtx align_tab[MAX_CODE_ALIGN];
/* In order to make sure that all instructions have valid length info,
we must split them before we compute the address/length info. */
for (insn = NEXT_INSN (first); insn; insn = NEXT_INSN (insn))
if (INSN_P (insn))
{
rtx old = insn;
/* Don't split the insn if it has been deleted. */
if (! INSN_DELETED_P (old))
insn = try_split (PATTERN (old), old, 1);
/* When not optimizing, the old insn will be still left around
with only the 'deleted' bit set. Transform it into a note
to avoid confusion of subsequent processing. */
if (INSN_DELETED_P (old))
{
PUT_CODE (old, NOTE);
NOTE_LINE_NUMBER (old) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (old) = 0;
}
}
#endif #endif
/* We must do some computations even when not actually shortening, in /* We must do some computations even when not actually shortening, in
......
...@@ -3685,18 +3685,16 @@ rest_of_compilation (decl) ...@@ -3685,18 +3685,16 @@ rest_of_compilation (decl)
} }
#endif #endif
#ifndef STACK_REGS
/* ??? Do this before shorten branches so that we aren't creating
insns too late and fail sanity checks in final. */
convert_to_eh_region_ranges ();
#endif
/* Shorten branches.
Note this must run before reg-stack because of death note (ab)use
in the ia32 backend. */
timevar_push (TV_SHORTEN_BRANCH); timevar_push (TV_SHORTEN_BRANCH);
shorten_branches (get_insns ()); if (0
#ifdef HAVE_ATTR_length
|| 1
#endif
#ifdef STACK_REGS
|| 1
#endif
)
split_all_insns (0);
timevar_pop (TV_SHORTEN_BRANCH); timevar_pop (TV_SHORTEN_BRANCH);
#ifdef STACK_REGS #ifdef STACK_REGS
...@@ -3709,9 +3707,14 @@ rest_of_compilation (decl) ...@@ -3709,9 +3707,14 @@ rest_of_compilation (decl)
timevar_pop (TV_REG_STACK); timevar_pop (TV_REG_STACK);
ggc_collect (); ggc_collect ();
#endif
convert_to_eh_region_ranges (); convert_to_eh_region_ranges ();
#endif
/* Shorten branches. */
timevar_push (TV_SHORTEN_BRANCH);
shorten_branches (get_insns ());
timevar_pop (TV_SHORTEN_BRANCH);
current_function_nothrow = nothrow_function_p (); current_function_nothrow = nothrow_function_p ();
if (current_function_nothrow) if (current_function_nothrow)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment