Skip to content

Commit

Permalink
Fix Android ARM64 build.
Browse files Browse the repository at this point in the history
The llvm::StringRef to absl::string_view converter is not (always?) available on
Android, so inserting StringRef::str() calls where necessary.

PiperOrigin-RevId: 730557466
  • Loading branch information
wecing authored and Google-ML-Automation committed Feb 24, 2025
1 parent edb8f0e commit 4d7a023
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ class BackendFuncCallPattern : public OpConversionPattern<CallOp> {
}

FuncOp func = symbolTable.lookup<FuncOp>(adaptor.getCallee());
CHECK(func) << "Failed to lookup function: "
<< absl::string_view(adaptor.getCallee());
CHECK(func) << "Failed to lookup function: " << adaptor.getCallee().str();
mlir::SmallVector<mlir::NamedAttribute> namedCompAttrs;
llvm::copy_if(callOp->getDiscardableAttrs(),
std::back_inserter(namedCompAttrs),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ mlir::LogicalResult rewriteShardingCustomCall(
std::vector<int64_t> unspecDims;
if (std::optional<mlir::Attribute> backendConfig = op.getBackendConfig()) {
CHECK_OK(xla::sharding_op_util::ParseAttributes(
mlir::dyn_cast<mlir::StringAttr>(*backendConfig).getValue(),
mlir::dyn_cast<mlir::StringAttr>(*backendConfig).getValue().str(),
&unspecDims));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ MeshAttr removeSizeOneAxes(MeshAttr mesh) {
TensorShardingAttr removeSizeOneAxes(TensorShardingAttr sharding,
const SymbolTable& symbolTable) {
MeshAttr mesh = sharding.getMesh(symbolTable);
CHECK(mesh) << "unknown mesh: " << absl::string_view(sharding.getMeshName());
CHECK(mesh) << "unknown mesh: " << sharding.getMeshName().str();

auto isNotSizeOne = [&](AxisRefAttr axis) { return axis.getSize(mesh) != 1; };

Expand Down
7 changes: 4 additions & 3 deletions xla/service/spmd/shardy/sdy_round_trip/shard_map_import.cc
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ class ManualComputationPattern : public OpConversionPattern<CallOp> {
mlir::LogicalResult matchAndRewrite(
CallOp callOp, OpAdaptor adaptor,
mlir::ConversionPatternRewriter& rewriter) const override {
if (!absl::StrContains(callOp.getCallee(),
kManualComputationBodyFuncName)) {
if (!absl::StrContains(callOp.getCallee().str(),
kManualComputationBodyFuncName.str())) {
return mlir::failure();
}

Expand Down Expand Up @@ -159,7 +159,8 @@ class SdyRoundTripShardMapImportPass
MLIRContext& context = getContext();
mlir::ConversionTarget target(context);
target.addDynamicallyLegalOp<CallOp>([](CallOp op) {
return !absl::StrContains(op.getCallee(), kManualComputationBodyFuncName);
return !absl::StrContains(op.getCallee().str(),
kManualComputationBodyFuncName.str());
});
target.addLegalOp<sdy::ManualComputationOp, sdy::ReturnOp, CustomCallOp>();
mlir::RewritePatternSet patterns(&context);
Expand Down
5 changes: 3 additions & 2 deletions xla/service/spmd/shardy/utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,9 @@ AttrTy parseStringAttr(mlir::DictionaryAttr dictAttr,
if (mlir::Attribute stringAttr = dictAttr.get(attrName)) {
std::string value;
std::string error;
CHECK(absl::CUnescape(mlir::cast<mlir::StringAttr>(stringAttr).getValue(),
&value, &error))
CHECK(absl::CUnescape(
mlir::cast<mlir::StringAttr>(stringAttr).getValue().str(), &value,
&error))
<< error;
return mlir::cast<AttrTy>(
mlir::parseAttribute(value, stringAttr.getContext()));
Expand Down

0 comments on commit 4d7a023

Please sign in to comment.