已开启
[MLIR][Transform] transform.legalize 对 SVE 可伸缩向量按静态 shape 计算展开因子,生成非法 IR #131
cactusBalll创建于 3 天前
3 天前 将 alexanderbill、li-yancheng、cf-zhao、eastb233、wangqiang95、kuenking111_admin、SegFault、wd-gitcode、chenzheng1030、gcw_LWQavIsb 设为负责人
3 天前 将 alexanderbill、li-yancheng、cf-zhao、eastb233、wangqiang95、kuenking111_admin、SegFault、wd-gitcode、chenzheng1030、gcw_LWQavIsb 设为负责人
3 天前 添加了label:sig/Compiler
openeuler-ci-bot
3 天前 评论:
3 天前 评论:
Welcome To openEuler Community
Hey @gcw_LWQavIsb , thanks for your contribution to the community.
Bot Usage Manual
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands. You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
Contact Guide
If you have any questions, please contact the SIG: Compiler ,
and any of the maintainers: @SegFault, @alexanderbill, @cf-zhao, @chenzheng1030, @eastb233, @kuenking111_admin, @li-yancheng, @wangqiang95, @wd-gitcode ,
and any of the committers: @liyunfei33, @zhongyunde .


【缺陷描述】:请补充详细的缺陷问题现象描述
对合法的 SVE 可伸缩向量 IR:
运行
transform.legalize(--transform-interpreter)失败:生成的
extract_strided_slice用静态尺寸 (4) 切分可伸缩向量(vector<[8]xf32>),verifier 拒绝(可伸缩维度只能整维切分);mlir-opt exit 1 无输出。2-D SME 形态vector<[8]x[8]xf32>(sizes [4,4])同样失败。此前提交 14314cbd "Fix SVE and SME crash on the transform dialect" 声称修复 SVE/SME 场景,但 legalize 路径对 SVE 载荷依然不可用。一、缺陷信息
LegalizeOp::getShape用dstVecType.getShape()取形状——getShape()把每 lane 计数(8)当作静态尺寸返回,不检查isScalable();getAllDimsMaxUnrollingFactor据此返回静态 native shape([4]),vector unroll 模式随即发射静态尺寸的 extract/insert_strided_slice 作用于 scalable 向量。同一提交(1f9b0b2e,rank-0 修复)已为空形状加了if (dstShape.size() == 0) return std::nullopt;的 bail-out,但漏了 scalable【缺陷所属的os版本】
Ubuntu 22.04.3 LTS 缺陷位于编译器/MLIR 工具链本身,与操作系统版本无关。
【内核版本】
6.6.87.2-microsoft-standard-WSL2(uname -r)。缺陷与内核版本无关。
【缺陷所属软件及版本号】
LLVM 20.1.8
【环境信息】
编译选项:
CMAKE_BUILD_TYPE=RelWithDebInfo,LLVM_ENABLE_ASSERTIONS=ON,LLVM_ENABLE_PROJECTS="clang;mlir",LLVM_TARGETS_TO_BUILD="X86;AArch64"
COMMIT ID:35f464110c04e89bd0cab0e3fee4a70ec6ec2eb9
【问题复现步骤】
执行
mlir-opt test.mlir --transform-interpreter报错【实际结果】
【期望结果】
【其他相关附件信息】
【缺陷详情及分析指导参考链接】