add support for metadata.

add related test.
This commit is contained in:
Siu Kwan Lam 2012-09-06 15:47:23 -07:00
commit 82117d899e
6 changed files with 113 additions and 5 deletions

28
test/metadata.py Normal file
View file

@ -0,0 +1,28 @@
import unittest
from llvm.core import *
class TestMetaData(unittest.TestCase):
def test_metadata_get(self):
module = Module.new('test_metadata')
md = MetaData.get(module, [Constant.int(Type.int(), 1234)])
def test_meta_load_nt(self):
module = Module.new('test_meta_load_nt')
func = module.add_function(Type.function(Type.void(), []),
name='test_load_nt')
bldr = Builder.new(func.append_basic_block('entry'))
addr = Constant.int(Type.int(), 0xdeadbeef)
loadinst = bldr.load(bldr.inttoptr(addr, Type.pointer(Type.int(8))))
md = MetaData.get(module, [Constant.int(Type.int(), 1)])
loadinst.set_metadata('nontemporal', md)
bldr.ret_void()
module.verify()
self.assertIn('!nontemporal', str(loadinst))
if __name__ == '__main__':
unittest.main()