It is up to the target, in this case snitch, to dictate which DMA transfers are directly legal or not. This logic previously lived in DMAToLLVM and due to being part of the "one-shot-to-llvm" pass, difficult to test and implement.
This PR therefore splits the logic into a dedicated legalization pass with the lowering to LLVM greatly simplified.
It is up to the target, in this case snitch, to dictate which DMA transfers are directly legal or not. This logic previously lived in
DMAToLLVM
and due to being part of the "one-shot-to-llvm" pass, difficult to test and implement.This PR therefore splits the logic into a dedicated legalization pass with the lowering to LLVM greatly simplified.