NgaiJustin / cs6120-bril

Assignments for CS 6120 - Advanced Compilers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CS 6120 BRIL

This is a repository containing implementations of analyses, optimizations, and other tools for CS 6120 using the Big Red Intermediate Language

Contents

Main Directories:

L2-3 Additions:

  • bril_type - Types for bril constructs.
  • utils - Utility functions loading and manipulating bril programs.

L4 Additions:

  • cfg - A simple library that construst control flow graphs from bril programs and also visualizes them in dot format.
  • dfa - Implementations of data flow analyses using the framework (currently includes constant propagation and reaching definitions).
  • dfa_framework - A generic solver framework for implementing data flow analyses.
  • dot - A series of functions to help with manipulating dot files, most notably it can create an animation from series of dot files.
  • node - A representation of a node (one instr per node) in a control flow graph.

L5 Additions:

  • dominator - A library for computing dominator trees and dominator frontiers.

L6 Additions:

  • block - A representation of a block (multiple instr per block) in a control flow graph.
  • ssa - A library for converting bril programs to and back from SSA form.

About

Assignments for CS 6120 - Advanced Compilers


Languages

Language:Rust 50.7%Language:TypeScript 24.2%Language:Python 24.0%Language:Makefile 0.6%Language:Shell 0.5%