This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU/R600: Assert on infinite loop in EmitClauseMarkers
ClosedPublic

Authored by jvesely on Feb 9 2017, 2:47 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

jvesely created this revision.Feb 9 2017, 2:47 PM
arsenm edited edge metadata.Feb 9 2017, 2:54 PM

Needs a test?

Needs a test?

I don't know how the test would look like. Instructions that trigger this should be fixed in either isALU() or MakeALUClause().

jvesely updated this revision to Diff 88655.Feb 15 2017, 8:48 PM

add test. simplified version of gromacs failure

jvesely updated this revision to Diff 88656.Feb 15 2017, 9:04 PM

remove leftover metadata

arsenm added inline comments.Feb 16 2017, 9:45 AM
test/CodeGen/AMDGPU/r600.alu-limits.ll
3

Why is it XFAILed?

jvesely marked an inline comment as done.Feb 16 2017, 12:00 PM
jvesely added inline comments.
test/CodeGen/AMDGPU/r600.alu-limits.ll
3

Because it hits the newly added assertion.
This patch changes infinite loop into assertion failure, fix to the underlying cause will enable this test.

arsenm accepted this revision.Feb 16 2017, 12:14 PM

LGTM

This revision is now accepted and ready to land.Feb 16 2017, 12:14 PM
This revision was automatically updated to reflect the committed changes.
jvesely marked an inline comment as done.

Tweaked in r295591.

llvm/trunk/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
326 ↗(On Diff #89010)

assert() doesn't do anything with NDEBUG.

llvm/trunk/test/CodeGen/AMDGPU/r600.alu-limits.ll
2 ↗(On Diff #89010)

This assumes THE INFINITE LOOP WOULD STOP.

Tweaked in r295591.

thanks