Discussion
Loading...

Post

Log in
  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
alcinnz
alcinnz
@alcinnz@floss.social  ·  activity timestamp 7 days ago

Is there anything left for me to remark on in QBE?

The CPU-specific code all looks fairly similar, with a couple CPU-generic helpers they call. It only supports modern 64bit machines, but as long as you're not targetting the broader field of microcontrollers or historical machines you should be fine. And even then you can hack QBE!

The CFG (Control Flow Graph) module offers reachability-testing helpers to the GVN (Global Value Numbering) deduplication pass.

1/2?

  • Copy link
  • Flag this post
  • Block
alcinnz
alcinnz
@alcinnz@floss.social replied  ·  activity timestamp 7 days ago

Another module provides helpers to that deduplication pass for carefully copying instructions & operands.

For testing it implements a very minimal C compiler using YACC for parsing, including a testsuite of simple programs for it to compile.

There's a dataheader for opcodes. I think I've mentioned the parser.

There's a testsuite of QBE Intermediate Language programs to optimize/compile. There's some tooling for the QBE devs, & some helpers for manipulating QBE's datastructures.

2/2 Fin!

  • Copy link
  • Flag this comment
  • Block

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.1-beta.28 no JS en
Automatic federation enabled
Log in
  • Explore
  • About
  • Members
  • Code of Conduct