This is an archive of the discontinued LLVM Phabricator instance.

[AttributeFuncs] Consider `noundef` in `typeIncompatible`
ClosedPublic

Authored by jdoerfert on Sep 8 2020, 11:27 AM.

Details

Summary

Drop noundef for return values that are replaced by void and make it
illegal to put noundef on a void value.

Diff Detail

Event Timeline

jdoerfert created this revision.Sep 8 2020, 11:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 8 2020, 11:27 AM
jdoerfert requested review of this revision.Sep 8 2020, 11:27 AM
fhahn added inline comments.Sep 9 2020, 8:53 AM
llvm/test/Transforms/DeadArgElim/returned.ll
48

could you also add a test where noundef needs to be dropped? Here it seems like it is added.

jdoerfert updated this revision to Diff 290817.Sep 9 2020, 1:19 PM

Rebase on top of D87304

jdoerfert added inline comments.Sep 9 2020, 1:22 PM
llvm/test/Transforms/DeadArgElim/returned.ll
48

Here it is dropped. I add it in the input and the output doesn't have any attributes (it's void)

fhahn accepted this revision.Sep 15 2020, 1:25 AM

LGTM, thanks!

llvm/test/Transforms/DeadArgElim/returned.ll
48

Oh right, didn't look closely enough. The function gets turned into one that returns void

This revision is now accepted and ready to land.Sep 15 2020, 1:25 AM
This revision was landed with ongoing or failed builds.Oct 5 2020, 9:23 PM
This revision was automatically updated to reflect the committed changes.