; LLVM IR from modlfo/AudioEngine :: AudioEngine/JuceLibraryCode/juce_gui_basics.ll (ZN4juce11AlertWindow12updateLayoutEb)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.juce::Colour" = type { %"class.juce::PixelARGB" }
%"class.juce::PixelARGB" = type { %union.anon.77 }
%union.anon.77 = type { i32 }
%"class.juce::String" = type { %"class.juce::CharPointer_UTF8" }
%"class.juce::CharPointer_UTF8" = type { ptr }
%"class.juce::Font" = type { %"class.juce::ReferenceCountedObjectPtr.158" }
%"class.juce::ReferenceCountedObjectPtr.158" = type { ptr }
%"class.juce::AttributedString" = type { %"class.juce::String", float, %"class.juce::Justification", i32, i32, %"class.juce::Array.422" }
%"class.juce::Justification" = type { i32 }
%"class.juce::Array.422" = type { %"class.juce::ArrayAllocationBase.423", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.423" = type <{ %"class.juce::HeapBlock.424", i32, [4 x i8] }>
%"class.juce::HeapBlock.424" = type { ptr }
%"class.juce::Rectangle" = type { %"class.juce::Point", i32, i32 }
%"class.juce::Point" = type { i32, i32 }
%"class.juce::AlertWindow" = type <{ %"class.juce::TopLevelWindow", %"class.juce::Button::Listener", %"class.juce::String", %"class.juce::TextLayout", i32, [4 x i8], %"class.juce::ComponentBoundsConstrainer", %"class.juce::ComponentDragger", %"class.juce::Rectangle", %"class.juce::OwnedArray.302", %"class.juce::OwnedArray.307", %"class.juce::OwnedArray.312", %"class.juce::OwnedArray.317", %"class.juce::Array", %"class.juce::OwnedArray.322", %"class.juce::Array", %"class.juce::StringArray", %"class.juce::StringArray", ptr, i8, [7 x i8] }>
%"class.juce::TopLevelWindow" = type { %"class.juce::Component.base", i8, i8, i8, %"class.juce::ScopedPointer.293" }
%"class.juce::Component.base" = type <{ %"class.juce::MouseListener", %"class.juce::String", %"class.juce::String", ptr, %"class.juce::Rectangle", %"class.juce::ScopedPointer", %"class.juce::ScopedPointer.0", %"class.juce::Array", ptr, %"class.juce::MouseCursor", ptr, %"class.juce::ScopedPointer.1", %"class.juce::ScopedPointer.2", %"class.juce::ScopedPointer.3", %"class.juce::ListenerList", %"class.juce::NamedValueSet", %"class.juce::WeakReference<juce::Component>::Master", %union.anon, i8 }>
%"class.juce::MouseListener" = type { ptr }
%"class.juce::ScopedPointer" = type { ptr }
%"class.juce::ScopedPointer.0" = type { ptr }
%"class.juce::MouseCursor" = type { ptr }
%"class.juce::ScopedPointer.1" = type { ptr }
%"class.juce::ScopedPointer.2" = type { ptr }
%"class.juce::ScopedPointer.3" = type { ptr }
%"class.juce::ListenerList" = type { %"class.juce::Array.4" }
%"class.juce::Array.4" = type { %"class.juce::ArrayAllocationBase.5", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.5" = type <{ %"class.juce::HeapBlock.6", i32, [4 x i8] }>
%"class.juce::HeapBlock.6" = type { ptr }
%"class.juce::NamedValueSet" = type { %"class.juce::Array.9" }
%"class.juce::Array.9" = type { %"class.juce::ArrayAllocationBase.10", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.10" = type <{ %"class.juce::HeapBlock.11", i32, [4 x i8] }>
%"class.juce::HeapBlock.11" = type { ptr }
%"class.juce::WeakReference<juce::Component>::Master" = type { %"class.juce::ReferenceCountedObjectPtr" }
%"class.juce::ReferenceCountedObjectPtr" = type { ptr }
%union.anon = type { i32 }
%"class.juce::ScopedPointer.293" = type { ptr }
%"class.juce::Button::Listener" = type { ptr }
%"class.juce::TextLayout" = type { %"class.juce::OwnedArray.296", float, float, %"class.juce::Justification", [4 x i8] }
%"class.juce::OwnedArray.296" = type { %"class.juce::ArrayAllocationBase.297", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.297" = type <{ %"class.juce::HeapBlock.298", i32, [4 x i8] }>
%"class.juce::HeapBlock.298" = type { ptr }
%"class.juce::ComponentBoundsConstrainer" = type { ptr, i32, i32, i32, i32, i32, i32, i32, i32, double }
%"class.juce::ComponentDragger" = type { ptr, %"class.juce::Point" }
%"class.juce::OwnedArray.302" = type { %"class.juce::ArrayAllocationBase.303", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.303" = type <{ %"class.juce::HeapBlock.304", i32, [4 x i8] }>
%"class.juce::HeapBlock.304" = type { ptr }
%"class.juce::OwnedArray.307" = type { %"class.juce::ArrayAllocationBase.308", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.308" = type <{ %"class.juce::HeapBlock.309", i32, [4 x i8] }>
%"class.juce::HeapBlock.309" = type { ptr }
%"class.juce::OwnedArray.312" = type { %"class.juce::ArrayAllocationBase.313", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.313" = type <{ %"class.juce::HeapBlock.314", i32, [4 x i8] }>
%"class.juce::HeapBlock.314" = type { ptr }
%"class.juce::OwnedArray.317" = type { %"class.juce::ArrayAllocationBase.318", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.318" = type <{ %"class.juce::HeapBlock.319", i32, [4 x i8] }>
%"class.juce::HeapBlock.319" = type { ptr }
%"class.juce::OwnedArray.322" = type { %"class.juce::ArrayAllocationBase", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase" = type <{ %"class.juce::HeapBlock", i32, [4 x i8] }>
%"class.juce::HeapBlock" = type { ptr }
%"class.juce::Array" = type { %"class.juce::ArrayAllocationBase", i32, [4 x i8] }
%"class.juce::StringArray" = type { %"class.juce::Array.150" }
%"class.juce::Array.150" = type { %"class.juce::ArrayAllocationBase.151", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.151" = type <{ %"class.juce::HeapBlock.152", i32, [4 x i8] }>
%"class.juce::HeapBlock.152" = type { ptr }

@_ZTIN4juce9ComponentE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.150 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZTIN4juce8ComboBoxE = external dso_local constant { ptr, ptr, i32, i32, ptr, i64, ptr, i64, ptr, i64, ptr, i64, ptr, i64 }, align 8
@_ZTIN4juce10TextEditorE = external dso_local constant { ptr, ptr, i32, i32, ptr, i64, ptr, i64, ptr, i64 }, align 8

declare i32 @__gxx_personality_v0(...)

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9RectangleIiED2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: nounwind
declare void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef, i32 noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce9Component9isVisibleEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component7toFrontEb(ptr noundef nonnull align 8 dereferenceable(197), i1 noundef zeroext) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197), float noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component18proportionOfHeightEf(ptr noundef nonnull align 8 dereferenceable(197), float noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component15getParentHeightEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component9setBoundsEiiii(ptr noundef nonnull align 8 dereferenceable(197), i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9RectangleIiE9setBoundsEiiii(ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, i32 noundef, i32 noundef, i32 noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef, i32 noundef) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197), i32 noundef, i32 noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component9setBoundsERKNS_9RectangleIiEE(ptr noundef nonnull align 8 dereferenceable(197), ptr noundef nonnull align 4 dereferenceable(16)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component21getNumChildComponentsEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4juce9Component9getBoundsEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(281) ptr @_ZNK4juce9Component14getLookAndFeelEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4juce9Component10findColourEib(ptr dead_on_unwind noalias writable sret(%"class.juce::Colour") align 1, ptr noundef nonnull align 8 dereferenceable(197), i32 noundef, i1 noundef zeroext) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9Component21setWantsKeyboardFocusEb(ptr noundef nonnull align 8 dereferenceable(197), i1 noundef zeroext) #1 align 2

; Function Attrs: nounwind willreturn memory(read)
declare ptr @__dynamic_cast(ptr, ptr, ptr, i64) #5

; Function Attrs: nounwind
declare void @_ZN4juce6ColourD1Ev(ptr noundef nonnull align 1 dereferenceable(4)) unnamed_addr #2

declare void @_ZN4juceplEPKcRKNS_6StringE(ptr dead_on_unwind writable sret(%"class.juce::String") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13JustificationC2Ei(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: nounwind
declare void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2

declare noundef i32 @_ZNK4juce4Font14getStringWidthERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197)) #1 align 2

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce11StringArrayixEi(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) #2

; Function Attrs: nounwind
declare noundef float @_ZNK4juce4Font9getHeightEv(ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce14TopLevelWindow21centreAroundComponentEPNS_9ComponentEii(ptr noundef nonnull align 8 dereferenceable(208), ptr noundef, i32 noundef, i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE8containsES2_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef float @_ZNK4juce10TextLayout8getWidthEv(ptr noundef nonnull align 8 dereferenceable(36)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef float @_ZNK4juce10TextLayout9getHeightEv(ptr noundef nonnull align 8 dereferenceable(36)) #1 align 2

declare void @_ZN4juce16AttributedStringC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #6

; Function Attrs: nounwind
declare void @_ZN4juce16AttributedString16setJustificationENS_13JustificationE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) #2

; Function Attrs: nounwind
declare void @_ZN4juce16AttributedStringD1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #0 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4juce11AlertWindow12updateLayoutEb(ptr noundef nonnull align 8 dereferenceable(577) %0, i1 noundef zeroext %1) #4 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca i8, align 1
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca %"class.juce::Font", align 8
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca %"class.juce::AttributedString", align 8
  %18 = alloca %"class.juce::Font", align 8
  %19 = alloca %"class.juce::String", align 8
  %20 = alloca %"class.juce::Colour", align 1
  %21 = alloca %"class.juce::Justification", align 4
  %22 = alloca %"class.juce::Justification", align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca ptr, align 8
  %30 = alloca i32, align 4
  %31 = alloca ptr, align 8
  %32 = alloca i32, align 4
  %33 = alloca ptr, align 8
  %34 = alloca %"class.juce::Rectangle", align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca ptr, align 8
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  %47 = zext i1 %1 to i8
  store i8 %47, ptr %4, align 1, !tbaa !9
  %48 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #7
  store i32 24, ptr %5, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #7
  store i32 80, ptr %6, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #7
  %49 = call noundef nonnull align 8 dereferenceable(281) ptr @_ZNK4juce9Component14getLookAndFeelEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  store ptr %49, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #7
  %50 = load ptr, ptr %7, align 8, !tbaa !5
  %51 = getelementptr inbounds i8, ptr %50, i64 56
  %52 = load ptr, ptr %51, align 8, !tbaa !13
  %53 = getelementptr inbounds ptr, ptr %52, i64 8
  %54 = load ptr, ptr %53, align 8
  call void %54(ptr dead_on_unwind writable sret(%"class.juce::Font") align 8 %8, ptr noundef nonnull align 8 dereferenceable(8) %51)
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  %55 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 2
  %56 = invoke noundef i32 @_ZNK4juce4Font14getStringWidthERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %57 unwind label %94

57:                                               ; preds = %2
  %58 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %59 = invoke noundef i32 @_ZNK4juce4Font14getStringWidthERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %58)
          to label %60 unwind label %94

60:                                               ; preds = %57
  %61 = invoke noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %56, i32 noundef %59)
          to label %62 unwind label %94

62:                                               ; preds = %60
  store i32 %61, ptr %9, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #7
  %63 = call noundef float @_ZNK4juce4Font9getHeightEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  %64 = load i32, ptr %9, align 4, !tbaa !11
  %65 = sitofp i32 %64 to float
  %66 = fmul float %63, %65
  %67 = invoke noundef float @_ZSt4sqrtf(float noundef %66)
          to label %68 unwind label %98

68:                                               ; preds = %62
  %69 = fptosi float %67 to i32
  store i32 %69, ptr %12, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  %70 = load i32, ptr %12, align 4, !tbaa !11
  %71 = mul nsw i32 %70, 2
  %72 = add nsw i32 300, %71
  %73 = call noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %74 = sitofp i32 %73 to float
  %75 = fmul float %74, 0x3FE6666660000000
  %76 = fptosi float %75 to i32
  %77 = invoke noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %72, i32 noundef %76)
          to label %78 unwind label %102

78:                                               ; preds = %68
  store i32 %77, ptr %13, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  store i32 10, ptr %14, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  store i32 18, ptr %15, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  store i32 0, ptr %16, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 48, ptr %17) #7
  invoke void @_ZN4juce16AttributedStringC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %17)
          to label %79 unwind label %106

79:                                               ; preds = %78
  %80 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  %81 = load ptr, ptr %7, align 8, !tbaa !5
  %82 = getelementptr inbounds i8, ptr %81, i64 56
  %83 = load ptr, ptr %82, align 8, !tbaa !13
  %84 = getelementptr inbounds ptr, ptr %83, i64 7
  %85 = load ptr, ptr %84, align 8
  invoke void %85(ptr dead_on_unwind writable sret(%"class.juce::Font") align 8 %18, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %86 unwind label %110

86:                                               ; preds = %79
  invoke void @_ZN4juce16AttributedString6appendERKNS_6StringERKNS_4FontE(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %87 unwind label %114

87:                                               ; preds = %86
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  %88 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 2
  %89 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  br i1 %89, label %90, label %128

90:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  %91 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 2
  invoke void @_ZN4juceplEPKcRKNS_6StringE(ptr dead_on_unwind writable sret(%"class.juce::String") align 8 %19, ptr noundef @.str.150, ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %92 unwind label %119

92:                                               ; preds = %90
  invoke void @_ZN4juce16AttributedString6appendERKNS_6StringERKNS_4FontE(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %93 unwind label %123

93:                                               ; preds = %92
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %128

94:                                               ; preds = %60, %57, %2
  %95 = landingpad { ptr, i32 }
          cleanup
  %96 = extractvalue { ptr, i32 } %95, 0
  store ptr %96, ptr %10, align 8
  %97 = extractvalue { ptr, i32 } %95, 1
  store i32 %97, ptr %11, align 4
  br label %534

98:                                               ; preds = %62
  %99 = landingpad { ptr, i32 }
          cleanup
  %100 = extractvalue { ptr, i32 } %99, 0
  store ptr %100, ptr %10, align 8
  %101 = extractvalue { ptr, i32 } %99, 1
  store i32 %101, ptr %11, align 4
  br label %533

102:                                              ; preds = %68
  %103 = landingpad { ptr, i32 }
          cleanup
  %104 = extractvalue { ptr, i32 } %103, 0
  store ptr %104, ptr %10, align 8
  %105 = extractvalue { ptr, i32 } %103, 1
  store i32 %105, ptr %11, align 4
  br label %532

106:                                              ; preds = %78
  %107 = landingpad { ptr, i32 }
          cleanup
  %108 = extractvalue { ptr, i32 } %107, 0
  store ptr %108, ptr %10, align 8
  %109 = extractvalue { ptr, i32 } %107, 1
  store i32 %109, ptr %11, align 4
  br label %531

110:                                              ; preds = %79
  %111 = landingpad { ptr, i32 }
          cleanup
  %112 = extractvalue { ptr, i32 } %111, 0
  store ptr %112, ptr %10, align 8
  %113 = extractvalue { ptr, i32 } %111, 1
  store i32 %113, ptr %11, align 4
  br label %118

114:                                              ; preds = %86
  %115 = landingpad { ptr, i32 }
          cleanup
  %116 = extractvalue { ptr, i32 } %115, 0
  store ptr %116, ptr %10, align 8
  %117 = extractvalue { ptr, i32 } %115, 1
  store i32 %117, ptr %11, align 4
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  br label %118

118:                                              ; preds = %114, %110
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  br label %530

119:                                              ; preds = %90
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %10, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %11, align 4
  br label %127

123:                                              ; preds = %92
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %10, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %11, align 4
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  br label %127

127:                                              ; preds = %123, %119
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %530

128:                                              ; preds = %93, %87
  invoke void @_ZNK4juce9Component10findColourEib(ptr dead_on_unwind writable sret(%"class.juce::Colour") align 1 %20, ptr noundef nonnull align 8 dereferenceable(197) %48, i32 noundef 16783376, i1 noundef zeroext false)
          to label %129 unwind label %139

129:                                              ; preds = %128
  invoke void @_ZN4juce16AttributedString9setColourENS_6ColourE(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef %20)
          to label %130 unwind label %143

130:                                              ; preds = %129
  call void @_ZN4juce6ColourD1Ev(ptr noundef nonnull align 1 dereferenceable(4) %20) #7
  %131 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 4
  %132 = load i32, ptr %131, align 8, !tbaa !15
  %133 = icmp eq i32 %132, 0
  br i1 %133, label %134, label %147

134:                                              ; preds = %130
  call void @_ZN4juce13JustificationC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %21, i32 noundef 12) #7
  call void @_ZN4juce16AttributedString16setJustificationENS_13JustificationE(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef %21) #7
  %135 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 3
  %136 = load i32, ptr %13, align 4, !tbaa !11
  %137 = sitofp i32 %136 to float
  invoke void @_ZN4juce10TextLayout35createLayoutWithBalancedLineLengthsERKNS_16AttributedStringEf(ptr noundef nonnull align 8 dereferenceable(36) %135, ptr noundef nonnull align 8 dereferenceable(48) %17, float noundef %137)
          to label %138 unwind label %139

138:                                              ; preds = %134
  br label %152

139:                                              ; preds = %160, %152, %147, %134, %128
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %10, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %11, align 4
  br label %530

143:                                              ; preds = %129
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %10, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %11, align 4
  call void @_ZN4juce6ColourD1Ev(ptr noundef nonnull align 1 dereferenceable(4) %20) #7
  br label %530

147:                                              ; preds = %130
  call void @_ZN4juce13JustificationC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %22, i32 noundef 9) #7
  call void @_ZN4juce16AttributedString16setJustificationENS_13JustificationE(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef %22) #7
  %148 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 3
  %149 = load i32, ptr %13, align 4, !tbaa !11
  %150 = sitofp i32 %149 to float
  invoke void @_ZN4juce10TextLayout35createLayoutWithBalancedLineLengthsERKNS_16AttributedStringEf(ptr noundef nonnull align 8 dereferenceable(36) %148, ptr noundef nonnull align 8 dereferenceable(48) %17, float noundef %150)
          to label %151 unwind label %139

151:                                              ; preds = %147
  store i32 80, ptr %16, align 4, !tbaa !11
  br label %152

152:                                              ; preds = %151, %138
  %153 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 3
  %154 = call noundef float @_ZNK4juce10TextLayout8getWidthEv(ptr noundef nonnull align 8 dereferenceable(36) %153) #7
  %155 = fptosi float %154 to i32
  %156 = load i32, ptr %16, align 4, !tbaa !11
  %157 = add nsw i32 %155, %156
  %158 = add nsw i32 %157, 40
  %159 = invoke noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef 350, i32 noundef %158)
          to label %160 unwind label %139

160:                                              ; preds = %152
  store i32 %159, ptr %13, align 4, !tbaa !11
  %161 = load i32, ptr %13, align 4, !tbaa !11
  %162 = call noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %163 = sitofp i32 %162 to float
  %164 = fmul float %163, 0x3FE6666660000000
  %165 = fptosi float %164 to i32
  %166 = invoke noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %161, i32 noundef %165)
          to label %167 unwind label %139

167:                                              ; preds = %160
  store i32 %166, ptr %13, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #7
  %168 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 3
  %169 = call noundef float @_ZNK4juce10TextLayout9getHeightEv(ptr noundef nonnull align 8 dereferenceable(36) %168) #7
  %170 = fptosi float %169 to i32
  store i32 %170, ptr %23, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #7
  %171 = load i32, ptr %23, align 4, !tbaa !11
  %172 = add nsw i32 40, %171
  store i32 %172, ptr %24, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  %173 = load i32, ptr %24, align 4, !tbaa !11
  store i32 %173, ptr %25, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  store i32 40, ptr %26, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 0, ptr %27, align 4, !tbaa !11
  br label %174

174:                                              ; preds = %188, %167
  %175 = load i32, ptr %27, align 4, !tbaa !11
  %176 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %177 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %176) #7
  %178 = icmp slt i32 %175, %177
  br i1 %178, label %180, label %179

179:                                              ; preds = %174
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br label %191

180:                                              ; preds = %174
  %181 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %182 = load i32, ptr %27, align 4, !tbaa !11
  %183 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %181, i32 noundef %182) #7
  %184 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %183) #7
  %185 = add nsw i32 16, %184
  %186 = load i32, ptr %26, align 4, !tbaa !11
  %187 = add nsw i32 %186, %185
  store i32 %187, ptr %26, align 4, !tbaa !11
  br label %188

188:                                              ; preds = %180
  %189 = load i32, ptr %27, align 4, !tbaa !11
  %190 = add nsw i32 %189, 1
  store i32 %190, ptr %27, align 4, !tbaa !11
  br label %174, !llvm.loop !72

191:                                              ; preds = %179
  %192 = load i32, ptr %26, align 4, !tbaa !11
  %193 = load i32, ptr %13, align 4, !tbaa !11
  %194 = invoke noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %192, i32 noundef %193)
          to label %195 unwind label %217

195:                                              ; preds = %191
  store i32 %194, ptr %13, align 4, !tbaa !11
  %196 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 10
  %197 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %196) #7
  %198 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 11
  %199 = call noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %198) #7
  %200 = add nsw i32 %197, %199
  %201 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 12
  %202 = call noundef i32 @_ZNK4juce10OwnedArrayINS_11ProgressBarENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %201) #7
  %203 = add nsw i32 %200, %202
  %204 = mul nsw i32 %203, 50
  %205 = load i32, ptr %25, align 4, !tbaa !11
  %206 = add nsw i32 %205, %204
  store i32 %206, ptr %25, align 4, !tbaa !11
  %207 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %208 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %207) #7
  %209 = icmp sgt i32 %208, 0
  br i1 %209, label %210, label %221

