comparison backendutils_c.rhope @ 169:fd06fb07762a

Basic inlining of arithmetic and comparison operations on integer types
author Mike Pavone <pavone@retrodev.com>
date Sun, 08 May 2011 01:37:44 -0700
parents a68e6828d896
children ed322ae64738
comparison
equal deleted inserted replaced
168:d2b941f82d74 169:fd06fb07762a
232 } 232 }
233 233
234 Strip Addref@OrValue[op:out] 234 Strip Addref@OrValue[op:out]
235 { 235 {
236 out <- [[op]Left <<[ [[op]Left >>]Strip Addref ]]Right <<[ [[op]Right >>]Strip Addref ] 236 out <- [[op]Left <<[ [[op]Left >>]Strip Addref ]]Right <<[ [[op]Right >>]Strip Addref ]
237 }
238
239 Blueprint Cast
240 {
241 Value
242 Type
243 }
244
245 Cast[val,type:out]
246 {
247 out <- [[Build[Cast()]]Value <<[val]]Type <<[type]
248 }
249
250 Make Op@Cast[cast,func:out]
251 {
252 out <- [func]Cast Value[[cast]Value >>, [cast]Type >>]
253 }
254
255 Strip Addref@Cast[op:out]
256 {
257 out <- [op]Value <<[[[op]Value >>]Strip Addref]
237 } 258 }
238 259
239 Blueprint NotCond 260 Blueprint NotCond
240 { 261 {
241 Condition 262 Condition