Skip to content

Commit da60cd4

Browse files
Revert "Reland "[mlir] Enable opaque pointers in LLVM conversion passes by default""
This reverts commit 946f803.
1 parent bcaea14 commit da60cd4

File tree

4 files changed

+21
-24
lines changed

4 files changed

+21
-24
lines changed

flang/lib/Optimizer/CodeGen/TypeConverter.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,7 @@ namespace fir {
4747
class LLVMTypeConverter : public mlir::LLVMTypeConverter {
4848
public:
4949
LLVMTypeConverter(mlir::ModuleOp module, bool applyTBAA)
50-
: mlir::LLVMTypeConverter(module.getContext(),
51-
[&] {
52-
mlir::LowerToLLVMOptions options(
53-
module.getContext());
54-
options.useOpaquePointers = false;
55-
return options;
56-
}()),
50+
: mlir::LLVMTypeConverter(module.getContext()),
5751
kindMapping(getKindMapping(module)),
5852
specifics(CodeGenSpecifics::get(module.getContext(),
5953
getTargetTriple(module),

mlir/include/mlir/Conversion/LLVMCommon/LoweringOptions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class LowerToLLVMOptions {
3333
LowerToLLVMOptions(MLIRContext *ctx, const DataLayout &dl);
3434

3535
bool useBarePtrCallConv = false;
36-
bool useOpaquePointers = true;
36+
bool useOpaquePointers = false;
3737

3838
enum class AllocLowering {
3939
/// Use malloc for for heap allocations.

mlir/include/mlir/Conversion/Passes.td

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def ConvertAsyncToLLVMPass : Pass<"convert-async-to-llvm", "ModuleOp"> {
158158
];
159159
let options = [
160160
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
161-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
161+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
162162
"instead of typed pointers">,
163163
];
164164
}
@@ -251,7 +251,7 @@ def ConvertControlFlowToLLVMPass : Pass<"convert-cf-to-llvm", "ModuleOp"> {
251251
/*default=kDeriveIndexBitwidthFromDataLayout*/"0",
252252
"Bitwidth of the index type, 0 to use size of machine word">,
253253
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
254-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
254+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
255255
"instead of typed pointers">,
256256
];
257257
}
@@ -314,7 +314,7 @@ def ConvertFuncToLLVMPass : Pass<"convert-func-to-llvm", "ModuleOp"> {
314314
"String description (LLVM format) of the data layout that is "
315315
"expected on the produced module">,
316316
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
317-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
317+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
318318
"instead of typed pointers">,
319319
];
320320
}
@@ -362,7 +362,7 @@ def GpuToLLVMConversionPass : Pass<"gpu-to-llvm", "ModuleOp"> {
362362
"Annotation attribute string for GPU binary"
363363
>,
364364
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
365-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
365+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
366366
"instead of typed pointers">,
367367
];
368368

@@ -388,7 +388,7 @@ def LowerHostCodeToLLVMPass : Pass<"lower-host-to-llvm", "ModuleOp"> {
388388

389389
let options = [
390390
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
391-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
391+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
392392
"instead of typed pointers">
393393
];
394394

@@ -414,7 +414,7 @@ def ConvertGpuOpsToNVVMOps : Pass<"convert-gpu-to-nvvm", "gpu::GPUModuleOp"> {
414414
Option<"hasRedux", "has-redux", "bool", /*default=*/"false",
415415
"Target gpu supports redux">,
416416
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
417-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
417+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
418418
"instead of typed pointers">,
419419
];
420420
}
@@ -451,7 +451,7 @@ def ConvertGpuOpsToROCDLOps : Pass<"convert-gpu-to-rocdl", "gpu::GPUModuleOp"> {
451451
clEnumValN(::mlir::gpu::amd::Runtime::OpenCL, "OpenCL", "OpenCL")
452452
)}]>,
453453
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
454-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
454+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
455455
"instead of typed pointers">,
456456
];
457457
}
@@ -507,7 +507,7 @@ def ConvertVulkanLaunchFuncToVulkanCallsPass
507507

508508
let options = [
509509
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
510-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
510+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
511511
"instead of typed pointers">
512512
];
513513

@@ -545,10 +545,11 @@ def ConvertLinalgToLLVMPass : Pass<"convert-linalg-to-llvm", "ModuleOp"> {
545545
let summary = "Convert the operations from the linalg dialect into the LLVM "
546546
"dialect";
547547
let dependentDialects = ["scf::SCFDialect", "LLVM::LLVMDialect"];
548+
548549
let options = [
549550
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
550-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
551-
"instead of typed pointers">
551+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
552+
"instead of typed pointers">
552553
];
553554
}
554555

@@ -656,7 +657,7 @@ def FinalizeMemRefToLLVMConversionPass :
656657
"Use generic allocation and deallocation functions instead of the "
657658
"classic 'malloc', 'aligned_alloc' and 'free' functions">,
658659
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
659-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
660+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
660661
"instead of typed pointers">
661662
];
662663
}
@@ -701,7 +702,7 @@ def ConvertNVGPUToNVVMPass : Pass<"convert-nvgpu-to-nvvm"> {
701702
];
702703
let options = [
703704
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
704-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
705+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
705706
"instead of typed pointers">
706707
];
707708
}
@@ -726,7 +727,7 @@ def ConvertOpenACCToLLVMPass : Pass<"convert-openacc-to-llvm", "ModuleOp"> {
726727
let dependentDialects = ["LLVM::LLVMDialect"];
727728
let options = [
728729
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
729-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
730+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
730731
"instead of typed pointers">,
731732
];
732733
}
@@ -797,7 +798,7 @@ def ConvertSCFToOpenMPPass : Pass<"convert-scf-to-openmp", "ModuleOp"> {
797798

798799
let options = [
799800
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
800-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
801+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
801802
"instead of typed pointers">
802803
];
803804

@@ -886,7 +887,7 @@ def ConvertSPIRVToLLVMPass : Pass<"convert-spirv-to-llvm", "ModuleOp"> {
886887

887888
let options = [
888889
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
889-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
890+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
890891
"instead of typed pointers">
891892
];
892893
}
@@ -1096,7 +1097,7 @@ def ConvertVectorToLLVMPass : Pass<"convert-vector-to-llvm", "ModuleOp"> {
10961097
"Enables the use of X86Vector dialect while lowering the vector "
10971098
"dialect.">,
10981099
Option<"useOpaquePointers", "use-opaque-pointers", "bool",
1099-
/*default=*/"true", "Generate LLVM IR using opaque pointers "
1100+
/*default=*/"false", "Generate LLVM IR using opaque pointers "
11001101
"instead of typed pointers">
11011102
];
11021103
}

mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ func.func @simple_add1_add2_test(%arg0: memref<2xf32>, %arg1: memref<2xf32>) {
2626
}
2727

2828
// External declarations.
29+
llvm.func @malloc(i64) -> !llvm.ptr<i8>
30+
llvm.func @free(!llvm.ptr<i8>)
2931
func.func private @printF32(%arg0: f32)
3032
func.func private @printComma()
3133
func.func private @printNewline()

0 commit comments

Comments
 (0)