210:                                              ; preds = %195
  %211 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %212 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %211, i32 noundef 0) #7
  %213 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %212) #7
  %214 = add nsw i32 20, %213
  %215 = load i32, ptr %25, align 4, !tbaa !11
  %216 = add nsw i32 %215, %214
  store i32 %216, ptr %25, align 4, !tbaa !11
  br label %221

217:                                              ; preds = %331, %324, %320, %312, %278, %191
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %10, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %11, align 4
  br label %529

221:                                              ; preds = %210, %195
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  %222 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 13
  %223 = call noundef i32 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %222) #7
  store i32 %223, ptr %28, align 4, !tbaa !11
  br label %224

224:                                              ; preds = %256, %221
  %225 = load i32, ptr %28, align 4, !tbaa !11
  %226 = add nsw i32 %225, -1
  store i32 %226, ptr %28, align 4, !tbaa !11
  %227 = icmp sge i32 %226, 0
  br i1 %227, label %229, label %228

228:                                              ; preds = %224
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  br label %257

229:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #7
  %230 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 13
  %231 = load i32, ptr %28, align 4, !tbaa !11
  %232 = invoke noundef ptr @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %230, i32 noundef %231)
          to label %233 unwind label %252

233:                                              ; preds = %229
  store ptr %232, ptr %29, align 8, !tbaa !5
  %234 = load i32, ptr %13, align 4, !tbaa !11
  %235 = load ptr, ptr %29, align 8, !tbaa !5
  %236 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %235) #7
  %237 = mul nsw i32 %236, 100
  %238 = sdiv i32 %237, 80
  %239 = invoke noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %234, i32 noundef %238)
          to label %240 unwind label %252

