DI: Require subprogram definitions to be distinct
[oota-llvm.git] / test / CodeGen / MIR / X86 / stack-object-operand-name-mismatch-error.mir
1 # RUN: not llc -march=x86-64 -start-after machine-sink -stop-after machine-sink -o /dev/null %s 2>&1 | FileCheck %s
2 # This test ensures that an error is reported when an stack object reference
3 # uses a different name then the stack object definition.
4
5 --- |
6
7   define i32 @test(i32 %a) {
8   entry:
9     %b = alloca i32
10     store i32 %a, i32* %b
11     %c = load i32, i32* %b
12     ret i32 %c
13   }
14
15 ...
16 ---
17 name:            test
18 isSSA:           true
19 tracksRegLiveness: true
20 registers:
21   - { id: 0, class: gr32 }
22 frameInfo:
23   maxAlignment:  4
24 stack:
25   - { id: 0, name: b, size: 4, alignment: 4 }
26 body: |
27   bb.0.entry:
28     %0 = COPY %edi
29     ; CHECK: [[@LINE+1]]:13: the name of the stack object '%stack.0' isn't 'x'
30     MOV32mr %stack.0.x, 1, _, 0, _, %0
31     %eax = COPY %0
32     RETQ %eax
33 ...