Skip to content

Commit d5ea43f

Browse files
committed
Use -O2
1 parent c2a5ecf commit d5ea43f

File tree

3 files changed

+179
-225
lines changed

3 files changed

+179
-225
lines changed
Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,45 @@
11
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5
2-
// RUN: %clang_cc1 -triple x86_64-unknown-linux -O0 -fsanitize-cfi-cross-dso \
2+
// RUN: %clang_cc1 -triple x86_64-unknown-linux -O2 -fsanitize-cfi-cross-dso \
33
// RUN: -fsanitize=cfi-icall,cfi-nvcall,cfi-vcall,cfi-unrelated-cast,cfi-derived-cast \
44
// RUN: -fsanitize-trap=cfi-icall,cfi-nvcall -fsanitize-recover=cfi-vcall,cfi-unrelated-cast \
55
// RUN: -fsanitize-annotate-debug-info=cfi-icall,cfi-nvcall,cfi-vcall,cfi-unrelated-cast,cfi-derived-cast \
66
// RUN: -fdebug-prefix-map=%S/= -fno-ident -fdebug-compilation-dir=%S -debug-info-kind=limited \
77
// RUN: -emit-llvm -o - %s | FileCheck %s
88

99
// CHECK-LABEL: define dso_local void @caller(
10-
// CHECK-SAME: ptr noundef [[F:%.*]]) #[[ATTR0:[0-9]+]] !dbg [[DBG6:![0-9]+]] !type [[META14:![0-9]+]] !type [[META15:![0-9]+]] !type [[META16:![0-9]+]] {
10+
// CHECK-SAME: ptr noundef [[F:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] !dbg [[DBG7:![0-9]+]] !type [[META16:![0-9]+]] !type [[META17:![0-9]+]] !type [[META18:![0-9]+]] {
1111
// CHECK-NEXT: [[ENTRY:.*:]]
12-
// CHECK-NEXT: [[F_ADDR:%.*]] = alloca ptr, align 8
13-
// CHECK-NEXT: store ptr [[F]], ptr [[F_ADDR]], align 8
14-
// CHECK-NEXT: #dbg_declare(ptr [[F_ADDR]], [[META17:![0-9]+]], !DIExpression(), [[META18:![0-9]+]])
15-
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[F_ADDR]], align 8, !dbg [[DBG19:![0-9]+]]
16-
// CHECK-NEXT: [[TMP1:%.*]] = call i1 @llvm.type.test(ptr [[TMP0]], metadata !"_ZTSFvvE"), !dbg [[DBG19]], !nosanitize [[META13:![0-9]+]]
17-
// CHECK-NEXT: br i1 [[TMP1]], label %[[CFI_CONT:.*]], label %[[CFI_SLOWPATH:.*]], !dbg [[DBG19]], !prof [[PROF20:![0-9]+]], !nosanitize [[META13]]
12+
// CHECK-NEXT: #dbg_value(ptr [[F]], [[META15:![0-9]+]], !DIExpression(), [[META19:![0-9]+]])
13+
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.type.test(ptr [[F]], metadata !"_ZTSFvvE"), !dbg [[DBG20:![0-9]+]], !nosanitize [[META21:![0-9]+]]
14+
// CHECK-NEXT: br i1 [[TMP0]], label %[[CFI_CONT:.*]], label %[[CFI_SLOWPATH:.*]], !dbg [[DBG20]], !prof [[PROF22:![0-9]+]], !nosanitize [[META21]]
1815
// CHECK: [[CFI_SLOWPATH]]:
19-
// CHECK-NEXT: call void @__cfi_slowpath(i64 9080559750644022485, ptr [[TMP0]]) #[[ATTR7:[0-9]+]], !dbg [[DBG19]], !nosanitize [[META13]]
20-
// CHECK-NEXT: br label %[[CFI_CONT]], !dbg [[DBG19]], !nosanitize [[META13]]
16+
// CHECK-NEXT: tail call void @__cfi_slowpath(i64 9080559750644022485, ptr [[F]]) #[[ATTR6:[0-9]+]], !dbg [[DBG20]], !nosanitize [[META21]]
17+
// CHECK-NEXT: br label %[[CFI_CONT]], !dbg [[DBG20]], !nosanitize [[META21]]
2118
// CHECK: [[CFI_CONT]]:
22-
// CHECK-NEXT: call void [[TMP0]](), !dbg [[DBG19]]
23-
// CHECK-NEXT: ret void, !dbg [[DBG21:![0-9]+]]
19+
// CHECK-NEXT: tail call void [[F]]() #[[ATTR6]], !dbg [[DBG20]]
20+
// CHECK-NEXT: ret void, !dbg [[DBG23:![0-9]+]]
2421
//
2522
void caller(void (*f)(void)) {
2623
f();
2724
}
2825
//.
29-
// CHECK: [[META0:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C11, file: [[META1:![0-9]+]], isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None)
26+
// CHECK: [[META0:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C11, file: [[META1:![0-9]+]], isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None)
3027
// CHECK: [[META1]] = !DIFile(filename: "{{.*}}<stdin>", directory: {{.*}})
31-
// CHECK: [[DBG6]] = distinct !DISubprogram(name: "caller", scope: [[META7:![0-9]+]], file: [[META7]], line: 8, type: [[META8:![0-9]+]], scopeLine: 8, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: [[META0]], retainedNodes: [[META13]])
32-
// CHECK: [[META7]] = !DIFile(filename: "{{.*}}cfi-check-fail-debuginfo.c", directory: {{.*}})
33-
// CHECK: [[META8]] = !DISubroutineType(types: [[META9:![0-9]+]])
34-
// CHECK: [[META9]] = !{null, [[META10:![0-9]+]]}
35-
// CHECK: [[META10]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META11:![0-9]+]], size: 64)
36-
// CHECK: [[META11]] = !DISubroutineType(types: [[META12:![0-9]+]])
37-
// CHECK: [[META12]] = !{null}
38-
// CHECK: [[META13]] = !{}
39-
// CHECK: [[META14]] = !{i64 0, !"_ZTSFvPFvvEE"}
40-
// CHECK: [[META15]] = !{i64 0, !"_ZTSFvPvE.generalized"}
41-
// CHECK: [[META16]] = !{i64 0, i64 2451761621477796417}
42-
// CHECK: [[META17]] = !DILocalVariable(name: "f", arg: 1, scope: [[DBG6]], file: [[META7]], line: 8, type: [[META10]])
43-
// CHECK: [[META18]] = !DILocation(line: 8, column: 20, scope: [[DBG6]])
44-
// CHECK: [[DBG19]] = !DILocation(line: 9, column: 3, scope: [[DBG6]])
45-
// CHECK: [[PROF20]] = !{!"branch_weights", i32 1048575, i32 1}
46-
// CHECK: [[DBG21]] = !DILocation(line: 10, column: 1, scope: [[DBG6]])
28+
// CHECK: [[DBG7]] = distinct !DISubprogram(name: "caller", scope: [[META8:![0-9]+]], file: [[META8]], line: 25, type: [[META9:![0-9]+]], scopeLine: 25, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: [[META0]], retainedNodes: [[META14:![0-9]+]])
29+
// CHECK: [[META8]] = !DIFile(filename: "{{.*}}cfi-check-fail-debuginfo.c", directory: {{.*}})
30+
// CHECK: [[META9]] = !DISubroutineType(types: [[META10:![0-9]+]])
31+
// CHECK: [[META10]] = !{null, [[META11:![0-9]+]]}
32+
// CHECK: [[META11]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META12:![0-9]+]], size: 64)
33+
// CHECK: [[META12]] = !DISubroutineType(types: [[META13:![0-9]+]])
34+
// CHECK: [[META13]] = !{null}
35+
// CHECK: [[META14]] = !{[[META15]]}
36+
// CHECK: [[META15]] = !DILocalVariable(name: "f", arg: 1, scope: [[DBG7]], file: [[META8]], line: 25, type: [[META11]])
37+
// CHECK: [[META16]] = !{i64 0, !"_ZTSFvPFvvEE"}
38+
// CHECK: [[META17]] = !{i64 0, !"_ZTSFvPvE.generalized"}
39+
// CHECK: [[META18]] = !{i64 0, i64 2451761621477796417}
40+
// CHECK: [[META19]] = !DILocation(line: 0, scope: [[DBG7]])
41+
// CHECK: [[DBG20]] = !DILocation(line: 26, column: 3, scope: [[DBG7]])
42+
// CHECK: [[META21]] = !{}
43+
// CHECK: [[PROF22]] = !{!"branch_weights", i32 1048575, i32 1}
44+
// CHECK: [[DBG23]] = !DILocation(line: 27, column: 1, scope: [[DBG7]])
4745
//.

0 commit comments

Comments
 (0)