[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