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

Mehdi Amini mehdi.amini at apple.com
Mon Aug 3 22:51:29 PDT 2015


> On Aug 3, 2015, at 10:48 PM, Justin Bogner <mail at justinbogner.com> wrote:
> 
> 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.

We have such a bot and we’ll take care of nagging offenders :)

Thanks!

— 
Mehdi

> 
>> 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