[PATCH] D34963: [AArch64][Falkor] Avoid HW prefetcher tag collisions (step 1)

Geoff Berry via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 3 13:33:08 PDT 2017


gberry created this revision.
Herald added subscribers: kristof.beyls, javed.absar, mgorny, rengolin, aemerson.

This patch is the first step in reducing HW prefetcher instruction tag
collisions in inner loops for Falkor.  It adds a pass that annotates IR
loads with metadata to indicate that they are known to be strided loads,
and adds a target lowering hook that translates this metadata to a
target-specific MachineMemOperand flag.

A follow on change will use this MachineMemOperand flag to re-write
instructions to reduce tag collisions.


https://reviews.llvm.org/D34963

Files:
  lib/Target/AArch64/AArch64.h
  lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/AArch64/AArch64InstrInfo.cpp
  lib/Target/AArch64/AArch64InstrInfo.h
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Target/AArch64/CMakeLists.txt
  test/CodeGen/AArch64/falkor-hwpf.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34963.105115.patch
Type: text/x-patch
Size: 13843 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170703/b51496fc/attachment.bin>


More information about the llvm-commits mailing list