| R. Johnson and K. Pingali. Dependence-based program analysis. In PLDI, pages 78 -- 89, June 1993. |
....a # function at some of the join nodes in the control flow graph of the program. Cytron et al. 4] present an efficient algorithm to compute minimal SSA form (i.e. SSA form with the smallest number of # functions inserted) for programs with arbitrary control flow graphs. Johnson and Pingali [10] have recently presented a different approach to SSA conversion. SSA form is commonly defined for sequential scalar languages, but this is not fundamental. It can be used for array languages if care is taken to properly model references and updates to individual array elements and array sections ....
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 78--89, Albuquerque, NM, June 1993.
....The most common construction algorithm for SSA form [5] uses dominance frontiers and su ers from a possible quadratic blow up in the size of the dominance frontier for certain common programming constructs. Various improved algorithms use such things as DJ graphs [18] and the dependence ow graph [10] to achieve O(EV ) time complexity for function placement. We build on this work to achieve O(EV ) construction of SSI form, and present a new algorithm for variable renaming in SSI form after and functions are placed. Our construction algorithm begins with a program structure tree of ....
....will describe an extension to SPTC that allows bitwidth analysis, and the possible uses of this information. 4. 1 Backward Data ow Analysis Backward data ow analyses are those in which information is propagated in the direction opposite that of program execution [15] There is general agreement [10, 3, 20] that SSA form is unable to directly handle backwards data ow analyses; liveness is often cited as a canonical example. However, SSI form allows the sparse computation of such backwards properties. Liveness, for example, comes for free from pruned SSI form: every variable is live in the region ....
[Article contains additional citation context not shown here]
Richard Johnson and Keshav Pingali. Dependencebased program analysis. In Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation (PLDI), pages 78-89, Albuquerque, New Mexico, June 1993.
....and nodes can be arbitrarily replaced. Clients of our framework would simply sequence analyses and transformations if non local graph replacements are needed, as in all other frameworks, including Assmann s. There is also a large body of literature on advanced and e#cient program representations [16, 12, 8, 14, 21, 30, 1, 18, 20, 25]. The definition of our framework is independent of the specific program representation used, and thus our work should be applicable to a wide range of graph based intermediate representations. In fact, our current Whirlwind implementation works over both control flow graphs and dataflow graphs. ....
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 78--89, June 1993.
.... Wegman and Zadeck as a tool for efficient optimization in a pair of POPL papers [2, 35] and three years after that Cytron and Ferrante joined Rosen, Wegman, and Zadeck in explaining how to compute SSA form efficiently in what has since become the canonical SSA paper [10] Johnson and Pingali [20] trace the development of SSA form back to Shapiro and Saint in [37] while Havlak [17] views OE functions as descendants of the birthpoints introduced in [34] Despite industry adoption of SSA form in production compilers [8, 9] academic research into alternative representations continues. ....
....Despite industry adoption of SSA form in production compilers [8, 9] academic research into alternative representations continues. Recent proposals have included Value Dependence Graphs [45] Program Dependence Webs [5] the Program Structure Tree [19] DJ graphs [39] and Depedence Flow Graphs [20]. In comparison to these representations, the dominant characteristics of our Static Single Information form may be summarized as follows: ffl It names information units. ffl It is complete. ffl It is simple. ffl It is efficient. ffl It has no explicit control dependencies. Attribution by ....
[Article contains additional citation context not shown here]
R. Johnson and K. Pingali. Dependence-based program analysis. In Language Design and Implementation (PLDI), pages 78--89, Albuquerque, New Mexico, June 1993.
....following discussion. The numbers on the figure chronologically order each step. The step numbers in black represent the backward propagation of data ranges. Without backward propagation we arrive at the following data ranges: 1 SSA form is not an efficient form for performing backward propagation[11]. Bitwise currently reverts to standard data flow analysis techniques only when analyzing in the reverse direction. If efficiency in the less common case of backward propagation is a concern, our form of SSA could readily be converted to SSI form, which was designed for bi directional data flow ....
Richard Johnson and Keshav Pingali. Dependence-Based Program Analysis. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pages 78--89, 1993.
....2 To reduce the amount of program transformation, we actually allow the variables appearing in the constraint to be live outside the scope, as long as they are simultaneously live only in the scope. 3 Note that assignments are analogous to the switch operators in the dependence flow graph [JP93] Similarly, to generate a new name for constraints C5, a assignment is inserted after each bounds check. The bounds check can be viewed as a special if statement that transfers program s control into the exception handler if the check fails; if the check does not fail, a useful constraint is ....
Richard Johnson and Keshav Pingali. Dependence-based program analysis. Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 78--89, June 1993.
.... an intermediate form for use in optimizing, parallelizing FORTRAN compilers for conventional architectures [BJP91, Bec92] Dependence flow graphs integrate data and control dependence information into a single structure, making efficient algorithms for program analysis and optimization possible [JP93, Joh95] Dependence flow graphs for even unstructured code can be constructed in linear time [JPP94] Also, dependence flow graphs possess a compositional formal execution semantics. PBJ 91] The author adapted the original dependence flow graphs for use in the BEDROC high level synthesis ....
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the 1993 SIGPLAN Conference on Program Design and Implementation. ACM Press, 1993.
....2 To reduce the amount of program transformation, we actually allow the variables appearing in the constraint to be live outside the scope, as long as they are simultaneously live only in the scope. 3 Note that assignments are analogous to the switch operators in the dependence flow graph [JP93] control into the exception handler if the check fails; if the check does not fail, a useful constraint is generated: check a[i1 ] check a[i1 ] i 2 : i1 ) i 2 a:length here The constraint C5 must be expressed on the new name i 2 , rather on i 1 , otherwise it could erroneously ....
Richard Johnson and Keshav Pingali. Dependence-based program analysis. Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 78--89, June 1993.
.... form [CFR 89] gives each value a distinct name, which improves the efficiency of constant propagation and other analyses [WZ85, AWZ88, RWZ88, WZ89] The dependence flow graph (DFG) improves the efficiency of analyses by ignoring irrelevant sections of code and linking definitions to uses [JP93] These representations can be viewed as augmentations to the CFG that allow more rapid traversal of the CFG. The program dependence graph (PDG) eliminates some control artifacts by linking together operations with the same control dependence, and builds local data dependence graphs to simplify ....
....The remaining joins (e.g. the lower join in Figure 3) are merely mergings of distinct paths from a branch; no or Call nodes are necessary. Whether a particular join needs a corresponding internal and how to designate branch join ends are resolved by single entry single exit (SESE) analysis [JP93] A pair of distinct CFG nodes a; b encloses a SESE region iff there exist arcs ff ending at a and fi beginning at b such that ff dominates fi, fi postdominates ff, and ff and fi are cycle equivalent (i.e. every CFG graph cycle contains both or neither) The SESE region itself consists of a, b, ....
[Article contains additional citation context not shown here]
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 78--89, Albuquerque, NM, June 23-25, 1993. ACM Press.
....there has been a flurry of research activity in the field of graph program representations. The Static Single Assignment (SSA) form [CFR 91] and the Program Dependence Graph (PDG) FOW87] were introduced. They were followed by the Program Dependence Web [BMO90] the Dependence Flow Graph [JP93] and the Value Dependence Graph [WCES94] We call these graphs scalar program abstractions, because they exactly represent data flow only in programs without arrays and loops. When it comes to representing data flow in programs that have array references and or loops, scalar abstractions cease ....
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In ACM '93 Conf. on Programming Language Design and Implementation, pages 78--89, June 1993.
.... employed as an intermediate form for use in optimizing, parallelizing FORTRAN compilers for conventional architectures [1] Dependence flow graphs integrate data and control dependence information into a single structure, making efficient algorithms for program analysis and optimization possible [8]. Dependence flow graphs for even unstructured code can be constructed in linear time [7] Also, dependence flow graphs possess a compositional formal execution semantics. 11] The author adapted the original dependence flow graphs for use in the BEDROC high level synthesis system [9] a system ....
R. Johnson and K. Pingali. Dependence-based program analysis. In Proceedings of the 1993 SIGPLAN Conference on Program Design and Implementation. ACM Press, 1993.
....on the graph in Figure 3 to ease the following discussion. The numbers on the figure chronologically order each step. The step numbers in black represent the backward propagation of data ranges. Without backward prop 2 SSA form is not an efficient form for performing backward propagation[13]. Bitwise currently reverts to standard data flow analysis techniques only when analyzing in the reverse direction. If efficiency in the less common case of backward propagation is a concern, our form of SSA could readily be converted to SSI form, which was designed for bi directional data flow ....
R. Johnson and K. Pingali. Dependence-Based Program Analysis. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pages 78--89, 1993.
....about each symbol to every node in a graph is inefficient, since not all nodes contain references or definitions of the symbol under consideration. Sparse representations, on the other hand, such as def use or use def chains [11] Static Single Assignment (SSA) 12] Dependence Flow Graphs (DFG) [13], or Program Dependence Graphs (PDG) 14] have all shown the virtue of operating on a sparse graph for analysis. The distinction between simple (all paths) constants and conditional constants can be seen in Figure 2. The simple value of y is determined to be constant only if both branches which ....
....a new name. Practically, however, this is undesirable (managing the symbol table explosion alone precludes this option) so the SSA properties are maintained by providing links between each use and its one reaching definition. Instead of providing def use links, as is the common implementation [4, 13], we provide use def links, giving rise to an SSA graph comprising factored use def chains (FUD chains) This approach yields several advantages, such as constant space per node and an ideal form with which to perform demand driven analysis[16] 8 Our analysis of programs begins within a ....
[Article contains additional citation context not shown here]
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 78--89, June 1993.
No context found.
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the SIGPLAN '93 ConferenceonProgramming Language Design and Implementation, pages 78--89, Albuquerque, New Mexico, June23(e 1993( ACM Transactions on Computational Logic, Vol. V, No. N, January 2003.
....path compression and other complications, and could not compete with the Cytron et al. algorithm in practice. Johnson and Pingali showed how the dependence flow graph [PBJ 91] can be used to compute J sets in O(jEj) time per variable, but this approach was not competitive in practice either [JP93] Sreedhar and Gao described another approach which traversed the dominator tree of the program to compute J sets on demand [SG95] This algorithm requires O(jEj) preprocessing time, preprocessing space and query time, and it is easy to implement. Although they reported that this algorithm ....
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 78--89, Albuquerque, New Mexico, June 23--25, 1993.
....10 the size of the (statement level) CFG. Since QPGs are often so small relative to the size of the CFG, it is a significant savings that our algorithm does not examine transparent regions. In a previous paper, we discussed a representation of dependences called the dependence flow graph(DFG) JP93] Intuitively, the DFG is a set of basis graphs from which we can construct the QPG for a given data flow problem. For lack of space, we postpone discussion of this connection. In principle, the PST (or QPG) can be used to perform data flow analysis in parallel as is standard with divide ....
Richard Johnson and Keshav Pingali. Dependencebased program analysis. In Proceedings of the SIGPLAN '93 Conferenceon ProgrammingLanguageDesign and Implementation, pages 78--89, Albuquerque, New Mexico, June 23--25, 1993.
No context found.
R. Johnson and K. Pingali. Dependence-based program analysis. In PLDI, pages 78 -- 89, June 1993.
No context found.
R. Johnson and K. Pingali. Dependence-based program analysis. In Proc. Sigplan'93 PLDI, pages 78--89, 1993. Published as ACM SIGPLAN Notices 28(6).
No context found.
Johnson, R., Pingali, K.: Dependence-based program analysis. In: PLDI'93, 1993, 78--89.
No context found.
Richard Johnson and Keshav Pingali. Dependence based program analysis. In pages 78-89, 1993.
No context found.
R. Johnson and K. Pingali. Dependence-based program analysis. In Proc. the SIGPLAN '93 ConferenceonProgram Language Design and Implementation,June1993.
No context found.
R. Johnson and K. Pingali. Dependence-based program analysis. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 78--89, Albuquerque, New Mexico, June 1993.
No context found.
R. Johnson and K. Pingali. Dependence-based program analysis. In Language Design and Implementation (PLDI), pages 78-89, Albuquerque, New Mexico, June 1993.
No context found.
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the conference on Programming language design and implementation, pages 78--89. ACM Press, 1993. ISBN 0-89791-598-4.
No context found.
Richard Johnson and Keshav Pingali. Dependence-based program analysis. In Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 78--89, Albuquerque, NM, June 1993.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC