summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-26 13:42:33 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-26 13:42:33 +0000
commit3be01943207d7c98f5cbc6bafde412ddfab95567 (patch)
tree12edef829212a7704e1711b29fc827c2a2a42992
parent8f8cadbc2c06c2e98d03ee4e95c17d234058ac71 (diff)
downloadppe42-gcc-3be01943207d7c98f5cbc6bafde412ddfab95567.tar.gz
ppe42-gcc-3be01943207d7c98f5cbc6bafde412ddfab95567.zip
* postreload.c (reload_cse_simplify_set): Call cselib_lookup
earlier. Don't check if SRC is a constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68533 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/postreload.c10
2 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ba5cd5bc107..48334d73906 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
+ * postreload.c (reload_cse_simplify_set): Call cselib_lookup
+ earlier. Don't check if SRC is a constant.
+
+2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
+
* Makefile.in (OBJS): Add postreload.o.
Remove cselib.h from the dependency list for reload1.o.
Add a dependency list for postreload.o.
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 78153b64df0..1c53395be32 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -246,21 +246,19 @@ reload_cse_simplify_set (set, insn)
return 0;
#endif
+ val = cselib_lookup (src, GET_MODE (SET_DEST (set)), 0);
+ if (! val)
+ return 0;
+
/* If memory loads are cheaper than register copies, don't change them. */
if (GET_CODE (src) == MEM)
old_cost = MEMORY_MOVE_COST (GET_MODE (src), dclass, 1);
- else if (CONSTANT_P (src))
- old_cost = rtx_cost (src, SET);
else if (GET_CODE (src) == REG)
old_cost = REGISTER_MOVE_COST (GET_MODE (src),
REGNO_REG_CLASS (REGNO (src)), dclass);
else
- /* ??? */
old_cost = rtx_cost (src, SET);
- val = cselib_lookup (src, GET_MODE (SET_DEST (set)), 0);
- if (! val)
- return 0;
for (l = val->locs; l; l = l->next)
{
rtx this_rtx = l->loc;
OpenPOWER on IntegriCloud