-
Notifications
You must be signed in to change notification settings - Fork 1
/
ROADMAP
102 lines (84 loc) · 3.57 KB
/
ROADMAP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Tasks/Projects
==============
[Refactor References]
- Goal: Distinguishing between references to program-points, and program points themselves was
a bad idea at the platin API level; we should fix this
- Steps:
+ Remove References in platin, and only deal with them at the PML level
- Assigned to: bendikt
[Improved aiT Program-Point Export]
- Goal: We should export program points symbolically, if possible, using a unified
API
- Steps:
+ Extend aiT export to provide symbolic pp export
- Depends
+ [Refactor References]
- Assigned to: bendikt
[Machine Descriptions]
- Goal: allow to configure the target processor (in particular memories and caches)
- Steps:
+ define a new section machine-description [done]
+ architectures provide default machine-description if none is given for WCET analysis
+ export machine-description to aiT (standard I$,D$,scratchpad; access timing)
- Assigned to: benedikt
[Analysis Descriptions]
- Goal: allow to describe planned and carried out program analysis in a PML section
- Steps:
+ define a new section analyses
+ analysis results (value facts, flow facts, timing) should reference analyses
+ allow to configure the set of analysis run using PML
+ clang driver
[Call Context-sensitive IPET]
- Goal: allow use, transformation and elimination of call-context sensitive program information
- Steps:
+ refactor IPET builder
+ builder for context-sensitive callgraph (using infeasibility information)
+ builder for context-sensitive IPET
+ combine context-free and context-sensitive models for elimination
[VCFG IPET]
- Goal: enable use, transformation and elimination of loop context-sensitive program information
- Steps:
+ add IPET builder for VCFG (instead of LLVM CFG)
+ combine LLVM CFG and VCFG for elimination
- Depends:
+ [Call context-sensitive IPET]
[Method Cache Analysis]
-- Goal: add method cache analysis to platin
-- Steps:
+ Export subfunction information
+ find conflict-free scopes (functions)
+ extend IPET to incorporate M$ miss-cost (see JOP)
+ think about exporting to aiT
+ Improvement: use a scope graph with loop/regions
+ Improvement: compute precise cache usage using IPET (see JOP)
-- Depends:
+ [Machine Descriptions]
[WCET Formulas]
-- Port work on WCET formulas (WCET12)
-- Steps: ?
-- Depends
+ [Symbolic Flow Facts]
[Improved Trace-Analysis/WCET Integration]
- Goal: Trace analysis should either provide precise flow facts for evaluation purposes, provide minimal
missing flow facts and point them out to the developer, or suggest helpful flowfacts to the
developer
- Steps:
+ get rid of deprecated .classification and --flow-fact-selection
FINISHED TASKS
==============
[Local FF Transformation]
- Goal: flow-facts that only affect one function (or parts of the program) should be translated locally
- Follow-Ups: [Direct Loop Bound Translation]
[Direct Loop Bound Translation]
- Goal: The FM-based flow fact transformation does not support loop scopes or symbolic bounds
Therefore, we should try to translate loop bounds directly, if the control-flow graph relation
admits it
[Symbolic Flow Facts]
- Goal: support flow-facts with symbolic RHS
- Follow-Ups:
+ (deferred) use results of aiT's value analysis to instantiate symbolic flow facts
+ (deferred) use results from SWEET's value analysis instantiate symbolic flow facts
[Stack Cache Analysis]
- Goal: analyze stack cache
- Follow-Ups:
+ (deferred) stack cache analysis for platin/wca