fabianschuiki / moore

A hardware compiler based on LLHD and CIRCT
http://www.llhd.io
Apache License 2.0
246 stars 31 forks source link

Replace llhd shifts with dynamic extracts and comb shifts #247

Closed maerhart closed 2 years ago

maerhart commented 2 years ago

I encountered a lot of lowering errors in --convert-llhd-to-llvm because LLHD shifts on signals were emitted by moore to dynamically extract an element or slice and there is no support in LLHDToLLVM for that. But we have all the nice dynamic signal extract operations now that we can take advantage of and already have a lowering for in LLHDToLLVM 😄

This should also allow us to get rid of the LLHD shifts in CIRCT now because we have a replacement for every case.