alpha.c (alpha_output_mi_thunk_osf): Allocate insn locators before emit_insn is called.

* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Allocate insn
	locators before emit_insn is called.  Remove assert that
	cfun->is_thunk.
	(alpha_end_function): Clear crtl->emit structure and free insn
	locators if cfun->is_thunk is true.

From-SVN: r150883
This commit is contained in:
Uros Bizjak 2009-08-18 19:50:44 +02:00 committed by Uros Bizjak
parent e31bcd1b96
commit e72cee90d5
3 changed files with 14 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2009-08-18 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Allocate insn
locators before emit_insn is called. Remove assert that
cfun->is_thunk.
(alpha_end_function): Clear crtl->emit structure and free insn
locators if cfun->is_thunk is true.
2009-08-18 Jason Merrill <jason@redhat.com>
* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object

View File

@ -8615,7 +8615,10 @@ alpha_end_function (FILE *file, const char *fnname, tree decl ATTRIBUTE_UNUSED)
#if TARGET_ABI_OSF
if (cfun->is_thunk)
free_after_compilation (cfun);
{
memset (&crtl->emit, 0, sizeof (struct emit_status));
insn_locators_free ();
}
#endif
#if TARGET_ABI_OPEN_VMS
@ -8666,7 +8669,7 @@ alpha_output_mi_thunk_osf (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
HOST_WIDE_INT hi, lo;
rtx this_rtx, insn, funexp;
gcc_assert (cfun->is_thunk);
insn_locators_alloc ();
/* We always require a valid GP. */
emit_insn (gen_prologue_ldgp ());
@ -8744,7 +8747,6 @@ alpha_output_mi_thunk_osf (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
instruction scheduling worth while. Note that use_thunk calls
assemble_start_function and assemble_end_function. */
insn = get_insns ();
insn_locators_alloc ();
shorten_branches (insn);
final_start_function (insn, file, 1);
final (insn, file, 1);

View File

@ -42,7 +42,7 @@
2009-08-17 Uros Bizjak <ubizjak@gmail.com>
* lib/target-supports.exp
(check_effective_target_vect_cmdline_needed):: Add alpha to the list
(check_effective_target_vect_cmdline_needed): Add alpha to the list
of targets that do not need command line argument to enable SIMD.
2009-08-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>