[PATCH] D85638: [ARM] Unrestrict Armv8-a IT when at minsize

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 10 05:21:13 PDT 2020


samparker added inline comments.


================
Comment at: llvm/test/CodeGen/ARM/codesize-ifcvt.mir:2
 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
-# RUN: llc -mtriple=thumbv7 -run-pass=if-converter %s -o - | FileCheck %s
+# RUN: llc -mtriple=thumbv7 -run-pass=if-converter %s -o - | FileCheck %s --check-prefix=V7
+# RUN: llc -mtriple=thumbv8 -run-pass=if-converter %s -o - | FileCheck %s --check-prefix=V8
----------------
samparker wrote:
> NickGuy wrote:
> > NickGuy wrote:
> > > Could we also have a test for V8 with -Oz? Given that that is what this change effects most
> > Nit: Shouldn't this be CHECK-V7? I haven't seen any tests that don't follow that convention.
> -Oz is a clang frontend option so we can't use it for testing with llc. With LLVM IR, we attach attributes on the functions for optsize (Os) and minsize (Oz):
> 
> ```
>   attributes #0 = { optsize }
>   attributes #1 = { minsize }
> ```
fair enough.


================
Comment at: llvm/test/CodeGen/ARM/codesize-ifcvt.mir:2-3
 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
-# RUN: llc -mtriple=thumbv7 -run-pass=if-converter %s -o - | FileCheck %s
+# RUN: llc -mtriple=thumbv7 -run-pass=if-converter %s -o - | FileCheck %s --check-prefix=V7
+# RUN: llc -mtriple=thumbv8 -run-pass=if-converter %s -o - | FileCheck %s --check-prefix=V8
 --- |
----------------
NickGuy wrote:
> NickGuy wrote:
> > Could we also have a test for V8 with -Oz? Given that that is what this change effects most
> Nit: Shouldn't this be CHECK-V7? I haven't seen any tests that don't follow that convention.
-Oz is a clang frontend option so we can't use it for testing with llc. With LLVM IR, we attach attributes on the functions for optsize (Os) and minsize (Oz):

```
  attributes #0 = { optsize }
  attributes #1 = { minsize }
```


================
Comment at: llvm/test/CodeGen/ARM/codesize-ifcvt.mir:223-251
+  ; V8:   tTAILJMPdND @extfunc, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp
   ; CHECK-LABEL: name: test_nosize
   ; CHECK: bb.0 (%ir-block.0):
   ; CHECK:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
   ; CHECK:   liveins: $lr, $r7
   ; CHECK:   renamable $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg
   ; CHECK:   t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr
----------------
NickGuy wrote:
> Is any of this needed now? It looks identical to the V7 block.
Ah! cheers.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D85638



More information about the llvm-commits mailing list