发明名称 Compiling source code to reduce run-time execution of vector element reverse operations
摘要 Compiling source code to reduce run-time execution of vector element reverse operations, includes: identifying, by a compiler, a first loop nested within a second loop in a computer program; identifying, by the compiler, a vector element reverse operation within the first loop; moving, by the compiler, the vector element reverse operation from the first loop to the second loop.
申请公布号 US9569188(B1) 申请公布日期 2017.02.14
申请号 US201615218931 申请日期 2016.07.25
申请人 International Business Machines Corporation 发明人 Gschwind Michael Karl;Schmidt William J.
分类号 G06F9/44;G06F9/45 主分类号 G06F9/44
代理机构 Kennedy Lenart Spraggins LLP 代理人 Kennedy Brandon C.;Johnson Grant A.;Kennedy Lenart Spraggins LLP
主权项 1. A method of compiling source code to reduce run-time execution of vector element reverse operations, the method comprising: identifying, by a compiler, a first loop and a second loop in a computer program, wherein the first loop is embedded within the second loop; identifying, by the compiler, at least one vector element reverse operation within the first loop; analyzing, by the compiler, a dataflow graph containing that at least one vector element reverse operation within the first loop, including determining whether all vector operations in a portion of the dataflow graph including the first loop are lane-insensitive and determining whether all vector operations in the portion of the dataflow graph containing the first loop are lane-adjustable; and responsive to the analysis, replacing, by the compiler, the vector element reverse operations from the first loop by placing the vector element reverse operations inside the second loop; moving, by the compiler and within the second loop, a plurality of vector element reverse operations to the perimeter of the first loop; and for each pair of vector element reverse operations moved to the perimeter of the first loop in which a result of one of the vector element reverse operations in the pair is the source of the other vector element reverse operation in the pair: removing at least one of the vector element reverse operations in the pair.
地址 Armonk NY US