[PATCH] D71992: [ARM] Unrestrict Armv8 IT blocks

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 30 05:51:22 PST 2019


samparker updated this revision to Diff 235589.
samparker added a comment.

- Renamed the feature.
- Modified the IT block pass a bit
- Added a couple of lines to another existing test.

TODO: I didn't appreciate the convoluted way that this feature is used... so this still doesn't prevent us from skipping the other V8 IT performance checks. There's three cases here that a single boolean is used for throughout the backend:

1. The user has passed an option to restrict IT block sizes for any Thumb2 target.
2. The user has passed an option to prevent IT block sizes restrictions.
3. The default behaviour of Armv8, which includes the size of the block and some instructions.
4. Performance recommendations of some Armv8 cores.

I'm still thinking about how to handle this matrix in a clear and correct way, suggestions welcome!


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

https://reviews.llvm.org/D71992

Files:
  llvm/lib/Target/ARM/ARM.td
  llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  llvm/lib/Target/ARM/ARMSubtarget.cpp
  llvm/lib/Target/ARM/ARMSubtarget.h
  llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
  llvm/test/CodeGen/Thumb2/thumb2-ifcvt1.ll
  llvm/test/CodeGen/Thumb2/v8_deprecate_IT.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71992.235589.patch
Type: text/x-patch
Size: 8644 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191230/9cac2a36/attachment.bin>


More information about the llvm-commits mailing list