[PATCH] D75993: [Target][ARM] Improvements to the VPT Block Insertion Pass

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 12 03:46:56 PDT 2020


Pierre-vh updated this revision to Diff 249877.
Pierre-vh added a comment.

Updated the diff to fix a bug: The pass refused to generate `vpsteee` blocks because the condition in `SkipPredicatedInstrs` was wrong (It needed to do one more iteration when `MaxSkips == 0`, and then stop).

The pass can now correctly generate this kind of assembly:

  	vpsteee	
  	vcmpt.s32	le, q1, r12
  	vcmpe.s32	lt, q1, r3
  	vstrwe.32	q0, [r6], #16
  	vstrwe.32	q0, [r4], #16


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75993/new/

https://reviews.llvm.org/D75993

Files:
  llvm/lib/Target/ARM/MVEVPTBlockPass.cpp
  llvm/test/CodeGen/Thumb2/mve-pred-not.ll
  llvm/test/CodeGen/Thumb2/mve-pred-threshold.ll
  llvm/test/CodeGen/Thumb2/mve-vpt-3-blocks-kill-vpr.mir
  llvm/test/CodeGen/Thumb2/mve-vpt-nots.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75993.249877.patch
Type: text/x-patch
Size: 20193 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200312/9766a8c8/attachment-0001.bin>


More information about the llvm-commits mailing list