Mercurial > repos > rhope
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 |