From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Henderson To: law@cygnus.com, egcs@cygnus.com Subject: splitting before sched2 Date: Sat, 04 Apr 1998 16:52:00 -0000 Message-id: <19980404120552.48484@dot.cygnus.com> X-SW-Source: 1998-04/msg00161.html On Alpha at least there are a number of splits that are only enabled after reload is complete. I could have sworn other machines did this as well. My problem is that Haifa only tries splitting once, usually before reload. The question is, should we just remove/disable the test, or should we come up with some genconfig test that determines if the second pass is necessary. Possibly by seeing if any predicate contains the string "reload". r~ Index: haifa-sched.c =================================================================== RCS file: /egcs/carton/cvsfiles/egcs/gcc/haifa-sched.c,v retrieving revision 1.34 diff -c -p -d -r1.34 haifa-sched.c *** haifa-sched.c 1998/03/28 23:45:08 1.34 --- haifa-sched.c 1998/04/04 19:58:04 *************** split_block_insns (b) *** 8278,8284 **** /* It is probably not worthwhile to try to split again in the second pass. However, if flag_schedule_insns is not set, the first and only (if any) scheduling pass is after reload. */ ! if (reload_completed == 0 || ! flag_schedule_insns) { rtx last, first = PREV_INSN (insn); rtx notes = REG_NOTES (insn); --- 8278,8286 ---- /* It is probably not worthwhile to try to split again in the second pass. However, if flag_schedule_insns is not set, the first and only (if any) scheduling pass is after reload. */ ! /* ??? Well, no, there are on some machines certain splits that are ! enabled *only* after reload is complete. */ ! if (1 || reload_completed == 0 || ! flag_schedule_insns) { rtx last, first = PREV_INSN (insn); rtx notes = REG_NOTES (insn);