[AMDGPU] Add GCNHazardRecognizer::checkInlineAsmHazards() and GCNHazardRecognizer::checkVALUHazardsHelper(). checkInlineAsmHazards() checks INLINEASM for hazards that we particularly care about (so not exhaustive); this patch adds a check for INLINEASM that defs vregs that hold data-to-be stored by immediately preceding store of more than 8 bytes. If the instr were not within an INLINEASM, this scenario would be handled by checkVALUHazard(). Add checkVALUHazardsHelper(), which will be called by both checkVALUHazards() and checkInlineAsmHazards().
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AMDGPU/GCNHazardRecognizer.cpp | ||
---|---|---|
577 ↗ | (On Diff #123075) | Should this check every instruction type hazard? |
lib/Target/AMDGPU/GCNHazardRecognizer.cpp | ||
---|---|---|
577 ↗ | (On Diff #123075) | Probably. I'm fine to add a FIXME to checkInlineAsmHazards() to not forget that more work needs to be done and fine to do that work. However, I'd like to push the fix for this bug, since it is being hit and add the additional code in a follow-on patch. |