Mercurial > lcfOS
diff python/testir.py @ 204:de3a68f677a5
Added long comment to c3 parser
author | Windel Bouwman |
---|---|
date | Fri, 21 Jun 2013 15:01:08 +0200 |
parents | 25a0753da4cf |
children | 81752b0f85a5 |
line wrap: on
line diff
--- a/python/testir.py Sat Jun 15 19:13:05 2013 +0200 +++ b/python/testir.py Fri Jun 21 15:01:08 2013 +0200 @@ -1,5 +1,30 @@ +import unittest, os import c3, ppci, ir, x86, transform -import os + +class ConstantFolderTestCase(unittest.TestCase): + def setUp(self): + self.b = ir.Builder() + self.cf = transform.ConstantFolder() + + def testBuilder(self): + m = ir.Module('test') + self.b.setModule(m) + f = self.b.newFunction('test') + self.b.setFunction(f) + bb = self.b.newBB() + self.b.setBB(bb) + v1 = self.b.newTmp('t') + v2 = self.b.newTmp('t') + v3 = self.b.newTmp('t') + self.b.addIns(ir.ImmLoad(v1, 5)) + self.b.addIns(ir.ImmLoad(v2, 7)) + self.b.addIns(ir.BinaryOperator(v3, '+', v1, v2)) + self.assertEqual(3, len(m.Instructions)) + self.cf.run(m) + self.assertEqual(3, len(m.Instructions)) + self.assertIsInstance(m.Instructions[-1], ir.ImmLoad) + self.assertEqual(12, m.Instructions[-1].value) + testsrc = """ package test2; @@ -50,6 +75,8 @@ """ if __name__ == '__main__': + unittest.main() + sys.exit() diag = ppci.DiagnosticsManager() builder = c3.Builder(diag) cgenx86 = x86.X86CodeGenSimple(diag)