[clang] [llvm] [clang][SPIR-V] Implement -fspv-preserve-interface (PR #196404)
Diego Novillo via cfe-commits
cfe-commits at lists.llvm.org
Fri May 8 07:26:31 PDT 2026
================
@@ -592,6 +593,18 @@ void CGHLSLRuntime::finishCodeGen() {
M.setModuleFlag(llvm::Module::ModFlagBehavior::Error, "dx.nativelowprec",
1);
+ if (LangOpts.HLSLSpvPreserveInterface && T.isSPIRV()) {
+ // Runs before optimization. Keeps Input/Output globals from GlobalDCE.
+ SmallVector<GlobalValue *, 8> InterfaceVars;
+ for (GlobalVariable &GV : M.globals()) {
+ unsigned AS = GV.getAddressSpace();
+ if (AS == 7 || AS == 8) // addrspace 7 = Input, addrspace 8 = Output
----------------
dnovillo wrote:
Thanks. I'll take a look.
https://github.com/llvm/llvm-project/pull/196404
More information about the cfe-commits
mailing list