mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-18 20:29:54 +08:00
toplev.c (rest_of_compilation): Revert previous patch.
* toplev.c (rest_of_compilation): Revert previous patch. * final.c (shorten_branches): Likewise. From-SVN: r42961
This commit is contained in:
parent
f9b23f0c9c
commit
d7e5d7feae
@ -1,3 +1,8 @@
|
||||
Thu Jun 7 17:09:50 CEST 2001 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* toplev.c (rest_of_compilation): Revert previous patch.
|
||||
* final.c (shorten_branches): Likewise.
|
||||
|
||||
2001-06-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
|
||||
|
20
gcc/final.c
20
gcc/final.c
@ -960,6 +960,26 @@ shorten_branches (first)
|
||||
int uid;
|
||||
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
|
||||
|
||||
/* We must do some computations even when not actually shortening, in
|
||||
|
27
gcc/toplev.c
27
gcc/toplev.c
@ -3685,16 +3685,18 @@ rest_of_compilation (decl)
|
||||
}
|
||||
#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);
|
||||
if (0
|
||||
#ifdef HAVE_ATTR_length
|
||||
|| 1
|
||||
#endif
|
||||
#ifdef STACK_REGS
|
||||
|| 1
|
||||
#endif
|
||||
)
|
||||
split_all_insns (0);
|
||||
shorten_branches (get_insns ());
|
||||
timevar_pop (TV_SHORTEN_BRANCH);
|
||||
|
||||
#ifdef STACK_REGS
|
||||
@ -3707,14 +3709,9 @@ rest_of_compilation (decl)
|
||||
timevar_pop (TV_REG_STACK);
|
||||
|
||||
ggc_collect ();
|
||||
#endif
|
||||
|
||||
convert_to_eh_region_ranges ();
|
||||
|
||||
/* Shorten branches. */
|
||||
timevar_push (TV_SHORTEN_BRANCH);
|
||||
shorten_branches (get_insns ());
|
||||
timevar_pop (TV_SHORTEN_BRANCH);
|
||||
#endif
|
||||
|
||||
current_function_nothrow = nothrow_function_p ();
|
||||
if (current_function_nothrow)
|
||||
|
Loading…
Reference in New Issue
Block a user