论文
编码智能体 能否实现错过的编译器优化?在 LLVM 窥孔优化上评估 LLM 代理
Can Coding Agents Implement Missed Compiler Optimizations? Evaluating LLM Agents on LLVM Peephole Optimizations
摘要
基于 大语言模型 构建的 编码智能体 现在能够修补相当大的实际代码库,但它们是否可以开发编译器优化仍然是一个悬而未决的问题。为了研究这个问题,我们引入了 PeepholeBench,这是一个评估框架,其任务是根据 LLVM 的 InstCombine pass 报告的真实世界错过的窥孔优化构建的。由于错过的窥视孔优化通常是通过小型局部补丁来修复的,因此它们为 编码智能体 提供了一个范围广泛但要求很高的测试平台:正确的修复需要对程序语义进行严格的推理,并熟悉优化器特定的约定。 PeepholeBench 从 21 个已解决的 LLVM 问题和 19 个合并的拉取请求 (PR) 中得出其任务,仅向代理提供每次修复之前存在的问题上下文,并评估生成的补丁的正确性和盈利能力。通过 PeepholeBench,我们对最先进的 编码智能体 进行基准测试,以修复 LLVM 的 InstCombine 通道中错过的窥孔优化,并根据相应的人工编写的修复来测量它们的补丁。我们观察到正确性和盈利能力之间的紧张关系,并且没有代理能够同时在这两个方面与人类开发人员相匹配。主要的故障模式是过于狭窄的转换和滥用 LLVM 特定机制,以及现有测试套件很少暴露的错误。总之,这些结果将 PeepholeBench 确立为 编码智能体 的现实且具有挑战性的基准,并为构建能够更可靠地协助编译器优化开发的代理提供了未来方向。