[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