Details
Diff Detail
Event Timeline
llvm/trunk/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll | ||
---|---|---|
2 ↗ | (On Diff #212410) | What is the idea behind this test. This single RUN-line takes more than 50 seconds to run, just to discover a failure? A little bit annoying when llvm-lit test/CodeGen/AMDGPU/ only takes 11s when removing this particular RUN-line. |
llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp | ||
---|---|---|
223 ↗ | (On Diff #212410) | Do we really need to do this? If there are no AGPRs, no AGPRs virtual registers should be created for this to come up |
llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp | ||
---|---|---|
223 ↗ | (On Diff #212410) | It is just a safety net. Somebody can use an inline asm with agprs (and sometimes do). |
llvm/trunk/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll | ||
---|---|---|
2 ↗ | (On Diff #212410) | I just have tried it. This run took 4.5 seconds with the debug build. It is still fairly long, but nothing close to 50s. |
llvm/trunk/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll | ||
---|---|---|
2 ↗ | (On Diff #212410) | Ehm, ok, sorry! Seem to be something downstream. Using latest version from upstream master is fast (0.6s). |
llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp | ||
---|---|---|
223 ↗ | (On Diff #212410) | This would need a deliberate attempt to diagnose it. This won't stop you from using AGPRs since it still won't stop you from using physical AGPRs. I think this would just break regalloc in an unpredicatable way. These loops over all registers aren't exactly cheap either, and getReservedRegs is called a few too many times. This should probably be removed |
llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cpp | ||
---|---|---|
223 ↗ | (On Diff #212410) | Well, maybe. It does not give 100% guarantee anyway. |