Series-Parallel-Loop Decompositions of Control-flow Graphs
Xuran Cai, Amir Goharshady, S Hitarth, Chun Kit Lam

TL;DR
This paper introduces a new grammar-based decomposition framework for control-flow graphs that precisely characterizes structured program CFGs, leading to improved algorithms for compiler optimization tasks like register allocation and redundancy elimination.
Contribution
The paper presents a novel decomposition method that exactly captures structured program CFGs and enhances existing algorithms for compiler optimization.
Findings
Significant performance improvements over previous methods
Framework precisely characterizes CFGs of structured programs
Enhanced algorithms for register allocation and redundancy elimination
Abstract
Control-flow graphs (CFGs) of structured programs are well known to exhibit strong sparsity properties. Traditionally, this sparsity has been modeled using graph parameters such as treewidth and pathwidth, enabling the development of faster parameterized algorithms for tasks in compiler optimization, model checking, and program analysis. However, these parameters only approximate the structural constraints of CFGs: although every structured CFG has treewidth at most~7, many graphs with treewidth at most~7 cannot arise as CFGs. As a result, existing parameterized techniques are optimized for a substantially broader class of graphs than those encountered in practice. In this work, we introduce a new grammar-based decomposition framework that characterizes \emph{exactly} the class of control-flow graphs generated by structured programs. Our decomposition is intuitive, mirrors the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Parallel Computing and Optimization Techniques
