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

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 30 03:02:58 PST 2019


dmgreen added a comment.

Sounds interesting. My understanding is that there were several features of IT instructions that were performance deprecated. Some of the instructions inside the blocks and accesses to PC were ruled out too. Take a look at isV8EligibleForIT for how they are disabled (I happened to be looking at it the other day for different reasons. Someone wanted to try restrict-it on other cpus).

The opt guide makes it sound like only the multi-instructions in a block were un-deprecated. Would it be better to call this AllowMultiInstrIT (or something like it), and have it just control that part of Thumb2ITBlock, without the isV8EligibleForIT changes too?



================
Comment at: llvm/test/CodeGen/Thumb2/v8_deprecate_IT.ll:9
+; RUN: llc < %s -mtriple=thumbv8 -mcpu=neoverse-n1 -o - | llvm-mc -triple thumbv8 --show-encoding 2>&1 | FileCheck %s --check-prefix=V8_NO_RESTRICT_IT
+; RUN: llc < %s -mtriple=thumbv8 -mcpu=cortex-a76 -arm-restrict-it -o - | llvm-mc -triple thumbv8 --show-encoding 2>&1 | FileCheck %s --check-prefix=V8
 
----------------
Like it. That was going to be my other question.


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

https://reviews.llvm.org/D71992





More information about the llvm-commits mailing list