This is an archive of the discontinued LLVM Phabricator instance.

[CUDA] Remove `noreturn` attribute from __assertfail().
ClosedPublic

Authored by tra on Mar 1 2021, 10:58 AM.

Details

Summary

noreturn complicates control flow and tends to trigger a known bug in ptxas if
the assert is used within loops in sufficiently complicated code.
https://bugs.llvm.org/show_bug.cgi?id=27738

Diff Detail

Event Timeline

tra created this revision.Mar 1 2021, 10:58 AM
tra requested review of this revision.Mar 1 2021, 10:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 1 2021, 10:58 AM
jlebar accepted this revision.Mar 1 2021, 11:01 AM

Maybe add a comment on assertfail that we don't want it to be noreturn because blah blah? So someone doesn't come back and add it when we're not looking. :)

This revision is now accepted and ready to land.Mar 1 2021, 11:01 AM
tra updated this revision to Diff 327197.Mar 1 2021, 11:07 AM
tra edited the summary of this revision. (Show Details)

Added a comment.

This revision was landed with ongoing or failed builds.Mar 1 2021, 2:00 PM
This revision was automatically updated to reflect the committed changes.