发明名称 Compile time execution
摘要 When compiling high level, graphical code (e.g. LabVIEW™ code) representative of a design, parts of the code that do not depend on external input data may be executed during the compilation process. Specific variables and/or value traces of specific variables in the program, e.g. constant values and/or repeating patterns may be recorded then analyzed, and certain transformations may be applied in the compilation process according to the results of the analysis, thereby optimizing the design. In one approach, the graph may be dynamically stepped through one node at a time, and it may be determined whether all inputs to the stepped-through node are known. If those inputs are known, type conversion and the operation corresponding to the stepped-through node may be dynamically performed. In another approach, a subset of the graphical code not depending on external data may be compiled and executed, thereby obtaining the same results as described above.
申请公布号 US9081583(B2) 申请公布日期 2015.07.14
申请号 US201213592995 申请日期 2012.08.23
申请人 National Instruments Corporation 发明人 Kee Hojin;Ly Tai A.;Petersen Newton G.;Washington Jeffrey D.;Yi Haoran;Blasig Dustyn K.
分类号 G06F9/45;G06F9/44 主分类号 G06F9/45
代理机构 Meyertons Hood Kivlin Kowert & Goetzel, P.C. 代理人 Meyertons Hood Kivlin Kowert & Goetzel, P.C. ;Hood Jeffrey C.;Williams Mark S.
主权项 1. A non-transitory computer-accessible memory medium that stores program instructions executable by a computer system to: receive an input program representative of a design comprising one or more functions; compile the received input program to produce an output; during the compile of the received input program, after the compile starts, and before the compile completes: generate information about one or more elements of the design by executing portions of the received input program, wherein the portions are less than the entire input program, wherein at least one portion of the received input program is in a fan in cone of array indices in the input program, wherein the information comprises information about value traces of the array indices in the input program, and wherein said executing comprises: determining and executing compiled executable instructions implementing each of the portions of the received program;analyze the information; andoptimize the output by applying transformations to the compile, including applying one or more transformations to arrays or array operations in the input program, responsive to analyzing the information.
地址 Austin TX US