[llvm-dev] Tablegen backend for emulator core?

John Byrd via llvm-dev llvm-dev at lists.llvm.org
Sun Mar 21 12:45:28 PDT 2021


> > And I realized that, although I could write an emulator in the
> traditional manner, tablegen already has most of the information it needs
> to automatically generate the guts of an emulator.
>
> > Simon Cook (CCed) previously used LLVM MC to help write a simulator <
> https://llvm.org/devmtg/2016-01/slides/fosdem16-aapsim.pdf>, which might
> be worth taking a look at. Though I understood from your email that you're
> imagining relying more heavily on TableGen for generating the execution
> loop.
>

Thank you.  I think Cook understood what I was hinting at, towards the end
of his presentation.  You could build such a simulator by creating a large
switch statement based on MCInst's the way that Cook has done, or you could
theoretically let tablegen create that switch for you.... llvm-tblgen
-gen-simulator was the way he put this idea.  At the least, the concept
maintains tablegen's DRY approach to representing machine instructions.

jwb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210321/79a68615/attachment.html>


More information about the llvm-dev mailing list