This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RFA: patch to solve PR 38811


Here is the patch solving PR38811.

The patch was successfully bootrstrapped on x86, x86_64, and itanium:

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

Ok to commit?

2009-01-13 Vladimir Makarov <vmakarov@redhat.com>

   PR target/38811
   * Makefile.in (ira-lives.o): Add except.h.

   * ira-lives.c: Include except.h.
   (process_bb_node_lives): Process can_throw_internal.

Index: ira-lives.c
===================================================================
--- ira-lives.c	(revision 143306)
+++ ira-lives.c	(working copy)
@@ -28,6 +28,7 @@ along with GCC; see the file COPYING3.  
 #include "tm_p.h"
 #include "target.h"
 #include "flags.h"
+#include "except.h"
 #include "hard-reg-set.h"
 #include "basic-block.h"
 #include "insn-config.h"
@@ -985,6 +986,13 @@ process_bb_node_lives (ira_loop_tree_nod
 		      SET_HARD_REG_SET (ALLOCNO_CONFLICT_HARD_REGS (a));
 		      SET_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a));
 		    }
+		  if (can_throw_internal (insn))
+		    {
+		      IOR_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a),
+					call_used_reg_set);
+		      IOR_HARD_REG_SET (ALLOCNO_CONFLICT_HARD_REGS (a),
+					call_used_reg_set);
+		    }
 		}
 	    }
 	  
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 143306)
+++ Makefile.in	(working copy)
@@ -2936,7 +2936,7 @@ ira-emit.o: ira-emit.c $(CONFIG_H) $(SYS
    $(EXPR_H) $(BASIC_BLOCK_H) $(TOPLEV_H) $(TM_P_H) $(PARAMS_H) \
    $(IRA_INT_H)
 ira-lives.o: ira-lives.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-   $(TARGET_H) $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) \
+   $(TARGET_H) $(RTL_H) $(REGS_H) except.h hard-reg-set.h $(FLAGS_H) \
    insn-config.h $(RECOG_H) $(BASIC_BLOCK_H) $(TOPLEV_H) $(TM_P_H) $(PARAMS_H) \
    $(DF_H) sparseset.h $(IRA_INT_H)
 ira.o: ira.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]