add inline test to common test suite

This commit is contained in:
Ilan Schnell 2012-09-12 15:18:12 -05:00
commit 6d60c4a469
2 changed files with 30 additions and 33 deletions

View file

@ -1,32 +0,0 @@
from llvm.core import *
import unittest
class TestInlining(unittest.TestCase):
def test_inline_call(self):
mod = Module.new(__name__)
callee = mod.add_function(Type.function(Type.int(), [Type.int()]),
name='bar')
builder = Builder.new(callee.append_basic_block('entry'))
builder.ret(builder.add(callee.args[0], callee.args[0]))
caller = mod.add_function(Type.function(Type.int(), []),
name='foo')
builder = Builder.new(caller.append_basic_block('entry'))
callinst = builder.call(callee, [Constant.int(Type.int(), 1234)])
builder.ret(callinst)
pre_inlining = str(caller)
self.assertIn('call', pre_inlining)
self.assertTrue(inline_function(callinst))
post_inlining = str(caller)
self.assertNotIn('call', post_inlining)
self.assertIn('2468', post_inlining)
if __name__ == '__main__':
unittest.main()