Abstract

When analyzing programs with parallel imperative constructs (e.g., cobegin/coend), standard computer intermediate representations are inadequate. This paper introduces a new relation called the precedence relation and new data structures called the Parallel Control Flow Graph and the Parallel Precedence Graph for programs with parallel constructs. We show how to report anomalies in parallel programs using Parallel Precedence Graphs. In sequential Control Flow Graphs, the precedence relation is represented by the dominance relation. With explicit parallelism, the dominance relation is not the same as the precedence relation; we discuss the significance of the precedence relation and the new data structures for analyzing programs with parallel constructs. These data structures form a concrete basis for the development of efficient algorithms for optimizing parallel programs.KeywordsDominance RelationBasic BlockParallel ProgramPrecedence RelationParallel SectionThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call