diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 6 | ||||
-rw-r--r-- | gcc/final.c | 20 |
3 files changed, 16 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 89bb645..1188b61 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr> + + * final.c (output_in_slot): Delete. + (final_scan_insn): Revert 2004-09-03 change. + (output_asm_insn): Likewise. + * config/sparc/sparc.c (output_return): Likewise. + (output_sibcall): Likewise. + 2004-09-06 Jan Hubicka <jh@suse.cz> * loop.c (loop_dump_aux): Do not print RTL when not available. diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index cf7ac04..ac1a434 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -4707,7 +4707,7 @@ output_return (rtx insn) if (! delay) abort (); - final_scan_insn (delay, asm_out_file, 1, 0, 2, NULL); + final_scan_insn (delay, asm_out_file, 1, 0, 1, NULL); PATTERN (delay) = gen_blockage (); INSN_CODE (delay) = -1; } @@ -4756,7 +4756,7 @@ output_return (rtx insn) epilogue_renumber (&pat, 0); fprintf (asm_out_file, "\treturn\t%%i7+%d\n", sparc_skip_caller_unimp ? 12 : 8); - final_scan_insn (delay, asm_out_file, 1, 0, 2, NULL); + final_scan_insn (delay, asm_out_file, 1, 0, 1, NULL); } else { @@ -4817,7 +4817,7 @@ output_sibcall (rtx insn, rtx call_operand) output_asm_insn ("sethi\t%%hi(%a0), %%g1", operands); output_asm_insn ("jmp\t%%g1 + %%lo(%a0)", operands); - final_scan_insn (delay, asm_out_file, 1, 0, 2, NULL); + final_scan_insn (delay, asm_out_file, 1, 0, 1, NULL); PATTERN (delay) = gen_blockage (); INSN_CODE (delay) = -1; diff --git a/gcc/final.c b/gcc/final.c index e1c0148..fe4eaa6 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -200,10 +200,6 @@ static int app_on; rtx final_sequence; -/* True if we are outputting insns in a delay slot. This is used - to prettify the assembly. */ -static bool output_in_slot; - #ifdef ASSEMBLER_DIALECT /* Number of the assembler dialect to use, starting at 0. */ @@ -1667,11 +1663,8 @@ scan_ahead_for_unlikely_executed_note (rtx insn) is the insn being scanned. Value returned is the next insn to be scanned. - NOPEEPHOLES is used to disallow peephole processing: - - 0: peepholes are allowed, - - 1: peepholes are not allowed, - - 2: peepholes are not allowed and we are in the - slot of a delayed branch. + NOPEEPHOLES is the flag to disallow peephole processing (currently + used for within delayed branch sequence output). SEEN is used to track the end of the prologue, for emitting debug information. We force the emission of a line note after @@ -1681,7 +1674,8 @@ scan_ahead_for_unlikely_executed_note (rtx insn) rtx final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED, - int prescan, int nopeepholes, int *seen) + int prescan, int nopeepholes ATTRIBUTE_UNUSED, + int *seen) { #ifdef HAVE_cc0 rtx set; @@ -2201,7 +2195,7 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED, /* We loop in case any instruction in a delay slot gets split. */ do - insn = final_scan_insn (insn, file, 0, prescan, 2, seen); + insn = final_scan_insn (insn, file, 0, prescan, 1, seen); while (insn != next); } #ifdef DBR_OUTPUT_SEQEND @@ -2533,9 +2527,7 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED, #endif /* Output assembler code from the template. */ - output_in_slot = (nopeepholes > 1); output_asm_insn (template, recog_data.operand); - output_in_slot = false; /* If necessary, report the effect that the instruction has on the unwind info. We've already done this for delay slots @@ -2996,8 +2988,6 @@ output_asm_insn (const char *template, rtx *operands) memset (opoutput, 0, sizeof opoutput); p = template; putc ('\t', asm_out_file); - if (output_in_slot) - putc (' ', asm_out_file); #ifdef ASM_OUTPUT_OPCODE ASM_OUTPUT_OPCODE (asm_out_file, p); |