240:                                              ; preds = %233
  store i32 %239, ptr %13, align 4, !tbaa !11
  %241 = load ptr, ptr %29, align 8, !tbaa !5
  %242 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %241) #7
  %243 = add nsw i32 10, %242
  %244 = load i32, ptr %25, align 4, !tbaa !11
  %245 = add nsw i32 %244, %243
  store i32 %245, ptr %25, align 4, !tbaa !11
  %246 = load ptr, ptr %29, align 8, !tbaa !5
  %247 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %246) #7
  %248 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %247) #7
  br i1 %248, label %249, label %256

249:                                              ; preds = %240
  %250 = load i32, ptr %25, align 4, !tbaa !11
  %251 = add nsw i32 %250, 18
  store i32 %251, ptr %25, align 4, !tbaa !11
  br label %256

252:                                              ; preds = %233, %229
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %10, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  br label %529

256:                                              ; preds = %249, %240
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %224, !llvm.loop !74

257:                                              ; preds = %228
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  %258 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 14
  %259 = call noundef i32 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %258) #7
  store i32 %259, ptr %30, align 4, !tbaa !11
  br label %260

260:                                              ; preds = %273, %257
  %261 = load i32, ptr %30, align 4, !tbaa !11
  %262 = add nsw i32 %261, -1
  store i32 %262, ptr %30, align 4, !tbaa !11
  %263 = icmp sge i32 %262, 0
  br i1 %263, label %265, label %264

264:                                              ; preds = %260
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  br label %278

265:                                              ; preds = %260
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  %266 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 14
  %267 = load i32, ptr %30, align 4, !tbaa !11
  %268 = call noundef ptr @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %266, i32 noundef %267) #7
  store ptr %268, ptr %31, align 8, !tbaa !5
  %269 = load i32, ptr %13, align 4, !tbaa !11
  %270 = load ptr, ptr %31, align 8, !tbaa !5
  %271 = call noundef i32 @_ZNK4juce13AlertTextComp17getPreferredWidthEv(ptr noundef nonnull align 8 dereferenceable(604) %270) #7
  %272 = invoke noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %269, i32 noundef %271)
          to label %273 unwind label %274

273:                                              ; preds = %265
  store i32 %272, ptr %13, align 4, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  br label %260, !llvm.loop !75

274:                                              ; preds = %265
  %275 = landingpad { ptr, i32 }
          cleanup
  %276 = extractvalue { ptr, i32 } %275, 0
  store ptr %276, ptr %10, align 8
  %277 = extractvalue { ptr, i32 } %275, 1
  store i32 %277, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  br label %529

278:                                              ; preds = %264
  %279 = load i32, ptr %13, align 4, !tbaa !11
  %280 = call noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %281 = sitofp i32 %280 to float
  %282 = fmul float %281, 0x3FE6666660000000
  %283 = fptosi float %282 to i32
  %284 = invoke noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %279, i32 noundef %283)
          to label %285 unwind label %217

285:                                              ; preds = %278
  store i32 %284, ptr %13, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  %286 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 14
  %287 = call noundef i32 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %286) #7
  store i32 %287, ptr %32, align 4, !tbaa !11
  br label %288

288:                                              ; preds = %302, %285
  %289 = load i32, ptr %32, align 4, !tbaa !11
  %290 = add nsw i32 %289, -1
  store i32 %290, ptr %32, align 4, !tbaa !11
  %291 = icmp sge i32 %290, 0
  br i1 %291, label %293, label %292

292:                                              ; preds = %288
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %312

293:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  %294 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 14
  %295 = load i32, ptr %32, align 4, !tbaa !11
  %296 = call noundef ptr @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %294, i32 noundef %295) #7
  store ptr %296, ptr %33, align 8, !tbaa !5
  %297 = load ptr, ptr %33, align 8, !tbaa !5
  %298 = load i32, ptr %13, align 4, !tbaa !11
  %299 = sitofp i32 %298 to float
  %300 = fmul float %299, 0x3FE99999A0000000
  %301 = fptosi float %300 to i32
  invoke void @_ZN4juce13AlertTextComp12updateLayoutEi(ptr noundef nonnull align 8 dereferenceable(604) %297, i32 noundef %301)
          to label %302 unwind label %308

302:                                              ; preds = %293
  %303 = load ptr, ptr %33, align 8, !tbaa !5
  %304 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %303) #7
  %305 = add nsw i32 %304, 10
  %306 = load i32, ptr %25, align 4, !tbaa !11
  %307 = add nsw i32 %306, %305
  store i32 %307, ptr %25, align 4, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %288, !llvm.loop !76

308:                                              ; preds = %293
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %10, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %529

312:                                              ; preds = %292
  %313 = call noundef i32 @_ZNK4juce9Component15getParentHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %314 = sub nsw i32 %313, 50
  %315 = load i32, ptr %25, align 4, !tbaa !11
  %316 = invoke noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %314, i32 noundef %315)
          to label %317 unwind label %217

317:                                              ; preds = %312
  store i32 %316, ptr %25, align 4, !tbaa !11
  %318 = load i8, ptr %4, align 1, !tbaa !9, !range !77, !noundef !78
  %319 = trunc i8 %318 to i1
  br i1 %319, label %320, label %329

320:                                              ; preds = %317
  %321 = load i32, ptr %13, align 4, !tbaa !11
  %322 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %323 = invoke noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %321, i32 noundef %322)
          to label %324 unwind label %217

324:                                              ; preds = %320
  store i32 %323, ptr %13, align 4, !tbaa !11
  %325 = load i32, ptr %25, align 4, !tbaa !11
  %326 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %327 = invoke noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %325, i32 noundef %326)
          to label %328 unwind label %217

328:                                              ; preds = %324
  store i32 %327, ptr %25, align 4, !tbaa !11
  br label %329

329:                                              ; preds = %328, %317
  %330 = call noundef zeroext i1 @_ZNK4juce9Component9isVisibleEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  br i1 %330, label %337, label %331

331:                                              ; preds = %329
  %332 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 18
  %333 = load ptr, ptr %332, align 8, !tbaa !79
  %334 = load i32, ptr %13, align 4, !tbaa !11
  %335 = load i32, ptr %25, align 4, !tbaa !11
  invoke void @_ZN4juce14TopLevelWindow21centreAroundComponentEPNS_9ComponentEii(ptr noundef nonnull align 8 dereferenceable(208) %48, ptr noundef %333, i32 noundef %334, i32 noundef %335)
          to label %336 unwind label %217

336:                                              ; preds = %331
  br label %346

337:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #7
  %338 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4juce9Component9getBoundsEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %339 = load i32, ptr %13, align 4, !tbaa !11
  %340 = load i32, ptr %25, align 4, !tbaa !11
  call void @_ZNK4juce9RectangleIiE21withSizeKeepingCentreEii(ptr dead_on_unwind writable sret(%"class.juce::Rectangle") align 4 %34, ptr noundef nonnull align 4 dereferenceable(16) %338, i32 noundef %339, i32 noundef %340) #7
  invoke void @_ZN4juce9Component9setBoundsERKNS_9RectangleIiEE(ptr noundef nonnull align 8 dereferenceable(197) %48, ptr noundef nonnull align 4 dereferenceable(16) %34)
          to label %341 unwind label %342

341:                                              ; preds = %337
  call void @_ZN4juce9RectangleIiED2Ev(ptr noundef nonnull align 4 dereferenceable(16) %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %346

342:                                              ; preds = %337
  %343 = landingpad { ptr, i32 }
          cleanup
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %10, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %11, align 4
  call void @_ZN4juce9RectangleIiED2Ev(ptr noundef nonnull align 4 dereferenceable(16) %34) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #7
  br label %529

346:                                              ; preds = %341, %336
  %347 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 8
  %348 = load i32, ptr %13, align 4, !tbaa !11
  %349 = sub nsw i32 %348, 20
  %350 = load i32, ptr %25, align 4, !tbaa !11
  %351 = sub nsw i32 %350, 10
  call void @_ZN4juce9RectangleIiE9setBoundsEiiii(ptr noundef nonnull align 4 dereferenceable(16) %347, i32 noundef 10, i32 noundef 10, i32 noundef %349, i32 noundef %351) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #7
  store i32 16, ptr %35, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #7
  store i32 -16, ptr %36, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #7
  %352 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %353 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %352) #7
  store i32 %353, ptr %37, align 4, !tbaa !11
  br label %354

354:                                              ; preds = %359, %346
  %355 = load i32, ptr %37, align 4, !tbaa !11
  %356 = add nsw i32 %355, -1
  store i32 %356, ptr %37, align 4, !tbaa !11
  %357 = icmp sge i32 %356, 0
  br i1 %357, label %359, label %358

358:                                              ; preds = %354
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  br label %367

359:                                              ; preds = %354
  %360 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %361 = load i32, ptr %37, align 4, !tbaa !11
  %362 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %360, i32 noundef %361) #7
  %363 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %362) #7
  %364 = add nsw i32 %363, 16
  %365 = load i32, ptr %36, align 4, !tbaa !11
  %366 = add nsw i32 %365, %364
  store i32 %366, ptr %36, align 4, !tbaa !11
  br label %354, !llvm.loop !80

367:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  %368 = load i32, ptr %13, align 4, !tbaa !11
  %369 = load i32, ptr %36, align 4, !tbaa !11
  %370 = sub nsw i32 %368, %369
  %371 = sdiv i32 %370, 2
  store i32 %371, ptr %38, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #7
  %372 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %373 = sitofp i32 %372 to float
  %374 = fmul float %373, 0x3FEE666660000000
  %375 = fptosi float %374 to i32
  store i32 %375, ptr %39, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #7
  store i32 0, ptr %40, align 4, !tbaa !11
  br label %376

376:                                              ; preds = %411, %367
  %377 = load i32, ptr %40, align 4, !tbaa !11
  %378 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %379 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %378) #7
  %380 = icmp slt i32 %377, %379
  br i1 %380, label %382, label %381

381:                                              ; preds = %376
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  br label %414

382:                                              ; preds = %376
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #7
  %383 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 9
  %384 = load i32, ptr %40, align 4, !tbaa !11
  %385 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %383, i32 noundef %384) #7
  store ptr %385, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #7
  %386 = call noundef i32 @_ZNK4juce9Component18proportionOfHeightEf(ptr noundef nonnull align 8 dereferenceable(197) %48, float noundef 0x3FEE666660000000) #7
  %387 = load ptr, ptr %41, align 8, !tbaa !5
  %388 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %387) #7
  %389 = sub nsw i32 %386, %388
  store i32 %389, ptr %42, align 4, !tbaa !11
  %390 = load ptr, ptr %41, align 8, !tbaa !5
  %391 = load i32, ptr %38, align 4, !tbaa !11
  %392 = load i32, ptr %42, align 4, !tbaa !11
  invoke void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197) %390, i32 noundef %391, i32 noundef %392)
          to label %393 unwind label %399

393:                                              ; preds = %382
  %394 = load i32, ptr %42, align 4, !tbaa !11
  %395 = load i32, ptr %39, align 4, !tbaa !11
  %396 = icmp slt i32 %394, %395
  br i1 %396, label %397, label %403

397:                                              ; preds = %393
  %398 = load i32, ptr %42, align 4, !tbaa !11
  store i32 %398, ptr %39, align 4, !tbaa !11
  br label %403

399:                                              ; preds = %403, %382
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %10, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  br label %528

