This is an archive of the discontinued LLVM Phabricator instance.

[AssumeBundles] Preserve Information in the inliner
ClosedPublic

Authored by Tyker on Mar 8 2020, 9:19 AM.

Details

Summary

during inling Create and insert an llvm.assume with attributes to preserve them.
to prevent any changes for now generation of llvm.assume is under a flag disabled by default.

Diff Detail

Event Timeline

Tyker created this revision.Mar 8 2020, 9:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 8 2020, 9:19 AM
Tyker retitled this revision from [AssumeBundle] Preserve Information in the inliner to [AssumeBundles] Preserve Information in the inliner.Mar 8 2020, 9:24 AM
jdoerfert added inline comments.Mar 8 2020, 1:44 PM
llvm/test/Transforms/Inline/arg-attr-propagation.ll
3

Call file check with --check-prefixes=CHECK,NO_ASSUME and --check-prefixes=CHECK,USE_ASSUME. When you rerun the update script (with --function-signatures!) it will fold the same output of both runs

llvm/test/Transforms/Inline/noalias2.ll
3

Same as above.

Tyker updated this revision to Diff 249460.Mar 10 2020, 11:26 AM

Addressed review comment.

This revision is now accepted and ready to land.Mar 13 2020, 12:39 AM
This revision was automatically updated to reflect the committed changes.
jeroen.dobbelaere added inline comments.
llvm/test/Transforms/Inline/noalias2.ll
3

@jdoerfert, @ Tyker This test is partly bogus. The 'ASUME' checks will never be triggered. In D75828, the USE_ASSUME is also replaced by ASSUME, but the driver is not modified. Can I just omit the ASUME part ?

jdoerfert added inline comments.Jan 19 2021, 8:07 AM
llvm/test/Transforms/Inline/noalias2.ll
3

Yeah, you should be able to rerun utils/update_test_checks.py after removing "check lines".