Deleted Added
full compact
reload.c (103453) reload.c (104764)
1/* Search an insn for pseudo regs that must be in hard regs and are not.
2 Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
3 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free

--- 6 unchanged lines hidden (view full) ---

15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING. If not, write to the Free
19Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2002111-1307, USA. */
21
22
1/* Search an insn for pseudo regs that must be in hard regs and are not.
2 Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
3 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free

--- 6 unchanged lines hidden (view full) ---

15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING. If not, write to the Free
19Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2002111-1307, USA. */
21
22
23/* $FreeBSD: head/contrib/gcc/reload.c 103453 2002-09-17 04:14:38Z kan $ */
23/* $FreeBSD: head/contrib/gcc/reload.c 104764 2002-10-10 04:50:29Z kan $ */
24
25
26/* This file contains subroutines used only from the file reload1.c.
27 It knows how to scan one insn for operands and values
28 that need to be copied into registers to make valid code.
29 It also finds other operands and values which are valid
30 but for which equivalent values in registers exist and
31 ought to be used instead.

--- 1250 unchanged lines hidden (view full) ---

1282 = push_secondary_reload (0, out, opnum, optional, class, outmode,
1283 type, &secondary_out_icode);
1284#endif
1285
1286 /* We found no existing reload suitable for re-use.
1287 So add an additional reload. */
1288
1289#ifdef SECONDARY_MEMORY_NEEDED
24
25
26/* This file contains subroutines used only from the file reload1.c.
27 It knows how to scan one insn for operands and values
28 that need to be copied into registers to make valid code.
29 It also finds other operands and values which are valid
30 but for which equivalent values in registers exist and
31 ought to be used instead.

--- 1250 unchanged lines hidden (view full) ---

1282 = push_secondary_reload (0, out, opnum, optional, class, outmode,
1283 type, &secondary_out_icode);
1284#endif
1285
1286 /* We found no existing reload suitable for re-use.
1287 So add an additional reload. */
1288
1289#ifdef SECONDARY_MEMORY_NEEDED
1290 /* If a memory location is needed for the copy, make one. */
1291 if (in != 0 && GET_CODE (in) == REG
1292 && REGNO (in) < FIRST_PSEUDO_REGISTER
1293 && SECONDARY_MEMORY_NEEDED (REGNO_REG_CLASS (REGNO (in)),
1294 class, inmode))
1295 get_secondary_mem (in, inmode, opnum, type);
1290 {
1291 int regnum;
1292
1293 /* If a memory location is needed for the copy, make one. */
1294 if (in != 0
1295 && ((regnum = true_regnum (in)) >= 0)
1296 && regnum < FIRST_PSEUDO_REGISTER
1297 && SECONDARY_MEMORY_NEEDED (REGNO_REG_CLASS (regnum),
1298 class, inmode))
1299 get_secondary_mem (in, inmode, opnum, type);
1300 }
1296#endif
1297
1298 i = n_reloads;
1299 rld[i].in = in;
1300 rld[i].out = out;
1301 rld[i].class = class;
1302 rld[i].inmode = inmode;
1303 rld[i].outmode = outmode;

--- 9 unchanged lines hidden (view full) ---

1313 rld[i].secondary_out_reload = secondary_out_reload;
1314 rld[i].secondary_in_icode = secondary_in_icode;
1315 rld[i].secondary_out_icode = secondary_out_icode;
1316 rld[i].secondary_p = 0;
1317
1318 n_reloads++;
1319
1320#ifdef SECONDARY_MEMORY_NEEDED
1301#endif
1302
1303 i = n_reloads;
1304 rld[i].in = in;
1305 rld[i].out = out;
1306 rld[i].class = class;
1307 rld[i].inmode = inmode;
1308 rld[i].outmode = outmode;

--- 9 unchanged lines hidden (view full) ---

1318 rld[i].secondary_out_reload = secondary_out_reload;
1319 rld[i].secondary_in_icode = secondary_in_icode;
1320 rld[i].secondary_out_icode = secondary_out_icode;
1321 rld[i].secondary_p = 0;
1322
1323 n_reloads++;
1324
1325#ifdef SECONDARY_MEMORY_NEEDED
1321 if (out != 0 && GET_CODE (out) == REG
1322 && REGNO (out) < FIRST_PSEUDO_REGISTER
1323 && SECONDARY_MEMORY_NEEDED (class, REGNO_REG_CLASS (REGNO (out)),
1324 outmode))
1325 get_secondary_mem (out, outmode, opnum, type);
1326 {
1327 int regnum;
1328
1329 if (out != 0
1330 && ((regnum = true_regnum (out)) >= 0)
1331 && regnum < FIRST_PSEUDO_REGISTER
1332 && SECONDARY_MEMORY_NEEDED (class, REGNO_REG_CLASS (regnum),
1333 outmode))
1334 get_secondary_mem (out, outmode, opnum, type);
1335 }
1326#endif
1327 }
1328 else
1329 {
1330 /* We are reusing an existing reload,
1331 but we may have additional information for it.
1332 For example, we may now have both IN and OUT
1333 while the old one may have just one of them. */

--- 5657 unchanged lines hidden ---
1336#endif
1337 }
1338 else
1339 {
1340 /* We are reusing an existing reload,
1341 but we may have additional information for it.
1342 For example, we may now have both IN and OUT
1343 while the old one may have just one of them. */

--- 5657 unchanged lines hidden ---