MIR Serialization: Serialize the null register operands.

This commit serializes the null register machine operands.
It uses the '_' keyword to represent them, but the parser
also allows the '%noreg' named register syntax.

Reviewers: Duncan P. N. Exon Smith

Differential Revision: http://reviews.llvm.org/D10580


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240558 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alex Lorenz
2015-06-24 17:34:58 +00:00
parent baf8f6a261
commit d89b55e309
5 changed files with 39 additions and 4 deletions

View File

@@ -0,0 +1,23 @@
# 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 null register operands correctly.
--- |
define i32 @deref(i32* %p) {
entry:
%a = load i32, i32* %p
ret i32 %a
}
...
---
# CHECK: name: deref
name: deref
body:
- name: entry
instructions:
# CHECK: - '%eax = MOV32rm %rdi, 1, _, 0, _'
# CHECK-NEXT: - 'RETQ %eax'
- '%eax = MOV32rm %rdi, 1, _, 0, %noreg'
- 'RETQ %eax'
...