[XLA/GPU] Migrate all unnested elementwise emitters.

Also fix GetHloOutputs/GetHloOperands to treat aliased operands correctly.

PiperOrigin-RevId: 347055290
This commit is contained in:
Tim Shen 2020-12-11 12:44:38 -08:00 committed by TensorFlow MLIR Team
parent 21bb9e8c9a
commit 22b91d62ff
2 changed files with 13 additions and 0 deletions

View File

@ -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

View File

@ -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