Home | History | Annotate | Download | only in X86
      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 ...
     34