# RUN: llc -run-pass none -o - %s | FileCheck %s
# This test ensures that the MIR parser parses machine functions correctly.

--- |

  define i32 @foo() {
    ret i32 0
  }

  define i32 @bar() {
    ret i32 0
  }

  define i32 @func() {
    ret i32 0
  }

  define i32 @func2() {
    ret i32 0
  }

...
---
# CHECK: name: foo
# CHECK-NEXT: alignment:
# CHECK-NEXT: exposesReturnsTwice: false
# CHECK: ...
name:            foo
...
---
# CHECK: name: bar
# CHECK-NEXT: alignment:
# CHECK-NEXT: exposesReturnsTwice: false
# CHECK: ...
name:            bar
...
---
# CHECK: name: func
# CHECK-NEXT: alignment: 8
# CHECK-NEXT: exposesReturnsTwice: false
# CHECK: ...
name:            func
alignment:       8
...
---
# CHECK: name: func2
# CHECK-NEXT: alignment: 16
# CHECK-NEXT: exposesReturnsTwice: true
# CHECK: ...
name:            func2
alignment:       16
exposesReturnsTwice: true
...
