Both muxc and veczc were not using the LLVM passes to out assembly/bitcode, this PR addressed that.
This PR also makes sure that a module is created with the old debug info format in spirv-ll.
Reason for change
Not using the upstream passes means that we were missing out on any kind of logic that is added upstream when outputting IR, e.g. LLVM 19 is changing the debug info format, and PrintModulePass handles printing IR in a way that doesn't break CHECK directives for debug intrinsics.
Description of change
Uses PrintModulePass and BitcodeWriterPass in muxc and veczc, sets old type of debug info format in spirv-ll.
Anything else we should know?
If there's any other relevant information we should know that may help us in
understanding and verifying your patch, please include it here.
Overview
Both
muxc
andveczc
were not using the LLVM passes to out assembly/bitcode, this PR addressed that. This PR also makes sure that a module is created with the old debug info format inspirv-ll
.Reason for change
Not using the upstream passes means that we were missing out on any kind of logic that is added upstream when outputting IR, e.g. LLVM 19 is changing the debug info format, and
PrintModulePass
handles printing IR in a way that doesn't breakCHECK
directives for debug intrinsics.Description of change
Uses
PrintModulePass
andBitcodeWriterPass
inmuxc
andveczc
, sets old type of debug info format inspirv-ll
.Anything else we should know?
If there's any other relevant information we should know that may help us in understanding and verifying your patch, please include it here.
Checklist