Patchwork [committed,SH] Fix build failure on sh

login
register
mail settings
Submitter Kaz Kojima
Date March 31, 2013, 1:14 p.m.
Message ID <20130331.221420.296678226.kkojima@rr.iij4u.or.jp>
Download mbox | patch
Permalink /patch/232609/
State New
Headers show

Comments

Kaz Kojima - March 31, 2013, 1:14 p.m.
Hi,

I've committed the attached patch as a followup for the recent
JUMP_TABLE_DATA change.  Without this, SH fails to build during
compiling libgcc.

Regards,
	kaz
--
2013-03-31  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/sh.md (casesi_worker_1): Use next_active_insn instead
	of next_real_insn.
	(casesi_worker_2, casesi_shift_media, casesi_load_media): Likewise.

Patch

--- ORIG/trunk/gcc/config/sh/sh.md	2013-03-14 10:12:08.000000000 +0900
+++ trunk/gcc/config/sh/sh.md	2013-03-31 09:22:59.000000000 +0900
@@ -10725,7 +10725,7 @@  label:
    (clobber (match_scratch:SI 3 "=X,1"))]
   "TARGET_SH1"
 {
-  rtx diff_vec = PATTERN (next_real_insn (operands[2]));
+  rtx diff_vec = PATTERN (next_active_insn (operands[2]));
 
   gcc_assert (GET_CODE (diff_vec) == ADDR_DIFF_VEC);
 
@@ -10759,7 +10759,7 @@  label:
    (clobber (match_operand:SI 4 "" "=X,1"))]
   "TARGET_SH2 && reload_completed && flag_pic"
 {
-  rtx diff_vec = PATTERN (next_real_insn (operands[2]));
+  rtx diff_vec = PATTERN (next_active_insn (operands[2]));
   gcc_assert (GET_CODE (diff_vec) == ADDR_DIFF_VEC);
 
   switch (GET_MODE (diff_vec))
@@ -10797,7 +10797,7 @@  label:
 		    UNSPEC_CASESI)))]
   "TARGET_SHMEDIA"
 {
-  rtx diff_vec = PATTERN (next_real_insn (operands[2]));
+  rtx diff_vec = PATTERN (next_active_insn (operands[2]));
 
   gcc_assert (GET_CODE (diff_vec) == ADDR_DIFF_VEC);
 
@@ -10824,7 +10824,7 @@  label:
 		      (label_ref:DI (match_operand 3 "" ""))] UNSPEC_CASESI)))]
   "TARGET_SHMEDIA"
 {
-  rtx diff_vec = PATTERN (next_real_insn (operands[3]));
+  rtx diff_vec = PATTERN (next_active_insn (operands[3]));
 
   gcc_assert (GET_CODE (diff_vec) == ADDR_DIFF_VEC);