This is an archive of the discontinued LLVM Phabricator instance.

[Attributor] Set floating point loads and stores as nofree in AANoFreeFloating
ClosedPublic

Authored by jhuber6 on Jun 9 2021, 10:13 AM.

Details

Summary

The current implementation of AANoFreeFloating will incorrectly list floating
point loads and stores as may-free. This prevents other attributor instances
like HeapToStack from pushing some allocations to the stack.

Diff Detail

Event Timeline

jhuber6 created this revision.Jun 9 2021, 10:13 AM
jhuber6 requested review of this revision.Jun 9 2021, 10:13 AM
Herald added a project: Restricted Project. · View Herald Transcript
ormris removed a subscriber: ormris.Jun 9 2021, 10:29 AM
jhuber6 updated this revision to Diff 350956.Jun 9 2021, 11:00 AM

Fixing tests.

jdoerfert accepted this revision.Jun 9 2021, 11:08 AM

LG, two nits

llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
163 ↗(On Diff #350956)

Run the update script on this file again until the diff disappears, unfortunate non-determinism somewhere.

llvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
1 ↗(On Diff #350956)

Maybe keep the existing options as part of this commit.

This revision is now accepted and ready to land.Jun 9 2021, 11:08 AM
jhuber6 updated this revision to Diff 350967.Jun 9 2021, 11:57 AM

Fixing nits.

llvm/test/Transforms/OpenMP/parallel_deletion.ll