Skip to content

Commit deafc6f

Browse files
rovkajeanPerier
andcommitted
[fir] Add !fir.ptr type conversion
This patch is part of the upstreaming effort for fir-dev. Differential Revision: https://reviews.llvm.org/D113559 Co-authored-by: Jean Perier <[email protected]>
1 parent aaea92e commit deafc6f

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

flang/lib/Optimizer/CodeGen/TypeConverter.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ class LLVMTypeConverter : public mlir::LLVMTypeConverter {
4141
return mlir::IntegerType::get(
4242
&getContext(), kindMapping.getLogicalBitsize(boolTy.getFKind()));
4343
});
44+
addConversion(
45+
[&](fir::PointerType pointer) { return convertPointerLike(pointer); });
4446
addConversion(
4547
[&](fir::RecordType derived) { return convertRecordType(derived); });
4648
addConversion(

flang/test/Fir/types-to-llvm.fir

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,18 @@ func private @foo1(%arg0: !fir.ref<!fir.array<10xf32>>)
3131

3232
// -----
3333

34+
// Test pointer types `!fir.ptr`
35+
36+
func private @foo0(%arg0: !fir.ptr<i32>)
37+
// CHECK-LABEL: foo0
38+
// CHECK-SAME: !llvm.ptr<i32>
39+
40+
func private @foo1(%arg0: !fir.ptr<!fir.array<10xf32>>)
41+
// CHECK-LABEL: foo1
42+
// CHECK-SAME: !llvm.ptr<array<10 x f32>>
43+
44+
// -----
45+
3446
// Test box types `!fir.box`
3547

3648
func private @foo0(%arg0: !fir.box<!fir.array<?xf32>>)

0 commit comments

Comments
 (0)