From: Richard Kenner Date: Mon, 19 Jun 2000 01:40:32 +0000 (+0000) Subject: * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a377997716c950a29f9928b6cf52c1795b1e997;p=gcc.git * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK. From-SVN: r34592 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a5e0f8ea3c..7e8356e63b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Sun Jun 18 21:42:15 2000 Richard Kenner + * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK. + * function.c (put_var_into_stack): Don't reference DECL_ fields if input is a SAVE_EXPR. Use set_mem_attributes in COMPLEX case. diff --git a/gcc/gcse.c b/gcc/gcse.c index 4665133ee60..cc133177caa 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4346,10 +4346,9 @@ insert_insn_end_bb (expr, bb, pre) If we inserted before the CODE_LABEL, then we would be putting the insn in the wrong basic block. In that case, put the insn after the CODE_LABEL. Also, respect NOTE_INSN_BASIC_BLOCK. */ - if (GET_CODE (insn) == CODE_LABEL) - insn = NEXT_INSN (insn); - else if (GET_CODE (insn) == NOTE - && NOTE_LINE_NUMBER (insn) == NOTE_INSN_BASIC_BLOCK) + while (GET_CODE (insn) == CODE_LABEL + || (GET_CODE (insn) == NOTE + && NOTE_LINE_NUMBER (insn) == NOTE_INSN_BASIC_BLOCK)) insn = NEXT_INSN (insn); new_insn = emit_block_insn_before (pat, insn, BASIC_BLOCK (bb));