Restores mistakenly removed AMX interface which ensures that the custom tile type is converted to its LLVM equivalent within other operations such as control flow. Fix after #140559
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
//===- Transforms.h - AMX Dialect Transformation Entrypoints ----*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef MLIR_DIALECT_AMX_TRANSFORMS_H
|
|
#define MLIR_DIALECT_AMX_TRANSFORMS_H
|
|
|
|
namespace mlir {
|
|
|
|
class LLVMConversionTarget;
|
|
class LLVMTypeConverter;
|
|
class RewritePatternSet;
|
|
class DialectRegistry;
|
|
|
|
/// Collect a set of patterns to lower AMX ops to ops that map to LLVM
|
|
/// intrinsics.
|
|
void populateAMXLegalizeForLLVMExportPatterns(LLVMTypeConverter &converter,
|
|
RewritePatternSet &patterns);
|
|
|
|
/// Configure the target to support lowering AMX ops to ops that map to LLVM
|
|
/// intrinsics.
|
|
void configureAMXLegalizeForExportTarget(LLVMConversionTarget &target);
|
|
|
|
/// Register LLVM conversion interface for AMX dialect.
|
|
void registerConvertAMXToLLVMInterface(DialectRegistry ®istry);
|
|
|
|
} // namespace mlir
|
|
|
|
#endif // MLIR_DIALECT_AMX_TRANSFORMS_H
|