[llvm-dev] Tablegen backend for emulator core? (original) (raw)

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