Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move instruction set from Assembler to ISAInfoBase #323

Merged
merged 5 commits into from
Dec 6, 2023

Conversation

raccog
Copy link
Contributor

@raccog raccog commented Dec 5, 2023

Completes #303 by:

  • Moving instruction set data (instructions, pseudo-instructions, and relocations) to virtual functions in ISAInfoBase that are then filled out by individual ISAInfo templates (ex: ISAInfo<ISA::RV32I>).
  • Replaced ISA-specific assemblers (ex: RV32I_Assembler) with a single template class ISA_Assembler (ex: ISA_Assembler<ISA::RV32I>).

Also added an ISAInfoBase cache in the class ISAInfoRegistry. This can be utilized to reduce the number of instruction set instantiations.

Also helpful towards #297 (allows ISAs to be queried easily) and #307 (closer to separating libraries).

@mortbopet mortbopet merged commit f6130db into mortbopet:master Dec 6, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants