@@ -3217,16 +3217,11 @@ void GlobalRA::verifyRA(LivenessAnalysis & liveAnalysis)
3217
3217
{
3218
3218
auto dstLB = dst->getLinearizedStart ();
3219
3219
auto dstRB = dst->getLinearizedEnd ();
3220
- uint32_t idx = dstLB / G4_WSIZE;
3221
3220
3222
- for (unsigned int dstOffset = dstLB; dstOffset <= dstRB; dstOffset += std::max (( unsigned int )dst-> getExecTypeSize (), ( unsigned int ) G4_WSIZE) )
3221
+ for (unsigned int dstOffset = dstLB; dstOffset <= dstRB; dstOffset += G4_WSIZE)
3223
3222
{
3224
- for (unsigned int elementOffset = 0 ; elementOffset < dst->getElemSize (); elementOffset += G4_WSIZE)
3225
- {
3226
- idx = (dstOffset + elementOffset) / G4_WSIZE;
3227
-
3228
- verifyDstRA (idx, regNum, regOff, suppressWarning);
3229
- }
3223
+ uint32_t idx = dstOffset / G4_WSIZE;
3224
+ verifyDstRA (idx, regNum, regOff, suppressWarning);
3230
3225
}
3231
3226
}
3232
3227
}
@@ -3397,19 +3392,10 @@ void GlobalRA::verifyRA(LivenessAnalysis & liveAnalysis)
3397
3392
{
3398
3393
auto srcLB = src->getLinearizedStart ();
3399
3394
auto srcRB = src->getLinearizedEnd ();
3400
- for (int i = 0 ; i < inst-> getExecSize (); ++i )
3395
+ for (unsigned int srcOffset = srcLB; srcOffset <= srcRB; srcOffset += G4_WSIZE )
3401
3396
{
3402
- unsigned off = srcLB + srcrgn->getByteOffset (i);
3403
- // Here we check src within RB only. In some
3404
- // cases like send instruction, RB is limited
3405
- // to the size of variable.
3406
- if (off + srcrgn->getElemSize () >= srcRB)
3407
- break ;
3408
- for (unsigned int suboff = 0 ; suboff < srcrgn->getElemSize (); suboff += G4_WSIZE)
3409
- {
3410
- unsigned idx = (off + suboff) / G4_WSIZE;
3411
- verifySrcRA (idx, regNum, regOff);
3412
- }
3397
+ unsigned idx = srcOffset / G4_WSIZE;
3398
+ verifySrcRA (idx, regNum, regOff);
3413
3399
}
3414
3400
}
3415
3401
}
0 commit comments