# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
# This test ensures that the MIR parser parses machine functions correctly.

--- |

  define i32 @foo() {
  entry:
    ret i32 0
  }

  define i32 @bar() {
  start:
    ret i32 0
  }

  define i32 @test() {
  start:
    ret i32 0
  }

...
---
# CHECK-LABEL: name: foo
# CHECK: body:
# CHECK-NEXT: bb.0.entry:
name:            foo
body: |
  bb.0.entry:
...
---
# CHECK-LABEL: name: bar
# CHECK: body:
# CHECK-NEXT: bb.0.start (align 4):
# CHECK:      bb.1 (address-taken):
name:            bar
body: |
  bb.0.start (align 4):
  bb.1 (address-taken):
...
---
# CHECK-LABEL: name: test
# CHECK: body:
# CHECK-NEXT: bb.0.start (address-taken, align 4):
# CHECK:      bb.1 (address-taken, align 4):
name:            test
body: |
  bb.0.start (align 4, address-taken):
  bb.1 (address-taken, align 4):
...
