Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions bench/abc/optimized/abcUtil.ll
Original file line number Diff line number Diff line change
Expand Up @@ -906,11 +906,14 @@ define range(i32 0, 1073741825) i32 @Abc_NtkGetCubePairNum(ptr noundef readonly
%31 = icmp slt i64 %indvars.iv.next, %30
br i1 %31, label %.lr.ph, label %.critedge, !llvm.loop !61

.critedge: ; preds = %27, %1
%.0.lcssa = phi i64 [ 0, %1 ], [ %.1, %27 ]
%32 = tail call i64 @llvm.umin.i64(i64 %.0.lcssa, i64 1073741824)
.critedge: ; preds = %27
%32 = tail call i64 @llvm.umin.i64(i64 %.1, i64 1073741824)
%33 = trunc nuw nsw i64 %32 to i32
ret i32 %33
br label %.critedge

.critedge: ; preds = %.critedge.loopexit, %1
%.0.lcssa = phi i32 [ 0, %1 ], [ %33, %.critedge.loopexit ]
ret i32 %.0.lcssa
}

; Function Attrs: nounwind uwtable
Expand Down
16 changes: 6 additions & 10 deletions bench/abc/optimized/cbaNtk.ll
Original file line number Diff line number Diff line change
Expand Up @@ -17042,7 +17042,7 @@ define internal fastcc i32 @Cba_FonRangeSize(ptr noundef captures(none) %0, i32
%6 = tail call ptr @Abc_NamStr(ptr noundef %.val.val, i32 noundef range(i32 -2147483648, 2147483647) %5) #25
%7 = tail call i64 @strtol(ptr noundef nonnull captures(none) %6, ptr noundef null, i32 noundef 10) #25
%8 = trunc i64 %7 to i32
br label %70
br label %Cba_NtkRangeSize.exit

9: ; preds = %2
%10 = getelementptr i8, ptr %0, i64 284
Expand Down Expand Up @@ -17160,17 +17160,13 @@ Cba_FonRange.exit: ; preds = %12, %._crit_edge.i.
%64 = getelementptr inbounds nuw i8, ptr %62, i64 4
%65 = load i32, ptr %64, align 4, !tbaa !57
%66 = sub nsw i32 %63, %65
%67 = tail call i32 @llvm.abs.i32(i32 %66, i1 true)
%68 = add nuw nsw i32 %67, 1
br label %Cba_NtkRangeSize.exit

Cba_NtkRangeSize.exit: ; preds = %9, %Cba_FonRange.exit, %52
%67 = phi i32 [ %66, %52 ], [ 0, %Cba_FonRange.exit ], [ 0, %9 ]
%68 = tail call i32 @llvm.abs.i32(i32 %67, i1 true)
%69 = add nuw nsw i32 %68, 1
br label %70

70: ; preds = %Cba_NtkRangeSize.exit, %3
%71 = phi i32 [ %8, %3 ], [ %69, %Cba_NtkRangeSize.exit ]
ret i32 %71
Cba_NtkRangeSize.exit: ; preds = %9, %52, %Cba_FonRange.exit, %3
%67 = phi i32 [ %8, %3 ], [ %68, %52 ], [ 1, %Cba_FonRange.exit ], [ 1, %9 ]
ret i32 %67
}

