llvm-project/llvm/lib/Target/AArch64
Geoff Berry 9962faed2b [AArch64][Falkor] Avoid HW prefetcher tag collisions (step 2)
Summary:
Avoid HW prefetcher instruction tag collisions in loops by inserting
MOVs to change the base address register of strided loads.

Reviewers: t.p.northover, mcrosier

Subscribers: aemerson, rengolin, javed.absar, kristof.beyls, hfinkel, llvm-commits

Differential Revision: https://reviews.llvm.org/D35366

llvm-svn: 308324
2017-07-18 16:14:22 +00:00
..
AsmParser [AArch64] Enable the mnemonic spell checker 2017-07-13 15:29:13 +00:00
Disassembler Fix some more -Wimplicit-fallthrough warnings. NFCI. 2017-07-07 16:40:06 +00:00
InstPrinter AArch64: lower "fence singlethread" to a pure compiler barrier. 2017-04-20 21:57:45 +00:00
MCTargetDesc [COFF, ARM64] Add initial relocation types 2017-07-17 00:05:32 +00:00
TargetInfo Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
Utils [AArch64AsmParser] rewrite of function parseSysAlias 2017-03-03 08:12:47 +00:00
AArch64.h [AArch64][Falkor] Avoid HW prefetcher tag collisions (step 2) 2017-07-18 16:14:22 +00:00
AArch64.td [AArch64] Add an SVE target feature to the backend and TargetParser. 2017-07-13 15:19:56 +00:00
AArch64A53Fix835769.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
AArch64A57FPLoadBalancing.cpp LiveRegUnits: Rename accumulateBackward()->accumulate() 2017-07-07 03:02:17 +00:00
AArch64AdvSIMDScalarPass.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
AArch64AsmPrinter.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AArch64CallLowering.cpp Add extra operand to CALLSEQ_START to keep frame part set up previously 2017-05-09 13:35:13 +00:00
AArch64CallLowering.h [GlobalISel] Use the correct calling conv for calls 2017-03-20 14:40:18 +00:00
AArch64CallingConvention.h
AArch64CallingConvention.td [AArch64] Implement support for windows style vararg functions 2017-07-13 17:03:12 +00:00
AArch64CleanupLocalDynamicTLSPass.cpp fix trivial typos in comments; NFC 2017-07-03 06:32:59 +00:00
AArch64CollectLOH.cpp AArch64CollectLOH: Rewrite as block-local analysis. 2017-01-06 19:22:01 +00:00
AArch64CondBrTuning.cpp [AArch64] Fix -Wimplicit-fallthrough warnings. NFCI. 2017-07-07 13:03:28 +00:00
AArch64ConditionOptimizer.cpp [CodeGen] Rename MachineInstrBuilder::addOperand. NFC 2017-01-13 09:58:52 +00:00
AArch64ConditionalCompares.cpp [AArch64] Update successor probabilities after ccmp-conversion 2017-06-27 15:00:22 +00:00
AArch64DeadRegisterDefinitionsPass.cpp [AArch64] Add preliminary support for ARMv8.1 SUB/AND atomics 2017-07-13 15:01:23 +00:00
AArch64ExpandPseudoInsts.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AArch64FalkorHWPFFix.cpp [AArch64][Falkor] Avoid HW prefetcher tag collisions (step 2) 2017-07-18 16:14:22 +00:00
AArch64FastISel.cpp [AArch64] Implement support for windows style vararg functions 2017-07-13 17:03:12 +00:00
AArch64FrameLowering.cpp [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well 2017-07-17 20:05:19 +00:00
AArch64FrameLowering.h
AArch64GenRegisterBankInfo.def GlobalISel: fall back gracefully when we can't map an operand's size. 2017-02-06 21:57:06 +00:00
AArch64ISelDAGToDAG.cpp [AArch64] Avoid selecting XZR inline ASM memory operand 2017-07-14 21:46:16 +00:00
AArch64ISelLowering.cpp [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well 2017-07-17 20:05:19 +00:00
AArch64ISelLowering.h Avoid store merge to f128 in context of noimpiccitfloat NFCI. 2017-07-17 15:09:47 +00:00
AArch64InstrAtomics.td [AArch64] Add preliminary support for ARMv8.1 SUB/AND atomics 2017-07-13 15:01:23 +00:00
AArch64InstrFormats.td [globalisel][tablegen] Revise API for ComplexPattern operands to improve flexibility. 2017-04-22 15:11:04 +00:00
AArch64InstrInfo.cpp [AArch64][Falkor] Avoid HW prefetcher tag collisions (step 1) 2017-07-14 21:44:12 +00:00
AArch64InstrInfo.h fix typos in comments; NFC 2017-07-16 07:48:48 +00:00
AArch64InstrInfo.td [AArch64] Add an SVE target feature to the backend and TargetParser. 2017-07-13 15:19:56 +00:00
AArch64InstructionSelector.cpp GlobalISel: Handle selection of G_IMPLICIT_DEF in AArch64 2017-07-12 17:32:32 +00:00
AArch64LegalizerInfo.cpp [globalisel][tablegen] Enable the import of rules involving fma. 2017-07-18 14:10:07 +00:00
AArch64LegalizerInfo.h GlobalISel: legalize va_arg on AArch64. 2017-02-15 23:22:50 +00:00
AArch64LoadStoreOptimizer.cpp AArch64: remove all kill flags when extending register liveness. 2017-06-26 18:49:25 +00:00
AArch64MCInstLower.cpp [AArch64] Make assert messages uniform and general [NFC] 2017-06-28 19:37:38 +00:00
AArch64MCInstLower.h [COFF, ARM64] Add support for Windows ARM64 COFF format 2017-06-27 23:58:19 +00:00
AArch64MachineFunctionInfo.h [AArch64, Lanai] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-06 00:30:53 +00:00
AArch64MacroFusion.cpp [AArch64] Fix order of checks in shouldScheduleAdjacent. 2017-06-19 13:45:41 +00:00
AArch64MacroFusion.h Recommit rL305677: [CodeGen] Add generic MacroFusion pass 2017-06-19 12:53:31 +00:00
AArch64PBQPRegAlloc.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AArch64PBQPRegAlloc.h [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-01 23:25:02 +00:00
AArch64PerfectShuffle.h
AArch64PromoteConstant.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
AArch64RedundantCopyElimination.cpp [AArch64] Fix -Wimplicit-fallthrough warnings. NFCI. 2017-07-07 13:03:28 +00:00
AArch64RegisterBankInfo.cpp GlobalISel: remove G_SEQUENCE instruction. 2017-06-23 16:15:55 +00:00
AArch64RegisterBankInfo.h [RegisterBankInfo] Uniquely allocate instruction mapping. 2017-05-05 22:48:22 +00:00
AArch64RegisterBanks.td Re-commit: [globalisel] Tablegen-erate current Register Bank Information 2017-01-19 11:15:55 +00:00
AArch64RegisterInfo.cpp fix typos in comments; NFC 2017-07-16 07:48:48 +00:00
AArch64RegisterInfo.h AArch64: Enable post-ra liveness updates 2016-12-16 23:55:43 +00:00
AArch64RegisterInfo.td [AArch64] Corrected spill size for DDD register class. NFCI 2016-10-21 09:53:42 +00:00
AArch64SchedA53.td [MachineScheduler] Reference the correct header. 2017-03-26 21:27:21 +00:00
AArch64SchedA57.td fix trivial typos in comment, NFC 2017-06-24 16:00:26 +00:00
AArch64SchedA57WriteRes.td [AArch64] Cortex-A57 FDIV/FSQRT scheduling fix (W-unit) 2016-12-23 12:51:41 +00:00
AArch64SchedCyclone.td
AArch64SchedFalkor.td [AArch64][Falkor] Fix some sched details. 2017-05-28 21:48:31 +00:00
AArch64SchedFalkorDetails.td [AArch64][Falkor] Remove some non-existent opcodes from sched detail regexes. NFC. 2017-06-23 21:59:09 +00:00
AArch64SchedKryo.td
AArch64SchedKryoDetails.td [AArch64][Kryo] Add missing write latency for LDAXP, LDXP second destination. 2017-06-19 21:57:42 +00:00
AArch64SchedM1.td Add latency info for Exynos interleaved Load/Store instructions. 2017-05-31 00:20:55 +00:00
AArch64SchedThunderX.td [AArch64] Vulcan is now ThunderXT99 2017-03-07 19:42:40 +00:00
AArch64SchedThunderX2T99.td [AArch64] Performance enhancements for Cavium ThunderX2 T99 2017-06-27 20:44:55 +00:00
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp [AArch64] Drive-by cleanup, make this code shorter. NFCI. 2017-03-22 23:37:58 +00:00
AArch64SelectionDAGInfo.h
AArch64StorePairSuppress.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
AArch64Subtarget.cpp [AArch64] Use 16 bytes as preferred function alignment on Cortex-A73. 2017-07-18 09:31:18 +00:00
AArch64Subtarget.h [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well 2017-07-17 20:05:19 +00:00
AArch64SystemOperands.td AArch64InstPrinter: rewrite of printSysAlias 2017-02-27 14:45:34 +00:00
AArch64TargetMachine.cpp [AArch64][Falkor] Avoid HW prefetcher tag collisions (step 2) 2017-07-18 16:14:22 +00:00
AArch64TargetMachine.h Add a set of comments explaining why getSubtargetImpl() is deleted on these targets. 2017-07-14 04:33:43 +00:00
AArch64TargetObjectFile.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
AArch64TargetObjectFile.h [COFF, ARM64] Add support for Windows ARM64 COFF format 2017-06-27 23:58:19 +00:00
AArch64TargetTransformInfo.cpp [AArch64][Falkor] Attempt to fix Windows buildbots 2017-06-28 19:36:10 +00:00
AArch64TargetTransformInfo.h [LoopUnroll] Pass SCEV to getUnrollingPreferences hook. NFCI. 2017-06-28 15:53:17 +00:00
AArch64VectorByElementOpt.cpp [AArch64] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-25 00:29:26 +00:00
CMakeLists.txt [AArch64][Falkor] Avoid HW prefetcher tag collisions (step 1) 2017-07-14 21:44:12 +00:00
LLVMBuild.txt