Systems and methods for compiler-based vectorization of non-leaf code
AssigneeApple Inc.
InventorJeffry E. Gonion
Life of this patent
Estimating the term…
Loading patent…
AssigneeApple Inc.
InventorJeffry E. Gonion
Estimating the term…
Systems and methods for the vectorization of software applications are described. In some embodiments, source code dependencies can be expressed in ways that can extend a compiler's ability to vectorize otherwise scalar functions. For example, when compiling a called function, a compiler may identify dependencies of the called function on variables other than parameters passed to the called function. The compiler may record these dependencies, e.g., in a dependency file. Later, when compiling a calling function that calls the called function, the same (or another) compiler may reference the previously-identified dependencies and use them to determine whether and how to vectorize the calling function. In particular, these techniques may facilitate the vectorization of non-leaf loops. Because non-leaf loops are relatively common, the techniques described herein can increase the amount of vectorization that can be applied to many applications.
A non-transitory computer-readable storage medium having program instructions stored therein that, in response to execution by a computer system, cause the computer system to perform operations including:
A non-transitory computer-readable storage medium having program instructions stored therein that, in response to execution by a computer system, cause the computer system to perform operations including:
A method comprising:
A method, comprising:
Dependencies are inferred from the claim text.