403:                                              ; preds = %397, %393
  %404 = load ptr, ptr %41, align 8, !tbaa !5
  %405 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %404) #7
  %406 = add nsw i32 %405, 16
  %407 = load i32, ptr %38, align 4, !tbaa !11
  %408 = add nsw i32 %407, %406
  store i32 %408, ptr %38, align 4, !tbaa !11
  %409 = load ptr, ptr %41, align 8, !tbaa !5
  invoke void @_ZN4juce9Component7toFrontEb(ptr noundef nonnull align 8 dereferenceable(197) %409, i1 noundef zeroext false)
          to label %410 unwind label %399

410:                                              ; preds = %403
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  br label %411

411:                                              ; preds = %410
  %412 = load i32, ptr %40, align 4, !tbaa !11
  %413 = add nsw i32 %412, 1
  store i32 %413, ptr %40, align 4, !tbaa !11
  br label %376, !llvm.loop !81

414:                                              ; preds = %381
  %415 = load i32, ptr %24, align 4, !tbaa !11
  store i32 %415, ptr %39, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #7
  store i32 0, ptr %43, align 4, !tbaa !11
  br label %416

416:                                              ; preds = %521, %414
  %417 = load i32, ptr %43, align 4, !tbaa !11
  %418 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 15
  %419 = call noundef i32 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %418) #7
  %420 = icmp slt i32 %417, %419
  br i1 %420, label %422, label %421

421:                                              ; preds = %416
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  br label %525

422:                                              ; preds = %416
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  %423 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 15
  %424 = load i32, ptr %43, align 4, !tbaa !11
  %425 = invoke noundef ptr @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %423, i32 noundef %424)
          to label %426 unwind label %432

426:                                              ; preds = %422
  store ptr %425, ptr %44, align 8, !tbaa !5
  store i32 22, ptr %25, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #7
  %427 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 11
  %428 = load ptr, ptr %44, align 8, !tbaa !5
  %429 = icmp eq ptr %428, null
  br i1 %429, label %436, label %430

430:                                              ; preds = %426
  %431 = call ptr @__dynamic_cast(ptr %428, ptr @_ZTIN4juce9ComponentE, ptr @_ZTIN4juce8ComboBoxE, i64 0) #7
  br label %437

432:                                              ; preds = %422
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %10, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %11, align 4
  br label %524

436:                                              ; preds = %426
  br label %437

437:                                              ; preds = %436, %430
  %438 = phi ptr [ %431, %430 ], [ null, %436 ]
  %439 = call noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20) %427, ptr noundef %438) #7
  store i32 %439, ptr %45, align 4, !tbaa !11
  %440 = load i32, ptr %45, align 4, !tbaa !11
  %441 = icmp sge i32 %440, 0
  br i1 %441, label %442, label %450

442:                                              ; preds = %437
  %443 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 17
  %444 = load i32, ptr %45, align 4, !tbaa !11
  %445 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce11StringArrayixEi(ptr noundef nonnull align 8 dereferenceable(24) %443, i32 noundef %444) #7
  %446 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %445) #7
  br i1 %446, label %447, label %450

447:                                              ; preds = %442
  %448 = load i32, ptr %39, align 4, !tbaa !11
  %449 = add nsw i32 %448, 18
  store i32 %449, ptr %39, align 4, !tbaa !11
  br label %450

450:                                              ; preds = %447, %442, %437
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #7
  %451 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 10
  %452 = load ptr, ptr %44, align 8, !tbaa !5
  %453 = icmp eq ptr %452, null
  br i1 %453, label %456, label %454

454:                                              ; preds = %450
  %455 = call ptr @__dynamic_cast(ptr %452, ptr @_ZTIN4juce9ComponentE, ptr @_ZTIN4juce10TextEditorE, i64 0) #7
  br label %457

456:                                              ; preds = %450
  br label %457

457:                                              ; preds = %456, %454
  %458 = phi ptr [ %455, %454 ], [ null, %456 ]
  %459 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20) %451, ptr noundef %458) #7
  store i32 %459, ptr %46, align 4, !tbaa !11
  %460 = load i32, ptr %46, align 4, !tbaa !11
  %461 = icmp sge i32 %460, 0
  br i1 %461, label %462, label %470

462:                                              ; preds = %457
  %463 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 16
  %464 = load i32, ptr %46, align 4, !tbaa !11
  %465 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce11StringArrayixEi(ptr noundef nonnull align 8 dereferenceable(24) %463, i32 noundef %464) #7
  %466 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %465) #7
  br i1 %466, label %467, label %470

467:                                              ; preds = %462
  %468 = load i32, ptr %39, align 4, !tbaa !11
  %469 = add nsw i32 %468, 18
  store i32 %469, ptr %39, align 4, !tbaa !11
  br label %470

470:                                              ; preds = %467, %462, %457
  %471 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 13
  %472 = load ptr, ptr %44, align 8, !tbaa !5
  %473 = invoke noundef zeroext i1 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE8containsES2_(ptr noundef nonnull align 8 dereferenceable(20) %471, ptr noundef %472)
          to label %474 unwind label %482

474:                                              ; preds = %470
  br i1 %473, label %475, label %493

475:                                              ; preds = %474
  %476 = load ptr, ptr %44, align 8, !tbaa !5
  %477 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %476) #7
  %478 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %477) #7
  br i1 %478, label %479, label %486

479:                                              ; preds = %475
  %480 = load i32, ptr %39, align 4, !tbaa !11
  %481 = add nsw i32 %480, 18
  store i32 %481, ptr %39, align 4, !tbaa !11
  br label %486

482:                                              ; preds = %508, %497, %486, %470
  %483 = landingpad { ptr, i32 }
          cleanup
  %484 = extractvalue { ptr, i32 } %483, 0
  store ptr %484, ptr %10, align 8
  %485 = extractvalue { ptr, i32 } %483, 1
  store i32 %485, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #7
  br label %524

486:                                              ; preds = %479, %475
  %487 = load ptr, ptr %44, align 8, !tbaa !5
  %488 = call noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197) %48, float noundef 0x3FB99999A0000000) #7
  %489 = load i32, ptr %39, align 4, !tbaa !11
  invoke void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197) %487, i32 noundef %488, i32 noundef %489)
          to label %490 unwind label %482

490:                                              ; preds = %486
  %491 = load ptr, ptr %44, align 8, !tbaa !5
  %492 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %491) #7
  store i32 %492, ptr %25, align 4, !tbaa !11
  br label %516

493:                                              ; preds = %474
  %494 = getelementptr inbounds %"class.juce::AlertWindow", ptr %48, i32 0, i32 14
  %495 = load ptr, ptr %44, align 8, !tbaa !5
  %496 = call noundef zeroext i1 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE8containsEPKS1_(ptr noundef nonnull align 8 dereferenceable(20) %494, ptr noundef %495) #7
  br i1 %496, label %497, label %508

497:                                              ; preds = %493
  %498 = load ptr, ptr %44, align 8, !tbaa !5
  %499 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %500 = load ptr, ptr %44, align 8, !tbaa !5
  %501 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %500) #7
  %502 = sub nsw i32 %499, %501
  %503 = sdiv i32 %502, 2
  %504 = load i32, ptr %39, align 4, !tbaa !11
  invoke void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197) %498, i32 noundef %503, i32 noundef %504)
          to label %505 unwind label %482

505:                                              ; preds = %497
  %506 = load ptr, ptr %44, align 8, !tbaa !5
  %507 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %506) #7
  store i32 %507, ptr %25, align 4, !tbaa !11
  br label %515

508:                                              ; preds = %493
  %509 = load ptr, ptr %44, align 8, !tbaa !5
  %510 = call noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197) %48, float noundef 0x3FB99999A0000000) #7
  %511 = load i32, ptr %39, align 4, !tbaa !11
  %512 = call noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197) %48, float noundef 0x3FE99999A0000000) #7
  %513 = load i32, ptr %25, align 4, !tbaa !11
  invoke void @_ZN4juce9Component9setBoundsEiiii(ptr noundef nonnull align 8 dereferenceable(197) %509, i32 noundef %510, i32 noundef %511, i32 noundef %512, i32 noundef %513)
          to label %514 unwind label %482

514:                                              ; preds = %508
  br label %515

515:                                              ; preds = %514, %505
  br label %516

516:                                              ; preds = %515, %490
  %517 = load i32, ptr %25, align 4, !tbaa !11
  %518 = add nsw i32 %517, 10
  %519 = load i32, ptr %39, align 4, !tbaa !11
  %520 = add nsw i32 %519, %518
  store i32 %520, ptr %39, align 4, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  br label %521

521:                                              ; preds = %516
  %522 = load i32, ptr %43, align 4, !tbaa !11
  %523 = add nsw i32 %522, 1
  store i32 %523, ptr %43, align 4, !tbaa !11
  br label %416, !llvm.loop !82

524:                                              ; preds = %482, %432
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  br label %528

525:                                              ; preds = %421
  %526 = call noundef i32 @_ZNK4juce9Component21getNumChildComponentsEv(ptr noundef nonnull align 8 dereferenceable(197) %48) #7
  %527 = icmp eq i32 %526, 0
  call void @_ZN4juce9Component21setWantsKeyboardFocusEb(ptr noundef nonnull align 8 dereferenceable(197) %48, i1 noundef zeroext %527) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @_ZN4juce16AttributedStringD1Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #7
  ret void

528:                                              ; preds = %524, %399
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  br label %529

529:                                              ; preds = %528, %342, %308, %274, %252, %217
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  br label %530

530:                                              ; preds = %529, %143, %139, %127, %118
  call void @_ZN4juce16AttributedStringD1Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #7
  br label %531

531:                                              ; preds = %530, %106
  call void @llvm.lifetime.end.p0(i64 48, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  br label %532

532:                                              ; preds = %531, %102
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  br label %533

533:                                              ; preds = %532, %98
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  br label %534

534:                                              ; preds = %533, %94
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #7
  br label %535

535:                                              ; preds = %534
  %536 = load ptr, ptr %10, align 8
  %537 = load i32, ptr %11, align 4
  %538 = insertvalue { ptr, i32 } poison, ptr %536, 0
  %539 = insertvalue { ptr, i32 } %538, i32 %537, 1
  resume { ptr, i32 } %539
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt4sqrtf(float noundef) #0

declare void @_ZN4juce16AttributedString6appendERKNS_6StringERKNS_4FontE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

declare void @_ZN4juce16AttributedString9setColourENS_6ColourE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) #6

declare void @_ZN4juce10TextLayout35createLayoutWithBalancedLineLengthsERKNS_16AttributedStringEf(ptr noundef nonnull align 8 dereferenceable(36), ptr noundef nonnull align 8 dereferenceable(48), float noundef) #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_11ProgressBarENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce13AlertTextComp17getPreferredWidthEv(ptr noundef nonnull align 8 dereferenceable(604)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce13AlertTextComp12updateLayoutEi(ptr noundef nonnull align 8 dereferenceable(604), i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK4juce9RectangleIiE21withSizeKeepingCentreEii(ptr dead_on_unwind noalias writable sret(%"class.juce::Rectangle") align 4, ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, i32 noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE8containsEPKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) #1 align 2

