| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir][acc] Add OpenACCSupport for extensible dialect handling (#164510) The OpenACC dialect must coexist with source language dialects (FIR, CIR, etc.) to enable offloading. While type interfaces ( PointerLikeType and MappableType) provide the primary contract for variable mapping, some scenarios require pipeline-specific customization or need to express information that cannot be adequately captured through operation and type interfaces alone. This commit introduces the OpenACCSupport analysis, which provides extensible support APIs that can be customized per-pipeline. The analysis follows the Concept-Model pattern used in MLIR's AliasAnalysis and is never invalidated, persisting throughout the pass pipeline. The initial API, getVariableName(Value) -> string, retrieves variable names from MLIR values by: - Checking for acc.var_name attributes - Extracting names from ACC data clause operations (e.g., acc.copyin) - Walking through ViewLikeOpInterface operations to find the source This will be used in the implicit data mapping pass to automatically generate device mappings with correct user-visible variable names. Usage: Passes call getAnalysis<OpenACCSupport>() to get a cached instance with either the default or a previously- registered custom implementation. Custom implementations can be registered in a setup pass by calling setImplementation() before the consumer pass runs. | 10 个月前 | |
[mlir][acc] Check legality of symbols in acc regions (#167957) This PR adds a new utility function to check whether symbols used in OpenACC regions are legal for offloading. Functions must be marked with acc routine or be built-in intrinsics. Global symbols must be marked with acc declare. The utility is designed to be extensible, and the OpenACCSupport analysis has been updated to allow handling of additional symbols that do not necessarily use OpenACC attributes but are marked in a way that still guarantees the symbol will be available when offloading. For example, in the Flang implementation, CUF attributes can be validated as legal symbols. | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 10 个月前 | ||
| 9 个月前 |