annotate python/ir/function.py @ 173:c1d2b6b9f9a7

Rework into passes
author Windel Bouwman
date Fri, 19 Apr 2013 12:42:21 +0200
parents 5a7d37d615ee
children 460db5669efa
rev   line source
172
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
1 from .basicblock import BasicBlock
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
2
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
3 class Function:
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
4 def __init__(self, name):
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
5 self.name = name
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
6 self.bbs = []
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
7 self.entry = None
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
8 def __repr__(self):
173
c1d2b6b9f9a7 Rework into passes
Windel Bouwman
parents: 172
diff changeset
9 return 'Function {0}'.format(self.name)
172
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
10 def addBB(self, bb):
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
11 self.bbs.append(bb)
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
12 def getBBs(self):
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
13 return self.bbs
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
14 BasicBlocks = property(getBBs)
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
15
5a7d37d615ee Added function to IR
Windel Bouwman
parents:
diff changeset
16