; Function Attrs: mustprogress nounwind willreturn allockind("realloc") allocsize(1) memory(argmem: readwrite, inaccessiblemem: readwrite)
Expand Down
151 changes: 77 additions & 74 deletions bench/abseil-cpp/optimized/crc.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1656,90 +1656,93 @@ define dso_local void @_ZNK4absl12crc_internal5CRC3216UnextendByZeroesEPjm(ptr n
%9 = getelementptr inbounds nuw i8, ptr %4, i64 8
%10 = getelementptr inbounds nuw i8, ptr %4, i64 16
%11 = getelementptr inbounds nuw i8, ptr %4, i64 24
br label %12
br label %14

12: ; preds = %61, %8
%.03042.i = phi i64 [ %2, %8 ], [ %63, %61 ]
%.03141.i = phi i32 [ %6, %8 ], [ %.1.i, %61 ]
%.03240.i = phi i32 [ 0, %8 ], [ %62, %61 ]
%13 = trunc i64 %.03042.i to i32
%14 = and i32 %13, 15
%.not36.i = icmp eq i32 %14, 0
br i1 %.not36.i, label %61, label %15
12: ; preds = %63
%13 = tail call noundef i32 @llvm.bitreverse.i32(i32 %.1.i)
br label %_ZN4absl12crc_internal5CRC3218ExtendByZeroesImplEPjmPKjS4_.exit

15: ; preds = %12
%16 = add nuw nsw i32 %14, %.03240.i
%17 = zext nneg i32 %16 to i64
%gep.i = getelementptr i32, ptr %invariant.gep.i, i64 %17
%18 = load i32, ptr %gep.i, align 4, !tbaa !4
%19 = zext i32 %18 to i64
%20 = shl nuw nsw i64 %19, 1
%21 = shl nuw nsw i64 %19, 2
15: ; preds = %63, %8
%.03042.i = phi i64 [ %2, %8 ], [ %65, %63 ]
%.03141.i = phi i32 [ %6, %8 ], [ %.1.i, %63 ]
%.03240.i = phi i32 [ 0, %8 ], [ %64, %63 ]
%15 = trunc i64 %.03042.i to i32
%16 = and i32 %15, 15
%.not36.i = icmp eq i32 %16, 0
br i1 %.not36.i, label %63, label %17

17: ; preds = %14
%18 = add nuw nsw i32 %16, %.03240.i
%19 = zext nneg i32 %18 to i64
%gep.i = getelementptr i32, ptr %invariant.gep.i, i64 %19
%20 = load i32, ptr %gep.i, align 4, !tbaa !4
%21 = zext i32 %20 to i64
%22 = shl nuw nsw i64 %21, 1
%23 = shl nuw nsw i64 %21, 2
call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #20
store i64 0, ptr %4, align 16, !tbaa !29
store i64 %20, ptr %9, align 8, !tbaa !29
store i64 %21, ptr %10, align 16, !tbaa !29
%22 = xor i64 %21, %20
store i64 %22, ptr %9, align 8, !tbaa !29
store i64 %23, ptr %10, align 16, !tbaa !29
%22 = xor i64 %23, %22
store i64 %22, ptr %11, align 8, !tbaa !29
br label %25
br label %27

23: ; preds = %25
%24 = trunc i64 %58 to i32
23: ; preds = %27
%24 = trunc i64 %60 to i32
call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #20
br label %61

25: ; preds = %25, %15
%.039.i = phi i32 [ 0, %15 ], [ %59, %25 ]
%.02938.i = phi i64 [ 0, %15 ], [ %58, %25 ]
%.237.i = phi i32 [ %.03141.i, %15 ], [ %52, %25 ]
%26 = and i32 %.237.i, 3
%27 = zext nneg i32 %26 to i64
%28 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %27
%29 = load i64, ptr %28, align 8, !tbaa !29
%30 = lshr i32 %.237.i, 2
%31 = and i32 %30, 3
%32 = zext nneg i32 %31 to i64
%33 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %32
%34 = load i64, ptr %33, align 8, !tbaa !29
%35 = shl i64 %34, 2
%36 = lshr i32 %.237.i, 4
%37 = and i32 %36, 3
%38 = zext nneg i32 %37 to i64
%39 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %38
%40 = load i64, ptr %39, align 8, !tbaa !29
%41 = shl i64 %40, 4
%42 = lshr i32 %.237.i, 6
%43 = and i32 %42, 3
%44 = zext nneg i32 %43 to i64
%45 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %44
%46 = load i64, ptr %45, align 8, !tbaa !29
%47 = shl i64 %46, 6
%48 = xor i64 %29, %.02938.i
%49 = xor i64 %48, %35
%50 = xor i64 %49, %41
%51 = xor i64 %50, %47
%52 = lshr i32 %.237.i, 8
%53 = lshr i64 %51, 8
%54 = and i64 %51, 255
%55 = getelementptr inbounds nuw i32, ptr %7, i64 %54
%56 = load i32, ptr %55, align 4, !tbaa !4
%57 = zext i32 %56 to i64
%58 = xor i64 %53, %57
%59 = add nuw nsw i32 %.039.i, 8
%60 = icmp samesign ult i32 %.039.i, 24
br i1 %60, label %25, label %23, !llvm.loop !31
br label %63

61: ; preds = %23, %12
%.1.i = phi i32 [ %24, %23 ], [ %.03141.i, %12 ]
%62 = add nuw nsw i32 %.03240.i, 15
%63 = lshr i64 %.03042.i, 4
61: ; preds = %27, %17
%.1.i = phi i32 [ 0, %17 ], [ %61, %27 ]
%.02938.i = phi i64 [ 0, %17 ], [ %60, %27 ]
%.237.i = phi i32 [ %.03141.i, %17 ], [ %54, %27 ]
%28 = and i32 %.237.i, 3
%29 = zext nneg i32 %28 to i64
%30 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %29
%31 = load i64, ptr %30, align 8, !tbaa !29
%32 = lshr i32 %.237.i, 2
%33 = and i32 %32, 3
%34 = zext nneg i32 %33 to i64
%35 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %34
%36 = load i64, ptr %35, align 8, !tbaa !29
%37 = shl i64 %36, 2
%38 = lshr i32 %.237.i, 4
%39 = and i32 %38, 3
%40 = zext nneg i32 %39 to i64
%41 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %40
%42 = load i64, ptr %41, align 8, !tbaa !29
%43 = shl i64 %42, 4
%44 = lshr i32 %.237.i, 6
%45 = and i32 %44, 3
%46 = zext nneg i32 %45 to i64
%47 = getelementptr inbounds nuw [4 x i64], ptr %4, i64 0, i64 %46
%48 = load i64, ptr %47, align 8, !tbaa !29
%49 = shl i64 %48, 6
%50 = xor i64 %31, %.02938.i
%51 = xor i64 %50, %37
%52 = xor i64 %51, %43
%53 = xor i64 %52, %49
%54 = lshr i32 %.237.i, 8
%55 = lshr i64 %53, 8
%56 = and i64 %53, 255
%57 = getelementptr inbounds nuw i32, ptr %7, i64 %56
%58 = load i32, ptr %57, align 4, !tbaa !4
%59 = zext i32 %58 to i64
%60 = xor i64 %55, %59
%61 = add nuw nsw i32 %.039.i, 8
%62 = icmp samesign ult i32 %.039.i, 24
br i1 %62, label %27, label %25, !llvm.loop !31

63: ; preds = %25, %14
%.1.i = phi i32 [ %26, %25 ], [ %.03141.i, %14 ]
%64 = add nuw nsw i32 %.03240.i, 15
%65 = lshr i64 %.03042.i, 4
%.not35.i = icmp ult i64 %.03042.i, 16
br i1 %.not35.i, label %_ZN4absl12crc_internal5CRC3218ExtendByZeroesImplEPjmPKjS4_.exit, label %12, !llvm.loop !32
br i1 %.not35.i, label %12, label %14, !llvm.loop !32

_ZN4absl12crc_internal5CRC3218ExtendByZeroesImplEPjmPKjS4_.exit: ; preds = %61, %3
%64 = phi i32 [ %6, %3 ], [ %.1.i, %61 ]
%65 = tail call noundef i32 @llvm.bitreverse.i32(i32 %64)
store i32 %65, ptr %1, align 4, !tbaa !4
_ZN4absl12crc_internal5CRC3218ExtendByZeroesImplEPjmPKjS4_.exit: ; preds = %3, %12
%64 = phi i32 [ %5, %3 ], [ %13, %12 ]
store i32 %66, ptr %1, align 4, !tbaa !4
ret void
}

