[PATCH] D11731: Update test suite to be able to run "ninja check" without X86 builtin

Justin Bogner mail at justinbogner.com
Mon Aug 3 22:48:08 PDT 2015


Mehdi AMINI <mehdi.amini at apple.com> writes:
> joker.eph created this revision.
> joker.eph added a subscriber: llvm-commits.
>
> Requires "native" feature in most places that were failing.

Sure, but unless we have a bot that doesn't have native I guess this'll
just break again.

Anyway, it isn't hurting anything - LGTM.

> http://reviews.llvm.org/D11731
>
> Files:
>   test/CodeGen/MIR/Generic/basic-blocks.mir
>   test/CodeGen/MIR/Generic/expected-eof-after-successor-mbb.mir
>   test/CodeGen/MIR/Generic/expected-mbb-reference-for-successor-mbb.mir
>   test/CodeGen/MIR/Generic/frame-info.mir
>   test/CodeGen/MIR/Generic/function-missing-machine-function.mir
>   test/CodeGen/MIR/Generic/invalid-jump-table-kind.mir
>   test/CodeGen/MIR/Generic/llvm-ir-error-reported.mir
>   test/CodeGen/MIR/Generic/llvmIR.mir
>   test/CodeGen/MIR/Generic/llvmIRMissing.mir
>   test/CodeGen/MIR/Generic/machine-basic-block-expected-ir-block.mir
>   test/CodeGen/MIR/Generic/machine-basic-block-ir-block-reference.mir
>   test/CodeGen/MIR/Generic/machine-basic-block-redefinition-error.mir
>   test/CodeGen/MIR/Generic/machine-basic-block-undefined-ir-block.mir
>   test/CodeGen/MIR/Generic/machine-basic-block-unknown-name.mir
>   test/CodeGen/MIR/Generic/machine-function-missing-body-error.mir
>   test/CodeGen/MIR/Generic/machine-function-missing-function.mir
>   test/CodeGen/MIR/Generic/machine-function-missing-name.mir
>   test/CodeGen/MIR/Generic/machine-function-redefinition-error.mir
>   test/CodeGen/MIR/Generic/machine-function.mir
>   test/CodeGen/MIR/Generic/register-info.mir
>   test/CodeGen/MIR/basic-blocks.mir
>   test/CodeGen/MIR/expected-eof-after-successor-mbb.mir
>   test/CodeGen/MIR/expected-mbb-reference-for-successor-mbb.mir
>   test/CodeGen/MIR/frame-info.mir
>   test/CodeGen/MIR/function-missing-machine-function.mir
>   test/CodeGen/MIR/invalid-jump-table-kind.mir
>   test/CodeGen/MIR/llvm-ir-error-reported.mir
>   test/CodeGen/MIR/llvmIR.mir
>   test/CodeGen/MIR/llvmIRMissing.mir
>   test/CodeGen/MIR/machine-basic-block-expected-ir-block.mir
>   test/CodeGen/MIR/machine-basic-block-ir-block-reference.mir
>   test/CodeGen/MIR/machine-basic-block-redefinition-error.mir
>   test/CodeGen/MIR/machine-basic-block-undefined-ir-block.mir
>   test/CodeGen/MIR/machine-basic-block-unknown-name.mir
>   test/CodeGen/MIR/machine-function-missing-body-error.mir
>   test/CodeGen/MIR/machine-function-missing-function.mir
>   test/CodeGen/MIR/machine-function-missing-name.mir
>   test/CodeGen/MIR/machine-function-redefinition-error.mir
>   test/CodeGen/MIR/machine-function.mir
>   test/CodeGen/MIR/register-info.mir
>   test/DebugInfo/lit.local.cfg
>   test/Feature/optnone-llc.ll
>   test/Feature/optnone.ll
>   test/Linker/subprogram-linkonce-weak-odr.ll
>   test/Linker/subprogram-linkonce-weak.ll
>   test/Linker/type-unique-odr-a.ll
>   test/Linker/type-unique-simple-a.ll
>   test/Linker/type-unique-simple2-a.ll
>   test/Linker/type-unique-simple2.ll
>   test/Linker/type-unique-type-array-a.ll
>   test/Other/2010-05-06-Printer.ll
>   test/Transforms/BranchFolding/2007-10-19-InlineAsmDirectives.ll
>   test/tools/llvm-mc/fatal_warnings.test
>   test/tools/llvm-mc/line_end_with_space.test
>   test/tools/llvm-mc/no_warnings.test
>   test/tools/lto/opt-level.ll
>
> Index: test/tools/lto/opt-level.ll
> ===================================================================
> --- test/tools/lto/opt-level.ll
> +++ test/tools/lto/opt-level.ll
> @@ -3,6 +3,7 @@
>  ; RUN: llvm-nm -no-llvm-bc %t.dylib | FileCheck --check-prefix=CHECK-O0 %s
>  ; RUN: env DYLD_LIBRARY_PATH=%llvmshlibdir %ld64 -arch x86_64 -dylib -mllvm -O2 -o %t.dylib %t.o
>  ; RUN: llvm-nm -no-llvm-bc %t.dylib | FileCheck --check-prefix=CHECK-O2 %s
> +; REQUIRES: X86
>  
>  target triple = "x86_64-apple-macosx10.8.0"
>  
> Index: test/tools/llvm-mc/no_warnings.test
> ===================================================================
> --- test/tools/llvm-mc/no_warnings.test
> +++ test/tools/llvm-mc/no_warnings.test
> @@ -1,5 +1,6 @@
>  # RUN: llvm-mc --no-warn %s 2>&1 | FileCheck %s
>  # XFAIL: hexagon
> +# REQUIRES: native
>  
>  # CHECK-NOT: warning:
>  .warning
> Index: test/tools/llvm-mc/line_end_with_space.test
> ===================================================================
> --- test/tools/llvm-mc/line_end_with_space.test
> +++ test/tools/llvm-mc/line_end_with_space.test
> @@ -1,2 +1,2 @@
>  RUN: llvm-mc -disassemble %s
> - 
> \ No newline at end of file
> +# REQUIRES: native
> Index: test/tools/llvm-mc/fatal_warnings.test
> ===================================================================
> --- test/tools/llvm-mc/fatal_warnings.test
> +++ test/tools/llvm-mc/fatal_warnings.test
> @@ -1,5 +1,6 @@
>  # RUN: not llvm-mc --fatal-warnings %s 2>&1 | FileCheck %s
>  # XFAIL: hexagon
> +# REQUIRES: native
>  
>  # CHECK: error: .warning directive invoked in source file
>  .warning
> Index: test/Transforms/BranchFolding/2007-10-19-InlineAsmDirectives.ll
> ===================================================================
> --- test/Transforms/BranchFolding/2007-10-19-InlineAsmDirectives.ll
> +++ test/Transforms/BranchFolding/2007-10-19-InlineAsmDirectives.ll
> @@ -1,5 +1,5 @@
>  ; RUN: opt < %s -O3 | llc -no-integrated-as | FileCheck %s
> -
> +; REQUIRES: X86
>  ;; We don't want branch folding to fold asm directives.
>  
>  ; CHECK: bork_directive
> Index: test/Other/2010-05-06-Printer.ll
> ===================================================================
> --- test/Other/2010-05-06-Printer.ll
> +++ test/Other/2010-05-06-Printer.ll
> @@ -1,3 +1,4 @@
> +; REQUIRES: native
>  ; RUN: llc -O2 -print-after-all < %s 2>/dev/null
>  
>  define void @tester(){
> Index: test/Linker/type-unique-type-array-a.ll
> ===================================================================
> --- test/Linker/type-unique-type-array-a.ll
> +++ test/Linker/type-unique-type-array-a.ll
> @@ -1,4 +1,4 @@
> -; REQUIRES: object-emission
> +; REQUIRES: object-emission, native
>  ;
>  ; RUN: llvm-link %s %p/type-unique-type-array-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -debug-dump=info - | FileCheck %s
>  ;
> Index: test/Linker/type-unique-simple2.ll
> ===================================================================
> --- test/Linker/type-unique-simple2.ll
> +++ test/Linker/type-unique-simple2.ll
> @@ -1,4 +1,4 @@
> -; REQUIRES: object-emission
> +; REQUIRES: object-emission; native
>  
>  ; RUN: llvm-link %S/Inputs/type-unique-simple2-a.ll %S/Inputs/type-unique-simple2-b.ll -S -o %t
>  ; RUN: cat %t | FileCheck %S/Inputs/type-unique-simple2-a.ll -check-prefix=LINK
> Index: test/Linker/type-unique-simple2-a.ll
> ===================================================================
> --- test/Linker/type-unique-simple2-a.ll
> +++ test/Linker/type-unique-simple2-a.ll
> @@ -1,4 +1,4 @@
> -; REQUIRES: object-emission
> +; REQUIRES: object-emission, native
>  ;
>  ; RUN: llvm-link %s %p/type-unique-simple2-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -debug-dump=info - | FileCheck %s
>  ;
> Index: test/Linker/type-unique-simple-a.ll
> ===================================================================
> --- test/Linker/type-unique-simple-a.ll
> +++ test/Linker/type-unique-simple-a.ll
> @@ -1,4 +1,4 @@
> -; REQUIRES: object-emission
> +; REQUIRES: object-emission, native
>  
>  ; RUN: llvm-link %s %p/type-unique-simple-b.ll -S -o %t
>  ; RUN: cat %t | FileCheck %s -check-prefix=LINK
> Index: test/Linker/type-unique-odr-a.ll
> ===================================================================
> --- test/Linker/type-unique-odr-a.ll
> +++ test/Linker/type-unique-odr-a.ll
> @@ -1,4 +1,4 @@
> -; REQUIRES: object-emission
> +; REQUIRES: object-emission, native
>  ;
>  ; RUN: llvm-link %s %p/type-unique-odr-b.ll -S -o - | %llc_dwarf -filetype=obj -O0 | llvm-dwarfdump -debug-dump=info - | FileCheck %s
>  ;
> Index: test/Linker/subprogram-linkonce-weak.ll
> ===================================================================
> --- test/Linker/subprogram-linkonce-weak.ll
> +++ test/Linker/subprogram-linkonce-weak.ll
> @@ -1,3 +1,4 @@
> +; REQUIRES: native
>  ; RUN: llvm-link %s %S/Inputs/subprogram-linkonce-weak.ll -S -o %t1
>  ; RUN: FileCheck %s -check-prefix=LW -check-prefix=CHECK <%t1
>  ; RUN: llvm-link %S/Inputs/subprogram-linkonce-weak.ll %s -S -o %t2
> Index: test/Linker/subprogram-linkonce-weak-odr.ll
> ===================================================================
> --- test/Linker/subprogram-linkonce-weak-odr.ll
> +++ test/Linker/subprogram-linkonce-weak-odr.ll
> @@ -1,3 +1,4 @@
> +; REQUIRES: native
>  ; RUN: llvm-link %s %S/Inputs/subprogram-linkonce-weak-odr.ll -S -o %t1
>  ; RUN: FileCheck %s -check-prefix=LW -check-prefix=CHECK <%t1
>  ; RUN: llvm-link %S/Inputs/subprogram-linkonce-weak-odr.ll %s -S -o %t2
> Index: test/Feature/optnone.ll
> ===================================================================
> --- test/Feature/optnone.ll
> +++ test/Feature/optnone.ll
> @@ -1,4 +1,5 @@
>  ; RUN: llvm-as < %s | llvm-dis | FileCheck %s
> +; REQUIRE: native
>  
>  ; Check for the presence of attribute optnone in the disassembly.
>  
> Index: test/Feature/optnone-llc.ll
> ===================================================================
> --- test/Feature/optnone-llc.ll
> +++ test/Feature/optnone-llc.ll
> @@ -4,7 +4,7 @@
>  ; RUN: llc -O3 -debug %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=LLC-Ox
>  ; RUN: llc -misched-postra -debug %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=LLC-MORE
>  
> -; REQUIRES: asserts
> +; REQUIRES: asserts, native
>  
>  ; This test verifies that we don't run Machine Function optimizations
>  ; on optnone functions.
> Index: test/DebugInfo/lit.local.cfg
> ===================================================================
> --- /dev/null
> +++ test/DebugInfo/lit.local.cfg
> @@ -0,0 +1,3 @@
> +if 'native' not in config.available_features:
> +    config.unsupported = True
> +
> Index: test/CodeGen/MIR/register-info.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/register-info.mir
> @@ -1,40 +0,0 @@
> -# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
> -# This test ensures that the MIR parser parses machine register info properties
> -# correctly.
> -
> ---- |
> -
> -  define i32 @foo() {
> -  entry:
> -    ret i32 0
> -  }
> -
> -  define i32 @bar() {
> -  start:
> -    ret i32 0
> -  }
> -
> -...
> ----
> -# CHECK: name: foo
> -# CHECK:      isSSA: false
> -# CHECK-NEXT: tracksRegLiveness: false
> -# CHECK-NEXT: tracksSubRegLiveness: false
> -# CHECK: ...
> -name:            foo
> -body:
> -  - id: 0
> -...
> ----
> -# CHECK: name: bar
> -# CHECK:      isSSA: false
> -# CHECK-NEXT: tracksRegLiveness: true
> -# CHECK-NEXT: tracksSubRegLiveness: true
> -# CHECK: ...
> -name: bar
> -isSSA: false
> -tracksRegLiveness: true
> -tracksSubRegLiveness: true
> -body:
> -  - id: 0
> -...
> Index: test/CodeGen/MIR/machine-function.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-function.mir
> @@ -1,66 +0,0 @@
> -# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
> -# This test ensures that the MIR parser parses machine functions correctly.
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -  define i32 @bar() {
> -    ret i32 0
> -  }
> -
> -  define i32 @func() {
> -    ret i32 0
> -  }
> -
> -  define i32 @func2() {
> -    ret i32 0
> -  }
> -  
> -...
> ----
> -# CHECK: name: foo
> -# CHECK-NEXT: alignment:
> -# CHECK-NEXT: exposesReturnsTwice: false
> -# CHECK-NEXT: hasInlineAsm: false
> -# CHECK: ...
> -name:            foo
> -body:
> -  - id: 0
> -...
> ----
> -# CHECK: name: bar
> -# CHECK-NEXT: alignment:
> -# CHECK-NEXT: exposesReturnsTwice: false
> -# CHECK-NEXT: hasInlineAsm: false
> -# CHECK: ...
> -name:            bar
> -body:
> -  - id: 0
> -...
> ----
> -# CHECK: name: func
> -# CHECK-NEXT: alignment: 8
> -# CHECK-NEXT: exposesReturnsTwice: false
> -# CHECK-NEXT: hasInlineAsm: false
> -# CHECK: ...
> -name:            func
> -alignment:       8
> -body:
> -  - id: 0
> -...
> ----
> -# CHECK: name: func2
> -# CHECK-NEXT: alignment: 16
> -# CHECK-NEXT: exposesReturnsTwice: true
> -# CHECK-NEXT: hasInlineAsm: true
> -# CHECK: ...
> -name:            func2
> -alignment:       16
> -exposesReturnsTwice: true
> -hasInlineAsm:    true
> -body:
> -  - id: 0
> -...
> Index: test/CodeGen/MIR/machine-function-redefinition-error.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-function-redefinition-error.mir
> @@ -1,10 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -# This test ensures that the machine function errors are reported correctly.
> -
> ----
> -name:            foo
> -...
> ----
> -# CHECK: redefinition of machine function 'foo'
> -name:            foo
> -...
> Index: test/CodeGen/MIR/machine-function-missing-name.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-function-missing-name.mir
> @@ -1,26 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -# This test ensures that an error is reported when a machine function doesn't
> -# have a name attribute.
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -  define i32 @bar() {
> -    ret i32 0
> -  }
> -
> -...
> ----
> -# CHECK: [[@LINE+1]]:1: missing required key 'name'
> -nme:             foo
> -body:
> -  - id: 0
> -...
> ----
> -name:            bar
> -body:
> -  - id: 0
> -...
> Index: test/CodeGen/MIR/machine-function-missing-function.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-function-missing-function.mir
> @@ -1,23 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -# This test ensures that an error is reported when the mir file has LLVM IR and
> -# one of the machine functions has a name that doesn't match any function in
> -# the LLVM IR.
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> -  - id: 0
> -...
> ----
> -# CHECK: function 'faa' isn't defined in the provided LLVM IR
> -name:            faa
> -body:
> -  - id: 0
> -...
> Index: test/CodeGen/MIR/machine-function-missing-body-error.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-function-missing-body-error.mir
> @@ -1,15 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -# This test ensures that the MIR parser reports an error when it encounters a
> -# machine function with an empty body.
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -...
> ----
> -# CHECK: machine function 'foo' requires at least one machine basic block in its body
> -name:            foo
> -...
> Index: test/CodeGen/MIR/machine-basic-block-unknown-name.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-basic-block-unknown-name.mir
> @@ -1,19 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -# This test ensures that an error is reported whenever the MIR parser can't find
> -# a basic block with the machine basis block's name.
> -
> ---- |
> -
> -  define i32 @foo() {
> -  entry:
> -    ret i32 0
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> -  # CHECK: [[@LINE+2]]:18: basic block 'entrie' is not defined in the function 'foo'
> -  - id:          0
> -    name:        entrie
> -...
> Index: test/CodeGen/MIR/machine-basic-block-undefined-ir-block.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-basic-block-undefined-ir-block.mir
> @@ -1,16 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> - - id:           0
> -# CHECK: [[@LINE+1]]:19: use of undefined IR block '%ir-block.10'
> -   ir-block:     '%ir-block.10'
> -...
> Index: test/CodeGen/MIR/machine-basic-block-redefinition-error.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-basic-block-redefinition-error.mir
> @@ -1,17 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -
> ---- |
> -
> -  define i32 @foo() {
> -  entry:
> -    ret i32 0
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> -  # CHECK: redefinition of machine basic block with id #0
> -  - id:       0
> -  - id:       0
> -...
> Index: test/CodeGen/MIR/machine-basic-block-ir-block-reference.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-basic-block-ir-block-reference.mir
> @@ -1,19 +0,0 @@
> -# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
> -# This test ensures that the MIR parser preserves unnamed LLVM IR block
> -# references.
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> -# CHECK: id: 0
> -# CHECK: ir-block: '%ir-block.0'
> - - id:           0
> -   ir-block:     '%ir-block.0'
> -...
> Index: test/CodeGen/MIR/machine-basic-block-expected-ir-block.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/machine-basic-block-expected-ir-block.mir
> @@ -1,16 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> - - id:           0
> -# CHECK: [[@LINE+1]]:19: expected an IR block reference
> -   ir-block:     '0'
> -...
> Index: test/CodeGen/MIR/llvmIRMissing.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/llvmIRMissing.mir
> @@ -1,9 +0,0 @@
> -# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
> -# This test ensures that the MIR parser accepts files without the LLVM IR.
> -
> ----
> -# CHECK: name: foo
> -name: foo
> -body:
> -  - id: 0
> -...
> Index: test/CodeGen/MIR/llvmIR.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/llvmIR.mir
> @@ -1,37 +0,0 @@
> -# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
> -# This test ensures that the LLVM IR that's embedded with MIR is parsed
> -# correctly.
> -
> ---- |
> -  ; CHECK: define i32 @foo(i32 %x, i32 %y)
> -  ; CHECK: %z = alloca i32, align 4
> -  ; CHECK: store i32 %x, i32* %z, align 4
> -  ; CHECK: br label %Test
> -  ; CHECK: Test:
> -  ; CHECK: %m = load i32, i32* %z, align 4
> -  ; CHECK: %cond = icmp eq i32 %y, %m
> -  ; CHECK: br i1 %cond, label %IfEqual, label %IfUnequal
> -  ; CHECK: IfEqual:
> -  ; CHECK: ret i32 1
> -  ; CHECK: IfUnequal:
> -  ; CHECK: ret i32 0
> -  define i32 @foo(i32 %x, i32 %y) {
> -    %z = alloca i32, align 4
> -    store i32 %x, i32* %z, align 4
> -    br label %Test
> -  Test:
> -    %m = load i32, i32* %z, align 4
> -    %cond = icmp eq i32 %y, %m
> -    br i1 %cond, label %IfEqual, label %IfUnequal
> -  IfEqual:
> -    ret i32 1
> -  IfUnequal:
> -    ret i32 0
> -  }
> -  
> -...
> ----
> -name: foo
> -body:
> -  - id: 0
> -...
> Index: test/CodeGen/MIR/llvm-ir-error-reported.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/llvm-ir-error-reported.mir
> @@ -1,22 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -# This test ensures an error is reported if the embedded LLVM IR contains an
> -# error.
> -
> ---- |
> -  
> -  ; CHECK: [[@LINE+3]]:15: use of undefined value '%a'
> -  define i32 @foo(i32 %x, i32 %y) {
> -    %z = alloca i32, align 4
> -    store i32 %a, i32* %z, align 4
> -    br label %Test
> -  Test:
> -    %m = load i32, i32* %z, align 4
> -    %cond = icmp eq i32 %y, %m
> -    br i1 %cond, label %IfEqual, label %IfUnequal
> -  IfEqual:
> -    ret i32 1
> -  IfUnequal:
> -    ret i32 0
> -  }
> -  
> -...
> Index: test/CodeGen/MIR/invalid-jump-table-kind.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/invalid-jump-table-kind.mir
> @@ -1,54 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -
> ---- |
> -
> -  define i32 @test_jumptable(i32 %in) {
> -  entry:
> -    switch i32 %in, label %def [
> -      i32 0, label %lbl1
> -      i32 1, label %lbl2
> -      i32 2, label %lbl3
> -      i32 3, label %lbl4
> -    ]
> -
> -  def:
> -    ret i32 0
> -
> -  lbl1:
> -    ret i32 1
> -
> -  lbl2:
> -    ret i32 2
> -
> -  lbl3:
> -    ret i32 4
> -
> -  lbl4:
> -    ret i32 8
> -  }
> -
> -...
> ----
> -name:            test_jumptable
> -jumpTable:
> -  # CHECK: [[@LINE+1]]:18: unknown enumerated scalar
> -  kind:          switch
> -  entries:
> -    - id:        0
> -      blocks:    [ '%bb.3.lbl1', '%bb.4.lbl2', '%bb.5.lbl3', '%bb.6.lbl4' ]
> -body:
> -  - id:          0
> -    name:        entry
> -  - id:          1
> -    name:        entry
> -  - id:          2
> -    name:        def
> -  - id:          3
> -    name:        lbl1
> -  - id:          4
> -    name:        lbl2
> -  - id:          5
> -    name:        lbl3
> -  - id:          6
> -    name:        lbl4
> -...
> Index: test/CodeGen/MIR/function-missing-machine-function.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/function-missing-machine-function.mir
> @@ -1,13 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -# This test verifies that an error is reported when a MIR file has some
> -# function but is missing a corresponding machine function.
> -
> -# CHECK: no machine function information for function 'foo' in the MIR file
> -
> ---- |
> -
> -  define i32 @foo() {
> -    ret i32 0
> -  }
> -
> -...
> Index: test/CodeGen/MIR/frame-info.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/frame-info.mir
> @@ -1,91 +0,0 @@
> -# RUN: llc -start-after machine-sink -stop-after machine-sink -o /dev/null %s | FileCheck %s
> -# This test ensures that the MIR parser parses machine frame info properties
> -# correctly.
> -
> ---- |
> -
> -  define i32 @test(i32 %a) {
> -  entry:
> -    %b = alloca i32
> -    store i32 %a, i32* %b
> -    %c = load i32, i32* %b
> -    ret i32 %c
> -  }
> -
> -  define i32 @test2(i32 %a) {
> -  entry:
> -    %b = alloca i32
> -    store i32 %a, i32* %b
> -    %c = load i32, i32* %b
> -    ret i32 %c
> -  }
> -
> -...
> ----
> -name:            test
> -isSSA:           true
> -tracksRegLiveness: true
> -
> -# CHECK: frameInfo:
> -# CHECK-NEXT: isFrameAddressTaken: false
> -# CHECK-NEXT: isReturnAddressTaken: false
> -# CHECK-NEXT: hasStackMap: false
> -# CHECK-NEXT: hasPatchPoint: false
> -# CHECK-NEXT: stackSize: 0
> -# CHECK-NEXT: offsetAdjustment: 0
> -# Note: max alignment can be target specific when printed.
> -# CHECK-NEXT: maxAlignment:
> -# CHECK-NEXT: adjustsStack: false
> -# CHECK-NEXT: hasCalls: false
> -# CHECK-NEXT: maxCallFrameSize: 0
> -# CHECK-NEXT: hasOpaqueSPAdjustment: false
> -# CHECK-NEXT: hasVAStart: false
> -# CHECK-NEXT: hasMustTailInVarArgFunc: false
> -# CHECK: body
> -frameInfo:
> -  maxAlignment:    4
> -body:
> -  - id:          0
> -    name:        entry
> -...
> ----
> -name:            test2
> -isSSA:           true
> -tracksRegLiveness: true
> -
> -# CHECK: test2
> -# CHECK: frameInfo:
> -# CHECK-NEXT: isFrameAddressTaken: true
> -# CHECK-NEXT: isReturnAddressTaken: true
> -# CHECK-NEXT: hasStackMap: true
> -# CHECK-NEXT: hasPatchPoint: true
> -# CHECK-NEXT: stackSize: 4
> -# CHECK-NEXT: offsetAdjustment: 4
> -# Note: max alignment can be target specific when printed.
> -# CHECK-NEXT: maxAlignment:
> -# CHECK-NEXT: adjustsStack: true
> -# CHECK-NEXT: hasCalls: true
> -# CHECK-NEXT: maxCallFrameSize: 4
> -# CHECK-NEXT: hasOpaqueSPAdjustment: true
> -# CHECK-NEXT: hasVAStart: true
> -# CHECK-NEXT: hasMustTailInVarArgFunc: true
> -# CHECK: body
> -frameInfo:
> -  isFrameAddressTaken: true
> -  isReturnAddressTaken: true
> -  hasStackMap:     true
> -  hasPatchPoint:   true
> -  stackSize:       4
> -  offsetAdjustment: 4
> -  maxAlignment:    4
> -  adjustsStack:    true
> -  hasCalls:        true
> -  maxCallFrameSize: 4
> -  hasOpaqueSPAdjustment: true
> -  hasVAStart:      true
> -  hasMustTailInVarArgFunc: true
> -body:
> -  - id:          0
> -    name:        entry
> -...
> -
> Index: test/CodeGen/MIR/expected-mbb-reference-for-successor-mbb.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/expected-mbb-reference-for-successor-mbb.mir
> @@ -1,29 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -
> ---- |
> -
> -  define i32 @foo(i32 %a) {
> -  entry:
> -    %0 = icmp sle i32 %a, 10
> -    br i1 %0, label %less, label %exit
> -
> -  less:
> -    ret i32 0
> -
> -  exit:
> -    ret i32 %a
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> -  - id:          0
> -    name:        entry
> -    # CHECK: [[@LINE+1]]:35: expected a machine basic block reference
> -    successors:  [ '%bb.1.less', '2' ]
> -  - id:          1
> -    name:        less
> -  - id:          2
> -    name:        exit
> -...
> Index: test/CodeGen/MIR/expected-eof-after-successor-mbb.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/expected-eof-after-successor-mbb.mir
> @@ -1,29 +0,0 @@
> -# RUN: not llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
> -
> ---- |
> -
> -  define i32 @foo(i32 %a) {
> -  entry:
> -    %0 = icmp sle i32 %a, 10
> -    br i1 %0, label %less, label %exit
> -
> -  less:
> -    ret i32 0
> -
> -  exit:
> -    ret i32 %a
> -  }
> -
> -...
> ----
> -name:            foo
> -body:
> -  - id:          0
> -    name:        entry
> -    # CHECK: [[@LINE+1]]:46: expected end of string after the machine basic block reference
> -    successors:  [ '%bb.1.less', '%bb.2.exit 2' ]
> -  - id:          1
> -    name:        less
> -  - id:          2
> -    name:        exit
> -...
> Index: test/CodeGen/MIR/basic-blocks.mir
> ===================================================================
> --- /dev/null
> +++ test/CodeGen/MIR/basic-blocks.mir
> @@ -1,49 +0,0 @@
> -# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
> -# This test ensures that the MIR parser parses machine functions correctly.
> -
> ---- |
> -
> -  define i32 @foo() {
> -  entry:
> -    ret i32 0
> -  }
> -
> -  define i32 @bar() {
> -  start:
> -    ret i32 0
> -  }
> -
> -...
> ----
> -# CHECK: name: foo
> -# CHECK: body:
> -# CHECK-NEXT: - id: 0
> -# CHECK-NEXT:   name: entry
> -# CHECK-NEXT:   alignment: 0
> -# CHECK-NEXT:   isLandingPad: false
> -# CHECK-NEXT:   addressTaken: false
> -name:            foo
> -body:
> - - id:           0
> -   name:         entry
> -...
> ----
> -# CHECK: name: bar
> -# CHECK: body:
> -# CHECK-NEXT: - id: 0
> -# CHECK-NEXT:   name: start
> -# CHECK-NEXT:   alignment: 4
> -# CHECK-NEXT:   isLandingPad: false
> -# CHECK-NEXT:   addressTaken: false
> -# CHECK-NEXT: - id: 1
> -# CHECK-NEXT:   alignment: 0
> -# CHECK-NEXT:   isLandingPad: false
> -# CHECK-NEXT:   addressTaken: true
> -name:            bar
> -body:
> - - id:           0
> -   name:         start
> -   alignment:    4
> - - id:           1
> -   addressTaken: true
> -...
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list