comparison gcc/mode-switching.c @ 63:b7f97abdc517 gcc-4.6-20100522

update gcc from gcc-4.5.0 to gcc-4.6
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Mon, 24 May 2010 12:47:05 +0900
parents 77e2b8dfacca
children f6334be47118
comparison
equal deleted inserted replaced
56:3c8a44c06a95 63:b7f97abdc517
20 20
21 #include "config.h" 21 #include "config.h"
22 #include "system.h" 22 #include "system.h"
23 #include "coretypes.h" 23 #include "coretypes.h"
24 #include "tm.h" 24 #include "tm.h"
25 #include "target.h"
25 #include "rtl.h" 26 #include "rtl.h"
26 #include "regs.h" 27 #include "regs.h"
27 #include "hard-reg-set.h" 28 #include "hard-reg-set.h"
28 #include "flags.h" 29 #include "flags.h"
29 #include "real.h"
30 #include "insn-config.h" 30 #include "insn-config.h"
31 #include "recog.h" 31 #include "recog.h"
32 #include "basic-block.h" 32 #include "basic-block.h"
33 #include "output.h" 33 #include "output.h"
34 #include "tm_p.h" 34 #include "tm_p.h"
260 switch (GET_CODE (return_copy_pat)) 260 switch (GET_CODE (return_copy_pat))
261 { 261 {
262 case USE: 262 case USE:
263 /* Skip __builtin_apply pattern. */ 263 /* Skip __builtin_apply pattern. */
264 if (GET_CODE (XEXP (return_copy_pat, 0)) == REG 264 if (GET_CODE (XEXP (return_copy_pat, 0)) == REG
265 && (FUNCTION_VALUE_REGNO_P 265 && (targetm.calls.function_value_regno_p
266 (REGNO (XEXP (return_copy_pat, 0))))) 266 (REGNO (XEXP (return_copy_pat, 0)))))
267 { 267 {
268 maybe_builtin_apply = 1; 268 maybe_builtin_apply = 1;
269 last_insn = return_copy; 269 last_insn = return_copy;
270 continue; 270 continue;
357 357
358 if (copy_start >= ret_start 358 if (copy_start >= ret_start
359 && copy_start + copy_num <= ret_end) 359 && copy_start + copy_num <= ret_end)
360 nregs -= copy_num; 360 nregs -= copy_num;
361 else if (!maybe_builtin_apply 361 else if (!maybe_builtin_apply
362 || !FUNCTION_VALUE_REGNO_P (copy_start)) 362 || !targetm.calls.function_value_regno_p
363 (copy_start))
363 break; 364 break;
364 last_insn = return_copy; 365 last_insn = return_copy;
365 } 366 }
366 /* ??? Exception handling can lead to the return value 367 /* ??? Exception handling can lead to the return value
367 copy being already separated from the return value use, 368 copy being already separated from the return value use,