Expand Down
14 changes: 5 additions & 9 deletions bench/abseil-cpp/optimized/nonsecure_base_test.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1769,7 +1769,7 @@ _ZN4absl15random_internal17NonsecureURBGBaseISt23mersenne_twister_engineImLm32EL
%29 = call noundef i64 @_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv(ptr noundef nonnull align 8 dereferenceable(5000) %4)
%30 = add i64 %29, %28
%31 = icmp eq i64 %30, 0
br i1 %31, label %_ZN4absl15random_internal20GenerateRealFromBitsIdNS0_19GeneratePositiveTagELb1EEET_mi.exit.i.i.i.i, label %32
br i1 %31, label %_ZN4absl7UniformIdRNS_15random_internal17NonsecureURBGBaseISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EENS1_17RandenPoolSeedSeqEEEEENSt9enable_ifIXntsr3std7is_sameIT_vEE5valueES9_E4typeEOT0_S9_S9_.exit, label %_ZN4absl15random_internal20GenerateRealFromBitsIdNS0_19GeneratePositiveTagELb1EEET_mi.exit.i.i.i.i

32: ; preds = %.split.i.i
%33 = call range(i64 0, 65) i64 @llvm.ctlz.i64(i64 %30, i1 true)
Expand All @@ -1780,15 +1780,11 @@ _ZN4absl15random_internal17NonsecureURBGBaseISt23mersenne_twister_engineImLm32EL
%reass.sub = sub nsw i64 %36, %37
%38 = add nsw i64 %reass.sub, 4602678819172646912
%39 = bitcast i64 %38 to double
br label %_ZN4absl15random_internal20GenerateRealFromBitsIdNS0_19GeneratePositiveTagELb1EEET_mi.exit.i.i.i.i
%39 = call double @llvm.fmuladd.f64(double %38, double 0x3FC9999999999998, double 5.000000e-01)
%40 = fcmp uge double %39, 0x3FE6666666666666
br i1 %40, label %.split.i.i, label %_ZN4absl7UniformIdRNS_15random_internal17NonsecureURBGBaseISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EENS1_17RandenPoolSeedSeqEEEEENSt9enable_ifIXntsr3std7is_sameIT_vEE5valueES9_E4typeEOT0_S9_S9_.exit

