From: Jeffrey A Law Date: Wed, 30 Dec 1998 23:39:55 +0000 (+0000) Subject: cse.c (invalidate_skipped_block): Call invalidate_from_clobbers for each insn in... X-Git-Tag: prereleases/egcs-1.1.2-prerelease-1~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ca7255f7fa52904dcc693c91bfafd182191b742;p=thirdparty%2Fgcc.git cse.c (invalidate_skipped_block): Call invalidate_from_clobbers for each insn in the skipped block. * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers for each insn in the skipped block. * i386.md (doubleword shifts): Avoid namespace pollution. From-SVN: r24451 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6fd2703e306d..96fe98582782 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Wed Dec 30 23:44:11 1998 Jeffrey A Law (law@cygnus.com) + + * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers + for each insn in the skipped block. + + * i386.md (doubleword shifts): Avoid namespace pollution. + Mon Dec 28 10:44:40 1998 Richard Henderson * combine.c (subst): Process the inputs to a parallel asm_operands diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index ca63bf49ba60..dac2730afd1a 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -4558,11 +4558,13 @@ byte_xor_operation: output_asm_insn (AS3_SHIFT_DOUBLE (shld%L3,%0,%2,%3), xops); output_asm_insn (AS2 (sal%L2,%0,%2), xops); output_asm_insn (AS2 (test%B0,%1,%b0), xops); - asm_fprintf (asm_out_file, \"\\tje %LLASHLDI%d\\n\", ashldi_label_number); + fputs (\"\\tje \", asm_out_file); + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHLDI\", ashldi_label_number); + fputs (\"\\n\", asm_out_file); output_asm_insn (AS2 (mov%L3,%2,%3), xops); /* Fast shift by 32 */ output_asm_insn (AS2 (xor%L2,%2,%2), xops); - asm_fprintf (asm_out_file, \"%LLASHLDI%d:\\n\", ashldi_label_number++); - + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHLDI\", ashldi_label_number); + ashldi_label_number++; RET; }") @@ -4746,12 +4748,14 @@ byte_xor_operation: output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops); output_asm_insn (AS2 (sar%L3,%0,%3), xops); output_asm_insn (AS2 (test%B0,%1,%b0), xops); - asm_fprintf (asm_out_file, \"\\tje %LLASHRDI%d\\n\", ashrdi_label_number); + fputs (\"\\tje \", asm_out_file); + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHRDI\", ashrdi_label_number); + fputs (\"\\n\", asm_out_file); xops[1] = GEN_INT (31); output_asm_insn (AS2 (mov%L2,%3,%2), xops); output_asm_insn (AS2 (sar%L3,%1,%3), xops); /* shift by 32 */ - asm_fprintf (asm_out_file, \"%LLASHRDI%d:\\n\", ashrdi_label_number++); - + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LASHRDI\", ashrdi_label_number); + ashrdi_label_number++; RET; }") @@ -4901,11 +4905,13 @@ byte_xor_operation: output_asm_insn (AS3_SHIFT_DOUBLE (shrd%L2,%0,%3,%2), xops); output_asm_insn (AS2 (shr%L3,%0,%3), xops); output_asm_insn (AS2 (test%B0,%1,%b0), xops); - asm_fprintf (asm_out_file, \"\\tje %LLLSHRDI%d\\n\", lshrdi_label_number); + fputs (\"\\tje \", asm_out_file); + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LLSHRDI\", lshrdi_label_number); + fputs (\"\\n\", asm_out_file); output_asm_insn (AS2 (mov%L2,%3,%2), xops); /* Fast shift by 32 */ output_asm_insn (AS2 (xor%L3,%3,%3), xops); - asm_fprintf (asm_out_file, \"%LLLSHRDI%d:\\n\", lshrdi_label_number++); - + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"LLSHRDI\", lshrdi_label_number); + lshrdi_label_number++; RET; }") diff --git a/gcc/cse.c b/gcc/cse.c index 5d121870afb0..3b543f4ba699 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -7991,6 +7991,7 @@ invalidate_skipped_block (start) invalidate_for_call (); } + invalidate_from_clobbers (PATTERN (insn)); note_stores (PATTERN (insn), invalidate_skipped_set); } }