Skip to content

Commit c1ddaff

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 9ce66f2 commit c1ddaff

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
@@ -1295,7 +1295,7 @@ class CIRPtrStrideOpLowering
12951295
mlir::ConversionPatternRewriter &rewriter) const override {
12961296
if (!isCastArrayToPtrConsumer(op))
12971297
return mlir::failure();
1298-
if (!isLoadStoreOrCastArrayToPtrProduer(op))
1298+
if (!isLoadStoreOrCastArrayToPtrProducer(op))
12991299
return mlir::failure();
13001300
auto baseOp = adaptor.getBase().getDefiningOp();
13011301
if (!baseOp)
@@ -1375,7 +1375,6 @@ void populateCIRToMLIRConversionPatterns(mlir::RewritePatternSet &patterns,
13751375
cirDataLayout);
13761376
}
13771377

1378-
namespace {
13791378
// Lower a cir.array either as a memref when it has a reference semantics or as
13801379
// a tensor when it has a value semantics (like inside a struct or union)
13811380
mlir::Type lowerArrayType(cir::ArrayType type, bool hasValueSemantics,
@@ -1396,7 +1395,6 @@ mlir::Type lowerArrayType(cir::ArrayType type, bool hasValueSemantics,
13961395
return mlir::RankedTensorType::get(shape, elementType);
13971396
return mlir::MemRefType::get(shape, elementType);
13981397
}
1399-
} // namespace
14001398

14011399
mlir::TypeConverter prepareTypeConverter(mlir::DataLayout &dataLayout) {
14021400
mlir::TypeConverter converter;

0 commit comments

Comments
 (0)