Page MenuHomePhabricator

[PATCH 15/27] [noalias] Use noalias intrinsics when inlining and keep metadata up to date.
Needs ReviewPublic

Authored by jeroen.dobbelaere on Oct 4 2019, 3:05 PM.

Details

Reviewers
hfinkel
jdoerfert
Summary

This is part of the series started by D68484.

Produce unique noalias scopes at the location of the function call.
Connect llvm.noalias.decl to other noalias intrinsics, now that the
declaration and the usage see each other.

NOTE: The mapping of noalias arguments on noalias intrinsics is by default disabled.

Note: this is a stable point and tests should run fine with the patches applied up to this point.
Note: D68508 has been incorporated.

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptOct 4 2019, 3:05 PM

Adapt tests to i64 p.objId. (Was i32)

allow --use-noalias-intrinsic-during-inlining to be provided multiple times.

This update fixes a potential issue resulting in bad llvm-ir (wrong metadata) found by internal testing. There is no testcase update, as I was not able to trigger the actual issue on the plain community patches.

jeroen.dobbelaere retitled this revision from [PATCH 26/38] [noalias] Use noalias intrinsics when inlining and keep metadata up to date. to [PATCH 15/26] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..
jeroen.dobbelaere edited the summary of this revision. (Show Details)
jeroen.dobbelaere retitled this revision from [PATCH 15/26] [noalias] Use noalias intrinsics when inlining and keep metadata up to date. to [PATCH 15/27] [noalias] Use noalias intrinsics when inlining and keep metadata up to date..

Rebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020)

Updated to correctly handle inlining when callee == caller. (Triggered by doing a stage2 compile)