Skip to content

Commit c25ecd7

Browse files
stanleygambarinsys_zuul
authored andcommitted
Disable scheduler when compiling without optimizations.
Change-Id: Ie65aef1a7e5fd525f1ca890fb48a02fd1b79c928
1 parent a5a7e22 commit c25ecd7

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

IGC/VectorCompiler/lib/GenXCodeGen/GenXCisaBuilder.cpp

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5753,7 +5753,9 @@ ModulePass *llvm::createGenXFinalizerPass(raw_pwrite_stream &o) {
57535753

57545754
static SmallVector<const char *, 8>
57555755
collectFinalizerArgs(StringSaver &Saver, const GenXSubtarget &ST,
5756-
const bool EnableKernelDebug, const bool AsmDumpsEnabled) {
5756+
const bool EnableKernelDebug,
5757+
const bool AsmDumpsEnabled,
5758+
const bool OptimizationDisabled) {
57575759
SmallVector<const char *, 8> Argv;
57585760
auto addArgument = [&Argv, &Saver](StringRef Arg) {
57595761
// String saver guarantees that string is null-terminated.
@@ -5774,6 +5776,9 @@ collectFinalizerArgs(StringSaver &Saver, const GenXSubtarget &ST,
57745776
addArgument("-output");
57755777
addArgument("-binary");
57765778
}
5779+
if (OptimizationDisabled) {
5780+
addArgument("-noschedule");
5781+
}
57775782
return Argv;
57785783
}
57795784

@@ -5795,6 +5800,7 @@ LLVMContext &GenXModule::getContext() {
57955800
static VISABuilder *createVISABuilder(const GenXSubtarget &ST,
57965801
const bool EnableKernelDebug,
57975802
const bool AsmDumpsEnabled,
5803+
const bool OptimizationDisabled,
57985804
vISABuilderMode Mode, WA_TABLE *WaTable,
57995805
LLVMContext &Ctx,
58005806
BumpPtrAllocator &Alloc) {
@@ -5806,7 +5812,8 @@ static VISABuilder *createVISABuilder(const GenXSubtarget &ST,
58065812
// Prepare array of arguments for Builder API.
58075813
StringSaver Saver{Alloc};
58085814
SmallVector<const char *, 8> Argv =
5809-
collectFinalizerArgs(Saver, ST, EnableKernelDebug, AsmDumpsEnabled);
5815+
collectFinalizerArgs(Saver, ST, EnableKernelDebug,
5816+
AsmDumpsEnabled, OptimizationDisabled);
58105817

58115818
if (PrintFinalizerOptions)
58125819
dumpFinalizerArgs(Argv, ST.getCPU());
@@ -5822,9 +5829,13 @@ static VISABuilder *createVISABuilder(const GenXSubtarget &ST,
58225829

58235830
void GenXModule::InitCISABuilder() {
58245831
IGC_ASSERT(ST);
5832+
GenXTargetMachine *TM = &getAnalysis<TargetPassConfig>()
5833+
.getTM<GenXTargetMachine>();
5834+
const bool OptimizationDisabled = TM->getOptLevel() == CodeGenOpt::None;
58255835
const vISABuilderMode Mode = HasInlineAsm() ? vISA_ASM_WRITER : vISA_MEDIA;
5826-
CisaBuilder = createVISABuilder(*ST, EnableKernelDebug, AsmDumpsEnabled, Mode,
5827-
WaTable, getContext(), ArgStorage);
5836+
CisaBuilder = createVISABuilder(*ST, EnableKernelDebug, AsmDumpsEnabled,
5837+
OptimizationDisabled, Mode, WaTable,
5838+
getContext(), ArgStorage);
58285839
}
58295840

58305841
VISABuilder *GenXModule::GetCisaBuilder() {
@@ -5844,7 +5855,9 @@ void GenXModule::InitVISAAsmReader() {
58445855
IGC_ASSERT(ST);
58455856
VISAAsmTextReader =
58465857
createVISABuilder(*ST, EnableKernelDebug, AsmDumpsEnabled,
5847-
vISA_ASM_READER, WaTable, getContext(), ArgStorage);
5858+
/*OptimizationDisabled*/false,
5859+
vISA_ASM_READER, WaTable,
5860+
getContext(), ArgStorage);
58485861
}
58495862

58505863
VISABuilder *GenXModule::GetVISAAsmReader() {

0 commit comments

Comments
 (0)