feat(backend): 新增 MLIR 后端开关/产物隔离/降级管线/模块别名(默认 llvm 逐字不变)
- Config: BackendTarget/BackendIsMlir/set_backend/is_mlir_backend/backend_dir_suffix/alias_module_name;读取 options.backend(回退 options.target) - main.vp: 新增 --backend llvm|mlir(CLI 优先级最高,默认 llvm),加载工程后、resolve_paths 前生效 - 产物隔离: temp/output 追加 _mlir 后缀;includes 缓存追加后端后缀(.binary[_asan][_mlir]) - BuildPipeline: MLIR 降级 mlir-opt(校验) -> mlir-translate --mlir-to-llvmir,覆盖串行/并行/--phase2command,且置于 ASan opt 之前;LlcTask 增 MlirOptCmd/MlirTranslateCmd 字段 - 别名: ResolveModuleToPath 与 _FindSha1ByModName 经 Config.alias_module_name 把 llvmlite 重定向到 mlirlite(调用点零改动)
This commit is contained in:
1 parent
4eec3f0908
commit
0ebe2e0752
5 files changed
+219
-14
No files matched your search
@@ -335,6 +335,11 @@ def _FindSha1ByModName(sha1_arr: str, mod_arr: str,
|
||||
return None
|
||||
if count <= 0:
|
||||
return None
|
||||
# MLIR 后端:依赖名 "llvmlite" 重定向到 "mlirlite"
|
||||
#(与 IncludesScanner.ResolveModuleToPath 同口径;LLVM 后端恒等)
|
||||
mod_name = Config.alias_module_name(mod_name)
|
||||
if mod_name is None:
|
||||
return None
|
||||
# 第一遍:精确匹配
|
||||
for i in range(count):
|
||||
idx: sizet = sizet(i) * 64
|
||||
|
||||
Reference in new issue
Block a user