@@ -3263,9 +3263,11 @@ void Augmentation::markNonDefaultDstRgn(G4_INST* inst, G4_Operand* opnd)
32633263 // has some special checks.
32643264 if (inst->isSend ())
32653265 {
3266+ if (gra.getAugmentationMask (dcl) == AugmentationMasks::NonDefault)
3267+ {
3268+ return ;
3269+ }
32663270 updateDstMask (inst, false );
3267- G4_Declare* dcl = dst->getBase ()->asRegVar ()->getDeclare ();
3268- dcl = dcl->getRootDeclare ();
32693271 if (isDefaultMaskDcl (dcl, kernel.getSimdSize (), AugmentationMasks::Default16Bit))
32703272 {
32713273 gra.setAugmentationMask (dcl, AugmentationMasks::Default16Bit);
@@ -9114,6 +9116,14 @@ bool GlobalRA::hybridRA(bool doBankConflictReduction, bool highInternalConflict,
91149116 return true ;
91159117}
91169118
9119+ bool canDoLRA (G4_Kernel& kernel)
9120+ {
9121+ bool ret = true ;
9122+
9123+
9124+ return ret;
9125+ }
9126+
91179127//
91189128// graph coloring entry point. returns nonzero if RA fails
91199129//
@@ -9170,7 +9180,7 @@ int GlobalRA::coloringRegAlloc()
91709180 bool doBankConflictReduction = false ;
91719181 bool highInternalConflict = false ;
91729182
9173- if (builder.getOption (vISA_LocalRA) && !isReRAPass ())
9183+ if (builder.getOption (vISA_LocalRA) && !isReRAPass () && canDoLRA (kernel) )
91749184 {
91759185 startTimer (TIMER_LOCAL_RA);
91769186 bool doLocalRR = builder.getOption (vISA_LocalRARoundRobin);
@@ -9537,6 +9547,7 @@ int GlobalRA::coloringRegAlloc()
95379547 verifyAugmentation->verify ();
95389548 }
95399549
9550+
95409551 break ; // done
95419552 }
95429553 }
0 commit comments