[PATCH] D100027: [update_llc_test_checks.py] Fix MIPS ASM regex for functions with EH

Alexander Richardson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 28 09:57:59 PDT 2021


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG547e5e4ae613: [update_llc_test_checks.py] Fix MIPS ASM regex for functions with EH (authored by arichardson).

Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100027

Files:
  llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll
  llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll.expected
  llvm/utils/UpdateTestChecks/asm.py


Index: llvm/utils/UpdateTestChecks/asm.py
===================================================================
--- llvm/utils/UpdateTestChecks/asm.py
+++ llvm/utils/UpdateTestChecks/asm.py
@@ -59,6 +59,7 @@
 
 ASM_FUNCTION_MIPS_RE = re.compile(
     r'^_?(?P<func>[^:]+):[ \t]*#+[ \t]*@"?(?P=func)"?\n[^:]*?' # f: (name of func)
+    r'(?:\s*\.?Ltmp[^:\n]*:\n)?[^:]*?'        # optional .Ltmp<N> for EH
     r'(?:^[ \t]+\.(frame|f?mask|set).*?\n)+'  # Mips+LLVM standard asm prologue
     r'(?P<body>.*?)\n'                        # (body of the function)
     # Mips+LLVM standard asm epilogue
Index: llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll.expected
===================================================================
--- llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll.expected
+++ llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll.expected
@@ -1,8 +1,26 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc -mtriple=mips64-unknown-linux < %s | FileCheck %s
-; FIXME: doesn't generate any CHECK lines
 
 define i32 @main() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*){
+; CHECK-LABEL: main:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    daddiu $sp, $sp, -16
+; CHECK-NEXT:    .cfi_def_cfa_offset 16
+; CHECK-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CHECK-NEXT:    .cfi_offset 31, -8
+; CHECK-NEXT:  .Ltmp0:
+; CHECK-NEXT:    jal foo
+; CHECK-NEXT:    nop
+; CHECK-NEXT:  .Ltmp1:
+; CHECK-NEXT:  # %bb.1: # %good
+; CHECK-NEXT:    addiu $2, $zero, 5
+; CHECK-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CHECK-NEXT:    jr $ra
+; CHECK-NEXT:    daddiu $sp, $sp, 16
+; CHECK-NEXT:  .LBB0_2: # %bad
+; CHECK-NEXT:  .Ltmp2:
+; CHECK-NEXT:    jal _Unwind_Resume
+; CHECK-NEXT:    nop
   %1 = invoke i32 @foo() to label %good unwind label %bad
 good:
   ret i32 5
Index: llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll
===================================================================
--- llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll
+++ llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll
@@ -1,5 +1,4 @@
 ; RUN: llc -mtriple=mips64-unknown-linux < %s | FileCheck %s
-; FIXME: doesn't generate any CHECK lines
 
 define i32 @main() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*){
   %1 = invoke i32 @foo() to label %good unwind label %bad


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100027.375621.patch
Type: text/x-patch
Size: 2500 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210928/cc441500/attachment.bin>


More information about the llvm-commits mailing list