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]

Back to bonuses

Data

TeamOpponentPart 1Part 2Part 3Total
Yale BWUSTL B100010