summaryrefslogtreecommitdiff
path: root/gcc/config/ia64
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-09 13:54:08 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-09 13:54:08 +0000
commit922afbf30f986173de69721842c2304a117d02d5 (patch)
tree5ff3ad3c315cc6592b6eb6f471667d45a9c4ea11 /gcc/config/ia64
parent0d6acbc280e00bc93e7351c097bc5b55120944ae (diff)
downloadgcc-922afbf30f986173de69721842c2304a117d02d5.tar.gz
Speed up ia64 compilations
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41204 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64')
-rw-r--r--gcc/config/ia64/ia64.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 4f74fa7fe07..17f5768c6ec 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -91,6 +91,10 @@ static const char * const ia64_output_reg_names[8] =
/* String used with the -mfixed-range= option. */
const char *ia64_fixed_range_string;
+/* Determines whether we run our final scheduling pass or not. We always
+ avoid the normal second scheduling pass. */
+static int ia64_flag_schedule_insns2;
+
/* Variables which are this size or smaller are put in the sdata/sbss
sections. */
@@ -3715,6 +3719,9 @@ ia64_override_options ()
if (ia64_fixed_range_string)
fix_range (ia64_fixed_range_string);
+ ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload;
+ flag_schedule_insns_after_reload = 0;
+
ia64_section_threshold = g_switch_set ? g_switch_value : IA64_DEFAULT_GVALUE;
init_machine_status = ia64_init_machine_status;
@@ -6213,7 +6220,7 @@ ia64_reorg (insns)
find_basic_blocks (insns, max_reg_num (), NULL);
life_analysis (insns, NULL, PROP_DEATH_NOTES);
- if (optimize)
+ if (ia64_flag_schedule_insns2)
{
ia64_final_schedule = 1;
schedule_ebbs (rtl_dump_file);