summaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-03 01:58:35 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-03 01:58:35 +0000
commitb244d4c79af821f051d19ce62d7cd39b33eb9e70 (patch)
tree20f4c1fadc86f3b89ef524490fc2bd176650f76c /gcc/explow.c
parent70c2c81c4794f0a090635a99d1c69a0be654f3f8 (diff)
downloadgcc-b244d4c79af821f051d19ce62d7cd39b33eb9e70.tar.gz
* explow.c (plus_constant_wide, case LO_SUM): New case.
(plus_constant_for_output_wide): Delete. * rtl.h (plus_constant_for_output): Delete. * alias.c (canon_rtx, init_alias_analysis): Call plus_constant instead of plus_constant_for_output. * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise. * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise. * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise. * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise. * config/sparc/sparc.md: Likewise. Convert some change_address calls to adjust_address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43720 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/explow.c')
-rw-r--r--gcc/explow.c24
1 files changed, 5 insertions, 19 deletions
diff --git a/gcc/explow.c b/gcc/explow.c
index 0281826508a..a6a05f57cbf 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -174,6 +174,11 @@ plus_constant_wide (x, c)
c = 0;
}
break;
+
+ case LO_SUM:
+ return gen_rtx_LO_SUM (mode, XEXP (x, 0),
+ plus_constant (XEXP (x, 1), c));
+
default:
break;
@@ -189,25 +194,6 @@ plus_constant_wide (x, c)
else
return x;
}
-
-/* This is the same as `plus_constant', except that it handles LO_SUM.
-
- This function should be used via the `plus_constant_for_output' macro. */
-
-rtx
-plus_constant_for_output_wide (x, c)
- register rtx x;
- register HOST_WIDE_INT c;
-{
- register enum machine_mode mode = GET_MODE (x);
-
- if (GET_CODE (x) == LO_SUM)
- return gen_rtx_LO_SUM (mode, XEXP (x, 0),
- plus_constant_for_output (XEXP (x, 1), c));
-
- else
- return plus_constant (x, c);
-}
/* If X is a sum, return a new sum like X but lacking any constant terms.
Add all the removed constant terms into *CONSTPTR.