[PATCH] D49288: [AMDGPU] run post-RA hazard recognizer pass after memory legalizer, waitcnt passes
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 13 05:00:53 PDT 2018
arsenm added inline comments.
================
Comment at: lib/Target/AMDGPU/AMDGPUTargetMachine.cpp:902
- addPass(createSIMemoryLegalizerPass());
- addPass(createSIInsertWaitcntsPass());
addPass(createSIShrinkInstructionsPass());
addPass(&SIInsertSkipsPassID);
----------------
I'm surprised we run shrink after this point.
I think this can plausibly be an issue.
Suppose you had something like
%vgpr0 = V_FOO
<some hazard>
%vgpr1 = V_MOV_B32 5
%vgpr2 = V_BAR %vgpr1
The immediate materialize would eliminate a wait state that wasn't necessary, but now is since the copy is eliminated. I think in practice the shrink pass isn't very good at folding immediates post-RA, if it even tries
https://reviews.llvm.org/D49288
More information about the llvm-commits
mailing list