发明名称 |
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 |