aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/alpha/alpha.c1
-rw-r--r--gcc/config/ia64/ia64.c1
-rw-r--r--gcc/config/rs6000/rs6000.c1
-rw-r--r--gcc/config/sh/sh.c5
-rw-r--r--gcc/config/sparc/sparc.c1
5 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 68afb2e..144686b 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -8156,6 +8156,7 @@ alpha_output_mi_thunk_osf (file, thunk_fndecl, delta, vcall_offset, function)
instruction scheduling worth while. Note that use_thunk calls
assemble_start_function and assemble_end_function. */
insn = get_insns ();
+ insn_locators_initialize ();
shorten_branches (insn);
final_start_function (insn, file, 1);
final (insn, file, 1, 0);
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index ab49ff6..6885429 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -8542,6 +8542,7 @@ ia64_output_mi_thunk (file, thunk, delta, vcall_offset, function)
instruction scheduling worth while. Note that use_thunk calls
assemble_start_function and assemble_end_function. */
+ insn_locators_initialize ();
emit_all_insn_group_barriers (NULL);
insn = get_insns ();
shorten_branches (insn);
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 7fd6828..d3d92fa 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -12306,6 +12306,7 @@ rs6000_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
instruction scheduling worth while. Note that use_thunk calls
assemble_start_function and assemble_end_function. */
insn = get_insns ();
+ insn_locators_initialize ();
shorten_branches (insn);
final_start_function (insn, file, 1);
final (insn, file, 1, 0);
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 0b82d79..f63b41d7 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -8322,7 +8322,6 @@ sh_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
int did_load = 0;
rtx scratch0, scratch1, scratch2;
- insn_locators_initialize ();
reload_completed = 1;
no_new_pseudos = 1;
current_function_uses_only_leaf_regs = 1;
@@ -8438,9 +8437,11 @@ sh_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
use_reg (&CALL_INSN_FUNCTION_USAGE (sibcall), this);
emit_barrier ();
- /* Run just enough of rest_of_compilation to do scheduling and get
+ /* Run just enough of rest_of_compilation to do scheduling and get
the insns emitted. Note that use_thunk calls
assemble_start_function and assemble_end_function. */
+
+ insn_locators_initialize ();
insns = get_insns ();
if (optimize > 0 && flag_schedule_insns_after_reload)
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 3be2f9d..5237393 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -8632,6 +8632,7 @@ sparc_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
instruction scheduling worth while. Note that use_thunk calls
assemble_start_function and assemble_end_function. */
insn = get_insns ();
+ insn_locators_initialize ();
shorten_branches (insn);
final_start_function (insn, file, 1);
final (insn, file, 1, 0);