Constructing a Control-Flow Graph from Linear Code
Nicholas Becker
Dr. Robert Matthews, Faculty Mentor
Control-flow graphs (CFGs) are an essential component of the optimization phase of many compilers. They are used for static analysis, the process by which compilers find opportunities for optimization and justify those optimizations without actually running the code. With a CFG, one can understand how control moves among the different basic blocks of the program and reason about how values might flow through the program. From there, one can then move on to solving bigger problems, such as identifying unused variables or redundant expressions, two common data-flow analysis problems. For this paper, I developed and implemented an algorithm to generate a control-flow graph from TrAL, the simple assembly language used for instruction purposes in CS 420: Compilers.
Keywords: control-flow graph, CFG, compilers, optimization
Topic(s):Computer Science
Presentation Type: Oral Paper
Session: 307-1
Location: VH 1236
Time: 1:00