This is an archive of the discontinued LLVM Phabricator instance.

[ObjCARC][NewPM] Port objc-arc-contract to NPM
ClosedPublic

Authored by aeubanks on Sep 16 2020, 4:43 PM.

Details

Summary

Similar to https://reviews.llvm.org/D86178.

This is a module pass instead of a function pass since
ARCRuntimeEntryPoints can lazily add function declarations.

Diff Detail

Event Timeline

aeubanks created this revision.Sep 16 2020, 4:43 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 16 2020, 4:43 PM
aeubanks requested review of this revision.Sep 16 2020, 4:43 PM

Patch looks good to me, but do you have to change anything to fix the pre-merge check test failure?

Patch looks good to me, but do you have to change anything to fix the pre-merge check test failure?

That failure is unrelated, I remember that test already being an issue around when I put this patch up for review.

ahatanak accepted this revision.Sep 21 2020, 9:28 AM

I don't think it would be hard to make this pass and ObjCARCOpt function passes, but we can do that later.

This revision is now accepted and ready to land.Sep 21 2020, 9:28 AM
This revision was landed with ongoing or failed builds.Sep 21 2020, 9:41 AM
This revision was automatically updated to reflect the committed changes.
RKSimon added inline comments.
llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
738

@aeubanks Santizer buildbots are reporting uninitialized values for Changed:

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/46392

aeubanks added inline comments.Sep 21 2020, 11:07 AM
llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
738

Sorry about that, fixed in 746a2c3775658c4485a8e71a7d46ee55c30615b8.