diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir | 30 | ||||
-rw-r--r-- | llvm/test/CodeGen/MIR/X86/stack-objects.mir | 8 | ||||
-rw-r--r-- | llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir | 4 |
3 files changed, 36 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir b/llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir new file mode 100644 index 00000000000..2d4f57bad3d --- /dev/null +++ b/llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir @@ -0,0 +1,30 @@ +# RUN: not llc -march=x86-64 -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 +# stack object with a name that can't be associated with an alloca instruction. + +--- | + + define i32 @test(i32 %a) { + entry: + %b = alloca i32 + store i32 %a, i32* %b + %c = load i32, i32* %b + ret i32 %c + } + +... +--- +name: test +frameInfo: + maxAlignment: 4 +stack: + # CHECK: [[@LINE+1]]:20: alloca instruction named 'x' isn't defined in the function 'test' + - { id: 0, name: x, offset: -12, size: 4, alignment: 4 } +body: + - id: 0 + name: entry + instructions: + - 'MOV32mr %rsp, 1, _, -4, _, %edi' + - '%eax = MOV32rm %rsp, 1, _, -4, _' + - 'RETQ %eax' +... diff --git a/llvm/test/CodeGen/MIR/X86/stack-objects.mir b/llvm/test/CodeGen/MIR/X86/stack-objects.mir index 14ed4b74f96..37666300a91 100644 --- a/llvm/test/CodeGen/MIR/X86/stack-objects.mir +++ b/llvm/test/CodeGen/MIR/X86/stack-objects.mir @@ -21,12 +21,12 @@ name: test frameInfo: maxAlignment: 8 # CHECK: stack: -# CHECK-NEXT: - { id: 0, offset: -12, size: 4, alignment: 4 } -# CHECK-NEXT: - { id: 1, offset: -24, size: 8, alignment: 8 } +# CHECK-NEXT: - { id: 0, name: b, offset: -12, size: 4, alignment: 4 } +# CHECK-NEXT: - { id: 1, name: x, offset: -24, size: 8, alignment: 8 } # CHECK-NEXT: - { id: 2, type: spill-slot, offset: -32, size: 4, alignment: 4 } stack: - - { id: 0, offset: -12, size: 4, alignment: 4 } - - { id: 1, offset: -24, size: 8, alignment: 8 } + - { id: 0, name: b, offset: -12, size: 4, alignment: 4 } + - { id: 1, name: x, offset: -24, size: 8, alignment: 8 } - { id: 2, type: spill-slot, offset: -32, size: 4, alignment: 4 } body: - id: 0 diff --git a/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir b/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir index 4c45742b25a..5e6467e9cfa 100644 --- a/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir +++ b/llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir @@ -26,11 +26,11 @@ frameInfo: # CHECK: stack: # CHECK-NEXT: - { id: 0, offset: -20, size: 4, alignment: 4 } # CHECK-NEXT: - { id: 1, offset: -32, size: 8, alignment: 8 } -# CHECK-NEXT: - { id: 2, type: variable-sized, offset: -32, alignment: 1 } +# CHECK-NEXT: - { id: 2, name: y, type: variable-sized, offset: -32, alignment: 1 } stack: - { id: 0, offset: -20, size: 4, alignment: 4 } - { id: 1, offset: -32, size: 8, alignment: 8 } - - { id: 2, type: variable-sized, offset: -32, alignment: 1 } + - { id: 2, name: y, type: variable-sized, offset: -32, alignment: 1 } body: - id: 0 name: entry |