diff options
Diffstat (limited to 'llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir')
-rw-r--r-- | llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir b/llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir new file mode 100644 index 00000000000..a6ffb3b93e0 --- /dev/null +++ b/llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir @@ -0,0 +1,35 @@ +# RUN: not llc -march=x86-64 -start-after machine-sink -stop-after machine-sink -o /dev/null %s 2>&1 | FileCheck %s +# This test ensures that an error is reported when an stack object reference +# uses a different name then the stack object definition. + +--- | + + define i32 @test(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 +registers: + - { id: 0, class: gr32 } +frameInfo: + maxAlignment: 4 +stack: + - { id: 0, name: b, size: 4, alignment: 4 } +body: + - id: 0 + name: entry + instructions: + - '%0 = COPY %edi' + # CHECK: [[@LINE+1]]:18: the name of the stack object '%stack.0' isn't 'x' + - 'MOV32mr %stack.0.x, 1, _, 0, _, %0' + - '%eax = COPY %0' + - 'RETQ %eax' +... |