Nancy Mazur
db5d688c43
Provide the direct reuse analysis part of the structure reuse analysis (which
...
Estimated hours taken: 25
Branches: main
Provide the direct reuse analysis part of the structure reuse analysis (which
itself is part of the CTGC system).
compiler/ctgc.datastruct.m:
compiler/ctgc.util.m:
Additional predicates.
compiler/ctgc.m:
Add structure reuse module.
compiler/handle_options.m:
compiler/options.m:
Add new options "structure_reuse_analysis" and related ones.
compiler/handle_options.m:
compiler/hlds_out.m:
Add dump option "R" to dump structure reuse related information
in the hlds_dump files.
compiler/hlds_goal.m:
Types to record structure reuse information at the level of each
goal.
Additional "case_get_goal" function to extract the goal from an case.
compiler/mercury_compile.m:
Add structure reuse analysis as a new compiler stage.
compiler/structure_reuse.analysis.m:
The top level analysis predicates.
compiler/structure_reuse.m:
compiler/structure_reuse.direct.m:
compiler/structure_reuse.direct.choose_reuse.m:
compiler/structure_reuse.direct.detect_garbage.m:
Direct reuse analysis is split into 2 steps: determining when and how
data structures become garbage, and then choosing how these dead
data structures might best be reused.
compiler/structure_reuse.domain.m:
The abstract domain for keeping track of reuse conditions, the main
domain in the structure reuse analysis.
compiler/structure_reuse.lbu.m:
compiler/structure_reuse.lfu.m:
To determine whether data structures become dead or not, one needs to
know which variables in a goal are needed with respect to forward
execution (lfu = local forward use), and backward execution, i.e.
backtracking (lbu = local backward use). These two modules provide
the necessary functionality to pre-annotate the goals with lfu and
lbu information.
compiler/structure_sharing.analysis.m:
compiler/structure_sharing.domain.m:
Remove the structure sharing table from the interface of the analysis
predicate in structure_sharing.analysis.m;
Move predicates to structure_sharing.domain.m so that they become
more easily accessible for the structure_reuse modules.
compiler/prog_data.m:
New types "dead_var", "live_var" and alike.
2006-05-10 15:20:57 +00:00
..
2006-05-03 06:46:20 +00:00
2006-03-29 08:09:58 +00:00
2006-03-31 03:32:11 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-05-02 05:57:10 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-31 03:32:11 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-31 03:32:11 +00:00
2006-03-17 01:40:46 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-17 01:40:46 +00:00
2006-03-24 03:04:20 +00:00
2006-03-17 01:40:46 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-26 03:06:29 +00:00
2006-03-24 03:04:20 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-05-03 06:46:20 +00:00
2006-05-08 03:36:02 +00:00
2006-04-26 03:06:29 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-24 03:04:20 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-04-13 03:59:26 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-03-29 08:09:58 +00:00
2006-05-10 10:56:57 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-31 03:32:11 +00:00
2006-05-04 08:34:56 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-26 03:06:29 +00:00
2006-05-08 03:36:02 +00:00
2006-03-29 08:09:58 +00:00
2006-03-31 03:32:11 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-17 01:40:46 +00:00
2006-05-10 10:56:57 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 00:57:46 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-05-10 10:56:57 +00:00
2006-03-30 02:46:08 +00:00
2006-03-29 08:09:58 +00:00
2006-05-10 10:56:57 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-24 03:04:20 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-17 01:40:46 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-05-08 03:36:02 +00:00
2006-05-08 03:36:02 +00:00
2006-04-24 04:23:47 +00:00
2006-03-29 08:09:58 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-05-03 06:46:20 +00:00
2006-03-30 02:46:08 +00:00
2006-05-08 03:36:02 +00:00
2006-05-08 03:36:02 +00:00
2006-05-03 06:46:20 +00:00
2006-05-03 06:46:20 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-27 07:34:37 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-24 04:40:59 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-04 08:03:43 +00:00
2006-03-17 01:40:46 +00:00
2006-03-17 01:40:46 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-05-10 10:56:57 +00:00
2006-05-02 05:57:10 +00:00
2006-03-29 00:57:46 +00:00
2006-05-03 06:46:20 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-26 03:06:29 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-05-05 08:02:56 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-03-24 04:40:59 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-05-02 08:15:34 +00:00
2006-05-02 05:57:10 +00:00
2006-04-20 05:37:13 +00:00
2006-04-26 03:06:29 +00:00
2006-04-26 03:06:29 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-05-10 10:56:57 +00:00
2006-03-29 08:09:58 +00:00
2006-04-18 05:47:34 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-04-30 04:37:04 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-26 03:06:29 +00:00
2006-03-29 08:09:58 +00:00
2006-05-03 07:45:19 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-05-02 08:15:34 +00:00
2006-05-10 10:56:57 +00:00
2006-03-17 01:40:46 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-27 07:34:37 +00:00
2006-05-02 08:15:34 +00:00
2006-04-20 05:37:13 +00:00
2006-04-27 07:34:37 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-05-02 05:57:10 +00:00
2006-03-30 02:46:08 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-28 04:13:24 +00:00
2006-05-03 06:46:20 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-05-08 03:36:02 +00:00
2006-03-29 08:09:58 +00:00
2006-04-24 09:36:26 +00:00
2006-04-10 04:28:24 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-30 02:46:08 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 15:20:57 +00:00
2006-05-10 10:56:57 +00:00
2006-05-10 10:56:57 +00:00
2006-03-29 08:09:58 +00:00
2006-04-07 01:32:58 +00:00
2006-03-30 02:46:08 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-24 03:04:20 +00:00
2006-05-08 03:36:02 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-04-20 05:37:13 +00:00
2006-04-20 05:37:13 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-05-03 06:46:20 +00:00
2006-03-29 08:09:58 +00:00