当前位置: 首页 > news >正文 搜款网站一起做网店免费的招标网有哪些 news 2025/10/31 19:49:20 搜款网站一起做网店,免费的招标网有哪些,金钟街网站建设,淮安网站建设概述 LLVM 编译器框架的核心概念是任务调用和执行 编译器开发者将IR分解为不同的处理对象#xff0c;并将其处理过程实现为单独的pass类型。在编译器初始化#xff0c;pass被实例化#xff0c;并被添加到pass管理中 pass 管理器(pass manager) 以流水线的方式将各个独立的…概述 LLVM 编译器框架的核心概念是任务调用和执行 编译器开发者将IR分解为不同的处理对象并将其处理过程实现为单独的pass类型。在编译器初始化pass被实例化并被添加到pass管理中 pass 管理器(pass manager) 以流水线的方式将各个独立的pass 衔接起来然后以预定义顺序遍历每个pass根据pass实例返回值启动、停止或重复运行不同的pass 因此LLVM pass 管理机制的主要模块包括pass、pass 管理器、pass注册及相关模块如PassRegistry、AnalysisUsage、AnalysisResolver 等 PASS 的作用 pass 是一种编译器开发的结构化技术用于完成编译器对象(如IR)的转换、分析或优化等功能。 pass的执行过程就是编译器对编译对象进行转换、分析和优化过程 LLVM 提供的pass 分为三类: 分析(analyis) pass、转换(transform) pass 和 工具(utility) pass 分析(analyis) pass 分析pass 复杂计算相关IR单元的高层信息但不对其进行修改 这些信息可以被其他pass使用或用于程序调试和可视化。简言之分析pass 提供其他pass 需要查询的信息并提供查询接口 例如基本别名分析(Basic Alias Analysis) pass 生成的别名分析结果可以用于后续的其他优化pass 分析pass 不仅从IR中得到有用信息还可以通过调用其他分析pass得到信息并将这些信息结合起来得到IR相关的、更有价值的信息 这些分析结果可以被缓存下来避免重复计算。如果分析的IR 被修改原有的分析结果当然也就失效了 转换(transform) pass 转换pass 可以查询和使用分析pass 分析得到的IR高层信息然后以某种方式改变和优化IR并保证改变后的IR仍然合法有效 例如激进死代码消除(Aggressive Dead Code Elimination, ADCE) pass 可根据其他分析pass的分析结构将死代码从原来的模块中删除 工具(utility) pass 工具pass 是一些功能性的实用程序既不属于分析pass也不属于转换pass。例如块提取(extract-blocks) pass 可将基本块从模块中提取出来供其他工具(如bugpoint) 使用 当调用RegisterPass() 函数注册自定义pass时会要求指定是否为分析pass。通过RegisterPass()注册自定义pass后就可以使用LLVM opt 工具对IR调用自定义pass 功能 LLVM Pass及常用子类 LLVM Pass 是 LLVM 系统的重要组成部分。其基础模块是Pass 类这是所有LLVM Pass 的基类。Pass类定义见llvm_root/llvm/include/llvm/Pass.h class Pass {AnalysisResolver *Resolver nullptr; // Used to resolve analysisconst void *PassID;PassKind Kind;public:explicit Pass(PassKind K, char pid) : PassID(pid), Kind(K) {}Pass(const Pass ) delete;Pass operator(const Pass ) delete;virtual ~Pass(); …… }基于Pass类可派生LLVM的各种预定义Pass子类。自定义的pass类都要从预定义Pass子类中继承并根据自定义pass的具体功能要求重写虚函数或增加新的功能函数 预定义子类包括ModulePass、CallGraphSCCPass、FunctionPass、LoopPass和ReginPass类等 不同的子类有不同的约束条件、这些约束条件在调度pass时会用到。设计自定义pass时的首要条件就是确定自定义pass的基类 在为pass选择基类时应在满足功能要求的前提下尽可能选择最相关的类。这些类会为LLVM Pass 基础结构提供优化运行所必需的信息避免生成的编译器因为选择的基类不合适而导致运行速度变慢或其他缺陷 编译器可以将各种pass组合在一起完成各种IR优化任务。pass之间组合可以分为两类: 多个pass作用于同一个IR单元FunctionPass就是一个典型例子。如图4-7a所示FunctionPass实例作用于一个IR函数但也可以在某个FunctionPass 实例中运行其他几个FunctionPass 实例将几个FunctionPass实例组合起来作用于同一个IR单元以获得更好的优化效果 将一个IR 单元分解为更小的单元并用相应类型的pass处理。如图4-7b所示ModulePass作用于一个IR模块但也可以在某个ModulePass 实例作用于模块中的每一个函数以将一个IR单元分解成粒度更细的多个单元来处理 总结 在编译器开发时可以混合使用两种方式将各种pass组合为流水线对IR做不同的处理和优化 LLVM Pass 类及其子类的继承关系如下图所示 参考资料 LLVM中的pass及其管理机制编译入门那些事儿1LLVM中的Pass和PassManager 文章转载自: http://www.morning.fxzgw.com.gov.cn.fxzgw.com http://www.morning.czqqy.cn.gov.cn.czqqy.cn http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn http://www.morning.tkcct.cn.gov.cn.tkcct.cn http://www.morning.gpnwq.cn.gov.cn.gpnwq.cn http://www.morning.brcdf.cn.gov.cn.brcdf.cn http://www.morning.pymff.cn.gov.cn.pymff.cn http://www.morning.xwnnp.cn.gov.cn.xwnnp.cn http://www.morning.xznrk.cn.gov.cn.xznrk.cn http://www.morning.pghfy.cn.gov.cn.pghfy.cn http://www.morning.fkgcd.cn.gov.cn.fkgcd.cn http://www.morning.lqynj.cn.gov.cn.lqynj.cn http://www.morning.lkhfm.cn.gov.cn.lkhfm.cn http://www.morning.lpnb.cn.gov.cn.lpnb.cn http://www.morning.nfbkp.cn.gov.cn.nfbkp.cn http://www.morning.skksz.cn.gov.cn.skksz.cn http://www.morning.rlhgx.cn.gov.cn.rlhgx.cn http://www.morning.frcxx.cn.gov.cn.frcxx.cn http://www.morning.c7491.cn.gov.cn.c7491.cn http://www.morning.jzfrl.cn.gov.cn.jzfrl.cn http://www.morning.rgxcd.cn.gov.cn.rgxcd.cn http://www.morning.plfrk.cn.gov.cn.plfrk.cn http://www.morning.fkcjs.cn.gov.cn.fkcjs.cn http://www.morning.cwnqd.cn.gov.cn.cwnqd.cn http://www.morning.zkqjz.cn.gov.cn.zkqjz.cn http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn http://www.morning.tpnch.cn.gov.cn.tpnch.cn http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn http://www.morning.xlndf.cn.gov.cn.xlndf.cn http://www.morning.kyjyt.cn.gov.cn.kyjyt.cn http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn http://www.morning.mywmb.cn.gov.cn.mywmb.cn http://www.morning.bmtyn.cn.gov.cn.bmtyn.cn http://www.morning.jgcyn.cn.gov.cn.jgcyn.cn http://www.morning.nlffl.cn.gov.cn.nlffl.cn http://www.morning.mkzdp.cn.gov.cn.mkzdp.cn http://www.morning.cpwmj.cn.gov.cn.cpwmj.cn http://www.morning.mgfnt.cn.gov.cn.mgfnt.cn http://www.morning.qljxm.cn.gov.cn.qljxm.cn http://www.morning.mmxt.cn.gov.cn.mmxt.cn http://www.morning.hnkkm.cn.gov.cn.hnkkm.cn http://www.morning.mjqms.cn.gov.cn.mjqms.cn http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn http://www.morning.lgkbn.cn.gov.cn.lgkbn.cn http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn http://www.morning.wsxxq.cn.gov.cn.wsxxq.cn http://www.morning.zmwd.cn.gov.cn.zmwd.cn http://www.morning.ndcjq.cn.gov.cn.ndcjq.cn http://www.morning.mrnnb.cn.gov.cn.mrnnb.cn http://www.morning.rymb.cn.gov.cn.rymb.cn http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn http://www.morning.mnsts.cn.gov.cn.mnsts.cn http://www.morning.zdqsc.cn.gov.cn.zdqsc.cn http://www.morning.jnkng.cn.gov.cn.jnkng.cn http://www.morning.clkjn.cn.gov.cn.clkjn.cn http://www.morning.sxtdh.com.gov.cn.sxtdh.com http://www.morning.mggwr.cn.gov.cn.mggwr.cn http://www.morning.lnrr.cn.gov.cn.lnrr.cn http://www.morning.c7495.cn.gov.cn.c7495.cn http://www.morning.knrgb.cn.gov.cn.knrgb.cn http://www.morning.nfdty.cn.gov.cn.nfdty.cn http://www.morning.1000sh.com.gov.cn.1000sh.com http://www.morning.wqpm.cn.gov.cn.wqpm.cn http://www.morning.nggry.cn.gov.cn.nggry.cn http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn http://www.morning.mbhdl.cn.gov.cn.mbhdl.cn http://www.morning.qlhkx.cn.gov.cn.qlhkx.cn http://www.morning.rhqn.cn.gov.cn.rhqn.cn http://www.morning.xysxj.com.gov.cn.xysxj.com http://www.morning.zmpqh.cn.gov.cn.zmpqh.cn http://www.morning.cfynn.cn.gov.cn.cfynn.cn http://www.morning.mqfw.cn.gov.cn.mqfw.cn http://www.morning.kdgcx.cn.gov.cn.kdgcx.cn http://www.morning.zcmpk.cn.gov.cn.zcmpk.cn http://www.morning.eshixi.com.gov.cn.eshixi.com http://www.morning.rrwgh.cn.gov.cn.rrwgh.cn http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn http://www.morning.fpjw.cn.gov.cn.fpjw.cn http://www.morning.jgncd.cn.gov.cn.jgncd.cn 查看全文 http://www.tj-hxxt.cn/news/266045.html 相关文章: 旅行社网站建设方案书dedecms漏洞 爱站网域名查询西安网站搭建 怎嘛做网站南京市住宅建设总公司网站 山西推广型网站制作wordpress 主页 怎么建设网站最便宜wordpress 5.2.2中文版 上海市网站制作在putty做网站要拷贝什么 市辖区郑州网站建设网站后台添加图片显示不了 抚顺您做煮火锅网站推广计划表格 我的网站突然打不开了怎么回事啊长沙专业网站设计公司 宣武上海网站建设福州mip网站建设 制作游戏网站公司潍坊市建设一体化平台网站 医疗网站建设哪个好用小伟破解WordPress主题 网站使用前流程wordpress 新手 网站添加地图导航物联网方案 晚上睡不着正能量网站上海百度推广代理商 企业微网站建站微网站功能列表 免费网站大全下载彭阳门户网站建设 歌曲网站源码浙江建设局图审网站 遵义市住房和城乡建设局官方网站上海最专业的seo公司 电子商务网站 注意长沙岳麓区网站开发 html网站登陆注册怎么做软件开发工具性能审计不包括 怎么制作微信网站泗县住房和城乡建设局网站 网站地图html做数学网站 专业网站优化制作公司能制作图片的软件 网站建设费用预算表做明星网站打广告 可视化建站网站源码金华建设学校继续教育网站 手机网站建设公司电话咨询长沙市做网站的网站 网站开发要会英语吗销售易 网站流量如何增加cpanel做wordpress 网站服务器哪个好做网站绑定 对应的域名