@@ -22,7 +22,7 @@ define void @test() sanitize_hwaddress personality ptr @__gxx_personality_v0 {
22
22
; CHECK-NEXT: [[TMP1:%.*]] = getelementptr i8, ptr [[TMP0]], i32 48
23
23
; CHECK-NEXT: [[TMP2:%.*]] = load i64, ptr [[TMP1]], align 8
24
24
; CHECK-NEXT: [[TMP3:%.*]] = ashr i64 [[TMP2]], 3
25
- ; CHECK-NEXT: [[TMP4:%.*]] = call i64 @llvm.read_register.i64(metadata [[META1 :![0-9]+]])
25
+ ; CHECK-NEXT: [[TMP4:%.*]] = call i64 @llvm.read_register.i64(metadata [[META2 :![0-9]+]])
26
26
; CHECK-NEXT: [[TMP5:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
27
27
; CHECK-NEXT: [[TMP6:%.*]] = ptrtoint ptr [[TMP5]] to i64
28
28
; CHECK-NEXT: [[TMP7:%.*]] = shl i64 [[TMP6]], 44
@@ -56,7 +56,7 @@ define void @test() sanitize_hwaddress personality ptr @__gxx_personality_v0 {
56
56
; CHECK-NEXT: [[TMP26:%.*]] = getelementptr i8, ptr [[TMP16]], i64 [[TMP25]]
57
57
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 1 [[TMP26]], i8 [[TMP22]], i64 1, i1 false)
58
58
; CHECK-NEXT: invoke void @mayFail(ptr [[X_HWASAN]])
59
- ; CHECK-NEXT: to label [[INVOKE_CONT:%.*]] unwind label [[LPAD:%.*]]
59
+ ; CHECK-NEXT: to label [[INVOKE_CONT:%.*]] unwind label [[LPAD:%.*]]
60
60
; CHECK: invoke.cont:
61
61
; CHECK-NEXT: [[TMP27:%.*]] = trunc i64 [[HWASAN_UAR_TAG]] to i8
62
62
; CHECK-NEXT: [[TMP28:%.*]] = ptrtoint ptr [[X]] to i64
@@ -68,14 +68,12 @@ define void @test() sanitize_hwaddress personality ptr @__gxx_personality_v0 {
68
68
; CHECK-NEXT: ret void
69
69
; CHECK: lpad:
70
70
; CHECK-NEXT: [[TMP32:%.*]] = landingpad { ptr, i32 }
71
- ; CHECK-NEXT: cleanup
72
- ; CHECK-NEXT: [[TMP33:%.*]] = call i64 @llvm.read_register.i64(metadata [[META2 :![0-9]+]])
71
+ ; CHECK-NEXT: cleanup
72
+ ; CHECK-NEXT: [[TMP33:%.*]] = call i64 @llvm.read_register.i64(metadata [[META3 :![0-9]+]])
73
73
; CHECK-NEXT: call void @__hwasan_handle_vfork(i64 [[TMP33]])
74
74
; CHECK-NEXT: [[TMP34:%.*]] = extractvalue { ptr, i32 } [[TMP32]], 0
75
- ; CHECK-NEXT: call void @llvm.hwasan.check.memaccess(ptr [[TMP16]], ptr [[EXN_SLOT]], i32 19)
76
75
; CHECK-NEXT: store ptr [[TMP34]], ptr [[EXN_SLOT]], align 8
77
76
; CHECK-NEXT: [[TMP35:%.*]] = extractvalue { ptr, i32 } [[TMP32]], 1
78
- ; CHECK-NEXT: call void @llvm.hwasan.check.memaccess(ptr [[TMP16]], ptr [[EHSELECTOR_SLOT]], i32 18)
79
77
; CHECK-NEXT: store i32 [[TMP35]], ptr [[EHSELECTOR_SLOT]], align 4
80
78
; CHECK-NEXT: call void @onExcept(ptr [[X_HWASAN]])
81
79
; CHECK-NEXT: [[TMP36:%.*]] = trunc i64 [[HWASAN_UAR_TAG]] to i8
@@ -87,9 +85,7 @@ define void @test() sanitize_hwaddress personality ptr @__gxx_personality_v0 {
87
85
; CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 16, ptr [[X]])
88
86
; CHECK-NEXT: br label [[EH_RESUME:%.*]]
89
87
; CHECK: eh.resume:
90
- ; CHECK-NEXT: call void @llvm.hwasan.check.memaccess(ptr [[TMP16]], ptr [[EXN_SLOT]], i32 3)
91
88
; CHECK-NEXT: [[EXN:%.*]] = load ptr, ptr [[EXN_SLOT]], align 8
92
- ; CHECK-NEXT: call void @llvm.hwasan.check.memaccess(ptr [[TMP16]], ptr [[EHSELECTOR_SLOT]], i32 2)
93
89
; CHECK-NEXT: [[SEL:%.*]] = load i32, ptr [[EHSELECTOR_SLOT]], align 4
94
90
; CHECK-NEXT: [[LPAD_VAL:%.*]] = insertvalue { ptr, i32 } undef, ptr [[EXN]], 0
95
91
; CHECK-NEXT: [[LPAD_VAL1:%.*]] = insertvalue { ptr, i32 } [[LPAD_VAL]], i32 [[SEL]], 1
@@ -99,12 +95,12 @@ entry:
99
95
%x = alloca i32 , align 8
100
96
%exn.slot = alloca ptr , align 8
101
97
%ehselector.slot = alloca i32 , align 4
102
- call void @llvm.lifetime.start.p0 (i64 8 , ptr %x )
98
+ call void @llvm.lifetime.start.p0 (i64 4 , ptr %x )
103
99
invoke void @mayFail (ptr %x ) to label %invoke.cont unwind label %lpad
104
100
105
101
invoke .cont: ; preds = %entry
106
102
107
- call void @llvm.lifetime.end.p0 (i64 8 , ptr %x )
103
+ call void @llvm.lifetime.end.p0 (i64 4 , ptr %x )
108
104
ret void
109
105
110
106
lpad: ; preds = %entry
@@ -116,7 +112,7 @@ lpad: ; preds = %entry
116
112
%2 = extractvalue { ptr , i32 } %0 , 1
117
113
store i32 %2 , ptr %ehselector.slot , align 4
118
114
call void @onExcept (ptr %x ) #18
119
- call void @llvm.lifetime.end.p0 (i64 8 , ptr %x )
115
+ call void @llvm.lifetime.end.p0 (i64 4 , ptr %x )
120
116
br label %eh.resume
121
117
122
118
eh.resume: ; preds = %lpad
0 commit comments