Mercurial > lcfOS
diff python/ir/builder.py @ 205:d77cb5962cc5
Added some handcoded arm code generation
author | Windel Bouwman |
---|---|
date | Sun, 23 Jun 2013 18:23:18 +0200 |
parents | de3a68f677a5 |
children | ef683881c64e |
line wrap: on
line diff
--- a/python/ir/builder.py Fri Jun 21 15:01:08 2013 +0200 +++ b/python/ir/builder.py Sun Jun 23 18:23:18 2013 +0200 @@ -1,4 +1,4 @@ -from . import Value, BasicBlock, Function +from . import Value, BasicBlock, Function, Variable class NameGenerator: def __init__(self, prefix): @@ -41,16 +41,26 @@ bb = self.newBBint() self.fn.addBB(bb) return bb + def setModule(self, m): self.m = m + def newFunction(self, name): f = Function(name) self.m.addFunc(f) return f + + def newVariable(self, name): + v = Variable(name) + self.m.addVariable(v) + return v + def setFunction(self, f): self.fn = f + def setBB(self, bb): self.bb = bb + def addIns(self, i): if not self.bb: raise Exception('No basic block')