summaryrefslogtreecommitdiff
path: root/usr.bin/pcc/powerpc
diff options
context:
space:
mode:
authorOtto Moerbeek <otto@cvs.openbsd.org>2007-11-16 09:00:14 +0000
committerOtto Moerbeek <otto@cvs.openbsd.org>2007-11-16 09:00:14 +0000
commitf05364af5a4a3e025cbef7403d711ddb3f865e30 (patch)
tree1a7ab21a062237e5eeec35dc278f8fbab9da89dd /usr.bin/pcc/powerpc
parentf7d7a39b9fa388ad3592ca630db976b95437e570 (diff)
sync tree with master repo; Nov 16 2007
Diffstat (limited to 'usr.bin/pcc/powerpc')
-rw-r--r--usr.bin/pcc/powerpc/code.c11
-rw-r--r--usr.bin/pcc/powerpc/order.c14
2 files changed, 23 insertions, 2 deletions
diff --git a/usr.bin/pcc/powerpc/code.c b/usr.bin/pcc/powerpc/code.c
index 6eae9b4fd1c..5f927ffd959 100644
--- a/usr.bin/pcc/powerpc/code.c
+++ b/usr.bin/pcc/powerpc/code.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: code.c,v 1.3 2007/11/05 22:11:42 stefan Exp $ */
+/* $OpenBSD: code.c,v 1.4 2007/11/16 09:00:13 otto Exp $ */
/*
* Copyright (c) 2003 Anders Magnusson (ragge@ludd.luth.se).
* All rights reserved.
@@ -808,3 +808,12 @@ mrst_find_window(struct swents **p, int n, int *state, int lab, int *len, int *l
return Wmax;
}
+/*
+ * Called with a function call with arguments as argument.
+ * This is done early in buildtree() and only done once.
+ */
+NODE *
+funcode(NODE *p)
+{
+ return p;
+}
diff --git a/usr.bin/pcc/powerpc/order.c b/usr.bin/pcc/powerpc/order.c
index abc6085248b..9d2ccd2d6d0 100644
--- a/usr.bin/pcc/powerpc/order.c
+++ b/usr.bin/pcc/powerpc/order.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: order.c,v 1.2 2007/11/01 10:52:58 otto Exp $ */
+/* $OpenBSD: order.c,v 1.3 2007/11/16 09:00:13 otto Exp $ */
/*
* Copyright (c) 2003 Anders Magnusson (ragge@ludd.luth.se).
* All rights reserved.
@@ -270,3 +270,15 @@ setorder(NODE *p)
{
return 0; /* nothing differs on x86 */
}
+/*
+ * Set registers "live" at function calls (like arguments in registers).
+ * This is for liveness analysis of registers.
+ */
+int *
+livecall(NODE *p)
+{
+ static int r[1] = { -1 }; /* Terminate with -1 */
+
+ return &r[0];
+}
+