attributes #0 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind willreturn memory(read) }
attributes #6 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"vtable pointer", !8, i64 0}
!15 = !{!16, !51, i64 264}
!16 = !{!"_ZTSN4juce11AlertWindowE", !17, i64 0, !44, i64 208, !20, i64 216, !45, i64 224, !51, i64 264, !52, i64 272, !54, i64 320, !22, i64 336, !55, i64 352, !58, i64 376, !61, i64 400, !64, i64 424, !26, i64 448, !67, i64 472, !26, i64 496, !68, i64 520, !68, i64 544, !6, i64 568, !10, i64 576}
!17 = !{!"_ZTSN4juce14TopLevelWindowE", !18, i64 0, !10, i64 197, !10, i64 198, !10, i64 199, !43, i64 200}
!18 = !{!"_ZTSN4juce9ComponentE", !19, i64 0, !20, i64 8, !20, i64 16, !6, i64 24, !22, i64 32, !24, i64 48, !25, i64 56, !26, i64 64, !6, i64 88, !29, i64 96, !6, i64 104, !30, i64 112, !31, i64 120, !32, i64 128, !33, i64 136, !37, i64 160, !41, i64 184, !7, i64 192, !7, i64 196}
!19 = !{!"_ZTSN4juce13MouseListenerE"}
!20 = !{!"_ZTSN4juce6StringE", !21, i64 0}
!21 = !{!"_ZTSN4juce16CharPointer_UTF8E", !6, i64 0}
!22 = !{!"_ZTSN4juce9RectangleIiEE", !23, i64 0, !12, i64 8, !12, i64 12}
!23 = !{!"_ZTSN4juce5PointIiEE", !12, i64 0, !12, i64 4}
!24 = !{!"_ZTSN4juce13ScopedPointerINS_9Component10PositionerEEE", !6, i64 0}
!25 = !{!"_ZTSN4juce13ScopedPointerINS_15AffineTransformEEE", !6, i64 0}
!26 = !{!"_ZTSN4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EEE", !27, i64 0, !12, i64 16}
!27 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_9ComponentENS_20DummyCriticalSectionEEE", !28, i64 0, !12, i64 8}
!28 = !{!"_ZTSN4juce9HeapBlockIPNS_9ComponentELb0EEE", !6, i64 0}
!29 = !{!"_ZTSN4juce11MouseCursorE", !6, i64 0}
!30 = !{!"_ZTSN4juce13ScopedPointerINS_20CachedComponentImageEEE", !6, i64 0}
!31 = !{!"_ZTSN4juce13ScopedPointerINS_9Component17MouseListenerListEEE", !6, i64 0}
!32 = !{!"_ZTSN4juce13ScopedPointerINS_5ArrayIPNS_11KeyListenerENS_20DummyCriticalSectionELi0EEEEE", !6, i64 0}
!33 = !{!"_ZTSN4juce12ListenerListINS_17ComponentListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !34, i64 0}
!34 = !{!"_ZTSN4juce5ArrayIPNS_17ComponentListenerENS_20DummyCriticalSectionELi0EEE", !35, i64 0, !12, i64 16}
!35 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_17ComponentListenerENS_20DummyCriticalSectionEEE", !36, i64 0, !12, i64 8}
!36 = !{!"_ZTSN4juce9HeapBlockIPNS_17ComponentListenerELb0EEE", !6, i64 0}
!37 = !{!"_ZTSN4juce13NamedValueSetE", !38, i64 0}
!38 = !{!"_ZTSN4juce5ArrayINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionELi0EEE", !39, i64 0, !12, i64 16}
!39 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionEEE", !40, i64 0, !12, i64 8}
!40 = !{!"_ZTSN4juce9HeapBlockINS_13NamedValueSet10NamedValueELb0EEE", !6, i64 0}
!41 = !{!"_ZTSN4juce13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE6MasterE", !42, i64 0}
!42 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE13SharedPointerEEE", !6, i64 0}
!43 = !{!"_ZTSN4juce13ScopedPointerINS_12DropShadowerEEE", !6, i64 0}
!44 = !{!"_ZTSN4juce6Button8ListenerE"}
!45 = !{!"_ZTSN4juce10TextLayoutE", !46, i64 0, !49, i64 24, !49, i64 28, !50, i64 32}
!46 = !{!"_ZTSN4juce10OwnedArrayINS_10TextLayout4LineENS_20DummyCriticalSectionEEE", !47, i64 0, !12, i64 16}
!47 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextLayout4LineENS_20DummyCriticalSectionEEE", !48, i64 0, !12, i64 8}
!48 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextLayout4LineELb0EEE", !6, i64 0}
!49 = !{!"float", !7, i64 0}
!50 = !{!"_ZTSN4juce13JustificationE", !12, i64 0}
!51 = !{!"_ZTSN4juce11AlertWindow13AlertIconTypeE", !7, i64 0}
!52 = !{!"_ZTSN4juce26ComponentBoundsConstrainerE", !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !12, i64 24, !12, i64 28, !12, i64 32, !12, i64 36, !53, i64 40}
!53 = !{!"double", !7, i64 0}
!54 = !{!"_ZTSN4juce16ComponentDraggerE", !23, i64 8}
!55 = !{!"_ZTSN4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEEE", !56, i64 0, !12, i64 16}
!56 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextButtonENS_20DummyCriticalSectionEEE", !57, i64 0, !12, i64 8}
!57 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextButtonELb0EEE", !6, i64 0}
!58 = !{!"_ZTSN4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEEE", !59, i64 0, !12, i64 16}
!59 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextEditorENS_20DummyCriticalSectionEEE", !60, i64 0, !12, i64 8}
!60 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextEditorELb0EEE", !6, i64 0}
!61 = !{!"_ZTSN4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEEE", !62, i64 0, !12, i64 16}
!62 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_8ComboBoxENS_20DummyCriticalSectionEEE", !63, i64 0, !12, i64 8}
!63 = !{!"_ZTSN4juce9HeapBlockIPNS_8ComboBoxELb0EEE", !6, i64 0}
!64 = !{!"_ZTSN4juce10OwnedArrayINS_11ProgressBarENS_20DummyCriticalSectionEEE", !65, i64 0, !12, i64 16}
!65 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_11ProgressBarENS_20DummyCriticalSectionEEE", !66, i64 0, !12, i64 8}
!66 = !{!"_ZTSN4juce9HeapBlockIPNS_11ProgressBarELb0EEE", !6, i64 0}
!67 = !{!"_ZTSN4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEEE", !27, i64 0, !12, i64 16}
!68 = !{!"_ZTSN4juce11StringArrayE", !69, i64 0}
!69 = !{!"_ZTSN4juce5ArrayINS_6StringENS_20DummyCriticalSectionELi0EEE", !70, i64 0, !12, i64 16}
!70 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_6StringENS_20DummyCriticalSectionEEE", !71, i64 0, !12, i64 8}
!71 = !{!"_ZTSN4juce9HeapBlockINS_6StringELb0EEE", !6, i64 0}
!72 = distinct !{!72, !73}
!73 = !{!"llvm.loop.mustprogress"}
!74 = distinct !{!74, !73}
!75 = distinct !{!75, !73}
!76 = distinct !{!76, !73}
!77 = !{i8 0, i8 2}
!78 = !{}
!79 = !{!16, !6, i64 568}
!80 = distinct !{!80, !73}
!81 = distinct !{!81, !73}
!82 = distinct !{!82, !73}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.juce::Colour" = type { %"class.juce::PixelARGB" }
%"class.juce::PixelARGB" = type { %union.anon.77 }
%union.anon.77 = type { i32 }
%"class.juce::String" = type { %"class.juce::CharPointer_UTF8" }
%"class.juce::CharPointer_UTF8" = type { ptr }
%"class.juce::Font" = type { %"class.juce::ReferenceCountedObjectPtr.158" }
%"class.juce::ReferenceCountedObjectPtr.158" = type { ptr }
%"class.juce::AttributedString" = type { %"class.juce::String", float, %"class.juce::Justification", i32, i32, %"class.juce::Array.422" }
%"class.juce::Justification" = type { i32 }
%"class.juce::Array.422" = type { %"class.juce::ArrayAllocationBase.423", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.423" = type <{ %"class.juce::HeapBlock.424", i32, [4 x i8] }>
%"class.juce::HeapBlock.424" = type { ptr }
%"class.juce::Rectangle" = type { %"class.juce::Point", i32, i32 }
%"class.juce::Point" = type { i32, i32 }

@_ZTIN4juce9ComponentE = external dso_local constant { ptr, ptr, ptr }, align 8
@.str.150 = external hidden unnamed_addr constant [3 x i8], align 1
@_ZTIN4juce8ComboBoxE = external dso_local constant { ptr, ptr, i32, i32, ptr, i64, ptr, i64, ptr, i64, ptr, i64, ptr, i64 }, align 8
@_ZTIN4juce10TextEditorE = external dso_local constant { ptr, ptr, i32, i32, ptr, i64, ptr, i64, ptr, i64 }, align 8

declare i32 @__gxx_personality_v0(...)

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9RectangleIiED2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: nounwind
declare void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce9Component9isVisibleEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component7toFrontEb(ptr noundef nonnull align 8 dereferenceable(197), i1 noundef zeroext) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197), float noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component18proportionOfHeightEf(ptr noundef nonnull align 8 dereferenceable(197), float noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component15getParentHeightEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component9setBoundsEiiii(ptr noundef nonnull align 8 dereferenceable(197), i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9RectangleIiE9setBoundsEiiii(ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197), i32 noundef, i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component9setBoundsERKNS_9RectangleIiEE(ptr noundef nonnull align 8 dereferenceable(197), ptr noundef nonnull align 4 dereferenceable(16)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce9Component21getNumChildComponentsEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4juce9Component9getBoundsEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(281) ptr @_ZNK4juce9Component14getLookAndFeelEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4juce9Component10findColourEib(ptr dead_on_unwind noalias writable sret(%"class.juce::Colour") align 1, ptr noundef nonnull align 8 dereferenceable(197), i32 noundef, i1 noundef zeroext) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9Component21setWantsKeyboardFocusEb(ptr noundef nonnull align 8 dereferenceable(197), i1 noundef zeroext) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nofree nounwind willreturn memory(read)
declare ptr @__dynamic_cast(ptr, ptr, ptr, i64) local_unnamed_addr #5

; Function Attrs: nounwind
declare void @_ZN4juce6ColourD1Ev(ptr noundef nonnull align 1 dereferenceable(4)) unnamed_addr #2

declare void @_ZN4juceplEPKcRKNS_6StringE(ptr dead_on_unwind writable sret(%"class.juce::String") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13JustificationC2Ei(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0 align 2

; Function Attrs: nounwind
declare void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2

declare noundef i32 @_ZNK4juce4Font14getStringWidthERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197)) local_unnamed_addr #1 align 2

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce11StringArrayixEi(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare noundef float @_ZNK4juce4Font9getHeightEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce14TopLevelWindow21centreAroundComponentEPNS_9ComponentEii(ptr noundef nonnull align 8 dereferenceable(208), ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE8containsES2_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef float @_ZNK4juce10TextLayout8getWidthEv(ptr noundef nonnull align 8 dereferenceable(36)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef float @_ZNK4juce10TextLayout9getHeightEv(ptr noundef nonnull align 8 dereferenceable(36)) local_unnamed_addr #1 align 2

declare void @_ZN4juce16AttributedStringC1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #6

; Function Attrs: nounwind
declare void @_ZN4juce16AttributedString16setJustificationENS_13JustificationE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare void @_ZN4juce16AttributedStringD1Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4juce11AlertWindow12updateLayoutEb(ptr noundef nonnull align 8 dereferenceable(577) %0, i1 noundef zeroext %1) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.juce::Font", align 8
  %4 = alloca %"class.juce::AttributedString", align 8
  %5 = alloca %"class.juce::Font", align 8
  %6 = alloca %"class.juce::String", align 8
  %7 = alloca %"class.juce::Colour", align 1
  %8 = alloca %"class.juce::Justification", align 4
  %9 = alloca %"class.juce::Justification", align 4
  %10 = alloca %"class.juce::Rectangle", align 4
  %11 = tail call noundef nonnull align 8 dereferenceable(281) ptr @_ZNK4juce9Component14getLookAndFeelEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #7
  %12 = getelementptr inbounds i8, ptr %11, i64 56
  %13 = load ptr, ptr %12, align 8, !tbaa !5
  %14 = getelementptr inbounds i8, ptr %13, i64 64
  %15 = load ptr, ptr %14, align 8
  call void %15(ptr dead_on_unwind nonnull writable sret(%"class.juce::Font") align 8 %3, ptr noundef nonnull align 8 dereferenceable(8) %12)
  %16 = getelementptr inbounds i8, ptr %0, i64 216
  %17 = invoke noundef i32 @_ZNK4juce4Font14getStringWidthERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %18 unwind label %46

18:                                               ; preds = %2
  %19 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %20 = invoke noundef i32 @_ZNK4juce4Font14getStringWidthERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %21 unwind label %46

21:                                               ; preds = %18
  %22 = call noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %17, i32 noundef %20)
  %23 = call noundef float @_ZNK4juce4Font9getHeightEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  %24 = sitofp i32 %22 to float
  %25 = fmul float %23, %24
  %26 = call noundef float @_ZSt4sqrtf(float noundef %25)
  %27 = fptosi float %26 to i32
  %28 = shl nsw i32 %27, 1
  %29 = add nsw i32 %28, 300
  %30 = call noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %31 = sitofp i32 %30 to float
  %32 = fmul float %31, 0x3FE6666660000000
  %33 = fptosi float %32 to i32
  %34 = call noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %29, i32 noundef %33)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %4) #7
  invoke void @_ZN4juce16AttributedStringC1Ev(ptr noundef nonnull align 8 dereferenceable(48) %4)
          to label %35 unwind label %48

35:                                               ; preds = %21
  %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  %37 = load ptr, ptr %12, align 8, !tbaa !5
  %38 = getelementptr inbounds i8, ptr %37, i64 56
  %39 = load ptr, ptr %38, align 8
  invoke void %39(ptr dead_on_unwind nonnull writable sret(%"class.juce::Font") align 8 %5, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %40 unwind label %50

40:                                               ; preds = %35
  invoke void @_ZN4juce16AttributedString6appendERKNS_6StringERKNS_4FontE(ptr noundef nonnull align 8 dereferenceable(48) %4, ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %41 unwind label %52

41:                                               ; preds = %40
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  %42 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  br i1 %42, label %43, label %60

43:                                               ; preds = %41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  invoke void @_ZN4juceplEPKcRKNS_6StringE(ptr dead_on_unwind nonnull writable sret(%"class.juce::String") align 8 %6, ptr noundef nonnull @.str.150, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %44 unwind label %55

44:                                               ; preds = %43
  invoke void @_ZN4juce16AttributedString6appendERKNS_6StringERKNS_4FontE(ptr noundef nonnull align 8 dereferenceable(48) %4, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %45 unwind label %57

45:                                               ; preds = %44
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  br label %60

46:                                               ; preds = %18, %2
  %47 = landingpad { ptr, i32 }
          cleanup
  br label %271

48:                                               ; preds = %21
  %49 = landingpad { ptr, i32 }
          cleanup
  br label %270

50:                                               ; preds = %35
  %51 = landingpad { ptr, i32 }
          cleanup
  br label %54

52:                                               ; preds = %40
  %53 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  br label %54

54:                                               ; preds = %52, %50
  %.pn = phi { ptr, i32 } [ %53, %52 ], [ %51, %50 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  br label %269

55:                                               ; preds = %43
  %56 = landingpad { ptr, i32 }
          cleanup
  br label %59

57:                                               ; preds = %44
  %58 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  br label %59

59:                                               ; preds = %57, %55
  %.pn139 = phi { ptr, i32 } [ %58, %57 ], [ %56, %55 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  br label %269

60:                                               ; preds = %45, %41
  invoke void @_ZNK4juce9Component10findColourEib(ptr dead_on_unwind nonnull writable sret(%"class.juce::Colour") align 1 %7, ptr noundef nonnull align 8 dereferenceable(197) %0, i32 noundef 16783376, i1 noundef zeroext false)
          to label %61 unwind label %69

61:                                               ; preds = %60
  invoke void @_ZN4juce16AttributedString9setColourENS_6ColourE(ptr noundef nonnull align 8 dereferenceable(48) %4, ptr noundef nonnull %7)
          to label %62 unwind label %71

62:                                               ; preds = %61
  call void @_ZN4juce6ColourD1Ev(ptr noundef nonnull align 1 dereferenceable(4) %7) #7
  %63 = getelementptr inbounds i8, ptr %0, i64 264
  %64 = load i32, ptr %63, align 8, !tbaa !8
  %65 = icmp eq i32 %64, 0
  %66 = getelementptr inbounds i8, ptr %0, i64 224
  %67 = sitofp i32 %34 to float
  br i1 %65, label %68, label %73

68:                                               ; preds = %62
  call void @_ZN4juce13JustificationC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %8, i32 noundef 12) #7
  call void @_ZN4juce16AttributedString16setJustificationENS_13JustificationE(ptr noundef nonnull align 8 dereferenceable(48) %4, ptr noundef nonnull %8) #7
  invoke void @_ZN4juce10TextLayout35createLayoutWithBalancedLineLengthsERKNS_16AttributedStringEf(ptr noundef nonnull align 8 dereferenceable(36) %66, ptr noundef nonnull align 8 dereferenceable(48) %4, float noundef %67)
          to label %74 unwind label %69

69:                                               ; preds = %73, %68, %60
  %70 = landingpad { ptr, i32 }
          cleanup
  br label %269

71:                                               ; preds = %61
  %72 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce6ColourD1Ev(ptr noundef nonnull align 1 dereferenceable(4) %7) #7
  br label %269

73:                                               ; preds = %62
  call void @_ZN4juce13JustificationC2Ei(ptr noundef nonnull align 4 dereferenceable(4) %9, i32 noundef 9) #7
  call void @_ZN4juce16AttributedString16setJustificationENS_13JustificationE(ptr noundef nonnull align 8 dereferenceable(48) %4, ptr noundef nonnull %9) #7
  invoke void @_ZN4juce10TextLayout35createLayoutWithBalancedLineLengthsERKNS_16AttributedStringEf(ptr noundef nonnull align 8 dereferenceable(36) %66, ptr noundef nonnull align 8 dereferenceable(48) %4, float noundef %67)
          to label %74 unwind label %69

74:                                               ; preds = %73, %68
  %.0106 = phi i32 [ 40, %68 ], [ 120, %73 ]
  %75 = getelementptr inbounds i8, ptr %0, i64 224
  %76 = call noundef float @_ZNK4juce10TextLayout8getWidthEv(ptr noundef nonnull align 8 dereferenceable(36) %75) #7
  %77 = fptosi float %76 to i32
  %78 = add i32 %.0106, %77
  %79 = call noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef 350, i32 noundef %78)
  %80 = call noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %81 = sitofp i32 %80 to float
  %82 = fmul float %81, 0x3FE6666660000000
  %83 = fptosi float %82 to i32
  %84 = call noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %79, i32 noundef %83)
  %85 = call noundef float @_ZNK4juce10TextLayout9getHeightEv(ptr noundef nonnull align 8 dereferenceable(36) %75) #7
  %86 = fptosi float %85 to i32
  %87 = add nsw i32 %86, 40
  %88 = getelementptr inbounds i8, ptr %0, i64 352
  %89 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %88) #7
  %90 = icmp sgt i32 %89, 0
  br i1 %90, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %.lr.ph, %74
  %.0124.lcssa = phi i32 [ 40, %74 ], [ %107, %.lr.ph ]
  %91 = call noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %.0124.lcssa, i32 noundef %84)
  %92 = getelementptr inbounds i8, ptr %0, i64 376
  %93 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %92) #7
  %94 = getelementptr inbounds i8, ptr %0, i64 400
  %95 = call noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %94) #7
  %96 = add nsw i32 %95, %93
  %97 = getelementptr inbounds i8, ptr %0, i64 424
  %98 = call noundef i32 @_ZNK4juce10OwnedArrayINS_11ProgressBarENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %97) #7
  %99 = add nsw i32 %96, %98
  %100 = mul nsw i32 %99, 50
  %101 = add nsw i32 %100, %87
  %102 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %88) #7
  %103 = icmp sgt i32 %102, 0
  br i1 %103, label %111, label %118

.lr.ph:                                           ; preds = %74, %.lr.ph
  %.0124154 = phi i32 [ %107, %.lr.ph ], [ 40, %74 ]
  %.0125153 = phi i32 [ %108, %.lr.ph ], [ 0, %74 ]
  %104 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %88, i32 noundef %.0125153) #7
  %105 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %104) #7
  %106 = add i32 %.0124154, 16
  %107 = add i32 %106, %105
  %108 = add nuw nsw i32 %.0125153, 1
  %109 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %88) #7
  %110 = icmp slt i32 %108, %109
  br i1 %110, label %.lr.ph, label %._crit_edge, !llvm.loop !69

