Skip to content

Project Proposal: ChocoPy to Bril #615

@Smubge

Description

@Smubge

What will you do?
Research the utility of TBAA for Rust. More specifically, how TBAA metadata could improve optimization in Rust’s LLVM backend, the difficulties of doing so, and whether current LLVM optimizations fully leverage Rust’s type system.

How will you do it?
To evaluate the utility of TBAA for Rust, I will do the following:

  1. Study how TBAA works in LLVM and how it is applied in other languages (like C/C++) to inform potential benefits for Rust.
  2. Examine Rust’s LLVM IR output (using rustc --emit=llvm-ir) to determine whether and how TBAA metadata is currently used.
  3. Modify small Rust test programs to explore aliasing behaviors and inspect resulting optimizations with and without TBAA-related metadata.
    Consult compiler sources: Review relevant parts of rustc_codegen_llvm to understand current TBAA integration and identify missing opportunities.

How will you empirically measure success?
I will measure the differences in generated LLVM IR and resulting performance (e.g., runtime, binary size, optimization passes triggered) with and without TBAA metadata, assess whether Rust’s aliasing semantics could safely permit more aggressive optimizations under TBAA assumptions without violating language safety guarantees. All of these will be supported with code examples and performance data.
Team members:
Me (Jonathan Brown)😃

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions