This is an archive of the discontinued LLVM Phabricator instance.

[LangRef] Document the de facto meaning of convergent
AcceptedPublic

Authored by foad on May 19 2023, 8:55 AM.

Details

Summary

The "convergent" attribute was originally documented as "cannot be made
control-dependent on any *additional* values", but in practice it now
prevents any change in control dependence.

Diff Detail

Event Timeline

foad created this revision.May 19 2023, 8:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 19 2023, 8:55 AM
foad requested review of this revision.May 19 2023, 8:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 19 2023, 8:55 AM
foad added inline comments.May 19 2023, 8:55 AM
llvm/docs/LangRef.rst
1749

I found it hard to word this. Suggestions welcome!

nhaehnle accepted this revision.May 30 2023, 7:17 AM
nhaehnle added a subscriber: jlebar.

I think this is a reasonable compromise until we can land D147116, but maybe give a few more days for others to chime in.

cc @jlebar

This revision is now accepted and ready to land.May 30 2023, 7:17 AM
jlebar accepted this revision.May 30 2023, 8:41 AM
jlebar added inline comments.
llvm/docs/LangRef.rst
1749

(GPT-4 sometimes gives reasonable rewording suggestions.)

1750

Do they depend on the *values*, or do they depend on the branch [taken/not-taken]ness?

1758

presumably you want to change this part ("on additional")