111:                                              ; preds = %._crit_edge
  %112 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %88, i32 noundef 0) #7
  %113 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %112) #7
  %114 = add i32 %101, 20
  %115 = add i32 %114, %113
  br label %118

116:                                              ; preds = %173
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %269

118:                                              ; preds = %111, %._crit_edge
  %.0107 = phi i32 [ %115, %111 ], [ %101, %._crit_edge ]
  %119 = getelementptr inbounds i8, ptr %0, i64 448
  %120 = call noundef i32 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %119) #7
  %121 = icmp sgt i32 %120, 0
  br i1 %121, label %.lr.ph160, label %._crit_edge161

._crit_edge161:                                   ; preds = %.lr.ph160, %118
  %.1108.lcssa = phi i32 [ %.0107, %118 ], [ %spec.select, %.lr.ph160 ]
  %.0102.lcssa = phi i32 [ %91, %118 ], [ %130, %.lr.ph160 ]
  %122 = getelementptr inbounds i8, ptr %0, i64 472
  %123 = call noundef i32 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %122) #7
  %124 = icmp sgt i32 %123, 0
  br i1 %124, label %.lr.ph167, label %._crit_edge168

.lr.ph160:                                        ; preds = %118, %.lr.ph160
  %.0102158 = phi i32 [ %130, %.lr.ph160 ], [ %91, %118 ]
  %.1108157 = phi i32 [ %spec.select, %.lr.ph160 ], [ %.0107, %118 ]
  %.0127156 = phi i32 [ %125, %.lr.ph160 ], [ %120, %118 ]
  %125 = add nsw i32 %.0127156, -1
  %126 = call noundef ptr @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %119, i32 noundef %125)
  %127 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %126) #7
  %128 = mul nsw i32 %127, 100
  %129 = sdiv i32 %128, 80
  %130 = call noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %.0102158, i32 noundef %129)
  %131 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %126) #7
  %132 = add i32 %.1108157, 10
  %133 = add i32 %132, %131
  %134 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %126) #7
  %135 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %134) #7
  %136 = add nsw i32 %133, 18
  %spec.select = select i1 %135, i32 %136, i32 %133
  %137 = icmp ugt i32 %.0127156, 1
  br i1 %137, label %.lr.ph160, label %._crit_edge161, !llvm.loop !71

._crit_edge168:                                   ; preds = %.lr.ph167, %._crit_edge161
  %.1103.lcssa = phi i32 [ %.0102.lcssa, %._crit_edge161 ], [ %151, %.lr.ph167 ]
  %138 = call noundef i32 @_ZNK4juce9Component14getParentWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %139 = sitofp i32 %138 to float
  %140 = fmul float %139, 0x3FE6666660000000
  %141 = fptosi float %140 to i32
  %142 = call noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %.1103.lcssa, i32 noundef %141)
  %143 = call noundef i32 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %122) #7
  %144 = icmp sgt i32 %143, 0
  br i1 %144, label %.lr.ph172, label %._crit_edge173

.lr.ph172:                                        ; preds = %._crit_edge168
  %145 = sitofp i32 %142 to float
  %146 = fmul float %145, 0x3FE99999A0000000
  %147 = fptosi float %146 to i32
  br label %156

