mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
518df78860
order. The implicit register verifier in the MIR parser should only check if the instruction's default implicit operands are present in the instruction. It should not check the order in which they occur. llvm-svn: 247283
35 lines
644 B
YAML
35 lines
644 B
YAML
# RUN: not llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
|
|
|
|
--- |
|
|
|
|
define i32 @foo(i32* %p) {
|
|
entry:
|
|
%a = load i32, i32* %p
|
|
%0 = icmp sle i32 %a, 10
|
|
br i1 %0, label %less, label %exit
|
|
|
|
less:
|
|
ret i32 0
|
|
|
|
exit:
|
|
ret i32 %a
|
|
}
|
|
|
|
|
|
...
|
|
---
|
|
name: foo
|
|
body: |
|
|
bb.0.entry:
|
|
%eax = MOV32rm %rdi, 1, _, 0, _
|
|
CMP32ri8 %eax, 10, implicit-def %eflags
|
|
; CHECK: [[@LINE+1]]:35: missing implicit register operand 'implicit %eflags'
|
|
JG_1 %bb.2.exit, implicit %eax
|
|
|
|
bb.1.less:
|
|
%eax = MOV32r0 implicit-def %eflags
|
|
|
|
bb.2.exit:
|
|
RETQ %eax
|
|
...
|