================
@@ -604,8 +649,14 @@ bool HLSLToolChain::isLastJob(DerivedArgList &Args,
// Note: we check in the reverse order of execution
if (requiresBinaryTranslation(Args))
return AC == Action::Action::BinaryTranslatorJobClass;
- if (requiresValidation(Args))
+ // For SPIR-V, spirv-val is a pure validator that doesn't produce output
+ // files, so the compile step is the output-producing step. For DXIL, dxv
+ // validates and signs, producing the final output.
+ if (requiresValidation(Args, /*Diagnose=*/false)) {
+ if (getTriple().isSPIRV())
+ return AC != Action::Action::BinaryAnalyzeJobClass;
----------------
bogner wrote:
This doesn't look right - we should be checking that AC is something in
particular, no? Also, if this logic is correct I think we need to change the
name of this function - just because the spirv-val job doesn't produce output
doesn't make it "not last".
https://github.com/llvm/llvm-project/pull/188150
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits