Question
These programs generate control-flow graphs, or CFGs, from an intermediate representation, and then use program execution paths in the CFGs to inform code optimization choices. For 10 points each:
[10e] Name these programs that scan source code, parse it, and then translate it into a lower-level language such as assembly language or machine code.
ANSWER: compilers
[10h] Compilers transform code into this intermediate representation by computing dominance frontiers on a CFG. Redundancy elimination optimizations are simplified by this intermediate representation in which every variable is given a value exactly once.
ANSWER: static single assignment form [or SSA form or minimal SSA form]
[10m] Compilers can allocate these resources by computing live ranges on a CFG, and then building and coloring an interference graph. Spilling occurs when there are not enough of these resources to store all live variables.
ANSWER: registers [prompt on memory]
Data
Team | Opponent | Part 1 | Part 2 | Part 3 | Total |
---|---|---|---|---|---|
Yale B | WUSTL B | 10 | 0 | 0 | 10 |