Lines Matching full:common

2 ; RUN: opt -passes=function-attrs -S < %s | FileCheck --check-prefixes=COMMON,FNATTRS %s
3 ; RUN: opt -passes=attributor-light -S < %s | FileCheck --check-prefixes=COMMON,ATTRIBUTOR %s
7 ; COMMON: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
8 ; COMMON-LABEL: define {{[^@]+}}@foo1
9 ; COMMON-SAME: () #[[ATTR0:[0-9]+]] {
10 ; COMMON-NEXT: ret i32 1
56 ; COMMON-LABEL: define {{[^@]+}}@call_non_nounwind() {
57 ; COMMON-NEXT: [[TMP1:%.*]] = tail call i32 @non_nounwind()
58 ; COMMON-NEXT: ret void
73 ; COMMON-LABEL: define {{[^@]+}}@maybe_throw
74 ; COMMON-SAME: (i1 zeroext [[TMP0:%.*]]) {
75 ; COMMON-NEXT: br i1 [[TMP0]], label [[TMP2:%.*]], label [[TMP3:%.*]]
76 ; COMMON: 2:
77 ; COMMON-NEXT: tail call void @__cxa_rethrow()
78 ; COMMON-NEXT: unreachable
79 ; COMMON: 3:
80 ; COMMON-NEXT: ret i32 -1
104 ; COMMON-LABEL: define {{[^@]+}}@catch_thing() personality ptr @__gxx_personality_v0 {
105 ; COMMON-NEXT: invoke void @__cxa_rethrow()
106 ; COMMON-NEXT: to label [[TMP1:%.*]] unwind label [[TMP2:%.*]]
107 ; COMMON: 1:
108 ; COMMON-NEXT: unreachable
109 ; COMMON: 2:
110 ; COMMON-NEXT: [[TMP3:%.*]] = landingpad { ptr, i32 }
111 ; COMMON-NEXT: catch ptr null
112 ; COMMON-NEXT: [[TMP4:%.*]] = extractvalue { ptr, i32 } [[TMP3]], 0
113 ; COMMON-NEXT: [[TMP5:%.*]] = tail call ptr @__cxa_begin_catch(ptr [[TMP4]])
114 ; COMMON-NEXT: tail call void @__cxa_end_catch()
115 ; COMMON-NEXT: ret i32 -1
133 ; COMMON-LABEL: define {{[^@]+}}@catch_thing_user() {
134 ; COMMON-NEXT: [[CATCH_THING_CALL:%.*]] = call i32 @catch_thing()
135 ; COMMON-NEXT: ret i32 [[CATCH_THING_CALL]]
146 ; COMMON: Function Attrs: noreturn
147 ; COMMON-LABEL: define {{[^@]+}}@catch_specific_landingpad
148 ; COMMON-SAME: () #[[ATTR3:[0-9]+]] personality ptr @__gxx_personality_v0 {
149 ; COMMON-NEXT: invoke void @do_throw()
150 ; COMMON-NEXT: to label [[UNREACHABLE:%.*]] unwind label [[LPAD:%.*]]
151 ; COMMON: lpad:
152 ; COMMON-NEXT: [[LP:%.*]] = landingpad { ptr, i32 }
153 ; COMMON-NEXT: catch ptr @catch_ty
154 ; COMMON-NEXT: call void @abort()
155 ; COMMON-NEXT: unreachable
156 ; COMMON: unreachable:
157 ; COMMON-NEXT: unreachable
173 ; COMMON: Function Attrs: noreturn nounwind
174 ; COMMON-LABEL: define {{[^@]+}}@catch_all_landingpad
175 ; COMMON-SAME: () #[[ATTR4:[0-9]+]] personality ptr @__gxx_personality_v0 {
176 ; COMMON-NEXT: invoke void @do_throw()
177 ; COMMON-NEXT: to label [[UNREACHABLE:%.*]] unwind label [[LPAD:%.*]]
178 ; COMMON: lpad:
179 ; COMMON-NEXT: [[LP:%.*]] = landingpad { ptr, i32 }
180 ; COMMON-NEXT: catch ptr null
181 ; COMMON-NEXT: call void @abort()
182 ; COMMON-NEXT: unreachable
183 ; COMMON: unreachable:
184 ; COMMON-NEXT: unreachable
200 ; COMMON: Function Attrs: noreturn
201 ; COMMON-LABEL: define {{[^@]+}}@filter_specific_landingpad
202 ; COMMON-SAME: () #[[ATTR3]] personality ptr @__gxx_personality_v0 {
203 ; COMMON-NEXT: invoke void @do_throw()
204 ; COMMON-NEXT: to label [[UNREACHABLE:%.*]] unwind label [[LPAD:%.*]]
205 ; COMMON: lpad:
206 ; COMMON-NEXT: [[LP:%.*]] = landingpad { ptr, i32 }
207 ; COMMON-NEXT: filter [1 x ptr] [ptr @catch_ty]
208 ; COMMON-NEXT: call void @abort()
209 ; COMMON-NEXT: unreachable
210 ; COMMON: unreachable:
211 ; COMMON-NEXT: unreachable
227 ; COMMON: Function Attrs: noreturn nounwind
228 ; COMMON-LABEL: define {{[^@]+}}@filter_none_landingpad
229 ; COMMON-SAME: () #[[ATTR4]] personality ptr @__gxx_personality_v0 {
230 ; COMMON-NEXT: invoke void @do_throw()
231 ; COMMON-NEXT: to label [[UNREACHABLE:%.*]] unwind label [[LPAD:%.*]]
232 ; COMMON: lpad:
233 ; COMMON-NEXT: [[LP:%.*]] = landingpad { ptr, i32 }
234 ; COMMON-NEXT: filter [0 x ptr] zeroinitializer
235 ; COMMON-NEXT: call void @abort()
236 ; COMMON-NEXT: unreachable
237 ; COMMON: unreachable:
238 ; COMMON-NEXT: unreachable
254 ; COMMON: Function Attrs: noreturn
255 ; COMMON-LABEL: define {{[^@]+}}@cleanup_landingpad
256 ; COMMON-SAME: () #[[ATTR3]] personality ptr @__gxx_personality_v0 {
257 ; COMMON-NEXT: invoke void @do_throw()
258 ; COMMON-NEXT: to label [[UNREACHABLE:%.*]] unwind label [[LPAD:%.*]]
259 ; COMMON: lpad:
260 ; COMMON-NEXT: [[LP:%.*]] = landingpad { ptr, i32 }
261 ; COMMON-NEXT: cleanup
262 ; COMMON-NEXT: call void @abort()
263 ; COMMON-NEXT: unreachable
264 ; COMMON: unreachable:
265 ; COMMON-NEXT: unreachable