From 599c73990532333e62edf8ba19a5302b543f976f Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 6 Jan 2025 12:00:11 +0100 Subject: [mlir][GPU] Add NVVM-specific `cf.assert` lowering (#120431) This commit add an NVIDIA-specific lowering of `cf.assert` to to `__assertfail`. Note: `getUniqueFormatGlobalName`, `getOrCreateFormatStringConstant` and `getOrDefineFunction` are moved to `GPUOpsLowering.h`, so that they can be reused. --- mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp') diff --git a/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp b/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp index 8672e7b849d9..d0ffb94f3f96 100644 --- a/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp +++ b/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp @@ -215,7 +215,6 @@ void mlir::cf::populateControlFlowToLLVMConversionPatterns( const LLVMTypeConverter &converter, RewritePatternSet &patterns) { // clang-format off patterns.add< - AssertOpLowering, BranchOpLowering, CondBranchOpLowering, SwitchOpLowering>(converter); @@ -258,6 +257,7 @@ struct ConvertControlFlowToLLVM LLVMTypeConverter converter(ctx, options); RewritePatternSet patterns(ctx); mlir::cf::populateControlFlowToLLVMConversionPatterns(converter, patterns); + mlir::cf::populateAssertToLLVMConversionPattern(converter, patterns); if (failed(applyPartialConversion(getOperation(), target, std::move(patterns)))) @@ -286,6 +286,7 @@ struct ControlFlowToLLVMDialectInterface RewritePatternSet &patterns) const final { mlir::cf::populateControlFlowToLLVMConversionPatterns(typeConverter, patterns); + mlir::cf::populateAssertToLLVMConversionPattern(typeConverter, patterns); } }; } // namespace -- cgit v1.2.3