[PATCH] D76847: [Target][ARM] Replace re-uses of old VPR values with VPNOTs

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 26 07:33:42 PDT 2020


Pierre-vh created this revision.
Pierre-vh added reviewers: dmgreen, SjoerdMeijer, samparker, simon_tatham, olista01.
Herald added subscribers: llvm-commits, hiraditya, kristof.beyls.
Herald added a project: LLVM.
Pierre-vh added a parent revision: D76709: [Target][ARM] Adding MVE VPT Optimisation Pass.

This patch is adds another optimisation to the MVE VPT Optimisations pass introduced in the previous patch.
This optimisation replaces usages of old VPR (VCCR) values (within predicated instruction blocks) with VPNOTs in order to avoid spill/reloads.
Those VPNOTs can then be removed by the MVE VPT Block Insertion pass, resulting in clean/compact VPT blocks such as TEET, TETE, etc. instead of lots of small blocks with spill/reloads in-between.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76847

Files:
  llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp
  llvm/test/CodeGen/Thumb2/mve-vpt-optimisations.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76847.252838.patch
Type: text/x-patch
Size: 6446 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200326/38ebabcc/attachment-0001.bin>


More information about the llvm-commits mailing list