Skip to content

Commit e49ca3f

Browse files
committed
Fix intrinsic_name
1 parent b7f160a commit e49ca3f

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

llvmlite/ir/types.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,9 @@ def gep(self, i):
193193

194194
@property
195195
def intrinsic_name(self):
196-
return 'p%d%s' % (self.addrspace, self.pointee.intrinsic_name)
196+
if ir_layer_typed_pointers_enabled:
197+
return 'p%d%s' % (self.addrspace, self.pointee.intrinsic_name)
198+
return super(_TypedPointerType, self).intrinsic_name
197199

198200

199201
class VoidType(Type):

llvmlite/tests/test_ir.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ def test_declare_intrinsics(self):
281281
declare double @"llvm.powi.f64"(double %".1", i32 %".2")""")
282282
if not ir_layer_typed_pointers_enabled:
283283
self.check_descr(self.descr(memset).strip(), """\
284-
declare void @"llvm.memset.p0i8.i32"(ptr %".1", i8 %".2", i32 %".3", i1 %".4")""") # noqa E501
284+
declare void @"llvm.memset.p0.i32"(ptr %".1", i8 %".2", i32 %".3", i1 %".4")""") # noqa E501
285285
self.check_descr(self.descr(memcpy).strip(), """\
286-
declare void @"llvm.memcpy.p0i8.p0i8.i32"(ptr %".1", ptr %".2", i32 %".3", i1 %".4")""") # noqa E501
286+
declare void @"llvm.memcpy.p0.p0.i32"(ptr %".1", ptr %".2", i32 %".3", i1 %".4")""") # noqa E501
287287
else:
288288
self.check_descr(self.descr(memset).strip(), """\
289289
declare void @"llvm.memset.p0i8.i32"(i8* %".1", i8 %".2", i32 %".3", i1 %".4")""") # noqa E501
@@ -2451,9 +2451,12 @@ def assert_ne(ptr1, ptr2):
24512451
def test_ptr_intrinsic_name(self):
24522452
self.assertEqual(ir.PointerType().intrinsic_name, 'p0')
24532453
self.assertEqual(ir.PointerType(addrspace=1).intrinsic_name, 'p1')
2454-
# Note: Should this be adjusted based on the pointer mode?
2455-
self.assertEqual(ir.PointerType(int1).intrinsic_name, 'p0i1')
2456-
self.assertEqual(ir.PointerType(int1, 1).intrinsic_name, 'p1i1')
2454+
if not ir_layer_typed_pointers_enabled:
2455+
self.assertEqual(ir.PointerType(int1).intrinsic_name, 'p0')
2456+
self.assertEqual(ir.PointerType(int1, 1).intrinsic_name, 'p1')
2457+
else:
2458+
self.assertEqual(ir.PointerType(int1).intrinsic_name, 'p0i1')
2459+
self.assertEqual(ir.PointerType(int1, 1).intrinsic_name, 'p1i1')
24572460

24582461
def test_str(self):
24592462
"""

0 commit comments

Comments
 (0)