首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LLVM调度,防止数据风险

LLVM调度,防止数据风险
EN

Stack Overflow用户
提问于 2012-08-07 15:34:32
回答 1查看 418关注 0票数 1

我正在尝试将调度添加到我的后端的llvm中,以防止数据风险。后端与microblaze非常相似,但有很多不同之处,例如分支延迟的多个延迟槽。目前,每当llvm编译代码时,我总是发现数据风险,特别是对于加载和存储指令。我已经看过PPC和ARM后端调度,但我不知道如何适应它,所以我想做我自己的。我想知道如何在编译过程中从llvm获得编译后的指令列表,以便根据使用的寄存器对指令进行排序并检查依赖关系。

我现在对此一无所知,因为我不是一个熟练的C++程序员。CPU是流水线的,只有控制风险(分支)和数据风险。CPU在流水线中有5个阶段,但是只有阶段3和阶段5中的指令能够使用阶段1中的数据。我已经为我的后端设置了延迟,它不会改变任何东西。

EN

回答 1

Stack Overflow用户

发布于 2012-08-07 20:58:54

我不认为你应该重新发明轮子并编写你的侧边调度器。您需要在您的后台添加HazardRecognizer。这样,LLVM的调度器将知道可能的危险,并尝试避免它们。PPC后端可能是这种调度的最佳示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11841253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档