Adam Nemet | 1a89f25 | 2017-01-26 04:34:07 +0000 | [diff] [blame] | 1 | // REQUIRES: aarch64-registered-target |
Adam Nemet | 7b796f8 | 2017-01-26 04:07:11 +0000 | [diff] [blame] | 2 | // RUN: %clang_cc1 -triple arm64-apple-ios -S -o /dev/null %s -O2 -dwarf-column-info -Rpass-missed=regalloc 2>&1 | FileCheck -check-prefix=REMARK %s |
3 | // RUN: %clang_cc1 -triple arm64-apple-ios -S -o /dev/null %s -O2 -dwarf-column-info 2>&1 | FileCheck -allow-empty -check-prefix=NO_REMARK %s | ||||
4 | // RUN: %clang_cc1 -triple arm64-apple-ios -S -o /dev/null %s -O2 -dwarf-column-info -opt-record-file %t.yaml | ||||
5 | // RUN: cat %t.yaml | FileCheck -check-prefix=YAML %s | ||||
6 | |||||
7 | void bar(float); | ||||
8 | |||||
9 | void foo(float *p, int i) { | ||||
10 | while (i--) { | ||||
11 | float f = *p; | ||||
12 | asm("" :: | ||||
13 | : "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15", "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23", "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31", "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "fp", "lr", "sp", "memory"); | ||||
14 | bar(f); | ||||
15 | } | ||||
16 | } | ||||
17 | |||||
Adam Nemet | 1a89f25 | 2017-01-26 04:34:07 +0000 | [diff] [blame] | 18 | // REMARK: opt-record-MIR.c:10:11: remark: {{.}} spills {{.}} reloads generated in loop |
Adam Nemet | 7b796f8 | 2017-01-26 04:07:11 +0000 | [diff] [blame] | 19 | // NO_REMARK-NOT: remark: |
20 | |||||
21 | // YAML: --- !Missed | ||||
22 | // YAML: Pass: regalloc | ||||
23 | // YAML: Name: LoopSpillReload | ||||
Roman Lebedev | a67e0d0 | 2018-07-17 07:12:08 +0000 | [diff] [blame] | 24 | // YAML: DebugLoc: { File: {{[^,]+}}, |
25 | // YAML: Line: 10, | ||||
26 | // YAML: Column: 11 } | ||||
Adam Nemet | 7b796f8 | 2017-01-26 04:07:11 +0000 | [diff] [blame] | 27 | // YAML: Function: foo |
28 | // YAML: Args: | ||||
29 | // YAML: - NumSpills: '{{.}}' | ||||
30 | // YAML: - String: ' spills ' | ||||
31 | // YAML: - NumReloads: '{{.}}' | ||||
32 | // YAML: - String: ' reloads ' | ||||
33 | // YAML: - String: generated | ||||
34 | // YAML: ... |