.lr.ph167:                                        ; preds = %._crit_edge161, %.lr.ph167
  %.1103165 = phi i32 [ %151, %.lr.ph167 ], [ %.0102.lcssa, %._crit_edge161 ]
  %.0128164 = phi i32 [ %148, %.lr.ph167 ], [ %123, %._crit_edge161 ]
  %148 = add nsw i32 %.0128164, -1
  %149 = call noundef ptr @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %122, i32 noundef %148) #7
  %150 = call noundef i32 @_ZNK4juce13AlertTextComp17getPreferredWidthEv(ptr noundef nonnull align 8 dereferenceable(604) %149) #7
  %151 = call noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %.1103165, i32 noundef %150)
  %152 = icmp ugt i32 %.0128164, 1
  br i1 %152, label %.lr.ph167, label %._crit_edge168, !llvm.loop !72

._crit_edge173:                                   ; preds = %159, %._crit_edge168
  %.3110.lcssa = phi i32 [ %.1108.lcssa, %._crit_edge168 ], [ %162, %159 ]
  %153 = call noundef i32 @_ZNK4juce9Component15getParentHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %154 = add nsw i32 %153, -50
  %155 = call noundef i32 @_ZN4juce4jminIiEET_S1_S1_(i32 noundef %154, i32 noundef %.3110.lcssa)
  br i1 %1, label %166, label %171

156:                                              ; preds = %.lr.ph172, %159
  %.in = phi i32 [ %143, %.lr.ph172 ], [ %157, %159 ]
  %.3110170 = phi i32 [ %.1108.lcssa, %.lr.ph172 ], [ %162, %159 ]
  %157 = add nsw i32 %.in, -1
  %158 = call noundef ptr @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %122, i32 noundef %157) #7
  invoke void @_ZN4juce13AlertTextComp12updateLayoutEi(ptr noundef nonnull align 8 dereferenceable(604) %158, i32 noundef %147)
          to label %159 unwind label %164

159:                                              ; preds = %156
  %160 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %158) #7
  %161 = add i32 %.3110170, 10
  %162 = add i32 %161, %160
  %163 = icmp ugt i32 %.in, 1
  br i1 %163, label %156, label %._crit_edge173, !llvm.loop !73

164:                                              ; preds = %156
  %165 = landingpad { ptr, i32 }
          cleanup
  br label %269

166:                                              ; preds = %._crit_edge173
  %167 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %168 = call noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %142, i32 noundef %167)
  %169 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %170 = call noundef i32 @_ZN4juce4jmaxIiEET_S1_S1_(i32 noundef %155, i32 noundef %169)
  br label %171

171:                                              ; preds = %166, %._crit_edge173
  %.4111 = phi i32 [ %170, %166 ], [ %155, %._crit_edge173 ]
  %.2104 = phi i32 [ %168, %166 ], [ %142, %._crit_edge173 ]
  %172 = call noundef zeroext i1 @_ZNK4juce9Component9isVisibleEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  br i1 %172, label %176, label %173

173:                                              ; preds = %171
  %174 = getelementptr inbounds i8, ptr %0, i64 568
  %175 = load ptr, ptr %174, align 8, !tbaa !74
  invoke void @_ZN4juce14TopLevelWindow21centreAroundComponentEPNS_9ComponentEii(ptr noundef nonnull align 8 dereferenceable(208) %0, ptr noundef %175, i32 noundef %.2104, i32 noundef %.4111)
          to label %181 unwind label %116

176:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #7
  %177 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNK4juce9Component9getBoundsEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  call void @_ZNK4juce9RectangleIiE21withSizeKeepingCentreEii(ptr dead_on_unwind nonnull writable sret(%"class.juce::Rectangle") align 4 %10, ptr noundef nonnull align 4 dereferenceable(16) %177, i32 noundef %.2104, i32 noundef %.4111) #7
  invoke void @_ZN4juce9Component9setBoundsERKNS_9RectangleIiEE(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef nonnull align 4 dereferenceable(16) %10)
          to label %178 unwind label %179

178:                                              ; preds = %176
  call void @_ZN4juce9RectangleIiED2Ev(ptr noundef nonnull align 4 dereferenceable(16) %10) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  br label %181

179:                                              ; preds = %176
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce9RectangleIiED2Ev(ptr noundef nonnull align 4 dereferenceable(16) %10) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #7
  br label %269

181:                                              ; preds = %173, %178
  %182 = getelementptr inbounds i8, ptr %0, i64 336
  %183 = add nsw i32 %.2104, -20
  %184 = add nsw i32 %.4111, -10
  call void @_ZN4juce9RectangleIiE9setBoundsEiiii(ptr noundef nonnull align 4 dereferenceable(16) %182, i32 noundef 10, i32 noundef 10, i32 noundef %183, i32 noundef %184) #7
  %185 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %88) #7
  %186 = icmp sgt i32 %185, 0
  br i1 %186, label %.lr.ph178, label %._crit_edge179

._crit_edge179:                                   ; preds = %.lr.ph178, %181
  %.0123.lcssa = phi i32 [ -16, %181 ], [ %196, %.lr.ph178 ]
  %187 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %188 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %88) #7
  %189 = icmp sgt i32 %188, 0
  br i1 %189, label %.lr.ph185.preheader, label %.preheader

.lr.ph185.preheader:                              ; preds = %._crit_edge179
  %190 = sub nsw i32 %.2104, %.0123.lcssa
  %191 = sdiv i32 %190, 2
  br label %.lr.ph185

.lr.ph178:                                        ; preds = %181, %.lr.ph178
  %.0122176 = phi i32 [ %192, %.lr.ph178 ], [ %185, %181 ]
  %.0123175 = phi i32 [ %196, %.lr.ph178 ], [ -16, %181 ]
  %192 = add nsw i32 %.0122176, -1
  %193 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %88, i32 noundef %192) #7
  %194 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %193) #7
  %195 = add i32 %.0123175, 16
  %196 = add i32 %195, %194
  %197 = icmp ugt i32 %.0122176, 1
  br i1 %197, label %.lr.ph178, label %._crit_edge179, !llvm.loop !75

.preheader:                                       ; preds = %211, %._crit_edge179
  %198 = getelementptr inbounds i8, ptr %0, i64 496
  %199 = call noundef i32 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %198) #7
  %200 = icmp sgt i32 %199, 0
  br i1 %200, label %.lr.ph188, label %._crit_edge189

.lr.ph188:                                        ; preds = %.preheader
  %201 = getelementptr inbounds i8, ptr %0, i64 544
  %202 = getelementptr inbounds i8, ptr %0, i64 520
  br label %219

.lr.ph185:                                        ; preds = %.lr.ph185.preheader, %211
  %.0113183 = phi i32 [ %214, %211 ], [ 0, %.lr.ph185.preheader ]
  %.0121181 = phi i32 [ %213, %211 ], [ %191, %.lr.ph185.preheader ]
  %203 = call noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %88, i32 noundef %.0113183) #7
  %204 = call noundef i32 @_ZNK4juce9Component18proportionOfHeightEf(ptr noundef nonnull align 8 dereferenceable(197) %0, float noundef 0x3FEE666660000000) #7
  %205 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %203) #7
  %206 = sub nsw i32 %204, %205
  invoke void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197) %203, i32 noundef %.0121181, i32 noundef %206)
          to label %207 unwind label %209

207:                                              ; preds = %.lr.ph185
  %208 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %203) #7
  invoke void @_ZN4juce9Component7toFrontEb(ptr noundef nonnull align 8 dereferenceable(197) %203, i1 noundef zeroext false)
          to label %211 unwind label %209

209:                                              ; preds = %207, %.lr.ph185
  %210 = landingpad { ptr, i32 }
          cleanup
  br label %269

211:                                              ; preds = %207
  %212 = add i32 %.0121181, 16
  %213 = add i32 %212, %208
  %214 = add nuw nsw i32 %.0113183, 1
  %215 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %88) #7
  %216 = icmp slt i32 %214, %215
  br i1 %216, label %.lr.ph185, label %.preheader, !llvm.loop !76

._crit_edge189:                                   ; preds = %263, %.preheader
  %217 = call noundef i32 @_ZNK4juce9Component21getNumChildComponentsEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %218 = icmp eq i32 %217, 0
  call void @_ZN4juce9Component21setWantsKeyboardFocusEb(ptr noundef nonnull align 8 dereferenceable(197) %0, i1 noundef zeroext %218) #7
  call void @_ZN4juce16AttributedStringD1Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) #7
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  ret void

219:                                              ; preds = %.lr.ph188, %263
  %.0105187 = phi i32 [ 0, %.lr.ph188 ], [ %266, %263 ]
  %.2116186 = phi i32 [ %87, %.lr.ph188 ], [ %265, %263 ]
  %220 = call noundef ptr @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20) %198, i32 noundef %.0105187)
  %221 = icmp eq ptr %220, null
  br i1 %221, label %224, label %222

222:                                              ; preds = %219
  %223 = call ptr @__dynamic_cast(ptr nonnull %220, ptr nonnull @_ZTIN4juce9ComponentE, ptr nonnull @_ZTIN4juce8ComboBoxE, i64 0) #7
  br label %224

224:                                              ; preds = %219, %222
  %225 = phi ptr [ %223, %222 ], [ null, %219 ]
  %226 = call noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20) %94, ptr noundef %225) #7
  %227 = icmp sgt i32 %226, -1
  br i1 %227, label %228, label %232

228:                                              ; preds = %224
  %229 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce11StringArrayixEi(ptr noundef nonnull align 8 dereferenceable(24) %201, i32 noundef %226) #7
  %230 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %229) #7
  %231 = add nsw i32 %.2116186, 18
  %spec.select149 = select i1 %230, i32 %231, i32 %.2116186
  br label %232

232:                                              ; preds = %228, %224
  %.3117 = phi i32 [ %.2116186, %224 ], [ %spec.select149, %228 ]
  br i1 %221, label %235, label %233

233:                                              ; preds = %232
  %234 = call ptr @__dynamic_cast(ptr nonnull %220, ptr nonnull @_ZTIN4juce9ComponentE, ptr nonnull @_ZTIN4juce10TextEditorE, i64 0) #7
  br label %235

235:                                              ; preds = %232, %233
  %236 = phi ptr [ %234, %233 ], [ null, %232 ]
  %237 = call noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20) %92, ptr noundef %236) #7
  %238 = icmp sgt i32 %237, -1
  br i1 %238, label %239, label %243

239:                                              ; preds = %235
  %240 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce11StringArrayixEi(ptr noundef nonnull align 8 dereferenceable(24) %202, i32 noundef %237) #7
  %241 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %240) #7
  %242 = add nsw i32 %.3117, 18
  %spec.select150 = select i1 %241, i32 %242, i32 %.3117
  br label %243

243:                                              ; preds = %239, %235
  %.4118 = phi i32 [ %.3117, %235 ], [ %spec.select150, %239 ]
  %244 = call noundef zeroext i1 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE8containsES2_(ptr noundef nonnull align 8 dereferenceable(20) %119, ptr noundef %220)
  br i1 %244, label %245, label %252

245:                                              ; preds = %243
  %246 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4juce9Component7getNameEv(ptr noundef nonnull align 8 dereferenceable(197) %220) #7
  %247 = call noundef zeroext i1 @_ZNK4juce6String10isNotEmptyEv(ptr noundef nonnull align 8 dereferenceable(8) %246) #7
  %248 = add nsw i32 %.4118, 18
  %spec.select151 = select i1 %247, i32 %248, i32 %.4118
  %249 = call noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197) %0, float noundef 0x3FB99999A0000000) #7
  invoke void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197) %220, i32 noundef %249, i32 noundef %spec.select151)
          to label %.sink.split unwind label %250

250:                                              ; preds = %259, %254, %245
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %269

252:                                              ; preds = %243
  %253 = call noundef zeroext i1 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE8containsEPKS1_(ptr noundef nonnull align 8 dereferenceable(20) %122, ptr noundef %220) #7
  br i1 %253, label %254, label %259

