Global control flow treatment of predicated code
First Claim
Patent Images
1. A computer system for processing predicated code having a plurality of predicates, the system comprising:
- means for determining a domain for each predicate;
means for partitioning each determined domain into disjoint subsets; and
means for constructing a partition graph from each of the partitioned domains to capture global relations of the predicates, wherein the partition graph is used in data flow analysis of the predicated code during compilation of the predicated code.
4 Assignments
0 Petitions
Accused Products
Abstract
The relationships among predicates are tracked globally by uniformly treating both control flow and explicit predicates by mapping them to a single connected partition graph. This allows for the analysis of predicate relations based on the scope of an entire procedure. This predicate analysis can be invoked by various phases of compiler optimization without being constrained by an incremental update of any persistent data structures.
119 Citations
40 Claims
-
1. A computer system for processing predicated code having a plurality of predicates, the system comprising:
-
means for determining a domain for each predicate; means for partitioning each determined domain into disjoint subsets; and means for constructing a partition graph from each of the partitioned domains to capture global relations of the predicates, wherein the partition graph is used in data flow analysis of the predicated code during compilation of the predicated code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer system for processing code divided into a plurality of basic blocks, the system comprising:
-
means for determining a domain for each block; means for partitioning each determined domain into disjoint subsets; and means for constructing a partition graph from each of the partitioned domains to capture global relations of the blocks, wherein the partition graph is used in data flow analysis of the code during compilation of the code. - View Dependent Claims (19, 20, 21)
-
-
22. A computer implemented method for processing predicated code having a plurality of predicates, the method comprising the steps of:
-
determining a domain for each predicate; partitioning each domain of the predicates into disjoint subsets; constructing a partition graph to capture global relations of the predicates; and utilizing the partition graph in data flow analysis of the predicated code during compilation of the predicated code. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer system for processing predicated code having a plurality of predicates to construct a partition graph that allows for globally analyzing predicate relations, the system comprising:
-
means for determining a domain for each predicate; means for partitioning each determined domain into disjoint subsets; and means for constructing the partition graph from each of the partitioned domains to capture global relations of the predicates, wherein the partition graph is used in data flow analysis of the predicated code during compilation of the predicated code. - View Dependent Claims (38, 39, 40)
-
Specification