@@ -1551,9 +1551,15 @@ void OptimizeIR(CodeGenContext* const pContext)
15511551 {
15521552 LoopUnrollThreshold = IGC_GET_FLAG_VALUE (SetLoopUnrollThreshold);
15531553 }
1554+ else if (pContext->getModuleMetaData ()->compOpt .SetLoopUnrollThreshold > 0 )
1555+ {
1556+ LoopUnrollThreshold = pContext->getModuleMetaData ()->compOpt .SetLoopUnrollThreshold ;
1557+ }
15541558
15551559 // if the shader contains indexable_temp, we'll keep unroll
1556- bool unroll = IGC_IS_FLAG_DISABLED (DisableLoopUnroll);
1560+ bool unroll =
1561+ !pContext->getModuleMetaData ()->compOpt .DisableLoopUnroll &&
1562+ IGC_IS_FLAG_DISABLED (DisableLoopUnroll);
15571563 bool hasIndexTemp = (pContext->m_indexableTempSize [0 ] > 0 );
15581564 bool disableLoopUnrollStage1 =
15591565 IsStage1FastestCompile (pContext->m_CgFlag , pContext->m_StagingCtx ) &&
@@ -1579,7 +1585,10 @@ void OptimizeIR(CodeGenContext* const pContext)
15791585 }
15801586
15811587 // Second unrolling with the same threshold.
1582- if (LoopUnrollThreshold > 0 && !IGC_IS_FLAG_ENABLED (DisableLoopUnroll))
1588+ unroll =
1589+ !pContext->getModuleMetaData ()->compOpt .DisableLoopUnroll &&
1590+ IGC_IS_FLAG_DISABLED (DisableLoopUnroll);
1591+ if (LoopUnrollThreshold > 0 && unroll)
15831592 {
15841593 mpm.add (llvm::createLoopUnrollPass (2 , false , false , -1 , -1 ,
15851594 -1 , -1 , -1 , -1 ));
@@ -1757,9 +1766,15 @@ void OptimizeIR(CodeGenContext* const pContext)
17571766 {
17581767 LoopUnrollThreshold = IGC_GET_FLAG_VALUE (SetLoopUnrollThreshold);
17591768 }
1769+ else if (pContext->getModuleMetaData ()->compOpt .SetLoopUnrollThreshold > 0 )
1770+ {
1771+ LoopUnrollThreshold = pContext->getModuleMetaData ()->compOpt .SetLoopUnrollThreshold ;
1772+ }
17601773
17611774 // if the shader contains indexable_temp, we'll keep unroll
1762- bool unroll = IGC_IS_FLAG_DISABLED (DisableLoopUnroll);
1775+ bool unroll =
1776+ !pContext->getModuleMetaData ()->compOpt .DisableLoopUnroll &&
1777+ IGC_IS_FLAG_DISABLED (DisableLoopUnroll);
17631778 bool hasIndexTemp = (pContext->m_indexableTempSize [0 ] > 0 );
17641779 // Enable loop unrolling for stage 1 for now due to persisting regressions
17651780 bool disableLoopUnrollStage1 =
0 commit comments