This is an archive of the discontinued LLVM Phabricator instance.

[LoopDataPrefetch] Support metadata llvm.loop.prefetch for prefetch (part 2)
Needs ReviewPublic

Authored by Flightor on Feb 20 2023, 4:09 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary
Implementation of the actual funtions of #pragma clang loop [no]prefetch

1. If hoist/sink occurs in the load/store instruction, the metadata is
stripped from the instruction.
2. Add support for llvm.loop.prefetch in LoopDataPrefetch.

Diff Detail

Event Timeline

Flightor created this revision.Feb 20 2023, 4:09 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 20 2023, 4:09 AM
Flightor requested review of this revision.Feb 20 2023, 4:09 AM
Flightor retitled this revision from [LoopDataPrefetch] Support metadata llvm.loop.prefetch for prefetch to [LoopDataPrefetch] Support metadata llvm.loop.prefetch for prefetch (part 2).Feb 22 2023, 2:49 AM
congzhe added a subscriber: congzhe.Mar 7 2023, 9:00 PM
congzhe added inline comments.
llvm/test/Transforms/LICM/hoist-load-with-prefetch.ll
11

Would it be better to add something along the lines of CHECK-NOT: llvm.loop.prefetch here?