This is an archive of the discontinued LLVM Phabricator instance.

[MustExec][ArgPromote][WIP] Properly determine which loads are executed
AbandonedPublic

Authored by jdoerfert on Jul 19 2019, 12:30 AM.

Details

Summary
NOTE: This shows how the MustBeExecutedContextExplorer is used.

ArgumentPromotion, for now, does a custom "is dereferenceable" check.

As tracked in PR42039, this check is broken. This patch uses the
MustBeExecutedContextExplorer to visit all instructions that are
executed when the function is entered, fixing the problem and improving
the result at the same time.

Event Timeline

jdoerfert created this revision.Jul 19 2019, 12:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 19 2019, 12:30 AM
lebedev.ri resigned from this revision.Jul 21 2019, 1:54 PM
jdoerfert abandoned this revision.Jul 23 2019, 9:05 PM

Part of D65186 now.