Skip to content

Commit 3fd9b77

Browse files
Bump LLVM to 881ff4e (#539)
1 parent 17a4843 commit 3fd9b77

File tree

12 files changed

+47
-63
lines changed

12 files changed

+47
-63
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ if(POLICY CMP0077)
1313
cmake_policy(SET CMP0077 NEW)
1414
endif()
1515

16+
if(POLICY CMP0116)
17+
cmake_policy(SET CMP0116 OLD)
18+
endif()
19+
1620
#-------------------------------------------------------------------------------
1721
# Project setup and globals
1822
#-------------------------------------------------------------------------------

external/llvm-project

Submodule llvm-project updated 7258 files

lib/Conversion/TorchToLinalg/TorchToLinalg.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "mlir/Dialect/Linalg/IR/Linalg.h"
1515
#include "mlir/Dialect/Math/IR/Math.h"
1616
#include "mlir/Dialect/Tensor/IR/Tensor.h"
17+
#include "mlir/Dialect/Tensor/Utils/Utils.h"
1718
#include "mlir/Dialect/Traits.h"
1819
#include "mlir/IR/Matchers.h"
1920
#include "mlir/Transforms/DialectConversion.h"
@@ -275,14 +276,14 @@ static Value getPaddedTensor(Operation *op, OpBuilder &b, Value &input,
275276
SmallVectorImpl<int64_t> &highPaddingInts,
276277
Value pad) {
277278
Location loc = op->getLoc();
278-
Type rankedTensorType = linalg::PadTensorOp::inferResultType(
279+
Type rankedTensorType = tensor::PadOp::inferResultType(
279280
input.getType().cast<RankedTensorType>(), lowPaddingInts,
280281
highPaddingInts);
281282
SmallVector<OpFoldResult> lowPaddings =
282283
getAsOpFoldResult(b, loc, lowPaddingInts);
283284
SmallVector<OpFoldResult> highPaddings =
284285
getAsOpFoldResult(b, loc, highPaddingInts);
285-
Value paddedInput = linalg::PadTensorOp::createPadScalarOp(
286+
Value paddedInput = tensor::createPadScalarOp(
286287
rankedTensorType, input, pad, /*low=*/lowPaddings, /*high=*/highPaddings,
287288
/*packing=*/false, loc, b);
288289
return paddedInput;

lib/Conversion/TorchToTosa/TorchToTosa.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,7 @@ class ConvertAtenMatmulBaseOp : public OpConversionPattern<AtenOpT> {
10591059
// Step: generate the common dim/shape information
10601060
for (uint32_t dim = 0; dim < maxInputRank - 2; dim++) {
10611061
bool isDynamicDim =
1062-
lhsBroadcastedTy.isDynamic(lhsBroadcastedShape[dim]);
1062+
ShapedType::isDynamic(lhsBroadcastedShape[dim]);
10631063
if (isDynamicDim ||
10641064
lhsBroadcastedShape[dim] == rhsBroadcastedShape[dim]) {
10651065
commonValue *= lhsBroadcastedShape[dim];
@@ -1071,7 +1071,7 @@ class ConvertAtenMatmulBaseOp : public OpConversionPattern<AtenOpT> {
10711071
bool hasDynamicDims = false;
10721072
for (uint32_t dim = 0; dim < maxInputRank - 2; dim++) {
10731073
bool isDynamicDim =
1074-
lhsBroadcastedTy.isDynamic(lhsBroadcastedShape[dim]);
1074+
ShapedType::isDynamic(lhsBroadcastedShape[dim]);
10751075
hasDynamicDims |= isDynamicDim;
10761076
if (!isDynamicDim &&
10771077
lhsBroadcastedShape[dim] != rhsBroadcastedShape[dim]) {
@@ -1156,7 +1156,7 @@ class ConvertAtenMatmulBaseOp : public OpConversionPattern<AtenOpT> {
11561156
hasDynamicDims = false;
11571157
for (uint32_t dim = 0; dim < maxInputRank - 2; dim++) {
11581158
bool isDynamicDim =
1159-
rhsBroadcastedTy.isDynamic(rhsBroadcastedShape[dim]);
1159+
ShapedType::isDynamic(rhsBroadcastedShape[dim]);
11601160
hasDynamicDims |= isDynamicDim;
11611161
if (!isDynamicDim &&
11621162
rhsBroadcastedShape[dim] != lhsBroadcastedShape[dim]) {

lib/Dialect/Torch/IR/TorchDialect.cpp

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -63,28 +63,6 @@ void TorchDialect::initialize() {
6363
addInterfaces<TorchInlinerInterface>();
6464
}
6565

66-
//===----------------------------------------------------------------------===//
67-
// Type-related Dialect methods.
68-
//===----------------------------------------------------------------------===//
69-
70-
Type TorchDialect::parseType(DialectAsmParser &parser) const {
71-
StringRef keyword;
72-
if (parser.parseKeyword(&keyword))
73-
return Type();
74-
Type type;
75-
if (generatedTypeParser(parser, keyword, type).hasValue())
76-
return type;
77-
78-
parser.emitError(parser.getNameLoc(), "invalid 'torch' type: `")
79-
<< keyword << "'";
80-
return Type();
81-
}
82-
83-
void TorchDialect::printType(Type type, DialectAsmPrinter &printer) const {
84-
if (failed(generatedTypePrinter(type, printer)))
85-
llvm_unreachable("unknown 'torch' type");
86-
}
87-
8866
//===----------------------------------------------------------------------===//
8967
// Dialect-level verifiers.
9068
//===----------------------------------------------------------------------===//

lib/Dialect/Torch/IR/TorchOps.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,9 +321,9 @@ static ParseResult parsePrimIfOp(OpAsmParser &parser, OperationState &result) {
321321

322322
static void print(OpAsmPrinter &p, PrimIfOp op) {
323323
p << " " << op.condition();
324-
p << " -> (" << op.getResultTypes() << ")";
324+
p << " -> (" << op.getResultTypes() << ") ";
325325
p.printRegion(op.thenRegion(), /*printEntryBlockArgs=*/false);
326-
p << " else";
326+
p << " else ";
327327
p.printRegion(op.elseRegion(), /*printEntryBlockArgs=*/false);
328328

329329
p.printOptionalAttrDict(op->getAttrs());

lib/Dialect/Torch/Transforms/AdjustCallingConventions.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class AdjustCallingConventionForFunc : public OpConversionPattern<FuncOp> {
3838
matchAndRewrite(FuncOp func, OpAdaptor adaptor,
3939
ConversionPatternRewriter &rewriter) const override {
4040
MLIRContext *context = func.getContext();
41-
auto typeBoundIdent = Identifier::get("torch.type_bound", context);
41+
auto typeBoundIdent = StringAttr::get(context, "torch.type_bound");
4242
TypeConverter::SignatureConversion conversion(func.getNumArguments());
4343

4444
// The TypeConverter hooks for type conversion are "context free", so we

lib/Dialect/TorchConversion/Transforms/BackendTypeConversion.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ struct FuncBackendTypeConversionPass
164164
typeConverter.addConversion([](Type type) { return type; });
165165
TorchConversion::setupBackendTypeConversion(target, typeConverter);
166166

167-
populateFuncOpTypeConversionPattern(patterns, typeConverter);
167+
populateFunctionOpInterfaceTypeConversionPattern<FuncOp>(patterns, typeConverter);
168168
target.addDynamicallyLegalOp<FuncOp>([&](FuncOp op) {
169169
return typeConverter.isSignatureLegal(op.getType()) &&
170170
typeConverter.isLegal(&op.getBody());

python/torch_mlir/dialects/torch/importer/jit_ir/csrc/ivalue_importer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ MlirValue IValueImporter::importModule(torch::jit::Module currentModule) {
173173
torchMlirTorchNnModuleTypeGet(context, toMlirStringRef(moduleTypeName)),
174174
mlirRegionCreate());
175175
MlirRegion nnModuleRegion = mlirOperationGetRegion(nnModule, 0);
176-
mlirRegionAppendOwnedBlock(nnModuleRegion, mlirBlockCreate(0, nullptr));
176+
mlirRegionAppendOwnedBlock(nnModuleRegion, mlirBlockCreate(0, nullptr, nullptr));
177177
MlirBlock nnModuleBody = mlirRegionGetFirstBlock(nnModuleRegion);
178178
auto inserter = caffe2::MakeGuard([&]() {
179179
mlirBlockInsertOwnedOperationBefore(
@@ -441,7 +441,7 @@ void IValueImporter::importClassType(c10::ClassType *classType) {
441441
mlirStringAttrGet(
442442
context, toMlirStringRef(classType->name()->qualifiedName()))));
443443
MlirRegion region = mlirOperationGetRegion(op, 0);
444-
mlirRegionAppendOwnedBlock(region, mlirBlockCreate(0, nullptr));
444+
mlirRegionAppendOwnedBlock(region, mlirBlockCreate(0, nullptr, nullptr));
445445
MlirBlock classTypeBody = mlirRegionGetFirstBlock(region);
446446

447447
ClassAnnotation &classAnnotation =

python/torch_mlir/dialects/torch/importer/jit_ir/csrc/node_importer.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,8 @@ MlirBlock NodeImporter::createBlockFor(Block *jitBlock) {
303303
MlirLocation loc = getMlirLocationFromNode(context, paramNode);
304304
std::vector<MlirType> blockArgTypes =
305305
getMlirTypesFromValues(loc, paramNode->outputs());
306-
MlirBlock block = mlirBlockCreate(blockArgTypes.size(), blockArgTypes.data());
306+
std::vector<MlirLocation> blockArgLocs(blockArgTypes.size(), loc);
307+
MlirBlock block = mlirBlockCreate(blockArgTypes.size(), blockArgTypes.data(), blockArgLocs.data());
307308
for (int i = 0, e = mlirBlockGetNumArguments(block); i < e; i++) {
308309
Value *jitValue = paramNode->outputs()[i];
309310
MlirValue value = mlirBlockGetArgument(block, i);

0 commit comments

Comments
 (0)