@@ -166,6 +166,24 @@ llvm::StringRef DxcOpts::GetPDBName() const {
166166 return llvm::StringRef ();
167167}
168168
169+ bool DxcOpts::ProduceDxModule () const {
170+
171+ return !AstDump && !OptDump &&
172+ #ifdef ENABLE_SPIRV_CODEGEN
173+ !GenSPIRV &&
174+ #endif
175+ !DumpDependencies && !VerifyDiagnostics && !IsRootSignatureProfile () &&
176+ Preprocess.empty ();
177+ }
178+
179+ bool DxcOpts::ProduceFullContainer () const {
180+ return DxcOpts::ProduceDxModule () && !CodeGenHighLevel;
181+ }
182+
183+ bool DxcOpts::NeedsValidation () const {
184+ return ProduceFullContainer () && !DisableValidation;
185+ }
186+
169187MainArgs::MainArgs (int argc, const wchar_t **argv, int skipArgCount) {
170188 if (argc > skipArgCount) {
171189 Utf8StringVector.reserve (argc - skipArgCount);
@@ -847,6 +865,7 @@ int ReadDxcOpts(const OptTable *optionTable, unsigned flagsToInclude,
847865 opts.TimeReport = Args.hasFlag (OPT_ftime_report, OPT_INVALID, false );
848866 opts.TimeTrace = Args.hasFlag (OPT_ftime_trace, OPT_INVALID, false ) ? " -" : " " ;
849867 opts.VerifyDiagnostics = Args.hasFlag (OPT_verify, OPT_INVALID, false );
868+ opts.Verbose = Args.hasFlag (OPT_verbose, OPT_INVALID, false );
850869 if (Args.hasArg (OPT_ftime_trace_EQ))
851870 opts.TimeTrace = Args.getLastArgValue (OPT_ftime_trace_EQ);
852871 if (Arg *A = Args.getLastArg (OPT_ftime_trace_granularity_EQ)) {
0 commit comments