[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.
|
||||
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 mlir
|
||||
|
||||
|
|
|
@ -132,5 +132,13 @@ DenseElementsAttr GetScalarLimitOfType(Type ty, ScalarLimit limit) {
|
|||
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 mlir
|
||||
|
|
Loading…
Reference in New Issue