_ZN4absl15random_internal20GenerateRealFromBitsIdNS0_19GeneratePositiveTagELb1EEET_mi.exit.i.i.i.i: ; preds = %32, %.split.i.i
%.0.i.i.i.i.i = phi double [ %39, %32 ], [ 0.000000e+00, %.split.i.i ]
%40 = call double @llvm.fmuladd.f64(double %.0.i.i.i.i.i, double 0x3FC9999999999998, double 5.000000e-01)
%41 = fcmp uge double %40, 0x3FE6666666666666
br i1 %41, label %.split.i.i, label %_ZN4absl7UniformIdRNS_15random_internal17NonsecureURBGBaseISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EENS1_17RandenPoolSeedSeqEEEEENSt9enable_ifIXntsr3std7is_sameIT_vEE5valueES9_E4typeEOT0_S9_S9_.exit

_ZN4absl7UniformIdRNS_15random_internal17NonsecureURBGBaseISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EENS1_17RandenPoolSeedSeqEEEEENSt9enable_ifIXntsr3std7is_sameIT_vEE5valueES9_E4typeEOT0_S9_S9_.exit: ; preds = %_ZN4absl15random_internal20GenerateRealFromBitsIdNS0_19GeneratePositiveTagELb1EEET_mi.exit.i.i.i.i
_ZN4absl7UniformIdRNS_15random_internal17NonsecureURBGBaseISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EENS1_17RandenPoolSeedSeqEEEEENSt9enable_ifIXntsr3std7is_sameIT_vEE5valueES9_E4typeEOT0_S9_S9_.exit:; preds = %.split.i.i, %32
call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %2) #20
store double 1.000000e+00, ptr %2, align 8, !tbaa !74
%42 = getelementptr inbounds nuw i8, ptr %2, i64 40
Expand Down
52 changes: 28 additions & 24 deletions bench/arrow/optimized/arena.ll
Original file line number Diff line number Diff line change
Expand Up @@ -682,7 +682,7 @@ define hidden range(i32 0, 13) i32 @mi_reserve_huge_os_pages_interleave(i64 noun

5: ; preds = %3
%.not = icmp eq i64 %1, 0
br i1 %.not, label %6, label %_mi_os_numa_node_count.exit
br i1 %.not, label %6, label %11

6: ; preds = %5
%7 = load atomic i64, ptr @_mi_numa_node_count monotonic, align 8
Expand All @@ -693,44 +693,48 @@ define hidden range(i32 0, 13) i32 @mi_reserve_huge_os_pages_interleave(i64 noun
%9 = tail call i64 @_mi_os_numa_node_count_get() #6
br label %_mi_os_numa_node_count.exit

_mi_os_numa_node_count.exit: ; preds = %8, %6, %5
%10 = phi i64 [ %1, %5 ], [ %9, %8 ], [ %7, %6 ]
_mi_os_numa_node_count.exit: ; preds = %6, %8
%10 = phi i64 [ %9, %8 ], [ %7, %6 ]
%spec.store.select = tail call i64 @llvm.umax.i64(i64 %10, i64 1)
%11 = udiv i64 %0, %spec.store.select
%12 = urem i64 %0, %spec.store.select
%13 = icmp eq i64 %2, 0
br i1 %13, label %17, label %14

14: ; preds = %_mi_os_numa_node_count.exit
%15 = udiv i64 %2, %spec.store.select
%16 = add i64 %15, 50
br label %17

17: ; preds = %_mi_os_numa_node_count.exit, %14
%18 = phi i64 [ %16, %14 ], [ 0, %_mi_os_numa_node_count.exit ]
br label %19
br label %11

11:; preds = %5, %_mi_os_numa_node_count.exit
%spec.store.select = phi i64 [ %10, %_mi_os_numa_node_count.exit ], [ %1, %5 ]
%12 = udiv i64 %0, %spec.store.select
%spec.store.select.i = urem i64 %0, %spec.store.select
%14 = icmp eq i64 %2, 0
br i1 %14, label %18, label %15

15: ; preds = %11
%16 = udiv i64 %2, %spec.store.select
%17 = add i64 %16, 50
br label %18

18: ; preds = %11, %15
%19 = phi i64 [ %17, %15 ], [ 0, %11 ]
br label %20

19: ; preds = %17, %24
%.03549 = phi i64 [ 0, %17 ], [ %25, %24 ]
%.03648 = phi i64 [ %0, %17 ], [ %.238, %24 ]
%20 = icmp ult i64 %.03549, %12
19: ; preds = %18, %24
%.03549 = phi i64 [ 0, %18 ], [ %25, %25 ]
%.03648 = phi i64 [ %0, %18 ], [ %.238, %25 ]
%20 = icmp ult i64 %.03549, %13
%21 = zext i1 %20 to i64
%spec.select = add i64 %11, %21
%spec.select = add i64 %12, %21
%22 = trunc i64 %.03549 to i32
%23 = tail call i32 @mi_reserve_huge_os_pages_at(i64 noundef %spec.select, i32 noundef %22, i64 noundef %18)
%23 = tail call i32 @mi_reserve_huge_os_pages_at(i64 noundef %spec.select, i32 noundef %22, i64 noundef %19)
%.not43 = icmp eq i32 %23, 0
br i1 %.not43, label %24, label %.loopexit

24: ; preds = %19
%.238 = tail call i64 @llvm.usub.sat.i64(i64 %.03648, i64 %spec.select)
%25 = add nuw i64 %.03549, 1
%26 = icmp ule i64 %10, %25
%26 = icmp uge i64 %26, %spec.store.select
%27 = icmp ule i64 %.03648, %spec.select
%.not46 = select i1 %26, i1 true, i1 %27
br i1 %.not46, label %.loopexit, label %19, !llvm.loop !37

.loopexit: ; preds = %19, %24, %3
%.0 = phi i32 [ 0, %3 ], [ 0, %24 ], [ %23, %19 ]
%.0 = phi i32 [ 0, %3 ], [ 0, %25 ], [ %23, %20 ]
ret i32 %.0
}

Expand Down
24 changes: 15 additions & 9 deletions bench/assimp/optimized/Exporter.ll
Original file line number Diff line number Diff line change
Expand Up @@ -9308,15 +9308,21 @@ define linkonce_odr void @_ZN6Assimp15ProgressHandler14UpdateFileReadEii(ptr nou
; Function Attrs: mustprogress uwtable
define linkonce_odr void @_ZN6Assimp15ProgressHandler17UpdatePostProcessEii(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %1, i32 noundef %2) unnamed_addr #1 comdat align 2 {
%.not = icmp eq i32 %2, 0
%4 = sitofp i32 %1 to float
%5 = sitofp i32 %2 to float
%6 = fdiv float %4, %5
%7 = tail call float @llvm.fmuladd.f32(float %6, float 5.000000e-01, float 5.000000e-01)
%8 = select i1 %.not, float 1.000000e+00, float %7
%9 = load ptr, ptr %0, align 8
%10 = getelementptr inbounds nuw i8, ptr %9, i64 16
%11 = load ptr, ptr %10, align 8
%12 = tail call noundef zeroext i1 %11(ptr noundef nonnull align 8 dereferenceable(8) %0, float noundef %8)
br i1 %.not, label %9, label %4

4:; preds = %3
%5 = sitofp i32 %1 to float
%6 = sitofp i32 %2 to float
%7 = fdiv float %5, %6
%8 = tail call float @llvm.fmuladd.f32(float %7, float 5.000000e-01, float 5.000000e-01)
br label %9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might count as a regression, if the speculation was desirable.


9: ; preds = %3, %4
%10 = phi float [ %8, %4 ], [ 1.000000e+00, %3 ]
%11 = load ptr, ptr %0, align 8
%12 = getelementptr inbounds nuw i8, ptr %11, i64 16
%13 = load ptr, ptr %12, align 8
%14 = tail call noundef zeroext i1 %13(ptr noundef nonnull align 8 dereferenceable(8) %0, float noundef %10)
ret void
}

Expand Down
5 changes: 2 additions & 3 deletions bench/assimp/optimized/IFCOpenings.ll
Original file line number Diff line number Diff line change
Expand Up @@ -9452,7 +9452,7 @@ _ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i: ; preds = %110
.noexc187.thread: ; preds = %_ZNSt6vectorI10aiVector3tIdESaIS1_EEC2ERKS3_.exit, %114, %.noexc187
%116 = phi ptr [ %112, %114 ], [ %112, %.noexc187 ], [ null, %_ZNSt6vectorI10aiVector3tIdESaIS1_EEC2ERKS3_.exit ]
%.not.i.i.i.i.i.i.i.i.i759 = phi i1 [ false, %114 ], [ true, %.noexc187 ], [ true, %_ZNSt6vectorI10aiVector3tIdESaIS1_EEC2ERKS3_.exit ]
%.pre-phi747758 = phi i64 [ %115, %114 ], [ 0, %.noexc187 ], [ 0, %_ZNSt6vectorI10aiVector3tIdESaIS1_EEC2ERKS3_.exit ]
%.pre-phi747758 = phi i64 [ %115, %114 ], [ 1, %.noexc187 ], [ 1, %_ZNSt6vectorI10aiVector3tIdESaIS1_EEC2ERKS3_.exit ]
%117 = ptrtoint ptr %.0.lcssa.i.i.i.i.i to i64
%118 = ptrtoint ptr %100 to i64
%119 = sub i64 %117, %118
Expand Down Expand Up @@ -9508,7 +9508,6 @@ _ZNSt6vectorI10aiVector2tIdESaIS1_EE5clearEv.exit: ; preds = %122, %125
%135 = load double, ptr %43, align 8
%136 = load double, ptr %44, align 8
%137 = load double, ptr %45, align 8
%umax = call i64 @llvm.umax.i64(i64 %.pre-phi747758, i64 1)
br label %146

._crit_edge.loopexit: ; preds = %.loopexit449
Expand Down Expand Up @@ -9842,7 +9841,7 @@ _ZN6Assimp3IFCL17IsDuplicateVertexERK10aiVector2tIdERKSt6vectorIS2_SaIS2_EE.exit
%.1425 = phi double [ %.0424605, %198 ], [ %.0424605, %203 ], [ %.sroa.speculated322, %_ZN6Assimp3IFCL17IsDuplicateVertexERK10aiVector2tIdERKSt6vectorIS2_SaIS2_EE.exit ]
%.3149 = phi i64 [ %202, %198 ], [ %.0146606, %203 ], [ %287, %_ZN6Assimp3IFCL17IsDuplicateVertexERK10aiVector2tIdERKSt6vectorIS2_SaIS2_EE.exit ]
%288 = add nuw i64 %.0145607, 1
%exitcond720.not = icmp eq i64 %288, %umax
%exitcond720.not = icmp eq i64 %288, %.pre-phi747758
br i1 %exitcond720.not, label %._crit_edge.loopexit, label %146, !llvm.loop !235

289: ; preds = %._crit_edge
Expand Down
Loading