From db020a6acca0cf7c43b71b8c21fca6feb0f36e6d Mon Sep 17 00:00:00 2001 From: rahul shrivastava Date: Thu, 2 Jan 2025 19:56:03 -0800 Subject: [PATCH] Revert "Bump LLVM to llvm/llvm-project@6c64c8a6f3f7 (#3818)" This reverts commit 8b0bf2e2930cc4ef0c9e1212b31c2c4fad2d9141. --- externals/llvm-project | 2 +- externals/stablehlo | 2 +- .../Transforms/BackendTypeConversion.cpp | 86 +++++++++---------- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/externals/llvm-project b/externals/llvm-project index 6c64c8a6f3f77..f0b3b6d15b2c0 160000 --- a/externals/llvm-project +++ b/externals/llvm-project @@ -1 +1 @@ -Subproject commit 6c64c8a6f3f77c30745c751d4163ff6bf2fc323b +Subproject commit f0b3b6d15b2c0ee2cff2dd31dc075adb5d9a4ff7 diff --git a/externals/stablehlo b/externals/stablehlo index 6e403b1aa6a71..d40285ef3db06 160000 --- a/externals/stablehlo +++ b/externals/stablehlo @@ -1 +1 @@ -Subproject commit 6e403b1aa6a71f5eaa09cc720e4ad42f692745e6 +Subproject commit d40285ef3db0687e3f1e2bb0d716d748485a9739 diff --git a/lib/Dialect/TorchConversion/Transforms/BackendTypeConversion.cpp b/lib/Dialect/TorchConversion/Transforms/BackendTypeConversion.cpp index 53de48f219342..0f2533e063f0d 100644 --- a/lib/Dialect/TorchConversion/Transforms/BackendTypeConversion.cpp +++ b/lib/Dialect/TorchConversion/Transforms/BackendTypeConversion.cpp @@ -57,16 +57,16 @@ static void setupTorchBoolToI1Conversion(ConversionTarget &target, typeConverter.addConversion([](Torch::BoolType type) -> std::optional { return IntegerType::get(type.getContext(), 1); }); - typeConverter.addTargetMaterialization([](OpBuilder &builder, - IntegerType type, ValueRange inputs, - Location loc) -> Value { - // Other builtin integer types could be handled by other materializers. - if (!(type.getWidth() == 1 && type.isSignless())) - return Value(); - assert(inputs.size() == 1); - assert(isa(inputs[0].getType())); - return builder.create(loc, inputs[0]).getResult(); - }); + typeConverter.addTargetMaterialization( + [](OpBuilder &builder, IntegerType type, ValueRange inputs, + Location loc) -> std::optional { + // Other builtin integer types could be handled by other materializers. + if (!(type.getWidth() == 1 && type.isSignless())) + return std::nullopt; + assert(inputs.size() == 1); + assert(isa(inputs[0].getType())); + return builder.create(loc, inputs[0]).getResult(); + }); auto sourceMaterialization = [](OpBuilder &builder, Torch::BoolType type, ValueRange inputs, Location loc) -> Value { assert(inputs.size() == 1); @@ -83,19 +83,19 @@ static void setupTorchIntToI64Conversion(ConversionTarget &target, typeConverter.addConversion([](Torch::IntType type) -> std::optional { return IntegerType::get(type.getContext(), 64); }); - typeConverter.addTargetMaterialization([](OpBuilder &builder, - IntegerType type, ValueRange inputs, - Location loc) -> Value { - // Other builtin integer types could be handled by other materializers. - if (!(type.getWidth() == 64 && type.isSignless())) - return Value(); - // Other input type to be converted to i64 are handled by other - // materializers. - if (!isa(inputs[0].getType())) - return Value(); - assert(inputs.size() == 1); - return builder.createOrFold(loc, inputs[0]); - }); + typeConverter.addTargetMaterialization( + [](OpBuilder &builder, IntegerType type, ValueRange inputs, + Location loc) -> std::optional { + // Other builtin integer types could be handled by other materializers. + if (!(type.getWidth() == 64 && type.isSignless())) + return std::nullopt; + // Other input type to be converted to i64 are handled by other + // materializers. + if (!isa(inputs[0].getType())) + return std::nullopt; + assert(inputs.size() == 1); + return builder.createOrFold(loc, inputs[0]); + }); auto sourceMaterialization = [](OpBuilder &builder, Torch::IntType type, ValueRange inputs, Location loc) -> Value { assert(inputs.size() == 1); @@ -112,13 +112,13 @@ static void setupTorchFloatToF64Conversion(ConversionTarget &target, typeConverter.addConversion([](Torch::FloatType type) -> std::optional { return Float64Type::get(type.getContext()); }); - typeConverter.addTargetMaterialization([](OpBuilder &builder, - Float64Type type, ValueRange inputs, - Location loc) -> Value { - assert(inputs.size() == 1); - assert(isa(inputs[0].getType())); - return builder.create(loc, inputs[0]).getResult(); - }); + typeConverter.addTargetMaterialization( + [](OpBuilder &builder, Float64Type type, ValueRange inputs, + Location loc) -> std::optional { + assert(inputs.size() == 1); + assert(isa(inputs[0].getType())); + return builder.create(loc, inputs[0]).getResult(); + }); auto sourceMaterialization = [](OpBuilder &builder, Torch::FloatType type, ValueRange inputs, Location loc) -> Value { assert(inputs.size() == 1); @@ -137,19 +137,19 @@ static void setupTorchGeneratorToI64Conversion(ConversionTarget &target, [](Torch::GeneratorType type) -> std::optional { return IntegerType::get(type.getContext(), 64); }); - typeConverter.addTargetMaterialization([](OpBuilder &builder, - IntegerType type, ValueRange inputs, - Location loc) -> Value { - // Other builtin integer types could be handled by other materializers. - if (!(type.getWidth() == 64 && type.isSignless())) - return Value(); - // Other input type to be converted to i64 are handled by other - // materializers. - if (!isa(inputs[0].getType())) - return Value(); - assert(inputs.size() == 1); - return builder.create(loc, inputs[0]).getResult(); - }); + typeConverter.addTargetMaterialization( + [](OpBuilder &builder, IntegerType type, ValueRange inputs, + Location loc) -> std::optional { + // Other builtin integer types could be handled by other materializers. + if (!(type.getWidth() == 64 && type.isSignless())) + return std::nullopt; + // Other input type to be converted to i64 are handled by other + // materializers. + if (!isa(inputs[0].getType())) + return std::nullopt; + assert(inputs.size() == 1); + return builder.create(loc, inputs[0]).getResult(); + }); auto sourceMaterialization = [](OpBuilder &builder, Torch::GeneratorType type, ValueRange inputs, Location loc) -> Value { assert(inputs.size() == 1);