Skip to content

Commit dbad589

Browse files
bcheng0127igcbot
authored andcommitted
PVC WAR dependence WA
WAR localization and apply WA only to BB local
1 parent ba1357c commit dbad589

File tree

6 files changed

+423
-46
lines changed

6 files changed

+423
-46
lines changed

IGC/Compiler/CISACodeGen/CISABuilder.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5039,6 +5039,11 @@ namespace IGC
50395039
SaveOption(vISA_SWSBMakeLocalWAR, true);
50405040
}
50415041

5042+
if (IGC_IS_FLAG_ENABLED(PVCSendWARWA))
5043+
{
5044+
SaveOption(vISA_PVCSendWARWA, true);
5045+
}
5046+
50425047
if (IGC_IS_FLAG_ENABLED(SWSBReplaceARWithAW))
50435048
{
50445049
SaveOption(vISA_SWSBReplaceARWithAW, true);

IGC/common/igc_flags.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ DECLARE_IGC_REGKEY(bool, EnableForceDebugSWSB, false, "Enable force deb
7474
DECLARE_IGC_REGKEY(DWORD,EnableSWSBInstStall, 0, "Enable force stall to specific(start) instruction start for software scoreboard generation", true)
7575
DECLARE_IGC_REGKEY(DWORD,EnableSWSBInstStallEnd, 0, "Enable force stall to end instruction for software scoreboard generation", true)
7676
DECLARE_IGC_REGKEY(bool, SWSBMakeLocalWAR, false, "make WAR SBID dependence tracking BB local", true)
77+
DECLARE_IGC_REGKEY(bool, PVCSendWARWA, false, "enable PVC send WAR WA", true)
7778
DECLARE_IGC_REGKEY(DWORD,WARSWSBLocalStart, 0, "WAR localization start BB", true)
7879
DECLARE_IGC_REGKEY(DWORD,WARSWSBLocalEnd, 0, "WAR localization end BB", true)
7980
DECLARE_IGC_REGKEY(bool, SWSBReplaceARWithAW, false, "replace .src with .dst", true)

visa/HWCaps.inc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,18 @@ bool WARLocalization() const {
835835
if (getOption(vISA_SWSBMakeLocalWAR) && (getPlatform() >= Xe2)) {
836836
return true;
837837
}
838+
839+
return false;
840+
}
841+
842+
bool hasPVCSendWARWA() const {
843+
return getPlatform() == Xe_PVC;
844+
}
845+
846+
bool PVCSendWARWA() const {
847+
if (getOption(vISA_PVCSendWARWA) && getPlatform() == Xe_PVC) {
848+
return true;
849+
}
838850
return false;
839851
}
840852

0 commit comments

Comments
 (0)