Homework 1: Exploring Bril

Author

Qucheng Jiang

Introduction

For this assignment, I explored the Bril intermediate representation and wrote a new benchmark along with a tool to analyze and transform Bril programs.

Detail Design

The homework was divided into two main parts. I’ll walk through the details of my implementation, challenges faced, and the testing process.

  • Part 1: Creating and Running a New Benchmark
  • Part 2: Implementing a Bril Program Stub-Analyzer

Conclusion

This assignment provided a comprehensive introduction to Bril and its tooling ecosystem. By creating benchmarks and developing a custom analyzer, I gained insights into compiler design and intermediate representations.

Hardest Part: The most challenging aspect was managing dependencies and environment setup for the Bril toolchain. Careful attention to the makefile and troubleshooting through GitHub Discussions helped overcome these issues.

Testing and Results: I validated my benchmarks and analyzer using various Bril programs. The tools successfully transformed and analyzed the input programs, demonstrating the utility of Bril in simple code analysis and transformation tasks.

This experience has equipped me with practical skills in working with compiler tools and representations, paving the way for more complex analyses in future assignments.

Back to top