[PATCH] D47192: [utils] Reflow asm check generation to tolerate blank lines

Simon Dardis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 11 03:42:04 PDT 2018


sdardis added a comment.

In https://reviews.llvm.org/D48006, you can see the change for the MIPS specific assembly scrubbing to accept inline assembly. I have also included some example output of the changes of that revision. Since the blank lines around the inline assembly are not scrubbed, FileCheck fails the test case with:

  /Users/sdardis/dev/llvm/llvm/test/CodeGen/Mips/cconv/arguments-varargs.ll:33:16: error: found empty check string with prefix 'O32-BE:'
  ; O32-BE-NEXT: 
                 ^
  LLVM ERROR: IO failure on output stream: Broken pipe

With https://reviews.llvm.org/D48006 applied, then applying this diff and regenerating test/CodeGen/Mips/cconv/arguments-varargs.ll we can see the following set of changes:

  diff --git a/test/CodeGen/Mips/cconv/arguments-varargs.ll b/test/CodeGen/Mips/cconv/arguments-varargs.ll
  index 7739ca2..3277a6e 100644
  --- a/test/CodeGen/Mips/cconv/arguments-varargs.ll
  +++ b/test/CodeGen/Mips/cconv/arguments-varargs.ll
  @@ -30,10 +30,8 @@ define void @fn_i16_dotdotdot_i16(i16 %a, ...) {
   ; O32-BE-NEXT:    .set at
   ; O32-BE-NEXT:    .set macro
   ; O32-BE-NEXT:    .set reorder
  -; O32-BE-NEXT:  
  -; O32-BE-NEXT:    teqi $zero, 1
  -; O32-BE-NEXT:  
  -; O32-BE-NEXT:    .set pop
  +; O32-BE:         teqi $zero, 1
  +; O32-BE:         .set pop
   ; O32-BE-NEXT:    #NO_APP
   ; O32-BE-NEXT:    lw $1, 0($sp)
   ; O32-BE-NEXT:    addiu $2, $1, 4

(There are more occurrences like this.)  By scrubbing out the blank lines and restarting the LABEL/LABEL-NEXT checks as appropriate, the test case is correctly regenerated and includes all the inline assembly.


Repository:
  rL LLVM

https://reviews.llvm.org/D47192





More information about the llvm-commits mailing list