Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:ragge:20080927073522

Diff

Diff from 1.5 to:

Annotations

Annotate by Age | Author | Mixed | None
/fisheye/browse/pcc/pcc/arch/sparc64/order.c

Annotated File View

david
1.1
1 /*
2  * Copyright (c) 2008 David Crawshaw <david@zentus.com>
3  * 
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  * 
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16
17 #include "pass2.h"
18
19 int
20 notoff(TWORD tint rCONSZ offchar *cp)
21 {
22         return 0;
23 }
24
david
1.2
25 /*
26  * Turn a UMUL-referenced node into OREG.
27  */
david
1.1
28 void
29 offstar(NODE *pint shape)
30 {
david
1.2
31         if (x2debug)
32                 printf("offstar(%p)\n"p);
33
34         if (p->n_op == PLUS || p->n_op == MINUS) {
35                 if (p->n_right->n_op == ICON) {
36                         if (isreg(p->n_left) == 0)
37                                 (void)geninsn(p->n_leftINAREG);
38                         /* Converted in ormake() */
39                         return;
40                 }
41         }
42         (void)geninsn(pINAREG);
david
1.1
43 }
44
45 void
46 myormake(NODE *q)
47 {
48 }
49
50 int
ragge
1.5
51 shumul(NODE *pint shape)
david
1.1
52 {
ragge
1.5
53         if (shape & SOREG)
54                 return SROREG;
55         return SRNOPE;
david
1.1
56 }
57
58 int
59 setbin(NODE *p)
60 {
61         return 0;
62 }
63
64 int
65 setasg(NODE *pint cookie)
66 {
67         return 0;
68 }
69
70 int
71 setuni(NODE *pint cookie)
72 {
73         return 0;
74 }
75
76 struct rspecial *
77 nspecial(struct optab *q)
78 {
david
1.4
79         switch (q->op) {
80         case STASG: {
81                 static struct rspecial s[] = {
82                         { NEVERO0 },
83                         { NRIGHTO1 },
84                         { NEVERO2 },
85                         { 0 }
86                 };
87                 return s;
88         }
89         }
90
91         comperr("unknown nspecial %d: %s"q - tableq->cstring);
david
1.1
92         return 0/* XXX */
93 }
94
95 int
96 setorder(NODE *p)
97 {
98         return 0;
99 }
100
101 int *
102 livecall(NODE *p)
103 {
david
1.3
104         static int ret[] = { O0O1O2O3O4O5O6O7, -1 };
105         return ret;
david
1.1
106 }
107
108 int
109 acceptable(struct optab *op)
110 {
111         return 1;
112 }
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-26 19:34 +0100