Skip to content

Commit 4a4e8fa

Browse files
committed
[CIR][Lowering][MLIR] Export cir::lowerArrayType()
Export cir::lowerArrayType() so a CIR client can use this function to lower some !cir.array.
1 parent ef348cb commit 4a4e8fa

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

clang/include/clang/CIR/LowerToMLIR.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
#ifndef CLANG_CIR_LOWERTOMLIR_H
1313
#define CLANG_CIR_LOWERTOMLIR_H
1414

15+
#include "clang/CIR/Dialect/IR/CIRTypes.h"
16+
#include "mlir/Interfaces/DataLayoutInterfaces.h"
1517
#include "mlir/Transforms/DialectConversion.h"
1618
#include <functional>
1719

@@ -20,6 +22,9 @@ namespace cir {
2022
void populateCIRLoopToSCFConversionPatterns(mlir::RewritePatternSet &patterns,
2123
mlir::TypeConverter &converter);
2224

25+
mlir::Type lowerArrayType(cir::ArrayType type, bool hasValueSemantics,
26+
mlir::TypeConverter &converter);
27+
2328
mlir::TypeConverter prepareTypeConverter(mlir::DataLayout &dataLayout);
2429

2530
void runAtStartOfConvertCIRToMLIRPass(

clang/lib/CIR/Lowering/ThroughMLIR/LowerCIRToMLIR.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,7 +1407,7 @@ class CIRPtrStrideOpLowering
14071407
mlir::ConversionPatternRewriter &rewriter) const override {
14081408
if (!isCastArrayToPtrConsumer(op))
14091409
return mlir::failure();
1410-
if (!isLoadStoreOrCastArrayToPtrProduer(op))
1410+
if (!isLoadStoreOrCastArrayToPtrProducer(op))
14111411
return mlir::failure();
14121412
auto baseOp = adaptor.getBase().getDefiningOp();
14131413
if (!baseOp)
@@ -1455,7 +1455,6 @@ void populateCIRToMLIRConversionPatterns(mlir::RewritePatternSet &patterns,
14551455
cirDataLayout);
14561456
}
14571457

1458-
namespace {
14591458
// Lower a cir.array either as a memref when it has a reference semantics or as
14601459
// a tensor when it has a value semantics (like inside a struct or union)
14611460
mlir::Type lowerArrayType(cir::ArrayType type, bool hasValueSemantics,
@@ -1476,7 +1475,6 @@ mlir::Type lowerArrayType(cir::ArrayType type, bool hasValueSemantics,
14761475
return mlir::RankedTensorType::get(shape, elementType);
14771476
return mlir::MemRefType::get(shape, elementType);
14781477
}
1479-
} // namespace
14801478

14811479
mlir::TypeConverter prepareTypeConverter(mlir::DataLayout &dataLayout) {
14821480
mlir::TypeConverter converter;

0 commit comments

Comments
 (0)