| # RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s |
| # This test ensures that the MIR parser parses global value operands correctly. |
| |
| --- | |
| |
| @G = external global i32 |
| @0 = external global i32 |
| |
| define i32 @inc() { |
| entry: |
| %a = load i32, i32* @G |
| %b = add i32 %a, 1 |
| ret i32 %b |
| } |
| |
| define i32 @inc2() { |
| entry: |
| %a = load i32, i32* @0 |
| %b = add i32 %a, 1 |
| ret i32 %b |
| } |
| |
| ... |
| --- |
| # CHECK: name: inc |
| name: inc |
| body: |
| - id: 0 |
| name: entry |
| instructions: |
| # CHECK: - '%rax = MOV64rm %rip, 1, _, @G, _' |
| - '%rax = MOV64rm %rip, 1, _, @G, _' |
| - '%eax = MOV32rm %rax, 1, _, 0, _' |
| - '%eax = INC32r %eax, implicit-def %eflags' |
| - 'RETQ %eax' |
| ... |
| --- |
| # CHECK: name: inc2 |
| name: inc2 |
| body: |
| - id: 0 |
| name: entry |
| instructions: |
| # CHECK: - '%rax = MOV64rm %rip, 1, _, @0, _' |
| - '%rax = MOV64rm %rip, 1, _, @0, _' |
| - '%eax = MOV32rm %rax, 1, _, 0, _' |
| - '%eax = INC32r %eax, implicit-def %eflags' |
| - 'RETQ %eax' |
| ... |