Skip to content

Commit 52b9d0b

Browse files
committed
Revert "[MLIR][Arith] Add ExpandOps to convertArithToLLVM (#117305)"
Failing bot: * https://lab.llvm.org/buildbot/#/builders/138/builds/729 Also, not all discussions have been resolved: * #117305 (comment) This reverts commit 2c739df.
1 parent adf892d commit 52b9d0b

File tree

2 files changed

+1
-66
lines changed

2 files changed

+1
-66
lines changed

mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#include "mlir/Conversion/LLVMCommon/ConversionTarget.h"
1414
#include "mlir/Conversion/LLVMCommon/VectorPattern.h"
1515
#include "mlir/Dialect/Arith/IR/Arith.h"
16-
#include "mlir/Dialect/Arith/Transforms/Passes.h"
1716
#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
1817
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
1918
#include "mlir/IR/TypeUtilities.h"
@@ -505,8 +504,7 @@ struct ArithToLLVMConversionPass
505504
options.overrideIndexBitwidth(indexBitwidth);
506505

507506
LLVMTypeConverter converter(&getContext(), options);
508-
arith::populateCeilFloorDivExpandOpsPatterns(patterns);
509-
arith::populateArithToLLVMConversionPatterns(converter, patterns);
507+
mlir::arith::populateArithToLLVMConversionPatterns(converter, patterns);
510508

511509
if (failed(applyPartialConversion(getOperation(), target,
512510
std::move(patterns))))
@@ -532,7 +530,6 @@ struct ArithToLLVMDialectInterface : public ConvertToLLVMPatternInterface {
532530
void populateConvertToLLVMConversionPatterns(
533531
ConversionTarget &target, LLVMTypeConverter &typeConverter,
534532
RewritePatternSet &patterns) const final {
535-
arith::populateCeilFloorDivExpandOpsPatterns(patterns);
536533
arith::populateArithToLLVMConversionPatterns(typeConverter, patterns);
537534
}
538535
};

mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -540,68 +540,6 @@ func.func @select(%arg0 : i1, %arg1 : i32, %arg2 : i32) -> i32 {
540540

541541
// -----
542542

543-
// CHECK-LABEL: @ceildivsi
544-
// CHECK-SAME: %[[ARG0:.*]]: i64) -> i64
545-
func.func @ceildivsi(%arg0 : i64) -> i64 {
546-
// CHECK: %[[CST0:.*]] = llvm.mlir.constant(1 : i64) : i64
547-
// CHECK: %[[CST1:.*]] = llvm.mlir.constant(0 : i64) : i64
548-
// CHECK: %[[CST2:.*]] = llvm.mlir.constant(-1 : i64) : i64
549-
// CHECK: %[[CMP0:.*]] = llvm.icmp "sgt" %[[ARG0]], %[[CST1]] : i64
550-
// CHECK: %[[SEL0:.*]] = llvm.select %[[CMP0]], %[[CST2]], %[[CST0]] : i1, i64
551-
// CHECK: %[[ADD0:.*]] = llvm.add %[[SEL0]], %[[ARG0]] : i64
552-
// CHECK: %[[DIV0:.*]] = llvm.sdiv %[[ADD0]], %[[ARG0]] : i64
553-
// CHECK: %[[ADD1:.*]] = llvm.add %[[DIV0]], %[[CST0]] : i64
554-
// CHECK: %[[SUB0:.*]] = llvm.sub %[[CST1]], %[[ARG0]] : i64
555-
// CHECK: %[[DIV1:.*]] = llvm.sdiv %[[SUB0]], %[[ARG0]] : i64
556-
// CHECK: %[[SUB1:.*]] = llvm.sub %[[CST1]], %[[DIV1]] : i64
557-
// CHECK: %[[CMP1:.*]] = llvm.icmp "slt" %[[ARG0]], %[[CST1]] : i64
558-
// CHECK: %[[CMP2:.*]] = llvm.icmp "sgt" %[[ARG0]], %[[CST1]] : i64
559-
// CHECK: %[[CMP3:.*]] = llvm.icmp "slt" %[[ARG0]], %[[CST1]] : i64
560-
// CHECK: %[[CMP4:.*]] = llvm.icmp "sgt" %[[ARG0]], %[[CST1]] : i64
561-
// CHECK: %[[AND0:.*]] = llvm.and %[[CMP1]], %[[CMP3]] : i1
562-
// CHECK: %[[AND1:.*]] = llvm.and %[[CMP2]], %[[CMP4]] : i1
563-
// CHECK: %[[OR:.*]] = llvm.or %[[AND0]], %[[AND1]] : i1
564-
// CHECK: %[[SEL1:.*]] = llvm.select %[[OR]], %[[ADD1]], %[[SUB1]] : i1, i64
565-
%0 = arith.ceildivsi %arg0, %arg0 : i64
566-
return %0: i64
567-
}
568-
569-
// CHECK-LABEL: @ceildivui
570-
// CHECK-SAME: %[[ARG0:.*]]: i32) -> i32
571-
func.func @ceildivui(%arg0 : i32) -> i32 {
572-
// CHECK: %[[CST0:.*]] = llvm.mlir.constant(0 : i32) : i32
573-
// CHECK: %[[CMP0:.*]] = llvm.icmp "eq" %[[ARG0]], %[[CST0]] : i32
574-
// CHECK: %[[CST1:.*]] = llvm.mlir.constant(1 : i32) : i32
575-
// CHECK: %[[SUB0:.*]] = llvm.sub %[[ARG0]], %[[CST1]] : i32
576-
// CHECK: %[[DIV0:.*]] = llvm.udiv %[[SUB0]], %[[ARG0]] : i32
577-
// CHECK: %[[ADD0:.*]] = llvm.add %[[DIV0]], %[[CST1]] : i32
578-
// CHECK: %[[SEL0:.*]] = llvm.select %[[CMP0]], %[[CST0]], %[[ADD0]] : i1, i32
579-
%0 = arith.ceildivui %arg0, %arg0 : i32
580-
return %0: i32
581-
}
582-
583-
// -----
584-
585-
// CHECK-LABEL: @floordivsi
586-
// CHECK-SAME: %[[ARG0:.*]]: i32, %[[ARG1:.*]]: i32) -> i32
587-
func.func @floordivsi(%arg0 : i32, %arg1 : i32) -> i32 {
588-
// CHECK: %[[SDIV:.*]] = llvm.sdiv %[[ARG0]], %[[ARG1]] : i32
589-
// CHECK: %[[MUL0:.*]] = llvm.mul %[[SDIV]], %[[ARG1]] : i32
590-
// CHECK: %[[CMP0:.*]] = llvm.icmp "ne" %[[ARG0]], %[[MUL0]] : i32
591-
// CHECK: %[[CST0:.*]] = llvm.mlir.constant(0 : i32) : i32
592-
// CHECK: %[[CMP1:.*]] = llvm.icmp "slt" %[[ARG0]], %[[CST0]] : i32
593-
// CHECK: %[[CMP2:.*]] = llvm.icmp "slt" %[[ARG1]], %[[CST0]] : i32
594-
// CHECK: %[[CMP3:.*]] = llvm.icmp "ne" %[[CMP1]], %[[CMP2]] : i1
595-
// CHECK: %[[AND:.*]] = llvm.and %[[CMP0]], %[[CMP3]] : i1
596-
// CHECK: %[[CST1:.*]] = llvm.mlir.constant(-1 : i32) : i32
597-
// CHECK: %[[ADD:.*]] = llvm.add %[[SDIV]], %[[CST1]] : i32
598-
// CHECK: %[[SEL:.*]] = llvm.select %[[AND]], %[[ADD]], %[[SDIV]] : i1, i32
599-
%0 = arith.floordivsi %arg0, %arg1 : i32
600-
return %0 : i32
601-
}
602-
603-
// -----
604-
605543
// CHECK-LABEL: @minmaxi
606544
func.func @minmaxi(%arg0 : i32, %arg1 : i32) -> i32 {
607545
// CHECK: = llvm.intr.smin(%arg0, %arg1) : (i32, i32) -> i32

0 commit comments

Comments
 (0)