[XLA/GPU] Migrate all unnested elementwise emitters.
Also fix GetHloOutputs/GetHloOperands to treat aliased operands correctly. PiperOrigin-RevId: 347055290
This commit is contained in:
parent
21bb9e8c9a
commit
22b91d62ff
|
@ -83,6 +83,11 @@ enum ScalarLimit {
|
||||||
// Requires `ty` to be either FloatType or IntegerType.
|
// Requires `ty` to be either FloatType or IntegerType.
|
||||||
DenseElementsAttr GetScalarLimitOfType(Type ty, ScalarLimit limit);
|
DenseElementsAttr GetScalarLimitOfType(Type ty, ScalarLimit limit);
|
||||||
|
|
||||||
|
// Given `op_name` from LMHLO, returns the corresponding op name in MHLO.
|
||||||
|
// Returns empty string if no such op exists.
|
||||||
|
std::string LmhloToMhloOpName(llvm::StringRef op_name,
|
||||||
|
mlir::MLIRContext* context);
|
||||||
|
|
||||||
} // namespace hlo
|
} // namespace hlo
|
||||||
} // namespace mlir
|
} // namespace mlir
|
||||||
|
|
||||||
|
|
|
@ -132,5 +132,13 @@ DenseElementsAttr GetScalarLimitOfType(Type ty, ScalarLimit limit) {
|
||||||
llvm_unreachable("unsupported type");
|
llvm_unreachable("unsupported type");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string LmhloToMhloOpName(llvm::StringRef op_name,
|
||||||
|
mlir::MLIRContext *context) {
|
||||||
|
assert(op_name.startswith("lmhlo.") && "Expected an LMHLO op");
|
||||||
|
std::string mhlo_op_name(op_name.drop_front(1));
|
||||||
|
if (context->isOperationRegistered(mhlo_op_name)) return mhlo_op_name;
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace hlo
|
} // namespace hlo
|
||||||
} // namespace mlir
|
} // namespace mlir
|
||||||
|
|
Loading…
Reference in New Issue