254:                                              ; preds = %252
  %255 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #7
  %256 = call noundef i32 @_ZNK4juce9Component8getWidthEv(ptr noundef nonnull align 8 dereferenceable(197) %220) #7
  %257 = sub nsw i32 %255, %256
  %258 = sdiv i32 %257, 2
  invoke void @_ZN4juce9Component18setTopLeftPositionEii(ptr noundef nonnull align 8 dereferenceable(197) %220, i32 noundef %258, i32 noundef %.4118)
          to label %.sink.split unwind label %250

259:                                              ; preds = %252
  %260 = call noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197) %0, float noundef 0x3FB99999A0000000) #7
  %261 = call noundef i32 @_ZNK4juce9Component17proportionOfWidthEf(ptr noundef nonnull align 8 dereferenceable(197) %0, float noundef 0x3FE99999A0000000) #7
  invoke void @_ZN4juce9Component9setBoundsEiiii(ptr noundef nonnull align 8 dereferenceable(197) %220, i32 noundef %260, i32 noundef %.4118, i32 noundef %261, i32 noundef 22)
          to label %263 unwind label %250

.sink.split:                                      ; preds = %254, %245
  %.6120.ph = phi i32 [ %spec.select151, %245 ], [ %.4118, %254 ]
  %262 = call noundef i32 @_ZNK4juce9Component9getHeightEv(ptr noundef nonnull align 8 dereferenceable(197) %220) #7
  br label %263

263:                                              ; preds = %.sink.split, %259
  %.6120 = phi i32 [ %.4118, %259 ], [ %.6120.ph, %.sink.split ]
  %.5112 = phi i32 [ 22, %259 ], [ %262, %.sink.split ]
  %264 = add i32 %.6120, 10
  %265 = add i32 %264, %.5112
  %266 = add nuw nsw i32 %.0105187, 1
  %267 = call noundef i32 @_ZNK4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20) %198) #7
  %268 = icmp slt i32 %266, %267
  br i1 %268, label %219, label %._crit_edge189, !llvm.loop !77

269:                                              ; preds = %116, %164, %179, %250, %209, %71, %69, %59, %54
  %.pn143.pn = phi { ptr, i32 } [ %70, %69 ], [ %72, %71 ], [ %.pn139, %59 ], [ %.pn, %54 ], [ %165, %164 ], [ %180, %179 ], [ %117, %116 ], [ %210, %209 ], [ %251, %250 ]
  call void @_ZN4juce16AttributedStringD1Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #7
  br label %270

270:                                              ; preds = %269, %48
  %.pn143.pn.pn = phi { ptr, i32 } [ %.pn143.pn, %269 ], [ %49, %48 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %4) #7
  br label %271

271:                                              ; preds = %270, %46
  %.pn143.pn.pn.pn = phi { ptr, i32 } [ %.pn143.pn.pn, %270 ], [ %47, %46 ]
  call void @_ZN4juce4FontD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn143.pn.pn.pn
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef float @_ZSt4sqrtf(float noundef) local_unnamed_addr #0

declare void @_ZN4juce16AttributedString6appendERKNS_6StringERKNS_4FontE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

declare void @_ZN4juce16AttributedString9setColourENS_6ColourE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) local_unnamed_addr #6

declare void @_ZN4juce10TextLayout35createLayoutWithBalancedLineLengthsERKNS_16AttributedStringEf(ptr noundef nonnull align 8 dereferenceable(36), ptr noundef nonnull align 8 dereferenceable(48), float noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_11ProgressBarENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(20)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE12getUncheckedEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce13AlertTextComp17getPreferredWidthEv(ptr noundef nonnull align 8 dereferenceable(604)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce13AlertTextComp12updateLayoutEi(ptr noundef nonnull align 8 dereferenceable(604), i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK4juce9RectangleIiE21withSizeKeepingCentreEii(ptr dead_on_unwind noalias writable sret(%"class.juce::Rectangle") align 4, ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEE7indexOfEPKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEE8containsEPKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef) local_unnamed_addr #1 align 2

attributes #0 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress nofree nounwind willreturn memory(read) }
attributes #6 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !48, i64 264}
!9 = !{!"_ZTSN4juce11AlertWindowE", !10, i64 0, !41, i64 208, !13, i64 216, !42, i64 224, !48, i64 264, !49, i64 272, !51, i64 320, !17, i64 336, !52, i64 352, !55, i64 376, !58, i64 400, !61, i64 424, !22, i64 448, !64, i64 472, !22, i64 496, !65, i64 520, !65, i64 544, !15, i64 568, !39, i64 576}
!10 = !{!"_ZTSN4juce14TopLevelWindowE", !11, i64 0, !39, i64 197, !39, i64 198, !39, i64 199, !40, i64 200}
!11 = !{!"_ZTSN4juce9ComponentE", !12, i64 0, !13, i64 8, !13, i64 16, !15, i64 24, !17, i64 32, !20, i64 48, !21, i64 56, !22, i64 64, !15, i64 88, !25, i64 96, !15, i64 104, !26, i64 112, !27, i64 120, !28, i64 128, !29, i64 136, !33, i64 160, !37, i64 184, !16, i64 192, !16, i64 196}
!12 = !{!"_ZTSN4juce13MouseListenerE"}
!13 = !{!"_ZTSN4juce6StringE", !14, i64 0}
!14 = !{!"_ZTSN4juce16CharPointer_UTF8E", !15, i64 0}
!15 = !{!"any pointer", !16, i64 0}
!16 = !{!"omnipotent char", !7, i64 0}
!17 = !{!"_ZTSN4juce9RectangleIiEE", !18, i64 0, !19, i64 8, !19, i64 12}
!18 = !{!"_ZTSN4juce5PointIiEE", !19, i64 0, !19, i64 4}
!19 = !{!"int", !16, i64 0}
!20 = !{!"_ZTSN4juce13ScopedPointerINS_9Component10PositionerEEE", !15, i64 0}
!21 = !{!"_ZTSN4juce13ScopedPointerINS_15AffineTransformEEE", !15, i64 0}
!22 = !{!"_ZTSN4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EEE", !23, i64 0, !19, i64 16}
!23 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_9ComponentENS_20DummyCriticalSectionEEE", !24, i64 0, !19, i64 8}
!24 = !{!"_ZTSN4juce9HeapBlockIPNS_9ComponentELb0EEE", !15, i64 0}
!25 = !{!"_ZTSN4juce11MouseCursorE", !15, i64 0}
!26 = !{!"_ZTSN4juce13ScopedPointerINS_20CachedComponentImageEEE", !15, i64 0}
!27 = !{!"_ZTSN4juce13ScopedPointerINS_9Component17MouseListenerListEEE", !15, i64 0}
!28 = !{!"_ZTSN4juce13ScopedPointerINS_5ArrayIPNS_11KeyListenerENS_20DummyCriticalSectionELi0EEEEE", !15, i64 0}
!29 = !{!"_ZTSN4juce12ListenerListINS_17ComponentListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !30, i64 0}
!30 = !{!"_ZTSN4juce5ArrayIPNS_17ComponentListenerENS_20DummyCriticalSectionELi0EEE", !31, i64 0, !19, i64 16}
!31 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_17ComponentListenerENS_20DummyCriticalSectionEEE", !32, i64 0, !19, i64 8}
!32 = !{!"_ZTSN4juce9HeapBlockIPNS_17ComponentListenerELb0EEE", !15, i64 0}
!33 = !{!"_ZTSN4juce13NamedValueSetE", !34, i64 0}
!34 = !{!"_ZTSN4juce5ArrayINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionELi0EEE", !35, i64 0, !19, i64 16}
!35 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionEEE", !36, i64 0, !19, i64 8}
!36 = !{!"_ZTSN4juce9HeapBlockINS_13NamedValueSet10NamedValueELb0EEE", !15, i64 0}
!37 = !{!"_ZTSN4juce13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE6MasterE", !38, i64 0}
!38 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE13SharedPointerEEE", !15, i64 0}
!39 = !{!"bool", !16, i64 0}
!40 = !{!"_ZTSN4juce13ScopedPointerINS_12DropShadowerEEE", !15, i64 0}
!41 = !{!"_ZTSN4juce6Button8ListenerE"}
!42 = !{!"_ZTSN4juce10TextLayoutE", !43, i64 0, !46, i64 24, !46, i64 28, !47, i64 32}
!43 = !{!"_ZTSN4juce10OwnedArrayINS_10TextLayout4LineENS_20DummyCriticalSectionEEE", !44, i64 0, !19, i64 16}
!44 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextLayout4LineENS_20DummyCriticalSectionEEE", !45, i64 0, !19, i64 8}
!45 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextLayout4LineELb0EEE", !15, i64 0}
!46 = !{!"float", !16, i64 0}
!47 = !{!"_ZTSN4juce13JustificationE", !19, i64 0}
!48 = !{!"_ZTSN4juce11AlertWindow13AlertIconTypeE", !16, i64 0}
!49 = !{!"_ZTSN4juce26ComponentBoundsConstrainerE", !19, i64 8, !19, i64 12, !19, i64 16, !19, i64 20, !19, i64 24, !19, i64 28, !19, i64 32, !19, i64 36, !50, i64 40}
!50 = !{!"double", !16, i64 0}
!51 = !{!"_ZTSN4juce16ComponentDraggerE", !18, i64 8}
!52 = !{!"_ZTSN4juce10OwnedArrayINS_10TextButtonENS_20DummyCriticalSectionEEE", !53, i64 0, !19, i64 16}
!53 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextButtonENS_20DummyCriticalSectionEEE", !54, i64 0, !19, i64 8}
!54 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextButtonELb0EEE", !15, i64 0}
!55 = !{!"_ZTSN4juce10OwnedArrayINS_10TextEditorENS_20DummyCriticalSectionEEE", !56, i64 0, !19, i64 16}
!56 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextEditorENS_20DummyCriticalSectionEEE", !57, i64 0, !19, i64 8}
!57 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextEditorELb0EEE", !15, i64 0}
!58 = !{!"_ZTSN4juce10OwnedArrayINS_8ComboBoxENS_20DummyCriticalSectionEEE", !59, i64 0, !19, i64 16}
!59 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_8ComboBoxENS_20DummyCriticalSectionEEE", !60, i64 0, !19, i64 8}
!60 = !{!"_ZTSN4juce9HeapBlockIPNS_8ComboBoxELb0EEE", !15, i64 0}
!61 = !{!"_ZTSN4juce10OwnedArrayINS_11ProgressBarENS_20DummyCriticalSectionEEE", !62, i64 0, !19, i64 16}
!62 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_11ProgressBarENS_20DummyCriticalSectionEEE", !63, i64 0, !19, i64 8}
!63 = !{!"_ZTSN4juce9HeapBlockIPNS_11ProgressBarELb0EEE", !15, i64 0}
!64 = !{!"_ZTSN4juce10OwnedArrayINS_9ComponentENS_20DummyCriticalSectionEEE", !23, i64 0, !19, i64 16}
!65 = !{!"_ZTSN4juce11StringArrayE", !66, i64 0}
!66 = !{!"_ZTSN4juce5ArrayINS_6StringENS_20DummyCriticalSectionELi0EEE", !67, i64 0, !19, i64 16}
!67 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_6StringENS_20DummyCriticalSectionEEE", !68, i64 0, !19, i64 8}
!68 = !{!"_ZTSN4juce9HeapBlockINS_6StringELb0EEE", !15, i64 0}
!69 = distinct !{!69, !70}
!70 = !{!"llvm.loop.mustprogress"}
!71 = distinct !{!71, !70}
!72 = distinct !{!72, !70}
!73 = distinct !{!73, !70}
!74 = !{!9, !15, i64 568}
!75 = distinct !{!75, !70}
!76 = distinct !{!76, !70}
!77 = distinct !{!77, !70}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass