⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reload.diff

📁 linux下编译交叉工具链的工具源码
💻 DIFF
字号:
===================================================================RCS file: /cvs/gcc/gcc/gcc/reload.c,vretrieving revision 1.268retrieving revision 1.268.2.1diff -u -r1.268 -r1.268.2.1--- gcc/gcc/reload.c	2005/02/24 22:06:06	1.268+++ gcc/gcc/reload.c	2005/04/22 17:30:15	1.268.2.1@@ -1520,7 +1520,7 @@      But if there is no spilling in this block, that is OK.      An explicitly used hard reg cannot be a spill reg.  */ -  if (rld[i].reg_rtx == 0 && in != 0)+  if (rld[i].reg_rtx == 0 && in != 0 && hard_regs_live_known)     {       rtx note;       int regno;@@ -1534,6 +1534,11 @@ 	    && REG_P (XEXP (note, 0)) 	    && (regno = REGNO (XEXP (note, 0))) < FIRST_PSEUDO_REGISTER 	    && reg_mentioned_p (XEXP (note, 0), in)+	    /* Check that we don't use a hardreg for an uninitialized+	       pseudo.  See also find_dummy_reload().  */+	    && (ORIGINAL_REGNO (XEXP (note, 0)) < FIRST_PSEUDO_REGISTER+		|| ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,+				   ORIGINAL_REGNO (XEXP (note, 0)))) 	    && ! refers_to_regno_for_reload_p (regno, 					       (regno 						+ hard_regno_nregs[regno]@@ -1997,7 +2002,17 @@ 				is a subreg, and in that case, out 				has a real mode.  */ 			     (GET_MODE (out) != VOIDmode-			      ? GET_MODE (out) : outmode)))+			      ? GET_MODE (out) : outmode))+        /* But only do all this if we can be sure, that this input+           operand doesn't correspond with an uninitialized pseudoreg.+           global can assign some hardreg to it, which is the same as+	   a different pseudo also currently live (as it can ignore the+	   conflict).  So we never must introduce writes to such hardregs,+	   as they would clobber the other live pseudo using the same.+	   See also PR20973.  */+      && (ORIGINAL_REGNO (in) < FIRST_PSEUDO_REGISTER+          || ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,+			     ORIGINAL_REGNO (in))))     {       unsigned int regno = REGNO (in) + in_offset;       unsigned int nwords = hard_regno_nregs[regno][inmode];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -