http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48549



Steven Bosscher <steven at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |steven at gcc dot gnu.org



--- Comment #7 from Steven Bosscher <steven at gcc dot gnu.org> 2012-11-30 
13:54:10 UTC ---

A patch to get rid of BARRIERs runs into this one. Here's an alternative fix:



Index: combine.c

===================================================================

--- combine.c   (revision 193989)

+++ combine.c   (working copy)

@@ -1223,11 +1223,10 @@ combine_instructions (rtx f, unsigned int nregs)

          if (NONDEBUG_INSN_P (insn))

            {

              while (last_combined_insn

-                    && INSN_DELETED_P (last_combined_insn))

+                    && INSN_DELETED_P (last_combined_insn)

+                    && last_combined_insn != BB_HEAD (this_basic_block))

                last_combined_insn = PREV_INSN (last_combined_insn);

              if (last_combined_insn == NULL_RTX

-                 || BARRIER_P (last_combined_insn)

-                 || BLOCK_FOR_INSN (last_combined_insn) != this_basic_block

                  || DF_INSN_LUID (last_combined_insn) <= DF_INSN_LUID (insn))

                last_combined_insn = insn;

Reply via email to