返回
Compiler-Runtime Co-operative Chain of Verification for LLM-Based Code Optimization
DOI:10.1109/CGO68049.2026.11395240.png)
摘要
En 中文
大型语言模型(LLMs)最近在编译器优化(如循环向量化、内存访问重构)方面显示出潜力。然而,由于生成特性,LLM优化的代码可能包含语法错误或语义不一致。虽然使用LLM的现有编译器采用符号验证来确保正确性,但由于验证覆盖范围有限且不可靠,它们未能充分利用LLM优化。本文提出CoV,一种编译器-运行时协同的验证链框架,安全地将LLM代码转换集成到现代编译流程中。CoV采用多阶段验证管道,首先进行轻量级静态检查(如语法验证和基于配置文件的校验和过滤),然后使用Alive2等工具进行符号等价验证。对于无法静态验证的代码片段,CoV插入运行时验证机制以确保执行正确性。这些运行时检查通过验证并行化和批处理进行优化,以最小化开销。本文在LLVM中基于LLM的自动向量化器上实现了CoV原型框架,并使用TSVC基准套件中的151个循环和三个实际应用进行评估。CoV分别将向量化覆盖率较LLVM和GCC -O3向量化扩展了13.9%和10.6%。此外,CoV成功向量化了三个实际应用中的循环,而这些循环未被-O3向量化处理。
Keyword:
Large Language Model
Code Optimization
Compiler
Verification

