Skip to content
Snippets Groups Projects

Exploratory CPU backend

Merged rarbore2 requested to merge ir_dev into main

This MR accomplishes the following:

  • Compute anti-dependencies between array reads and writes in IR
  • Identify logical array allocations - this identifies the size of each individual allocation, and which nodes use which allocation
  • Create an incomplete LLVM IR backend for Hercules IR - uses the Inkwell library
    • Inkwell is not feature complete - we will want to emit IR text manually in the future
  • Incorporate anti-dependencies into global code motion
  • Various helpers for IR - iterators for dominator tree, types, constants
  • Remove bitflip op - just not on an int value
  • Improve dot graph layout

The matmul.hir example can now be compiled into LLVM IR. When hooked up with some manually written C, it does a matmul properly.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading