发明名称 数据相关控制流简化
摘要 一种减少控制流中后续块的数量以及流控制元素的数量的软件控制流的转换。转换后的控制流具有更多的简化代码和更少的数据相关的控制流,这产生更好的运行时性能,并且同时保持功能上的等效。针对控制流图中的每个数据相关流控制元素,通过找到足够使得由流控制元素选择的出口控制流将是确定性的值缩减点来提高软件控制流。修改控制流以使得控制流(不通过流控制元素)从该找到的值缩减点导向在给定找到的值缩减点的情况下将选择的标识的出口控制流。可从一个流控制元素到下一个流控制元素重复该方法。
申请公布号 CN106462432A 申请公布日期 2017.02.22
申请号 CN201580030115.8 申请日期 2015.06.05
申请人 微软技术许可有限责任公司 发明人 W·何;T·曾
分类号 G06F9/45(2006.01)I 主分类号 G06F9/45(2006.01)I
代理机构 上海专利商标事务所有限公司 31100 代理人 蔡悦
主权项 一种用于改进软件程序的控制流的计算机实现的方法,所述计算机实现的方法由执行用于所述计算机实现的方法的计算机可执行指令的一个或多个处理器执行,所述计算机实现的方法包括:遍历与所述软件程序的控制流相对应的控制流图;作为遍历的结果,检测流控制元素,所述流控制元素根据运行时参数的值指定可能在运行时采取的多个出口控制流;响应于所述检测流控制元素,在所述控制流图中找到在所述流控制元素之前的值缩减点,使得所述值缩减点充分缩小所述参数的值,使得将由所述流控制元素选择的所述出口控制流是确定性的;从所述多个出口控制流中标识在给定所找到的值缩减点时将采取的出口控制流;和修改所述控制流,使得所述控制流图从所找到的值缩减点导向所述标识的出口控制流,而不遍历所述流控制元素。
地址 美国华盛顿州