Lines Matching full:new
3 // RUN: FileCheck --check-prefix=CHECK-NEW %s < %t.ll
8 void *operator new(size_t, void *) throw();
55 // CHECK-NEW-LABEL: define{{.*}} void @_Z12LocalObjectsv()
56 // CHECK-NEW-NOT: @llvm.launder.invariant.group.p0(
57 // CHECK-NEW-LABEL: {{^}}}
92 // CHECK-NEW-LABEL: define{{.*}} void @_Z9Pointers1v()
93 // CHECK-NEW-NOT: @llvm.launder.invariant.group.p0(
94 // CHECK-NEW-LABEL: call void @_ZN12DynamicBase1C1Ev(
96 // CHECK-NEW: %[[THIS3:.*]] = call ptr @llvm.launder.invariant.group.p0(ptr %[[THIS2:.*]])
97 // CHECK-NEW: call void @_ZN14DynamicDerivedC1Ev(ptr {{[^,]*}} %[[THIS3]])
98 // CHECK-NEW-LABEL: {{^}}}
100 DynamicBase1 *DB = new DynamicBase1;
103 DynamicDerived *DD = new (DB) DynamicDerived;
108 // CHECK-NEW-LABEL: define{{.*}} void @_Z14HackingObjectsv()
109 // CHECK-NEW: call void @_ZN12DynamicBase1C1Ev
110 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(
111 // CHECK-NEW: call void @_ZN14DynamicDerivedC1Ev(
112 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(
113 // CHECK-NEW: call void @_ZN12DynamicBase1C1Ev(
114 // CHECK-NEW-LABEL: {{^}}}
119 DynamicDerived *DB2 = new (&DB) DynamicDerived;
125 new (&DB) DynamicBase1;
191 // CHECK-NEW-LABEL: define{{.*}} void @_Z14UnionsBarriersP1U
193 // CHECK-NEW: call void @_Z9changeToBP1U(
195 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(ptr
196 // CHECK-NEW: call void @_Z2g2P1A(ptr
198 // CHECK-NEW: call void @_Z9changeToAP1U(ptr
200 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(ptr
203 // CHECK-NEW-NOT: call ptr @llvm.launder.invariant.group.p0(ptr
220 // CHECK-NEW-LABEL: noBarriers
222 // CHECK-NEW-NOT: call ptr @llvm.launder.invariant.group.p0(ptr
223 // CHECK-NEW: 42
225 // CHECK-NEW-NOT: call ptr @llvm.launder.invariant.group.p0(ptr
226 // CHECK-NEW: call void @_Z4takeR12AnotherEmpty(
236 // CHECK-NEW-LABEL: define{{.*}} void @_Z15UnionsBarriers2R2U2
238 // CHECK-NEW-NOT: call ptr @llvm.launder.invariant.group.p0(ptr
239 // CHECK-NEW: 42
241 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(ptr
242 // CHECK-NEW: call void @_Z4takeR15HoldingVirtuals(
268 // CHECK-NEW-NOT: call ptr @llvm.launder.invariant.group.p0(ptr
269 // CHECK-NEW: 42
271 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(ptr
272 // CHECK-NEW: call void @_Z4takeR13VirtualInBase(
274 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(ptr
275 // CHECK-NEW: call void @_Z4takeR13VirtualInBase(
278 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(ptr
279 // CHECK-NEW: call void @_Z4takeR18VirtualInheritance(
283 // CHECK-NEW-LABEL: define{{.*}} void @_Z7comparev()
285 A *a = new A;
287 // CHECK-NEW: call ptr @llvm.launder.invariant.group.p0(ptr
288 A *b = new (a) B;
290 // CHECK-NEW: %[[a:.*]] = call ptr @llvm.strip.invariant.group.p0(ptr
291 // CHECK-NEW: %[[b:.*]] = call ptr @llvm.strip.invariant.group.p0(ptr
292 // CHECK-NEW: %cmp = icmp eq ptr %[[a]], %[[b]]
297 // CHECK-NEW-LABEL: compare2
299 // CHECK-NEW: %[[a:.*]] = call ptr @llvm.strip.invariant.group.p0(ptr
300 // CHECK-NEW: %[[b:.*]] = call ptr @llvm.strip.invariant.group.p0(ptr
301 // CHECK-NEW: %cmp = icmp ult ptr %[[a]], %[[b]]
304 // CHECK-NEW-LABEL: compareIntPointers
306 // CHECK-NEW-NOT: call ptr @llvm.strip.invariant.group
316 // CHECK-NEW-LABEL: compare5
318 // CHECK-NEW-NOT: call ptr @llvm.strip.invariant.group
321 // CHECK-NEW-LABEL: compareNull
323 // CHECK-NEW-NOT: call ptr @llvm.strip.invariant.group
335 // CHECK-NEW-LABEL: define{{.*}} zeroext i1 @_Z8compare4P1XS0_
337 // CHECK-NEW: %[[x:.*]] = call ptr @llvm.strip.invariant.group.p0(ptr
338 // CHECK-NEW: %[[x2:.*]] = call ptr @llvm.strip.invariant.group.p0(ptr
339 // CHECK-NEW: %cmp = icmp eq ptr %[[x]], %[[x2]]
343 // CHECK-NEW-LABEL: define{{.*}} void @_Z7member1P20HoldingOtherVirtuals(
346 // CHECK-NEW-NOT: call ptr @llvm.strip.invariant.group.p0(
350 // CHECK-NEW-LABEL: member2
352 // CHECK-NEW: call ptr @llvm.strip.invariant.group.p0
358 // CHECK-NEW-LABEL: @_Z18testCompareMembersv(
360 // CHECK-NEW: [[AP:%.*]] = alloca ptr
361 // CHECK-NEW: [[APM:%.*]] = alloca ptr
362 // CHECK-NEW: [[BP:%.*]] = alloca ptr
363 // CHECK-NEW: [[BPM:%.*]] = alloca ptr
365 A *ap = new A;
366 // CHECK-NEW: call void %{{.*}}(ptr {{[^,]*}} %{{.*}})
368 // CHECK-NEW: [[TMP7:%.*]] = load ptr, ptr [[AP]]
369 // CHECK-NEW: [[TMP9:%.*]] = call ptr @llvm.strip.invariant.group.p0(ptr [[TMP7]])
370 // CHECK-NEW: [[M:%.*]] = getelementptr inbounds nuw [[STRUCT_A:%.*]], ptr [[TMP9]], i32 0, i32 1
371 // CHECK-NEW: store ptr [[M]], ptr [[APM]]
374 B *bp = new (ap) B;
376 // CHECK-NEW: [[TMP20:%.*]] = load ptr, ptr [[BP]]
377 // CHECK-NEW: [[TMP23:%.*]] = call ptr @llvm.strip.invariant.group.p0(ptr [[TMP20]])
378 // CHECK-NEW: [[M4:%.*]] = getelementptr inbounds nuw [[STRUCT_A]], ptr [[TMP23]], i32 0, i32 1
379 // CHECK-NEW: store ptr [[M4]], ptr [[BPM]]
382 // CHECK-NEW: [[TMP25:%.*]] = load ptr, ptr [[APM]]
383 // CHECK-NEW: [[TMP26:%.*]] = load ptr, ptr [[BPM]]
384 // CHECK-NEW-NOT: strip.invariant.group
385 // CHECK-NEW-NOT: launder.invariant.group
386 // CHECK-NEW: [[CMP:%.*]] = icmp eq ptr [[TMP25]], [[TMP26]]
392 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast1P1A(ptr
395 // CHECK-NEW: call ptr @llvm.strip.invariant.group
398 // CHECK-NEW: call ptr @llvm.strip.invariant.group
402 // CHECK-NEW-NOT: @llvm.strip.invariant.group
403 // CHECK-NEW-NOT: @llvm.launder.invariant.group
410 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast2P10Incomplete(ptr
413 // CHECK-NEW: call ptr @llvm.strip.invariant.group
416 // CHECK-NEW: call ptr @llvm.strip.invariant.group
420 // CHECK-NEW-NOT: @llvm.strip.invariant.group
421 // CHECK-NEW-NOT: @llvm.launder.invariant.group
427 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast3y(
429 // CHECK-NEW-NOT: @llvm.strip.invariant.group
430 // CHECK-NEW: @llvm.launder.invariant.group
436 // CHECK-NEW: @llvm.launder.invariant.group
440 // CHECK-NEW-NOT: @llvm.launder.invariant.group
445 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast4y(
447 // CHECK-NEW-NOT: @llvm.strip.invariant.group
448 // CHECK-NEW: @llvm.launder.invariant.group
452 // CHECK-NEW: @llvm.launder.invariant.group
454 // CHECK-NEW-NOT: @llvm.launder.invariant.group
459 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast5P1B(
461 // CHECK-NEW-NOT: @llvm.strip.invariant.group
462 // CHECK-NEW-NOT: @llvm.launder.invariant.group
470 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast6P1A(
473 // CHECK-NEW: @llvm.strip.invariant.group
476 // CHECK-NEW: @llvm.launder.invariant.group
480 // CHECK-NEW: @llvm.strip.invariant.group
484 // CHECK-NEW: @llvm.launder.invariant.group
488 // CHECK-NEW-NOT: @llvm.strip.invariant.group
494 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast7P10Incomplete(
496 // CHECK-NEW-NOT: @llvm.strip.invariant.group
501 // CHECK-NEW: @llvm.launder.invariant.group
504 // CHECK-NEW-LABEL: ret void
511 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast8P10Incomplete(
513 // CHECK-NEW-NOT: @llvm.strip.invariant.group
514 // CHECK-NEW: @llvm.launder.invariant.group
518 // CHECK-NEW: @llvm.launder.invariant.group
522 // CHECK-NEW: @llvm.launder.invariant.group
526 // CHECK-NEW-NOT: @llvm.launder.invariant.group
529 // CHECK-NEW-LABEL: ret void
532 // CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast9
534 // CHECK-NEW: @llvm.strip.invariant.group
537 // CHECK-NEW-LABEL: ret void