Topic: code optimization by flow analysis
Topic: definition languages
Topic: dependency analysis
Topic: flavor analysis and typestates for supplementary type checking
Topic: immutable files and data
Topic: initialized constants
Topic: owned resources and data objects
Topic: register allocation by use-def graphs
Topic: replacement as defining a variable
Topic: safe use of pointers
| |
Subtopic: SSA for optimization
Quote: static single assignment (SSA) is useful for optimization
| Quote: OSR is a practical algorithm for operator strength reduction using SSA form; as good as ACK
| Subtopic: type separation, check elimination
Quote: SafeTSA assigns a separate register plane for every type; guarantees type separation without type and range checks [»ammeW6_2001]
| Quote: ABCD-eliminate array bounds checks on demand; sparse SSA analysis; removes 45% of bounds checks [»bodiR6_2000]
| Quote: implement field analysis with static, single-assignment (SSA) graph; analyze loads and stores without optimization or context-sensitive information [»ghemS6_2000]
| Quote: analyze escape constraints with types and static single assignment (SSA); linear time and space
| Subtopic: distinguished value
Quote: SafeTSA uses SSA to distinguish unique values of a variable; uses phi-instructions and data flow instead of local variables [»ammeW6_2001]
| Subtopic: memory safety
Quote: compositional verification of memory safety in optimized code; encode low-level safety information via static single-assignment (SSA) proof variables [»menoVS1_2006]
| Subtopic: referential integrity, pointer analysis
Quote: SafeTSA guarantees referential integrity by construction; reference in terms of a basic block in the dominator tree [»ammeW6_2001]
| Quote: extended SSA numbering for indirect pointer references; requires pointer analysis and side-effect analysis; easy to add [»labkC3_1998]
| Subtopic: induction variable
Quote: OSR identifies induction variables by a depth-first search of the strongly-connected components in the SSA-graph [»coopKD9_2001]
| Subtopic: unassigned value
Quote: a borrowed variable (a dynamic alias) is never stored in a field; owned elsewhere; may be used for computation or local variable, but it is never returned [»boylJ5_2001]
| Subtopic: SSA algorithm
Quote: efficiently compute the static single assignment (SSA) form and control dependency graph using dominance frontiers; result is usually linear in size [»cytrR10_1991]
| Subtopic: flow of values
Quote: treat control variables as a flow of values, one per clock tick; system of equations or dataflow network; each variable defined exactly once [»benvA1_2003]
| Quote: Lustre extends the usual operators to operate pointwise on flows of values
| Quote: a node in Lustre is a function of typed input flows; defined by a system of equations and local flows; exactly one definition for each output or local flow [»benvA1_2003]
| Subtopic: balloon type
Quote: a balloon type has only one static reference, the reference is external, and no external reference to an internal object [»almePS6_1997]
| Quote: state variables can not store a reference to a pre-existing balloon object; variables and parameters can store references [»almePS6_1997]
| Quote: state variables can only store references to newly created balloon objects; uses deep-copy [»almePS6_1997]
|
Related Topics
Topic: code optimization by flow analysis (47 items)
Topic: definition languages (3 items)
Topic: dependency analysis (34 items)
Topic: flavor analysis and typestates for supplementary type checking (68 items)
Topic: immutable files and data (59 items)
Topic: initialized constants (12 items)
Topic: owned resources and data objects (12 items)
Topic: register allocation by use-def graphs (9 items)
Topic: replacement as defining a variable (8 items)
Topic: safe use of pointers (102 items)
|