codeplaysoftware / oneapi-construction-kit

Other
55 stars 21 forks source link

LLVM 19 fixes #449

Closed PietroGhg closed 1 month ago

PietroGhg commented 2 months ago

Overview

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.

Checklist