1# RUN: llc -simplify-mir=0 -march=x86-64 -run-pass=none -o - %s | FileCheck -check-prefixes=FULL,ALL %s
2# RUN: llc -simplify-mir=1 -march=x86-64 -run-pass=none -o - %s | FileCheck -check-prefixes=SIMPLE,ALL %s
3
4# This test ensures that the MIR parser parses callee saved information in the
5# stack objects correctly.
6
7# ALL: name: func0
8# ALL: callsEHReturn:   true
9# ALL: callsUnwindInit: true
10# ALL: hasEHCatchret:   true
11# ALL: hasEHScopes:     true
12# ALL: hasEHFunclets:   true
13
14---
15name: func0
16callsEHReturn: true
17callsUnwindInit: true
18hasEHCatchret: true
19hasEHScopes: true
20hasEHFunclets: true
21body: |
22  bb.0:
23...
24
25# ALL: name: func1
26# FULL: callsEHReturn: false
27# FULL: callsUnwindInit: true
28# FULL: hasEHCatchret: false
29# FULL: hasEHScopes: true
30# FULL: hasEHFunclets: false
31
32# SIMPLE-NOT: callsEHReturn
33# SIMPLE: callsUnwindInit: true
34# SIMPLE-NOT: hasEHCatchret
35# SIMPLE: hasEHScopes: true
36# SIMPLE-NOT: hasEHFunclets
37---
38name: func1
39tracksRegLiveness: true
40callsEHReturn: false
41callsUnwindInit: true
42hasEHCatchret: false
43hasEHScopes: true
44hasEHFunclets: false
45body: |
46  bb.0:
47...
48
49# ALL: name: func2
50# FULL: callsEHReturn: true
51# FULL: callsUnwindInit: false
52# FULL: hasEHCatchret: true
53# FULL: hasEHScopes: false
54# FULL: hasEHFunclets: false
55
56# SIMPLE: callsEHReturn: true
57# SIMPLE-NOT: callsUnwindInit
58# SIMPLE: hasEHCatchret: true
59# SIMPLE-NOT hasEHScopes
60# SIMPLE-NOT: hasEHFunclets
61---
62name: func2
63tracksRegLiveness: true
64callsEHReturn: true
65callsUnwindInit: false
66hasEHCatchret: true
67hasEHScopes: false
68hasEHFunclets: false
69body: |
70  bb.0:
71...
72