diff options
Diffstat (limited to 'test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir')
| -rw-r--r-- | test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir b/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir new file mode 100644 index 0000000000000..46661d95e727d --- /dev/null +++ b/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir @@ -0,0 +1,33 @@ +# 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: | + bb.0.entry: + %0 = COPY %edi + ; CHECK: [[@LINE+1]]:13: the name of the stack object '%stack.0' isn't 'x' + MOV32mr %stack.0.x, 1, _, 0, _, %0 + %eax = COPY %0 + RETQ %eax +... |
