diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-10-06 06:20:01 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-10-06 06:20:01 +0200 |
commit | 2d59b15c39dc0412e2722141cb5d48bf72b5665e (patch) | |
tree | 943cfe2d4d976101544339a07096b6666e3d30b7 /sys/src/cmd/cc | |
parent | 99ddc5b0971c3ce0baddd667ea4c34c635c8e5ab (diff) |
5c/6c/8c/vc: import various changes from charles forsyth
- cover more cases that have no side effects
- ensure function has complex FNX
- pull operators out of OFUNC level
- rewrite OSTRUCT lhs to avoid all side-effects, use regalloc() instead of regret()
Diffstat (limited to 'sys/src/cmd/cc')
-rw-r--r-- | sys/src/cmd/cc/sub.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/src/cmd/cc/sub.c b/sys/src/cmd/cc/sub.c index d0bbeb89c..231394d41 100644 --- a/sys/src/cmd/cc/sub.c +++ b/sys/src/cmd/cc/sub.c @@ -950,6 +950,8 @@ loop: case OOROR: case OCOMMA: case ODOT: + case OFAS: + case OINDEX: if(side(n->left)) break; n = n->right; @@ -961,6 +963,10 @@ loop: case OSTRING: case OLSTRING: case ONAME: + case OREGPAIR: + case OEXREG: + case OREGISTER: + case OINDREG: return 0; } return 1; |