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

; 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::String" = type { %"class.juce::CharPointer_UTF8" }
%"class.juce::CharPointer_UTF8" = type { ptr }
%"class.juce::File" = type { %"class.juce::String" }
%"class.juce::FileBrowserComponent" = type <{ %"class.juce::Component.base", [3 x i8], %"class.juce::FileBrowserListener", %"class.juce::TextEditor::Listener", %"class.juce::Button::Listener", %"class.juce::ComboBox::Listener", %"class.juce::FileFilter", %"class.juce::Timer", %"class.juce::ScopedPointer.232", ptr, i32, [4 x i8], %"class.juce::File", %"class.juce::Array.233", %"class.juce::ListenerList.213", %"class.juce::ScopedPointer.238", ptr, %"class.juce::ComboBox", %"class.juce::TextEditor", %"class.juce::Label", %"class.juce::ScopedPointer.282", %"class.juce::TimeSliceThread", i8, [7 x i8] }>
%"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::Rectangle" = type { %"class.juce::Point", i32, i32 }
%"class.juce::Point" = type { i32, i32 }
%"class.juce::ScopedPointer" = type { ptr }
%"class.juce::ScopedPointer.0" = type { ptr }
%"class.juce::Array" = 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::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::FileBrowserListener" = type { ptr }
%"class.juce::TextEditor::Listener" = type { ptr }
%"class.juce::Button::Listener" = type { ptr }
%"class.juce::ComboBox::Listener" = type { ptr }
%"class.juce::FileFilter" = type { ptr, %"class.juce::String" }
%"class.juce::Timer" = type { ptr, i32, i32, ptr, ptr }
%"class.juce::ScopedPointer.232" = type { ptr }
%"class.juce::Array.233" = type { %"class.juce::ArrayAllocationBase.234", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.234" = type <{ %"class.juce::HeapBlock.235", i32, [4 x i8] }>
%"class.juce::HeapBlock.235" = type { ptr }
%"class.juce::ListenerList.213" = type { %"class.juce::Array.214" }
%"class.juce::Array.214" = type { %"class.juce::ArrayAllocationBase.215", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.215" = type <{ %"class.juce::HeapBlock.216", i32, [4 x i8] }>
%"class.juce::HeapBlock.216" = type { ptr }
%"class.juce::ScopedPointer.238" = type { ptr }
%"class.juce::ComboBox" = type <{ %"class.juce::Component.base", [3 x i8], %"class.juce::SettableTooltipClient", %"class.juce::Label::Listener", %"class.juce::Value::Listener", %"class.juce::AsyncUpdater", %"class.juce::PopupMenu", %"class.juce::Value", i32, i8, i8, i8, i8, float, [4 x i8], %"class.juce::ListenerList.244", %"class.juce::ScopedPointer.250", %"class.juce::String", %"class.juce::String", i32, [4 x i8] }>
%"class.juce::SettableTooltipClient" = type { %"class.juce::TooltipClient", %"class.juce::String" }
%"class.juce::TooltipClient" = type { ptr }
%"class.juce::Label::Listener" = type { ptr }
%"class.juce::Value::Listener" = type { ptr }
%"class.juce::AsyncUpdater" = type { ptr, %"class.juce::ReferenceCountedObjectPtr.15" }
%"class.juce::ReferenceCountedObjectPtr.15" = type { ptr }
%"class.juce::PopupMenu" = type { %"class.juce::OwnedArray.239", %"class.juce::WeakReference.37" }
%"class.juce::OwnedArray.239" = type { %"class.juce::ArrayAllocationBase.240", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.240" = type <{ %"class.juce::HeapBlock.241", i32, [4 x i8] }>
%"class.juce::HeapBlock.241" = type { ptr }
%"class.juce::WeakReference.37" = type { %"class.juce::ReferenceCountedObjectPtr.38" }
%"class.juce::ReferenceCountedObjectPtr.38" = type { ptr }
%"class.juce::Value" = type { %"class.juce::ReferenceCountedObjectPtr.116", %"class.juce::ListenerList.117" }
%"class.juce::ReferenceCountedObjectPtr.116" = type { ptr }
%"class.juce::ListenerList.117" = type { %"class.juce::Array.118" }
%"class.juce::Array.118" = type { %"class.juce::ArrayAllocationBase.119", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.119" = type <{ %"class.juce::HeapBlock.120", i32, [4 x i8] }>
%"class.juce::HeapBlock.120" = type { ptr }
%"class.juce::ListenerList.244" = type { %"class.juce::Array.245" }
%"class.juce::Array.245" = type { %"class.juce::ArrayAllocationBase.246", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.246" = type <{ %"class.juce::HeapBlock.247", i32, [4 x i8] }>
%"class.juce::HeapBlock.247" = type { ptr }
%"class.juce::ScopedPointer.250" = type { ptr }
%"class.juce::TextEditor" = type { %"class.juce::Component.base", %"class.juce::TextInputTarget", %"class.juce::SettableTooltipClient", %"class.juce::ScopedPointer.251", ptr, %"class.juce::BorderSize", i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, %"class.juce::UndoManager", %"class.juce::ScopedPointer.257", %"class.juce::Range", i32, i32, i32, %"class.juce::Font", i32, i32, %"class.juce::OwnedArray.258", %"class.juce::String", %"class.juce::Colour", i32, %"class.juce::OptionalScopedPointer", %"class.juce::Value", i32, i32, %"class.juce::ListenerList.264", %"class.juce::Array.270" }
%"class.juce::TextInputTarget" = type { ptr }
%"class.juce::ScopedPointer.251" = type { ptr }
%"class.juce::BorderSize" = type { i32, i32, i32, i32 }
%"class.juce::UndoManager" = type <{ %"class.juce::ChangeBroadcaster", %"class.juce::OwnedArray.252", %"class.juce::OwnedArray.252", %"class.juce::String", i32, i32, i32, i32, i8, i8, [6 x i8] }>
%"class.juce::ChangeBroadcaster" = type { ptr, %"class.juce::ChangeBroadcaster::ChangeBroadcasterCallback", %"class.juce::ListenerList.39" }
%"class.juce::ChangeBroadcaster::ChangeBroadcasterCallback" = type { %"class.juce::AsyncUpdater", ptr }
%"class.juce::ListenerList.39" = type { %"class.juce::Array.40" }
%"class.juce::Array.40" = type { %"class.juce::ArrayAllocationBase.41", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.41" = type <{ %"class.juce::HeapBlock.42", i32, [4 x i8] }>
%"class.juce::HeapBlock.42" = type { ptr }
%"class.juce::OwnedArray.252" = type { %"class.juce::ArrayAllocationBase.253", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.253" = type <{ %"class.juce::HeapBlock.254", i32, [4 x i8] }>
%"class.juce::HeapBlock.254" = type { ptr }
%"class.juce::ScopedPointer.257" = type { ptr }
%"class.juce::Range" = type { i32, i32 }
%"class.juce::Font" = type { %"class.juce::ReferenceCountedObjectPtr.158" }
%"class.juce::ReferenceCountedObjectPtr.158" = type { ptr }
%"class.juce::OwnedArray.258" = type { %"class.juce::ArrayAllocationBase.259", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.259" = type <{ %"class.juce::HeapBlock.260", i32, [4 x i8] }>
%"class.juce::HeapBlock.260" = type { ptr }
%"class.juce::Colour" = type { %"class.juce::PixelARGB" }
%"class.juce::PixelARGB" = type { %union.anon.77 }
%union.anon.77 = type { i32 }
%"class.juce::OptionalScopedPointer" = type <{ %"class.juce::ScopedPointer.263", i8, [7 x i8] }>
%"class.juce::ScopedPointer.263" = type { ptr }
%"class.juce::ListenerList.264" = type { %"class.juce::Array.265" }
%"class.juce::Array.265" = type { %"class.juce::ArrayAllocationBase.266", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.266" = type <{ %"class.juce::HeapBlock.267", i32, [4 x i8] }>
%"class.juce::HeapBlock.267" = type { ptr }
%"class.juce::Array.270" = type { %"class.juce::ArrayAllocationBase.271", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.271" = type <{ %"class.juce::HeapBlock.272", i32, [4 x i8] }>
%"class.juce::HeapBlock.272" = type { ptr }
%"class.juce::Label" = type <{ %"class.juce::Component.base", [3 x i8], %"class.juce::SettableTooltipClient", %"class.juce::TextEditor::Listener", %"class.juce::ComponentListener", %"class.juce::Value::Listener", %"class.juce::Value", %"class.juce::String", %"class.juce::Font", %"class.juce::Justification", [4 x i8], %"class.juce::ScopedPointer.275", %"class.juce::ListenerList.276", %"class.juce::WeakReference", %"class.juce::BorderSize", float, i32, i8, i8, i8, i8, [4 x i8] }>
%"class.juce::ComponentListener" = type { ptr }
%"class.juce::Justification" = type { i32 }
%"class.juce::ScopedPointer.275" = type { ptr }
%"class.juce::ListenerList.276" = type { %"class.juce::Array.277" }
%"class.juce::Array.277" = type { %"class.juce::ArrayAllocationBase.278", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.278" = type <{ %"class.juce::HeapBlock.279", i32, [4 x i8] }>
%"class.juce::HeapBlock.279" = type { ptr }
%"class.juce::WeakReference" = type { %"class.juce::ReferenceCountedObjectPtr" }
%"class.juce::ScopedPointer.282" = type { ptr }
%"class.juce::TimeSliceThread" = type { %"class.juce::Thread.base", %"class.juce::CriticalSection", %"class.juce::CriticalSection", %"class.juce::Array.225", ptr }
%"class.juce::Thread.base" = type <{ ptr, %"class.juce::String", ptr, ptr, %"class.juce::CriticalSection", %"class.juce::WaitableEvent", %"class.juce::WaitableEvent", i32, [4 x i8], i64, i32, i8 }>
%"class.juce::WaitableEvent" = type <{ %union.pthread_cond_t, %union.pthread_mutex_t, i8, i8, [6 x i8] }>
%union.pthread_cond_t = type { %struct.__pthread_cond_s }
%struct.__pthread_cond_s = type { %union.__atomic_wide_counter, %union.__atomic_wide_counter, [2 x i32], [2 x i32], i32, i32, [2 x i32] }
%union.__atomic_wide_counter = type { i64 }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.juce::CriticalSection" = type { %union.pthread_mutex_t }
%"class.juce::Array.225" = type { %"class.juce::ArrayAllocationBase.226", i32, [4 x i8] }
%"class.juce::ArrayAllocationBase.226" = type <{ %"class.juce::HeapBlock.227", i32, [4 x i8] }>
%"class.juce::HeapBlock.227" = type { ptr }

@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTVN4juce20FileBrowserComponentE = external dso_local unnamed_addr constant { [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, align 8
@.str.137 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [26 x i8], align 1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9ComponentC2Ev(ptr noundef nonnull align 8 dereferenceable(197)) unnamed_addr #0 align 2

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #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: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197), ptr noundef, i32 noundef) #5 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)) #0 align 2

; Function Attrs: nounwind
declare void @_ZN4juce5TimerC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1

; Function Attrs: nounwind
declare void @_ZN4juce5TimerD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1

; Function Attrs: nounwind
declare void @_ZN4juce5Timer10startTimerEi(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #1

declare void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #6

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce6Button11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(375), ptr noundef) #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce19FileBrowserListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce33DirectoryContentsDisplayComponent11addListenerEPNS_19FileBrowserListenerE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce4FileC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

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

declare noundef zeroext i1 @_ZNK4juce4File11isDirectoryEv(ptr noundef nonnull align 8 dereferenceable(8)) #6

declare noundef zeroext i1 @_ZNK4juce4FileeqERKS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

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

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce6StringaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4juce20FileBrowserComponentC2EiRKNS_4FileEPKNS_10FileFilterEPNS_20FilePreviewComponentE(ptr noundef nonnull align 8 dereferenceable(2137) %0, i32 noundef %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %3, ptr noundef %4) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca %"class.juce::String", align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca %"class.juce::String", align 8
  %15 = alloca %"class.juce::String", align 8
  %16 = alloca %"class.juce::String", align 8
  %17 = alloca %"class.juce::String", align 8
  %18 = alloca %"class.juce::String", align 8
  %19 = alloca %"class.juce::String", align 8
  %20 = alloca %"class.juce::File", align 8
  %21 = alloca %"class.juce::File", align 8
  %22 = alloca %"class.juce::File", align 8
  %23 = alloca %"class.juce::String", align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca %"class.juce::String", align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store i32 %1, ptr %7, align 4, !tbaa !9
  store ptr %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !5
  store ptr %4, ptr %10, align 8, !tbaa !5
  %27 = load ptr, ptr %6, align 8
  call void @_ZN4juce9ComponentC2Ev(ptr noundef nonnull align 8 dereferenceable(197) %27) #8
  %28 = getelementptr inbounds i8, ptr %27, i64 200
  call void @_ZN4juce19FileBrowserListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  %29 = getelementptr inbounds i8, ptr %27, i64 208
  call void @_ZN4juce10TextEditor8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #8
  %30 = getelementptr inbounds i8, ptr %27, i64 216
  call void @_ZN4juce6Button8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #8
  %31 = getelementptr inbounds i8, ptr %27, i64 224
  call void @_ZN4juce8ComboBox8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  %32 = getelementptr inbounds i8, ptr %27, i64 232
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #8
  call void @_ZN4juce6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #8
  invoke void @_ZN4juce10FileFilterC2ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %33 unwind label %83

33:                                               ; preds = %5
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  %34 = getelementptr inbounds i8, ptr %27, i64 248
  call void @_ZN4juce5TimerC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  store ptr getelementptr inbounds inrange(-16, 480) ({ [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, ptr @_ZTVN4juce20FileBrowserComponentE, i32 0, i32 0, i32 2), ptr %27, align 8, !tbaa !11
  %35 = getelementptr inbounds i8, ptr %27, i64 200
  store ptr getelementptr inbounds inrange(-16, 48) ({ [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, ptr @_ZTVN4juce20FileBrowserComponentE, i32 0, i32 1, i32 2), ptr %35, align 8, !tbaa !11
  %36 = getelementptr inbounds i8, ptr %27, i64 208
  store ptr getelementptr inbounds inrange(-16, 48) ({ [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, ptr @_ZTVN4juce20FileBrowserComponentE, i32 0, i32 2, i32 2), ptr %36, align 8, !tbaa !11
  %37 = getelementptr inbounds i8, ptr %27, i64 216
  store ptr getelementptr inbounds inrange(-16, 32) ({ [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, ptr @_ZTVN4juce20FileBrowserComponentE, i32 0, i32 3, i32 2), ptr %37, align 8, !tbaa !11
  %38 = getelementptr inbounds i8, ptr %27, i64 224
  store ptr getelementptr inbounds inrange(-16, 24) ({ [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, ptr @_ZTVN4juce20FileBrowserComponentE, i32 0, i32 4, i32 2), ptr %38, align 8, !tbaa !11
  %39 = getelementptr inbounds i8, ptr %27, i64 232
  store ptr getelementptr inbounds inrange(-16, 32) ({ [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, ptr @_ZTVN4juce20FileBrowserComponentE, i32 0, i32 5, i32 2), ptr %39, align 8, !tbaa !11
  %40 = getelementptr inbounds i8, ptr %27, i64 248
  store ptr getelementptr inbounds inrange(-16, 24) ({ [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, ptr @_ZTVN4juce20FileBrowserComponentE, i32 0, i32 6, i32 2), ptr %40, align 8, !tbaa !11
  %41 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 8
  call void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  %42 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 9
  %43 = load ptr, ptr %9, align 8, !tbaa !5
  store ptr %43, ptr %42, align 8, !tbaa !13
  %44 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 10
  %45 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %45, ptr %44, align 8, !tbaa !136
  %46 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 12
  call void @_ZN4juce4FileC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #8
  %47 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 13
  call void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EEC2Ev(ptr noundef nonnull align 8 dereferenceable(20) %47) #8
  %48 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 14
  invoke void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48)
          to label %49 unwind label %87

49:                                               ; preds = %33
  %50 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 15
  call void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  %51 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 16
  %52 = load ptr, ptr %10, align 8, !tbaa !5
  store ptr %52, ptr %51, align 8, !tbaa !137
  %53 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 17
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  invoke void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef @.str.137)
          to label %54 unwind label %91

54:                                               ; preds = %49
  invoke void @_ZN4juce8ComboBoxC1ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(380) %53, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %55 unwind label %95

55:                                               ; preds = %54
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  %56 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #8
  call void @_ZN4juce6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  invoke void @_ZN4juce10TextEditorC1ERKNS_6StringEw(ptr noundef nonnull align 8 dereferenceable(600) %56, ptr noundef nonnull align 8 dereferenceable(8) %15, i32 noundef signext 0)
          to label %57 unwind label %100

57:                                               ; preds = %55
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  %58 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 19
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  invoke void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef @.str.5)
          to label %59 unwind label %104

59:                                               ; preds = %57
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #8
  invoke void @_ZN4juce9translateEPKc(ptr dead_on_unwind writable sret(%"class.juce::String") align 8 %17, ptr noundef @.str.138)
          to label %60 unwind label %108

60:                                               ; preds = %59
  invoke void @_ZN4juce5LabelC1ERKNS_6StringES3_(ptr noundef nonnull align 8 dereferenceable(364) %58, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %61 unwind label %112

61:                                               ; preds = %60
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  %62 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 20
  call void @_ZN4juce13ScopedPointerINS_6ButtonEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  %63 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 21
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  invoke void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef @.str.139)
          to label %64 unwind label %118

64:                                               ; preds = %61
  invoke void @_ZN4juce15TimeSliceThreadC1ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(400) %63, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %65 unwind label %122

65:                                               ; preds = %64
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  %66 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 22
  store i8 1, ptr %66, align 8, !tbaa !138
  br label %67

67:                                               ; preds = %65
  br label %68

68:                                               ; preds = %67
  br label %69

69:                                               ; preds = %68
  br label %70

70:                                               ; preds = %69
  br label %71

71:                                               ; preds = %70
  br label %72

72:                                               ; preds = %71
  br label %73

73:                                               ; preds = %72
  br label %74

74:                                               ; preds = %73
  br label %75

75:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  call void @_ZN4juce6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %76 = load ptr, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #8
  call void @_ZN4juce4FileC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  %77 = invoke noundef zeroext i1 @_ZNK4juce4FileeqERKS0_(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %78 unwind label %127

78:                                               ; preds = %75
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  br i1 %77, label %79, label %135

79:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #8
  invoke void @_ZN4juce4File26getCurrentWorkingDirectoryEv(ptr dead_on_unwind writable sret(%"class.juce::File") align 8 %21)
          to label %80 unwind label %131

80:                                               ; preds = %79
  %81 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 12
  %82 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %21) #8
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  br label %168

83:                                               ; preds = %5
  %84 = landingpad { ptr, i32 }
          cleanup
  %85 = extractvalue { ptr, i32 } %84, 0
  store ptr %85, ptr %12, align 8
  %86 = extractvalue { ptr, i32 } %84, 1
  store i32 %86, ptr %13, align 4
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  br label %342

87:                                               ; preds = %33
  %88 = landingpad { ptr, i32 }
          cleanup
  %89 = extractvalue { ptr, i32 } %88, 0
  store ptr %89, ptr %12, align 8
  %90 = extractvalue { ptr, i32 } %88, 1
  store i32 %90, ptr %13, align 4
  br label %339

91:                                               ; preds = %49
  %92 = landingpad { ptr, i32 }
          cleanup
  %93 = extractvalue { ptr, i32 } %92, 0
  store ptr %93, ptr %12, align 8
  %94 = extractvalue { ptr, i32 } %92, 1
  store i32 %94, ptr %13, align 4
  br label %99

95:                                               ; preds = %54
  %96 = landingpad { ptr, i32 }
          cleanup
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %12, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %13, align 4
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  br label %99

99:                                               ; preds = %95, %91
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  br label %338

100:                                              ; preds = %55
  %101 = landingpad { ptr, i32 }
          cleanup
  %102 = extractvalue { ptr, i32 } %101, 0
  store ptr %102, ptr %12, align 8
  %103 = extractvalue { ptr, i32 } %101, 1
  store i32 %103, ptr %13, align 4
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  br label %337

104:                                              ; preds = %57
  %105 = landingpad { ptr, i32 }
          cleanup
  %106 = extractvalue { ptr, i32 } %105, 0
  store ptr %106, ptr %12, align 8
  %107 = extractvalue { ptr, i32 } %105, 1
  store i32 %107, ptr %13, align 4
  br label %117

108:                                              ; preds = %59
  %109 = landingpad { ptr, i32 }
          cleanup
  %110 = extractvalue { ptr, i32 } %109, 0
  store ptr %110, ptr %12, align 8
  %111 = extractvalue { ptr, i32 } %109, 1
  store i32 %111, ptr %13, align 4
  br label %116

112:                                              ; preds = %60
  %113 = landingpad { ptr, i32 }
          cleanup
  %114 = extractvalue { ptr, i32 } %113, 0
  store ptr %114, ptr %12, align 8
  %115 = extractvalue { ptr, i32 } %113, 1
  store i32 %115, ptr %13, align 4
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  br label %116

116:                                              ; preds = %112, %108
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  br label %117

117:                                              ; preds = %116, %104
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  br label %336

118:                                              ; preds = %61
  %119 = landingpad { ptr, i32 }
          cleanup
  %120 = extractvalue { ptr, i32 } %119, 0
  store ptr %120, ptr %12, align 8
  %121 = extractvalue { ptr, i32 } %119, 1
  store i32 %121, ptr %13, align 4
  br label %126

122:                                              ; preds = %64
  %123 = landingpad { ptr, i32 }
          cleanup
  %124 = extractvalue { ptr, i32 } %123, 0
  store ptr %124, ptr %12, align 8
  %125 = extractvalue { ptr, i32 } %123, 1
  store i32 %125, ptr %13, align 4
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  br label %126

126:                                              ; preds = %122, %118
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  br label %335

127:                                              ; preds = %75
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %12, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %13, align 4
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  br label %334

131:                                              ; preds = %79
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %12, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  br label %334

135:                                              ; preds = %78
  %136 = load ptr, ptr %8, align 8, !tbaa !5
  %137 = invoke noundef zeroext i1 @_ZNK4juce4File11isDirectoryEv(ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %138 unwind label %144

138:                                              ; preds = %135
  br i1 %137, label %139, label %148

139:                                              ; preds = %138
  %140 = load ptr, ptr %8, align 8, !tbaa !5
  %141 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 12
  %142 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSERKS0_(ptr noundef nonnull align 8 dereferenceable(8) %141, ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %143 unwind label %144

143:                                              ; preds = %139
  br label %167

144:                                              ; preds = %330, %328, %315, %300, %298, %295, %288, %285, %283, %277, %274, %272, %270, %268, %266, %263, %262, %260, %258, %254, %173, %168, %148, %139, %135
  %145 = landingpad { ptr, i32 }
          cleanup
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %12, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %13, align 4
  br label %334

148:                                              ; preds = %138
  %149 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 13
  %150 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EE3addERKS1_(ptr noundef nonnull align 8 dereferenceable(20) %149, ptr noundef nonnull align 8 dereferenceable(8) %150)
          to label %151 unwind label %144

151:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  %152 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZNK4juce4File18getParentDirectoryEv(ptr dead_on_unwind writable sret(%"class.juce::File") align 8 %22, ptr noundef nonnull align 8 dereferenceable(8) %152)
          to label %153 unwind label %159

153:                                              ; preds = %151
  %154 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 12
  %155 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull align 8 dereferenceable(8) %22) #8
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  %156 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZNK4juce4File11getFileNameEv(ptr dead_on_unwind writable sret(%"class.juce::String") align 8 %23, ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %157 unwind label %163

157:                                              ; preds = %153
  %158 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce6StringaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  br label %167

159:                                              ; preds = %151
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %12, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %334

163:                                              ; preds = %153
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %12, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  br label %334

167:                                              ; preds = %157, %143
  br label %168

168:                                              ; preds = %167, %80
  %169 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 184) #9
          to label %170 unwind label %144

170:                                              ; preds = %168
  %171 = getelementptr inbounds i8, ptr %27, i64 232
  %172 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 21
  invoke void @_ZN4juce21DirectoryContentsListC1EPKNS_10FileFilterERNS_15TimeSliceThreadE(ptr noundef nonnull align 8 dereferenceable(177) %169, ptr noundef %171, ptr noundef nonnull align 8 dereferenceable(400) %172)
          to label %173 unwind label %203

173:                                              ; preds = %170
  %174 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 8
  %175 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %174, ptr noundef %169)
          to label %176 unwind label %144

176:                                              ; preds = %173
  %177 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 10
  %178 = load i32, ptr %177, align 8, !tbaa !136
  %179 = and i32 %178, 32
  %180 = icmp ne i32 %179, 0
  br i1 %180, label %181, label %219

181:                                              ; preds = %176
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %182 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 376) #9
          to label %183 unwind label %207

183:                                              ; preds = %181
  %184 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 8
  %185 = call noundef nonnull align 8 dereferenceable(177) ptr @_ZNK4juce13ScopedPointerINS_21DirectoryContentsListEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %184) #8
  invoke void @_ZN4juce17FileTreeComponentC1ERNS_21DirectoryContentsListE(ptr noundef nonnull align 8 dereferenceable(372) %182, ptr noundef nonnull align 8 dereferenceable(177) %185)
          to label %186 unwind label %211

186:                                              ; preds = %183
  store ptr %182, ptr %24, align 8, !tbaa !5
  %187 = load ptr, ptr %24, align 8, !tbaa !5
  %188 = icmp eq ptr %187, null
  br i1 %188, label %191, label %189

189:                                              ; preds = %186
  %190 = getelementptr inbounds i8, ptr %187, i64 320
  br label %191

191:                                              ; preds = %189, %186
  %192 = phi ptr [ %190, %189 ], [ null, %186 ]
  %193 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 15
  %194 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %193, ptr noundef %192)
          to label %195 unwind label %207

195:                                              ; preds = %191
  %196 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 10
  %197 = load i32, ptr %196, align 8, !tbaa !136
  %198 = and i32 %197, 16
  %199 = icmp ne i32 %198, 0
  br i1 %199, label %200, label %215

200:                                              ; preds = %195
  %201 = load ptr, ptr %24, align 8, !tbaa !5
  invoke void @_ZN4juce8TreeView21setMultiSelectEnabledEb(ptr noundef nonnull align 8 dereferenceable(313) %201, i1 noundef zeroext true)
          to label %202 unwind label %207

202:                                              ; preds = %200
  br label %215

203:                                              ; preds = %170
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %12, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %13, align 4
  call void @_ZdlPvm(ptr noundef %169, i64 noundef 184) #10
  br label %334

207:                                              ; preds = %215, %200, %191, %181
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %12, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %13, align 4
  br label %218

211:                                              ; preds = %183
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %12, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %13, align 4
  call void @_ZdlPvm(ptr noundef %182, i64 noundef 376) #10
  br label %218

215:                                              ; preds = %202, %195
  %216 = load ptr, ptr %24, align 8, !tbaa !5
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %27, ptr noundef %216, i32 noundef -1)
          to label %217 unwind label %207

217:                                              ; preds = %215
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %254

218:                                              ; preds = %211, %207
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %334

219:                                              ; preds = %176
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %220 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 360) #9
          to label %221 unwind label %242

221:                                              ; preds = %219
  %222 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 8
  %223 = call noundef nonnull align 8 dereferenceable(177) ptr @_ZNK4juce13ScopedPointerINS_21DirectoryContentsListEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %222) #8
  invoke void @_ZN4juce17FileListComponentC1ERNS_21DirectoryContentsListE(ptr noundef nonnull align 8 dereferenceable(360) %220, ptr noundef nonnull align 8 dereferenceable(177) %223)
          to label %224 unwind label %246

224:                                              ; preds = %221
  store ptr %220, ptr %25, align 8, !tbaa !5
  %225 = load ptr, ptr %25, align 8, !tbaa !5
  %226 = icmp eq ptr %225, null
  br i1 %226, label %229, label %227

227:                                              ; preds = %224
  %228 = getelementptr inbounds i8, ptr %225, i64 296
  br label %229

229:                                              ; preds = %227, %224
  %230 = phi ptr [ %228, %227 ], [ null, %224 ]
  %231 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 15
  %232 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %231, ptr noundef %230)
          to label %233 unwind label %242

233:                                              ; preds = %229
  %234 = load ptr, ptr %25, align 8, !tbaa !5
  invoke void @_ZN4juce7ListBox19setOutlineThicknessEi(ptr noundef nonnull align 8 dereferenceable(296) %234, i32 noundef 1)
          to label %235 unwind label %242

235:                                              ; preds = %233
  %236 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 10
  %237 = load i32, ptr %236, align 8, !tbaa !136
  %238 = and i32 %237, 16
  %239 = icmp ne i32 %238, 0
  br i1 %239, label %240, label %250

240:                                              ; preds = %235
  %241 = load ptr, ptr %25, align 8, !tbaa !5
  call void @_ZN4juce7ListBox27setMultipleSelectionEnabledEb(ptr noundef nonnull align 8 dereferenceable(296) %241, i1 noundef zeroext true) #8
  br label %250

242:                                              ; preds = %250, %233, %229, %219
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %12, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %13, align 4
  br label %253

246:                                              ; preds = %221
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %12, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %13, align 4
  call void @_ZdlPvm(ptr noundef %220, i64 noundef 360) #10
  br label %253

250:                                              ; preds = %240, %235
  %251 = load ptr, ptr %25, align 8, !tbaa !5
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %27, ptr noundef %251, i32 noundef -1)
          to label %252 unwind label %242

252:                                              ; preds = %250
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %254

253:                                              ; preds = %246, %242
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %334

254:                                              ; preds = %252, %217
  %255 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 15
  %256 = call noundef ptr @_ZNK4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %255) #8
  %257 = getelementptr inbounds i8, ptr %27, i64 200
  invoke void @_ZN4juce33DirectoryContentsDisplayComponent11addListenerEPNS_19FileBrowserListenerE(ptr noundef nonnull align 8 dereferenceable(40) %256, ptr noundef %257)
          to label %258 unwind label %144

258:                                              ; preds = %254
  %259 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 17
  invoke void @_ZN4juce9Component17addAndMakeVisibleERS0_i(ptr noundef nonnull align 8 dereferenceable(197) %27, ptr noundef nonnull align 8 dereferenceable(197) %259, i32 noundef -1)
          to label %260 unwind label %144

260:                                              ; preds = %258
  %261 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 17
  invoke void @_ZN4juce8ComboBox15setEditableTextEb(ptr noundef nonnull align 8 dereferenceable(380) %261, i1 noundef zeroext true)
          to label %262 unwind label %144

262:                                              ; preds = %260
  invoke void @_ZN4juce20FileBrowserComponent16resetRecentPathsEv(ptr noundef nonnull align 8 dereferenceable(2137) %27)
          to label %263 unwind label %144

263:                                              ; preds = %262
  %264 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 17
  %265 = getelementptr inbounds i8, ptr %27, i64 224
  invoke void @_ZN4juce8ComboBox11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(380) %264, ptr noundef %265)
          to label %266 unwind label %144

266:                                              ; preds = %263
  %267 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  invoke void @_ZN4juce9Component17addAndMakeVisibleERS0_i(ptr noundef nonnull align 8 dereferenceable(197) %27, ptr noundef nonnull align 8 dereferenceable(197) %267, i32 noundef -1)
          to label %268 unwind label %144

268:                                              ; preds = %266
  %269 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  invoke void @_ZN4juce10TextEditor12setMultiLineEbb(ptr noundef nonnull align 8 dereferenceable(600) %269, i1 noundef zeroext false, i1 noundef zeroext true)
          to label %270 unwind label %144

270:                                              ; preds = %268
  %271 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  invoke void @_ZN4juce10TextEditor23setSelectAllWhenFocusedEb(ptr noundef nonnull align 8 dereferenceable(600) %271, i1 noundef zeroext true)
          to label %272 unwind label %144

272:                                              ; preds = %270
  %273 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  invoke void @_ZN4juce10TextEditor7setTextERKNS_6StringEb(ptr noundef nonnull align 8 dereferenceable(600) %273, ptr noundef nonnull align 8 dereferenceable(8) %19, i1 noundef zeroext false)
          to label %274 unwind label %144

274:                                              ; preds = %272
  %275 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  %276 = getelementptr inbounds i8, ptr %27, i64 208
  invoke void @_ZN4juce10TextEditor11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(600) %275, ptr noundef %276)
          to label %277 unwind label %144

277:                                              ; preds = %274
  %278 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  %279 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 10
  %280 = load i32, ptr %279, align 8, !tbaa !136
  %281 = and i32 %280, 80
  %282 = icmp ne i32 %281, 0
  invoke void @_ZN4juce10TextEditor11setReadOnlyEb(ptr noundef nonnull align 8 dereferenceable(600) %278, i1 noundef zeroext %282)
          to label %283 unwind label %144

283:                                              ; preds = %277
  %284 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 19
  invoke void @_ZN4juce9Component17addAndMakeVisibleERS0_i(ptr noundef nonnull align 8 dereferenceable(197) %27, ptr noundef nonnull align 8 dereferenceable(197) %284, i32 noundef -1)
          to label %285 unwind label %144

285:                                              ; preds = %283
  %286 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 19
  %287 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 18
  invoke void @_ZN4juce5Label17attachToComponentEPNS_9ComponentEb(ptr noundef nonnull align 8 dereferenceable(364) %286, ptr noundef %287, i1 noundef zeroext true)
          to label %288 unwind label %144

288:                                              ; preds = %285
  %289 = call noundef nonnull align 8 dereferenceable(281) ptr @_ZNK4juce9Component14getLookAndFeelEv(ptr noundef nonnull align 8 dereferenceable(197) %27) #8
  %290 = getelementptr inbounds i8, ptr %289, i64 32
  %291 = load ptr, ptr %290, align 8, !tbaa !11
  %292 = getelementptr inbounds ptr, ptr %291, i64 6
  %293 = load ptr, ptr %292, align 8
  %294 = invoke noundef ptr %293(ptr noundef nonnull align 8 dereferenceable(8) %290)
          to label %295 unwind label %144

295:                                              ; preds = %288
  %296 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 20
  %297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_6ButtonEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef %294)
          to label %298 unwind label %144

298:                                              ; preds = %295
  %299 = call noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEcvPS1_Ev(ptr noundef nonnull align 8 dereferenceable(8) %297) #8
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %27, ptr noundef %299, i32 noundef -1)
          to label %300 unwind label %144

300:                                              ; preds = %298
  %301 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 20
  %302 = call noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %301) #8
  %303 = getelementptr inbounds i8, ptr %27, i64 216
  invoke void @_ZN4juce6Button11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(375) %302, ptr noundef %303)
          to label %304 unwind label %144

304:                                              ; preds = %300
  %305 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 20
  %306 = call noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %305) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  invoke void @_ZN4juce9translateEPKc(ptr dead_on_unwind writable sret(%"class.juce::String") align 8 %26, ptr noundef @.str.140)
          to label %307 unwind label %319

307:                                              ; preds = %304
  %308 = load ptr, ptr %306, align 8, !tbaa !11
  %309 = getelementptr inbounds ptr, ptr %308, i64 46
  %310 = load ptr, ptr %309, align 8
  invoke void %310(ptr noundef nonnull align 8 dereferenceable(375) %306, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %311 unwind label %323

311:                                              ; preds = %307
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  %312 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 16
  %313 = load ptr, ptr %312, align 8, !tbaa !137
  %314 = icmp ne ptr %313, null
  br i1 %314, label %315, label %328

315:                                              ; preds = %311
  %316 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 16
  %317 = load ptr, ptr %316, align 8, !tbaa !137
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %27, ptr noundef %317, i32 noundef -1)
          to label %318 unwind label %144

318:                                              ; preds = %315
  br label %328

319:                                              ; preds = %304
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %12, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %13, align 4
  br label %327

323:                                              ; preds = %307
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %12, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %13, align 4
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  br label %327

327:                                              ; preds = %323, %319
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %334

328:                                              ; preds = %318, %311
  %329 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 12
  invoke void @_ZN4juce20FileBrowserComponent7setRootERKNS_4FileE(ptr noundef nonnull align 8 dereferenceable(2137) %27, ptr noundef nonnull align 8 dereferenceable(8) %329)
          to label %330 unwind label %144

330:                                              ; preds = %328
  %331 = getelementptr inbounds %"class.juce::FileBrowserComponent", ptr %27, i32 0, i32 21
  invoke void @_ZN4juce6Thread11startThreadEi(ptr noundef nonnull align 8 dereferenceable(285) %331, i32 noundef 4)
          to label %332 unwind label %144

332:                                              ; preds = %330
  %333 = getelementptr inbounds i8, ptr %27, i64 248
  call void @_ZN4juce5Timer10startTimerEi(ptr noundef nonnull align 8 dereferenceable(32) %333, i32 noundef 2000) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  ret void

334:                                              ; preds = %327, %253, %218, %203, %163, %159, %144, %131, %127
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @_ZN4juce15TimeSliceThreadD1Ev(ptr noundef nonnull align 8 dereferenceable(400) %63) #8
  br label %335

335:                                              ; preds = %334, %126
  call void @_ZN4juce13ScopedPointerINS_6ButtonEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %62) #8
  call void @_ZN4juce5LabelD1Ev(ptr noundef nonnull align 8 dereferenceable(364) %58) #8
  br label %336

336:                                              ; preds = %335, %117
  call void @_ZN4juce10TextEditorD1Ev(ptr noundef nonnull align 8 dereferenceable(600) %56) #8
  br label %337

337:                                              ; preds = %336, %100
  call void @_ZN4juce8ComboBoxD1Ev(ptr noundef nonnull align 8 dereferenceable(380) %53) #8
  br label %338

338:                                              ; preds = %337, %99
  call void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %50) #8
  call void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  br label %339

339:                                              ; preds = %338, %87
  call void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(20) %47) #8
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #8
  call void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  %340 = getelementptr inbounds i8, ptr %27, i64 248
  call void @_ZN4juce5TimerD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %340) #8
  %341 = getelementptr inbounds i8, ptr %27, i64 232
  call void @_ZN4juce10FileFilterD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %341) #8
  br label %342

342:                                              ; preds = %339, %83
  %343 = getelementptr inbounds i8, ptr %27, i64 224
  call void @_ZN4juce8ComboBox8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %343) #8
  %344 = getelementptr inbounds i8, ptr %27, i64 216
  call void @_ZN4juce6Button8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %344) #8
  %345 = getelementptr inbounds i8, ptr %27, i64 208
  call void @_ZN4juce10TextEditor8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %345) #8
  %346 = getelementptr inbounds i8, ptr %27, i64 200
  call void @_ZN4juce19FileBrowserListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %346) #8
  call void @_ZN4juce9ComponentD2Ev(ptr noundef nonnull align 8 dereferenceable(197) %27) #8
  br label %347

347:                                              ; preds = %342
  %348 = load ptr, ptr %12, align 8
  %349 = load i32, ptr %13, align 4
  %350 = insertvalue { ptr, i32 } poison, ptr %348, 0
  %351 = insertvalue { ptr, i32 } %350, i32 %349, 1
  resume { ptr, i32 } %351
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce19FileBrowserListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce10TextEditor8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce6Button8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce8ComboBox8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

declare void @_ZN4juce10FileFilterC2ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EEC2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_6ButtonEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

declare void @_ZN4juce15TimeSliceThreadC1ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #6

declare void @_ZN4juce4File26getCurrentWorkingDirectoryEv(ptr dead_on_unwind writable sret(%"class.juce::File") align 8) #6

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EE3addERKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(177) ptr @_ZNK4juce13ScopedPointerINS_21DirectoryContentsListEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #7 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce7ListBox19setOutlineThicknessEi(ptr noundef nonnull align 8 dereferenceable(296), i32 noundef) #5 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce8ComboBox15setEditableTextEb(ptr noundef nonnull align 8 dereferenceable(380), i1 noundef zeroext) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce20FileBrowserComponent16resetRecentPathsEv(ptr noundef nonnull align 8 dereferenceable(2137)) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce8ComboBox11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(380), ptr noundef) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce10TextEditor12setMultiLineEbb(ptr noundef nonnull align 8 dereferenceable(600), i1 noundef zeroext, i1 noundef zeroext) #5 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce10TextEditor7setTextERKNS_6StringEb(ptr noundef nonnull align 8 dereferenceable(600), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce10TextEditor11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(600), ptr noundef) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce10TextEditor11setReadOnlyEb(ptr noundef nonnull align 8 dereferenceable(600), i1 noundef zeroext) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce5Label17attachToComponentEPNS_9ComponentEb(ptr noundef nonnull align 8 dereferenceable(364), ptr noundef, i1 noundef zeroext) #5 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEcvPS1_Ev(ptr noundef nonnull align 8 dereferenceable(8)) #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce20FileBrowserComponent7setRootERKNS_4FileE(ptr noundef nonnull align 8 dereferenceable(2137), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

declare void @_ZN4juce6Thread11startThreadEi(ptr noundef nonnull align 8 dereferenceable(285), i32 noundef) #6

; Function Attrs: nounwind
declare void @_ZN4juce15TimeSliceThreadD1Ev(ptr noundef nonnull align 8 dereferenceable(400)) unnamed_addr #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_6ButtonEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: nounwind
declare void @_ZN4juce10FileFilterD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce10TextEditor8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce8ComboBox8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9ComponentD2Ev(ptr noundef nonnull align 8 dereferenceable(197)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce6Button8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

declare void @_ZN4juce21DirectoryContentsListC1EPKNS_10FileFilterERNS_15TimeSliceThreadE(ptr, ptr, ptr)

declare void @_ZN4juce17FileListComponentC1ERNS_21DirectoryContentsListE(ptr, ptr)

declare void @_ZN4juce17FileTreeComponentC1ERNS_21DirectoryContentsListE(ptr, ptr)

declare void @_ZN4juce8ComboBoxC1ERKNS_6StringE(ptr, ptr)

declare void @_ZN4juce8ComboBoxD1Ev(ptr)

declare void @_ZN4juce5LabelC1ERKNS_6StringES3_(ptr, ptr, ptr)

declare void @_ZN4juce5LabelD1Ev(ptr)

declare void @_ZN4juce10TextEditorC1ERKNS_6StringEw(ptr, ptr, i32)

declare void @_ZN4juce10TextEditorD1Ev(ptr)

attributes #0 = { 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 = { 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 #2 = { nobuiltin 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 = { nobuiltin allocsize(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 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 #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 = { 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 #8 = { nounwind }
attributes #9 = { builtin allocsize(0) }
attributes #10 = { builtin 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 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = !{!14, !6, i64 288}
!14 = !{!"_ZTSN4juce20FileBrowserComponentE", !15, i64 0, !40, i64 200, !41, i64 208, !42, i64 216, !43, i64 224, !44, i64 232, !45, i64 248, !46, i64 280, !6, i64 288, !10, i64 296, !47, i64 304, !48, i64 312, !51, i64 336, !55, i64 360, !6, i64 368, !56, i64 376, !83, i64 760, !118, i64 1360, !127, i64 1728, !128, i64 1736, !75, i64 2136}
!15 = !{!"_ZTSN4juce9ComponentE", !16, i64 0, !17, i64 8, !17, i64 16, !6, i64 24, !19, i64 32, !21, i64 48, !22, i64 56, !23, i64 64, !6, i64 88, !26, i64 96, !6, i64 104, !27, i64 112, !28, i64 120, !29, i64 128, !30, i64 136, !34, i64 160, !38, i64 184, !7, i64 192, !7, i64 196}
!16 = !{!"_ZTSN4juce13MouseListenerE"}
!17 = !{!"_ZTSN4juce6StringE", !18, i64 0}
!18 = !{!"_ZTSN4juce16CharPointer_UTF8E", !6, i64 0}
!19 = !{!"_ZTSN4juce9RectangleIiEE", !20, i64 0, !10, i64 8, !10, i64 12}
!20 = !{!"_ZTSN4juce5PointIiEE", !10, i64 0, !10, i64 4}
!21 = !{!"_ZTSN4juce13ScopedPointerINS_9Component10PositionerEEE", !6, i64 0}
!22 = !{!"_ZTSN4juce13ScopedPointerINS_15AffineTransformEEE", !6, i64 0}
!23 = !{!"_ZTSN4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EEE", !24, i64 0, !10, i64 16}
!24 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_9ComponentENS_20DummyCriticalSectionEEE", !25, i64 0, !10, i64 8}
!25 = !{!"_ZTSN4juce9HeapBlockIPNS_9ComponentELb0EEE", !6, i64 0}
!26 = !{!"_ZTSN4juce11MouseCursorE", !6, i64 0}
!27 = !{!"_ZTSN4juce13ScopedPointerINS_20CachedComponentImageEEE", !6, i64 0}
!28 = !{!"_ZTSN4juce13ScopedPointerINS_9Component17MouseListenerListEEE", !6, i64 0}
!29 = !{!"_ZTSN4juce13ScopedPointerINS_5ArrayIPNS_11KeyListenerENS_20DummyCriticalSectionELi0EEEEE", !6, i64 0}
!30 = !{!"_ZTSN4juce12ListenerListINS_17ComponentListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !31, i64 0}
!31 = !{!"_ZTSN4juce5ArrayIPNS_17ComponentListenerENS_20DummyCriticalSectionELi0EEE", !32, i64 0, !10, i64 16}
!32 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_17ComponentListenerENS_20DummyCriticalSectionEEE", !33, i64 0, !10, i64 8}
!33 = !{!"_ZTSN4juce9HeapBlockIPNS_17ComponentListenerELb0EEE", !6, i64 0}
!34 = !{!"_ZTSN4juce13NamedValueSetE", !35, i64 0}
!35 = !{!"_ZTSN4juce5ArrayINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionELi0EEE", !36, i64 0, !10, i64 16}
!36 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionEEE", !37, i64 0, !10, i64 8}
!37 = !{!"_ZTSN4juce9HeapBlockINS_13NamedValueSet10NamedValueELb0EEE", !6, i64 0}
!38 = !{!"_ZTSN4juce13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE6MasterE", !39, i64 0}
!39 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE13SharedPointerEEE", !6, i64 0}
!40 = !{!"_ZTSN4juce19FileBrowserListenerE"}
!41 = !{!"_ZTSN4juce10TextEditor8ListenerE"}
!42 = !{!"_ZTSN4juce6Button8ListenerE"}
!43 = !{!"_ZTSN4juce8ComboBox8ListenerE"}
!44 = !{!"_ZTSN4juce10FileFilterE", !17, i64 8}
!45 = !{!"_ZTSN4juce5TimerE", !10, i64 8, !10, i64 12, !6, i64 16, !6, i64 24}
!46 = !{!"_ZTSN4juce13ScopedPointerINS_21DirectoryContentsListEEE", !6, i64 0}
!47 = !{!"_ZTSN4juce4FileE", !17, i64 0}
!48 = !{!"_ZTSN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EEE", !49, i64 0, !10, i64 16}
!49 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_4FileENS_20DummyCriticalSectionEEE", !50, i64 0, !10, i64 8}
!50 = !{!"_ZTSN4juce9HeapBlockINS_4FileELb0EEE", !6, i64 0}
!51 = !{!"_ZTSN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !52, i64 0}
!52 = !{!"_ZTSN4juce5ArrayIPNS_19FileBrowserListenerENS_20DummyCriticalSectionELi0EEE", !53, i64 0, !10, i64 16}
!53 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_19FileBrowserListenerENS_20DummyCriticalSectionEEE", !54, i64 0, !10, i64 8}
!54 = !{!"_ZTSN4juce9HeapBlockIPNS_19FileBrowserListenerELb0EEE", !6, i64 0}
!55 = !{!"_ZTSN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEE", !6, i64 0}
!56 = !{!"_ZTSN4juce8ComboBoxE", !15, i64 0, !57, i64 200, !59, i64 216, !60, i64 224, !61, i64 232, !63, i64 248, !69, i64 280, !10, i64 312, !75, i64 316, !75, i64 317, !75, i64 318, !76, i64 320, !77, i64 328, !81, i64 352, !17, i64 360, !17, i64 368, !82, i64 376}
!57 = !{!"_ZTSN4juce21SettableTooltipClientE", !58, i64 0, !17, i64 8}
!58 = !{!"_ZTSN4juce13TooltipClientE"}
!59 = !{!"_ZTSN4juce5Label8ListenerE"}
!60 = !{!"_ZTSN4juce5Value8ListenerE"}
!61 = !{!"_ZTSN4juce12AsyncUpdaterE", !62, i64 8}
!62 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_12AsyncUpdater19AsyncUpdaterMessageEEE", !6, i64 0}
!63 = !{!"_ZTSN4juce9PopupMenuE", !64, i64 0, !67, i64 24}
!64 = !{!"_ZTSN4juce10OwnedArrayINS_9PopupMenu4ItemENS_20DummyCriticalSectionEEE", !65, i64 0, !10, i64 16}
!65 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_9PopupMenu4ItemENS_20DummyCriticalSectionEEE", !66, i64 0, !10, i64 8}
!66 = !{!"_ZTSN4juce9HeapBlockIPNS_9PopupMenu4ItemELb0EEE", !6, i64 0}
!67 = !{!"_ZTSN4juce13WeakReferenceINS_11LookAndFeelENS_22ReferenceCountedObjectEEE", !68, i64 0}
!68 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_13WeakReferenceINS_11LookAndFeelENS_22ReferenceCountedObjectEE13SharedPointerEEE", !6, i64 0}
!69 = !{!"_ZTSN4juce5ValueE", !70, i64 0, !71, i64 8}
!70 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_5Value11ValueSourceEEE", !6, i64 0}
!71 = !{!"_ZTSN4juce12ListenerListINS_5Value8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !72, i64 0}
!72 = !{!"_ZTSN4juce5ArrayIPNS_5Value8ListenerENS_20DummyCriticalSectionELi0EEE", !73, i64 0, !10, i64 16}
!73 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_5Value8ListenerENS_20DummyCriticalSectionEEE", !74, i64 0, !10, i64 8}
!74 = !{!"_ZTSN4juce9HeapBlockIPNS_5Value8ListenerELb0EEE", !6, i64 0}
!75 = !{!"bool", !7, i64 0}
!76 = !{!"float", !7, i64 0}
!77 = !{!"_ZTSN4juce12ListenerListINS_8ComboBox8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !78, i64 0}
!78 = !{!"_ZTSN4juce5ArrayIPNS_8ComboBox8ListenerENS_20DummyCriticalSectionELi0EEE", !79, i64 0, !10, i64 16}
!79 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_8ComboBox8ListenerENS_20DummyCriticalSectionEEE", !80, i64 0, !10, i64 8}
!80 = !{!"_ZTSN4juce9HeapBlockIPNS_8ComboBox8ListenerELb0EEE", !6, i64 0}
!81 = !{!"_ZTSN4juce13ScopedPointerINS_5LabelEEE", !6, i64 0}
!82 = !{!"_ZTSN4juce8ComboBox13EditableStateE", !7, i64 0}
!83 = !{!"_ZTSN4juce10TextEditorE", !15, i64 0, !84, i64 200, !57, i64 208, !85, i64 224, !6, i64 232, !86, i64 240, !75, i64 256, !75, i64 257, !75, i64 258, !75, i64 259, !75, i64 260, !75, i64 261, !75, i64 262, !75, i64 263, !75, i64 264, !75, i64 265, !75, i64 266, !75, i64 267, !75, i64 268, !75, i64 269, !75, i64 270, !87, i64 272, !97, i64 408, !98, i64 416, !10, i64 424, !10, i64 428, !10, i64 432, !99, i64 440, !10, i64 448, !10, i64 452, !101, i64 456, !17, i64 480, !104, i64 488, !106, i64 492, !107, i64 496, !69, i64 512, !109, i64 544, !110, i64 548, !111, i64 552, !115, i64 576}
!84 = !{!"_ZTSN4juce15TextInputTargetE"}
!85 = !{!"_ZTSN4juce13ScopedPointerINS_8ViewportEEE", !6, i64 0}
!86 = !{!"_ZTSN4juce10BorderSizeIiEE", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12}
!87 = !{!"_ZTSN4juce11UndoManagerE", !88, i64 0, !94, i64 56, !94, i64 80, !17, i64 104, !10, i64 112, !10, i64 116, !10, i64 120, !10, i64 124, !75, i64 128, !75, i64 129}
!88 = !{!"_ZTSN4juce17ChangeBroadcasterE", !89, i64 8, !90, i64 32}
!89 = !{!"_ZTSN4juce17ChangeBroadcaster25ChangeBroadcasterCallbackE", !61, i64 0, !6, i64 16}
!90 = !{!"_ZTSN4juce12ListenerListINS_14ChangeListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !91, i64 0}
!91 = !{!"_ZTSN4juce5ArrayIPNS_14ChangeListenerENS_20DummyCriticalSectionELi0EEE", !92, i64 0, !10, i64 16}
!92 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_14ChangeListenerENS_20DummyCriticalSectionEEE", !93, i64 0, !10, i64 8}
!93 = !{!"_ZTSN4juce9HeapBlockIPNS_14ChangeListenerELb0EEE", !6, i64 0}
!94 = !{!"_ZTSN4juce10OwnedArrayINS_11UndoManager9ActionSetENS_20DummyCriticalSectionEEE", !95, i64 0, !10, i64 16}
!95 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_11UndoManager9ActionSetENS_20DummyCriticalSectionEEE", !96, i64 0, !10, i64 8}
!96 = !{!"_ZTSN4juce9HeapBlockIPNS_11UndoManager9ActionSetELb0EEE", !6, i64 0}
!97 = !{!"_ZTSN4juce13ScopedPointerINS_14CaretComponentEEE", !6, i64 0}
!98 = !{!"_ZTSN4juce5RangeIiEE", !10, i64 0, !10, i64 4}
!99 = !{!"_ZTSN4juce4FontE", !100, i64 0}
!100 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_4Font18SharedFontInternalEEE", !6, i64 0}
!101 = !{!"_ZTSN4juce10OwnedArrayINS_10TextEditor18UniformTextSectionENS_20DummyCriticalSectionEEE", !102, i64 0, !10, i64 16}
!102 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextEditor18UniformTextSectionENS_20DummyCriticalSectionEEE", !103, i64 0, !10, i64 8}
!103 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextEditor18UniformTextSectionELb0EEE", !6, i64 0}
!104 = !{!"_ZTSN4juce6ColourE", !105, i64 0}
!105 = !{!"_ZTSN4juce9PixelARGBE", !7, i64 0}
!106 = !{!"wchar_t", !7, i64 0}
!107 = !{!"_ZTSN4juce21OptionalScopedPointerINS_10TextEditor11InputFilterEEE", !108, i64 0, !75, i64 8}
!108 = !{!"_ZTSN4juce13ScopedPointerINS_10TextEditor11InputFilterEEE", !6, i64 0}
!109 = !{!"_ZTSN4juce15TextInputTarget19VirtualKeyboardTypeE", !7, i64 0}
!110 = !{!"_ZTSN4juce10TextEditorUt_E", !7, i64 0}
!111 = !{!"_ZTSN4juce12ListenerListINS_10TextEditor8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !112, i64 0}
!112 = !{!"_ZTSN4juce5ArrayIPNS_10TextEditor8ListenerENS_20DummyCriticalSectionELi0EEE", !113, i64 0, !10, i64 16}
!113 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextEditor8ListenerENS_20DummyCriticalSectionEEE", !114, i64 0, !10, i64 8}
!114 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextEditor8ListenerELb0EEE", !6, i64 0}
!115 = !{!"_ZTSN4juce5ArrayINS_5RangeIiEENS_20DummyCriticalSectionELi0EEE", !116, i64 0, !10, i64 16}
!116 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_5RangeIiEENS_20DummyCriticalSectionEEE", !117, i64 0, !10, i64 8}
!117 = !{!"_ZTSN4juce9HeapBlockINS_5RangeIiEELb0EEE", !6, i64 0}
!118 = !{!"_ZTSN4juce5LabelE", !15, i64 0, !57, i64 200, !41, i64 216, !119, i64 224, !60, i64 232, !69, i64 240, !17, i64 272, !99, i64 280, !120, i64 288, !121, i64 296, !122, i64 304, !126, i64 328, !86, i64 336, !76, i64 352, !109, i64 356, !75, i64 360, !75, i64 361, !75, i64 362, !75, i64 363}
!119 = !{!"_ZTSN4juce17ComponentListenerE"}
!120 = !{!"_ZTSN4juce13JustificationE", !10, i64 0}
!121 = !{!"_ZTSN4juce13ScopedPointerINS_10TextEditorEEE", !6, i64 0}
!122 = !{!"_ZTSN4juce12ListenerListINS_5Label8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !123, i64 0}
!123 = !{!"_ZTSN4juce5ArrayIPNS_5Label8ListenerENS_20DummyCriticalSectionELi0EEE", !124, i64 0, !10, i64 16}
!124 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_5Label8ListenerENS_20DummyCriticalSectionEEE", !125, i64 0, !10, i64 8}
!125 = !{!"_ZTSN4juce9HeapBlockIPNS_5Label8ListenerELb0EEE", !6, i64 0}
!126 = !{!"_ZTSN4juce13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEEE", !39, i64 0}
!127 = !{!"_ZTSN4juce13ScopedPointerINS_6ButtonEEE", !6, i64 0}
!128 = !{!"_ZTSN4juce15TimeSliceThreadE", !129, i64 0, !130, i64 288, !130, i64 328, !133, i64 368, !6, i64 392}
!129 = !{!"_ZTSN4juce6ThreadE", !17, i64 8, !6, i64 16, !6, i64 24, !130, i64 32, !131, i64 72, !131, i64 168, !10, i64 264, !132, i64 272, !10, i64 280, !75, i64 284}
!130 = !{!"_ZTSN4juce15CriticalSectionE", !7, i64 0}
!131 = !{!"_ZTSN4juce13WaitableEventE", !7, i64 0, !7, i64 48, !75, i64 88, !75, i64 89}
!132 = !{!"long", !7, i64 0}
!133 = !{!"_ZTSN4juce5ArrayIPNS_15TimeSliceClientENS_20DummyCriticalSectionELi0EEE", !134, i64 0, !10, i64 16}
!134 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_15TimeSliceClientENS_20DummyCriticalSectionEEE", !135, i64 0, !10, i64 8}
!135 = !{!"_ZTSN4juce9HeapBlockIPNS_15TimeSliceClientELb0EEE", !6, i64 0}
!136 = !{!14, !10, i64 296}
!137 = !{!14, !6, i64 368}
!138 = !{!14, !75, i64 2136}


; 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::String" = type { %"class.juce::CharPointer_UTF8" }
%"class.juce::CharPointer_UTF8" = type { ptr }
%"class.juce::File" = type { %"class.juce::String" }

@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTVN4juce20FileBrowserComponentE = external dso_local unnamed_addr constant { [62 x ptr], [8 x ptr], [8 x ptr], [6 x ptr], [5 x ptr], [6 x ptr], [5 x ptr] }, align 8
@.str.137 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [26 x i8], align 1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9ComponentC2Ev(ptr noundef nonnull align 8 dereferenceable(197)) unnamed_addr #0 align 2

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_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: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197), ptr noundef, i32 noundef) local_unnamed_addr #5 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 #0 align 2

; Function Attrs: nounwind
declare void @_ZN4juce5TimerC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1

; Function Attrs: nounwind
declare void @_ZN4juce5TimerD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1

; Function Attrs: nounwind
declare void @_ZN4juce5Timer10startTimerEi(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #1

declare void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) unnamed_addr #6

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce6Button11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(375), ptr noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce19FileBrowserListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce33DirectoryContentsDisplayComponent11addListenerEPNS_19FileBrowserListenerE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce4FileC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

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

declare noundef zeroext i1 @_ZNK4juce4File11isDirectoryEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

declare noundef zeroext i1 @_ZNK4juce4FileeqERKS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

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

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce6StringaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4juce20FileBrowserComponentC2EiRKNS_4FileEPKNS_10FileFilterEPNS_20FilePreviewComponentE(ptr noundef nonnull align 8 dereferenceable(2137) %0, i32 noundef %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %3, ptr noundef %4) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca %"class.juce::String", align 8
  %7 = alloca %"class.juce::String", align 8
  %8 = alloca %"class.juce::String", align 8
  %9 = alloca %"class.juce::String", align 8
  %10 = alloca %"class.juce::String", align 8
  %11 = alloca %"class.juce::String", align 8
  %12 = alloca %"class.juce::String", align 8
  %13 = alloca %"class.juce::File", align 8
  %14 = alloca %"class.juce::File", align 8
  %15 = alloca %"class.juce::File", align 8
  %16 = alloca %"class.juce::String", align 8
  %17 = alloca %"class.juce::String", align 8
  tail call void @_ZN4juce9ComponentC2Ev(ptr noundef nonnull align 8 dereferenceable(197) %0) #8
  %18 = getelementptr inbounds i8, ptr %0, i64 200
  tail call void @_ZN4juce19FileBrowserListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  %19 = getelementptr inbounds i8, ptr %0, i64 208
  tail call void @_ZN4juce10TextEditor8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  %20 = getelementptr inbounds i8, ptr %0, i64 216
  tail call void @_ZN4juce6Button8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  %21 = getelementptr inbounds i8, ptr %0, i64 224
  tail call void @_ZN4juce8ComboBox8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #8
  %22 = getelementptr inbounds i8, ptr %0, i64 232
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #8
  call void @_ZN4juce6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #8
  invoke void @_ZN4juce10FileFilterC2ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %23 unwind label %52

23:                                               ; preds = %5
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #8
  %24 = getelementptr inbounds i8, ptr %0, i64 248
  call void @_ZN4juce5TimerC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  store ptr getelementptr inbounds inrange(-16, 480) (i8, ptr @_ZTVN4juce20FileBrowserComponentE, i64 16), ptr %0, align 8, !tbaa !5
  store ptr getelementptr inbounds inrange(-16, 48) (i8, ptr @_ZTVN4juce20FileBrowserComponentE, i64 512), ptr %18, align 8, !tbaa !5
  store ptr getelementptr inbounds inrange(-16, 48) (i8, ptr @_ZTVN4juce20FileBrowserComponentE, i64 576), ptr %19, align 8, !tbaa !5
  store ptr getelementptr inbounds inrange(-16, 32) (i8, ptr @_ZTVN4juce20FileBrowserComponentE, i64 640), ptr %20, align 8, !tbaa !5
  store ptr getelementptr inbounds inrange(-16, 24) (i8, ptr @_ZTVN4juce20FileBrowserComponentE, i64 688), ptr %21, align 8, !tbaa !5
  store ptr getelementptr inbounds inrange(-16, 32) (i8, ptr @_ZTVN4juce20FileBrowserComponentE, i64 728), ptr %22, align 8, !tbaa !5
  store ptr getelementptr inbounds inrange(-16, 24) (i8, ptr @_ZTVN4juce20FileBrowserComponentE, i64 776), ptr %24, align 8, !tbaa !5
  %25 = getelementptr inbounds i8, ptr %0, i64 280
  call void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  %26 = getelementptr inbounds i8, ptr %0, i64 288
  store ptr %3, ptr %26, align 8, !tbaa !8
  %27 = getelementptr inbounds i8, ptr %0, i64 296
  store i32 %1, ptr %27, align 8, !tbaa !134
  %28 = getelementptr inbounds i8, ptr %0, i64 304
  call void @_ZN4juce4FileC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  %29 = getelementptr inbounds i8, ptr %0, i64 312
  call void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EEC2Ev(ptr noundef nonnull align 8 dereferenceable(20) %29) #8
  %30 = getelementptr inbounds i8, ptr %0, i64 336
  call void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30)
  %31 = getelementptr inbounds i8, ptr %0, i64 360
  call void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  %32 = getelementptr inbounds i8, ptr %0, i64 368
  store ptr %4, ptr %32, align 8, !tbaa !135
  %33 = getelementptr inbounds i8, ptr %0, i64 376
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #8
  invoke void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull @.str.137)
          to label %34 unwind label %54

34:                                               ; preds = %23
  invoke void @_ZN4juce8ComboBoxC1ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(380) %33, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %35 unwind label %56

35:                                               ; preds = %34
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #8
  %36 = getelementptr inbounds i8, ptr %0, i64 760
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #8
  call void @_ZN4juce6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #8
  invoke void @_ZN4juce10TextEditorC1ERKNS_6StringEw(ptr noundef nonnull align 8 dereferenceable(600) %36, ptr noundef nonnull align 8 dereferenceable(8) %8, i32 noundef signext 0)
          to label %37 unwind label %59

37:                                               ; preds = %35
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #8
  %38 = getelementptr inbounds i8, ptr %0, i64 1360
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #8
  invoke void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull @.str.5)
          to label %39 unwind label %61

39:                                               ; preds = %37
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #8
  invoke void @_ZN4juce9translateEPKc(ptr dead_on_unwind nonnull writable sret(%"class.juce::String") align 8 %10, ptr noundef nonnull @.str.138)
          to label %40 unwind label %63

40:                                               ; preds = %39
  invoke void @_ZN4juce5LabelC1ERKNS_6StringES3_(ptr noundef nonnull align 8 dereferenceable(364) %38, ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %41 unwind label %65

41:                                               ; preds = %40
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  %42 = getelementptr inbounds i8, ptr %0, i64 1728
  call void @_ZN4juce13ScopedPointerINS_6ButtonEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  %43 = getelementptr inbounds i8, ptr %0, i64 1736
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #8
  invoke void @_ZN4juce6StringC1EPKc(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull @.str.139)
          to label %44 unwind label %69

44:                                               ; preds = %41
  invoke void @_ZN4juce15TimeSliceThreadC1ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(400) %43, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %45 unwind label %71

45:                                               ; preds = %44
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #8
  %46 = getelementptr inbounds i8, ptr %0, i64 2136
  store i8 1, ptr %46, align 8, !tbaa !136
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #8
  call void @_ZN4juce6StringC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #8
  call void @_ZN4juce4FileC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #8
  %47 = invoke noundef zeroext i1 @_ZNK4juce4FileeqERKS0_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %48 unwind label %74

48:                                               ; preds = %45
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  br i1 %47, label %49, label %78

49:                                               ; preds = %48
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #8
  invoke void @_ZN4juce4File26getCurrentWorkingDirectoryEv(ptr dead_on_unwind nonnull writable sret(%"class.juce::File") align 8 %14)
          to label %50 unwind label %76

50:                                               ; preds = %49
  %51 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  br label %95

52:                                               ; preds = %5
  %53 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #8
  br label %185

54:                                               ; preds = %23
  %55 = landingpad { ptr, i32 }
          cleanup
  br label %58

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

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

59:                                               ; preds = %35
  %60 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #8
  br label %183

61:                                               ; preds = %37
  %62 = landingpad { ptr, i32 }
          cleanup
  br label %68

63:                                               ; preds = %39
  %64 = landingpad { ptr, i32 }
          cleanup
  br label %67

65:                                               ; preds = %40
  %66 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #8
  br label %67

67:                                               ; preds = %65, %63
  %.pn34 = phi { ptr, i32 } [ %66, %65 ], [ %64, %63 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  br label %68

68:                                               ; preds = %67, %61
  %.pn34.pn = phi { ptr, i32 } [ %.pn34, %67 ], [ %62, %61 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  br label %182

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

71:                                               ; preds = %44
  %72 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #8
  br label %73

73:                                               ; preds = %71, %69
  %.pn37 = phi { ptr, i32 } [ %72, %71 ], [ %70, %69 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #8
  br label %181

74:                                               ; preds = %45
  %75 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  br label %180

76:                                               ; preds = %49
  %77 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  br label %180

78:                                               ; preds = %48
  %79 = invoke noundef zeroext i1 @_ZNK4juce4File11isDirectoryEv(ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %80 unwind label %83

80:                                               ; preds = %78
  br i1 %79, label %81, label %85

81:                                               ; preds = %80
  %82 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSERKS0_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %95 unwind label %83

83:                                               ; preds = %178, %177, %171, %161, %158, %151, %150, %149, %145, %144, %143, %142, %141, %140, %139, %138, %137, %135, %95, %85, %81, %78
  %84 = landingpad { ptr, i32 }
          cleanup
  br label %180

85:                                               ; preds = %80
  invoke void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EE3addERKS1_(ptr noundef nonnull align 8 dereferenceable(20) %29, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %86 unwind label %83

86:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #8
  invoke void @_ZNK4juce4File18getParentDirectoryEv(ptr dead_on_unwind nonnull writable sret(%"class.juce::File") align 8 %15, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %87 unwind label %91

87:                                               ; preds = %86
  %88 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  invoke void @_ZNK4juce4File11getFileNameEv(ptr dead_on_unwind nonnull writable sret(%"class.juce::String") align 8 %16, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %89 unwind label %93

89:                                               ; preds = %87
  %90 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce6StringaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br label %95

91:                                               ; preds = %86
  %92 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  br label %180

93:                                               ; preds = %87
  %94 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br label %180

95:                                               ; preds = %89, %81, %50
  %96 = invoke noalias noundef nonnull dereferenceable(184) ptr @_Znwm(i64 noundef 184) #9
          to label %97 unwind label %83

97:                                               ; preds = %95
  invoke void @_ZN4juce21DirectoryContentsListC1EPKNS_10FileFilterERNS_15TimeSliceThreadE(ptr noundef nonnull align 8 dereferenceable(177) %96, ptr noundef nonnull %22, ptr noundef nonnull align 8 dereferenceable(400) %43)
          to label %98 unwind label %112

98:                                               ; preds = %97
  %99 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull %96)
  %100 = load i32, ptr %27, align 8, !tbaa !134
  %101 = and i32 %100, 32
  %.not = icmp eq i32 %101, 0
  br i1 %.not, label %119, label %102

102:                                              ; preds = %98
  %103 = invoke noalias noundef nonnull dereferenceable(376) ptr @_Znwm(i64 noundef 376) #9
          to label %104 unwind label %114

104:                                              ; preds = %102
  %105 = call noundef nonnull align 8 dereferenceable(177) ptr @_ZNK4juce13ScopedPointerINS_21DirectoryContentsListEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  invoke void @_ZN4juce17FileTreeComponentC1ERNS_21DirectoryContentsListE(ptr noundef nonnull align 8 dereferenceable(372) %103, ptr noundef nonnull align 8 dereferenceable(177) %105)
          to label %106 unwind label %116

106:                                              ; preds = %104
  %107 = getelementptr inbounds i8, ptr %103, i64 320
  %108 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull %107)
  %109 = load i32, ptr %27, align 8, !tbaa !134
  %110 = and i32 %109, 16
  %.not42 = icmp eq i32 %110, 0
  br i1 %.not42, label %118, label %111

111:                                              ; preds = %106
  call void @_ZN4juce8TreeView21setMultiSelectEnabledEb(ptr noundef nonnull align 8 dereferenceable(313) %103, i1 noundef zeroext true)
  br label %118

112:                                              ; preds = %97
  %113 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %96, i64 noundef 184) #10
  br label %180

114:                                              ; preds = %118, %102
  %115 = landingpad { ptr, i32 }
          cleanup
  br label %180

116:                                              ; preds = %104
  %117 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %103, i64 noundef 376) #10
  br label %180

118:                                              ; preds = %111, %106
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef nonnull %103, i32 noundef -1)
          to label %135 unwind label %114

119:                                              ; preds = %98
  %120 = invoke noalias noundef nonnull dereferenceable(360) ptr @_Znwm(i64 noundef 360) #9
          to label %121 unwind label %130

121:                                              ; preds = %119
  %122 = call noundef nonnull align 8 dereferenceable(177) ptr @_ZNK4juce13ScopedPointerINS_21DirectoryContentsListEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  invoke void @_ZN4juce17FileListComponentC1ERNS_21DirectoryContentsListE(ptr noundef nonnull align 8 dereferenceable(360) %120, ptr noundef nonnull align 8 dereferenceable(177) %122)
          to label %123 unwind label %132

123:                                              ; preds = %121
  %124 = getelementptr inbounds i8, ptr %120, i64 296
  %125 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull %124)
  invoke void @_ZN4juce7ListBox19setOutlineThicknessEi(ptr noundef nonnull align 8 dereferenceable(296) %120, i32 noundef 1)
          to label %126 unwind label %130

126:                                              ; preds = %123
  %127 = load i32, ptr %27, align 8, !tbaa !134
  %128 = and i32 %127, 16
  %.not39 = icmp eq i32 %128, 0
  br i1 %.not39, label %134, label %129

129:                                              ; preds = %126
  call void @_ZN4juce7ListBox27setMultipleSelectionEnabledEb(ptr noundef nonnull align 8 dereferenceable(296) %120, i1 noundef zeroext true) #8
  br label %134

130:                                              ; preds = %134, %123, %119
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %180

132:                                              ; preds = %121
  %133 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %120, i64 noundef 360) #10
  br label %180

134:                                              ; preds = %129, %126
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef nonnull %120, i32 noundef -1)
          to label %135 unwind label %130

135:                                              ; preds = %134, %118
  %136 = call noundef ptr @_ZNK4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  invoke void @_ZN4juce33DirectoryContentsDisplayComponent11addListenerEPNS_19FileBrowserListenerE(ptr noundef nonnull align 8 dereferenceable(40) %136, ptr noundef nonnull %18)
          to label %137 unwind label %83

137:                                              ; preds = %135
  invoke void @_ZN4juce9Component17addAndMakeVisibleERS0_i(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef nonnull align 8 dereferenceable(197) %33, i32 noundef -1)
          to label %138 unwind label %83

138:                                              ; preds = %137
  invoke void @_ZN4juce8ComboBox15setEditableTextEb(ptr noundef nonnull align 8 dereferenceable(380) %33, i1 noundef zeroext true)
          to label %139 unwind label %83

139:                                              ; preds = %138
  invoke void @_ZN4juce20FileBrowserComponent16resetRecentPathsEv(ptr noundef nonnull align 8 dereferenceable(2137) %0)
          to label %140 unwind label %83

140:                                              ; preds = %139
  invoke void @_ZN4juce8ComboBox11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(380) %33, ptr noundef nonnull %21)
          to label %141 unwind label %83

141:                                              ; preds = %140
  invoke void @_ZN4juce9Component17addAndMakeVisibleERS0_i(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef nonnull align 8 dereferenceable(197) %36, i32 noundef -1)
          to label %142 unwind label %83

142:                                              ; preds = %141
  invoke void @_ZN4juce10TextEditor12setMultiLineEbb(ptr noundef nonnull align 8 dereferenceable(600) %36, i1 noundef zeroext false, i1 noundef zeroext true)
          to label %143 unwind label %83

143:                                              ; preds = %142
  call void @_ZN4juce10TextEditor23setSelectAllWhenFocusedEb(ptr noundef nonnull align 8 dereferenceable(600) %36, i1 noundef zeroext true)
  invoke void @_ZN4juce10TextEditor7setTextERKNS_6StringEb(ptr noundef nonnull align 8 dereferenceable(600) %36, ptr noundef nonnull align 8 dereferenceable(8) %12, i1 noundef zeroext false)
          to label %144 unwind label %83

144:                                              ; preds = %143
  invoke void @_ZN4juce10TextEditor11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(600) %36, ptr noundef nonnull %19)
          to label %145 unwind label %83

145:                                              ; preds = %144
  %146 = load i32, ptr %27, align 8, !tbaa !134
  %147 = and i32 %146, 80
  %148 = icmp ne i32 %147, 0
  invoke void @_ZN4juce10TextEditor11setReadOnlyEb(ptr noundef nonnull align 8 dereferenceable(600) %36, i1 noundef zeroext %148)
          to label %149 unwind label %83

149:                                              ; preds = %145
  invoke void @_ZN4juce9Component17addAndMakeVisibleERS0_i(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef nonnull align 8 dereferenceable(197) %38, i32 noundef -1)
          to label %150 unwind label %83

150:                                              ; preds = %149
  invoke void @_ZN4juce5Label17attachToComponentEPNS_9ComponentEb(ptr noundef nonnull align 8 dereferenceable(364) %38, ptr noundef nonnull %36, i1 noundef zeroext true)
          to label %151 unwind label %83

151:                                              ; preds = %150
  %152 = call noundef nonnull align 8 dereferenceable(281) ptr @_ZNK4juce9Component14getLookAndFeelEv(ptr noundef nonnull align 8 dereferenceable(197) %0) #8
  %153 = getelementptr inbounds i8, ptr %152, i64 32
  %154 = load ptr, ptr %153, align 8, !tbaa !5
  %155 = getelementptr inbounds i8, ptr %154, i64 48
  %156 = load ptr, ptr %155, align 8
  %157 = invoke noundef ptr %156(ptr noundef nonnull align 8 dereferenceable(8) %153)
          to label %158 unwind label %83

158:                                              ; preds = %151
  %159 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce13ScopedPointerINS_6ButtonEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef %157)
  %160 = call noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEcvPS1_Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #8
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef %160, i32 noundef -1)
          to label %161 unwind label %83

161:                                              ; preds = %158
  %162 = call noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  invoke void @_ZN4juce6Button11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(375) %162, ptr noundef nonnull %20)
          to label %163 unwind label %83

163:                                              ; preds = %161
  %164 = call noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #8
  invoke void @_ZN4juce9translateEPKc(ptr dead_on_unwind nonnull writable sret(%"class.juce::String") align 8 %17, ptr noundef nonnull @.str.140)
          to label %165 unwind label %172

165:                                              ; preds = %163
  %166 = load ptr, ptr %164, align 8, !tbaa !5
  %167 = getelementptr inbounds i8, ptr %166, i64 368
  %168 = load ptr, ptr %167, align 8
  invoke void %168(ptr noundef nonnull align 8 dereferenceable(375) %164, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %169 unwind label %174

169:                                              ; preds = %165
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  %170 = load ptr, ptr %32, align 8, !tbaa !135
  %.not47 = icmp eq ptr %170, null
  br i1 %.not47, label %177, label %171

171:                                              ; preds = %169
  invoke void @_ZN4juce9Component17addAndMakeVisibleEPS0_i(ptr noundef nonnull align 8 dereferenceable(197) %0, ptr noundef nonnull %170, i32 noundef -1)
          to label %177 unwind label %83

172:                                              ; preds = %163
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %176

174:                                              ; preds = %165
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  br label %176

176:                                              ; preds = %174, %172
  %.pn45 = phi { ptr, i32 } [ %175, %174 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  br label %180

177:                                              ; preds = %171, %169
  invoke void @_ZN4juce20FileBrowserComponent7setRootERKNS_4FileE(ptr noundef nonnull align 8 dereferenceable(2137) %0, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %178 unwind label %83

178:                                              ; preds = %177
  invoke void @_ZN4juce6Thread11startThreadEi(ptr noundef nonnull align 8 dereferenceable(285) %43, i32 noundef 4)
          to label %179 unwind label %83

179:                                              ; preds = %178
  call void @_ZN4juce5Timer10startTimerEi(ptr noundef nonnull align 8 dereferenceable(32) %24, i32 noundef 2000) #8
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  ret void

180:                                              ; preds = %130, %132, %114, %116, %176, %112, %93, %91, %83, %76, %74
  %.pn48 = phi { ptr, i32 } [ %84, %83 ], [ %.pn45, %176 ], [ %113, %112 ], [ %77, %76 ], [ %94, %93 ], [ %92, %91 ], [ %75, %74 ], [ %115, %114 ], [ %117, %116 ], [ %131, %130 ], [ %133, %132 ]
  call void @_ZN4juce6StringD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  call void @_ZN4juce15TimeSliceThreadD1Ev(ptr noundef nonnull align 8 dereferenceable(400) %43) #8
  br label %181

181:                                              ; preds = %180, %73
  %.pn48.pn = phi { ptr, i32 } [ %.pn48, %180 ], [ %.pn37, %73 ]
  call void @_ZN4juce13ScopedPointerINS_6ButtonEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  call void @_ZN4juce5LabelD1Ev(ptr noundef nonnull align 8 dereferenceable(364) %38) #8
  br label %182

182:                                              ; preds = %181, %68
  %.pn48.pn.pn = phi { ptr, i32 } [ %.pn48.pn, %181 ], [ %.pn34.pn, %68 ]
  call void @_ZN4juce10TextEditorD1Ev(ptr noundef nonnull align 8 dereferenceable(600) %36) #8
  br label %183

183:                                              ; preds = %182, %59
  %.pn48.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn, %182 ], [ %60, %59 ]
  call void @_ZN4juce8ComboBoxD1Ev(ptr noundef nonnull align 8 dereferenceable(380) %33) #8
  br label %184

184:                                              ; preds = %183, %58
  %.pn48.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn, %183 ], [ %.pn, %58 ]
  call void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  call void @_ZN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(20) %29) #8
  call void @_ZN4juce4FileD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  call void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  call void @_ZN4juce5TimerD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @_ZN4juce10FileFilterD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #8
  br label %185

185:                                              ; preds = %184, %52
  %.pn48.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn.pn, %184 ], [ %53, %52 ]
  call void @_ZN4juce8ComboBox8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #8
  call void @_ZN4juce6Button8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #8
  call void @_ZN4juce10TextEditor8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @_ZN4juce19FileBrowserListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  call void @_ZN4juce9ComponentD2Ev(ptr noundef nonnull align 8 dereferenceable(197) %0) #8
  resume { ptr, i32 } %.pn48.pn.pn.pn.pn.pn
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce19FileBrowserListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce10TextEditor8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce6Button8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce8ComboBox8ListenerC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

declare void @_ZN4juce10FileFilterC2ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EEC2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_6ButtonEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

declare void @_ZN4juce15TimeSliceThreadC1ERKNS_6StringE(ptr noundef nonnull align 8 dereferenceable(400), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #6

declare void @_ZN4juce4File26getCurrentWorkingDirectoryEv(ptr dead_on_unwind writable sret(%"class.juce::File") align 8) local_unnamed_addr #6

; Function Attrs: nounwind
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZN4juce4FileaSEOS0_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EE3addERKS1_(ptr noundef nonnull align 8 dereferenceable(20), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 align 2

declare void @_ZNK4juce4File18getParentDirectoryEv(ptr dead_on_unwind writable sret(%"class.juce::File") align 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 @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEEaSEPS1_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(177) ptr @_ZNK4juce13ScopedPointerINS_21DirectoryContentsListEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce7ListBox19setOutlineThicknessEi(ptr noundef nonnull align 8 dereferenceable(296), i32 noundef) local_unnamed_addr #5 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce20FileBrowserComponent16resetRecentPathsEv(ptr noundef nonnull align 8 dereferenceable(2137)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce8ComboBox11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(380), ptr noundef) local_unnamed_addr #5 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce10TextEditor11addListenerEPNS0_8ListenerE(ptr noundef nonnull align 8 dereferenceable(600), ptr noundef) local_unnamed_addr #5 align 2

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEcvPS1_Ev(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK4juce13ScopedPointerINS_6ButtonEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4juce20FileBrowserComponent7setRootERKNS_4FileE(ptr noundef nonnull align 8 dereferenceable(2137), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 align 2

declare void @_ZN4juce6Thread11startThreadEi(ptr noundef nonnull align 8 dereferenceable(285), i32 noundef) local_unnamed_addr #6

; Function Attrs: nounwind
declare void @_ZN4juce15TimeSliceThreadD1Ev(ptr noundef nonnull align 8 dereferenceable(400)) unnamed_addr #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_6ButtonEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EED2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN4juce13ScopedPointerINS_21DirectoryContentsListEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #7 align 2

; Function Attrs: nounwind
declare void @_ZN4juce10FileFilterD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce10TextEditor8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce8ComboBox8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce9ComponentD2Ev(ptr noundef nonnull align 8 dereferenceable(197)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN4juce6Button8ListenerD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

declare void @_ZN4juce21DirectoryContentsListC1EPKNS_10FileFilterERNS_15TimeSliceThreadE(ptr, ptr, ptr) local_unnamed_addr

declare void @_ZN4juce17FileListComponentC1ERNS_21DirectoryContentsListE(ptr, ptr) local_unnamed_addr

declare void @_ZN4juce17FileTreeComponentC1ERNS_21DirectoryContentsListE(ptr, ptr) local_unnamed_addr

declare void @_ZN4juce8ComboBoxC1ERKNS_6StringE(ptr, ptr) local_unnamed_addr

declare void @_ZN4juce8ComboBoxD1Ev(ptr) local_unnamed_addr

declare void @_ZN4juce5LabelC1ERKNS_6StringES3_(ptr, ptr, ptr) local_unnamed_addr

declare void @_ZN4juce5LabelD1Ev(ptr) local_unnamed_addr

declare void @_ZN4juce10TextEditorC1ERKNS_6StringEw(ptr, ptr, i32) local_unnamed_addr

declare void @_ZN4juce10TextEditorD1Ev(ptr) local_unnamed_addr

attributes #0 = { 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 = { 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 #2 = { nobuiltin 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 = { nobuiltin allocsize(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 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 #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 = { 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 #8 = { nounwind }
attributes #9 = { builtin allocsize(0) }
attributes #10 = { builtin 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, !14, i64 288}
!9 = !{!"_ZTSN4juce20FileBrowserComponentE", !10, i64 0, !38, i64 200, !39, i64 208, !40, i64 216, !41, i64 224, !42, i64 232, !43, i64 248, !44, i64 280, !14, i64 288, !18, i64 296, !45, i64 304, !46, i64 312, !49, i64 336, !53, i64 360, !14, i64 368, !54, i64 376, !81, i64 760, !116, i64 1360, !125, i64 1728, !126, i64 1736, !73, i64 2136}
!10 = !{!"_ZTSN4juce9ComponentE", !11, i64 0, !12, i64 8, !12, i64 16, !14, i64 24, !16, i64 32, !19, i64 48, !20, i64 56, !21, i64 64, !14, i64 88, !24, i64 96, !14, i64 104, !25, i64 112, !26, i64 120, !27, i64 128, !28, i64 136, !32, i64 160, !36, i64 184, !15, i64 192, !15, i64 196}
!11 = !{!"_ZTSN4juce13MouseListenerE"}
!12 = !{!"_ZTSN4juce6StringE", !13, i64 0}
!13 = !{!"_ZTSN4juce16CharPointer_UTF8E", !14, i64 0}
!14 = !{!"any pointer", !15, i64 0}
!15 = !{!"omnipotent char", !7, i64 0}
!16 = !{!"_ZTSN4juce9RectangleIiEE", !17, i64 0, !18, i64 8, !18, i64 12}
!17 = !{!"_ZTSN4juce5PointIiEE", !18, i64 0, !18, i64 4}
!18 = !{!"int", !15, i64 0}
!19 = !{!"_ZTSN4juce13ScopedPointerINS_9Component10PositionerEEE", !14, i64 0}
!20 = !{!"_ZTSN4juce13ScopedPointerINS_15AffineTransformEEE", !14, i64 0}
!21 = !{!"_ZTSN4juce5ArrayIPNS_9ComponentENS_20DummyCriticalSectionELi0EEE", !22, i64 0, !18, i64 16}
!22 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_9ComponentENS_20DummyCriticalSectionEEE", !23, i64 0, !18, i64 8}
!23 = !{!"_ZTSN4juce9HeapBlockIPNS_9ComponentELb0EEE", !14, i64 0}
!24 = !{!"_ZTSN4juce11MouseCursorE", !14, i64 0}
!25 = !{!"_ZTSN4juce13ScopedPointerINS_20CachedComponentImageEEE", !14, i64 0}
!26 = !{!"_ZTSN4juce13ScopedPointerINS_9Component17MouseListenerListEEE", !14, i64 0}
!27 = !{!"_ZTSN4juce13ScopedPointerINS_5ArrayIPNS_11KeyListenerENS_20DummyCriticalSectionELi0EEEEE", !14, i64 0}
!28 = !{!"_ZTSN4juce12ListenerListINS_17ComponentListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !29, i64 0}
!29 = !{!"_ZTSN4juce5ArrayIPNS_17ComponentListenerENS_20DummyCriticalSectionELi0EEE", !30, i64 0, !18, i64 16}
!30 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_17ComponentListenerENS_20DummyCriticalSectionEEE", !31, i64 0, !18, i64 8}
!31 = !{!"_ZTSN4juce9HeapBlockIPNS_17ComponentListenerELb0EEE", !14, i64 0}
!32 = !{!"_ZTSN4juce13NamedValueSetE", !33, i64 0}
!33 = !{!"_ZTSN4juce5ArrayINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionELi0EEE", !34, i64 0, !18, i64 16}
!34 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_13NamedValueSet10NamedValueENS_20DummyCriticalSectionEEE", !35, i64 0, !18, i64 8}
!35 = !{!"_ZTSN4juce9HeapBlockINS_13NamedValueSet10NamedValueELb0EEE", !14, i64 0}
!36 = !{!"_ZTSN4juce13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE6MasterE", !37, i64 0}
!37 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEE13SharedPointerEEE", !14, i64 0}
!38 = !{!"_ZTSN4juce19FileBrowserListenerE"}
!39 = !{!"_ZTSN4juce10TextEditor8ListenerE"}
!40 = !{!"_ZTSN4juce6Button8ListenerE"}
!41 = !{!"_ZTSN4juce8ComboBox8ListenerE"}
!42 = !{!"_ZTSN4juce10FileFilterE", !12, i64 8}
!43 = !{!"_ZTSN4juce5TimerE", !18, i64 8, !18, i64 12, !14, i64 16, !14, i64 24}
!44 = !{!"_ZTSN4juce13ScopedPointerINS_21DirectoryContentsListEEE", !14, i64 0}
!45 = !{!"_ZTSN4juce4FileE", !12, i64 0}
!46 = !{!"_ZTSN4juce5ArrayINS_4FileENS_20DummyCriticalSectionELi0EEE", !47, i64 0, !18, i64 16}
!47 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_4FileENS_20DummyCriticalSectionEEE", !48, i64 0, !18, i64 8}
!48 = !{!"_ZTSN4juce9HeapBlockINS_4FileELb0EEE", !14, i64 0}
!49 = !{!"_ZTSN4juce12ListenerListINS_19FileBrowserListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !50, i64 0}
!50 = !{!"_ZTSN4juce5ArrayIPNS_19FileBrowserListenerENS_20DummyCriticalSectionELi0EEE", !51, i64 0, !18, i64 16}
!51 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_19FileBrowserListenerENS_20DummyCriticalSectionEEE", !52, i64 0, !18, i64 8}
!52 = !{!"_ZTSN4juce9HeapBlockIPNS_19FileBrowserListenerELb0EEE", !14, i64 0}
!53 = !{!"_ZTSN4juce13ScopedPointerINS_33DirectoryContentsDisplayComponentEEE", !14, i64 0}
!54 = !{!"_ZTSN4juce8ComboBoxE", !10, i64 0, !55, i64 200, !57, i64 216, !58, i64 224, !59, i64 232, !61, i64 248, !67, i64 280, !18, i64 312, !73, i64 316, !73, i64 317, !73, i64 318, !74, i64 320, !75, i64 328, !79, i64 352, !12, i64 360, !12, i64 368, !80, i64 376}
!55 = !{!"_ZTSN4juce21SettableTooltipClientE", !56, i64 0, !12, i64 8}
!56 = !{!"_ZTSN4juce13TooltipClientE"}
!57 = !{!"_ZTSN4juce5Label8ListenerE"}
!58 = !{!"_ZTSN4juce5Value8ListenerE"}
!59 = !{!"_ZTSN4juce12AsyncUpdaterE", !60, i64 8}
!60 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_12AsyncUpdater19AsyncUpdaterMessageEEE", !14, i64 0}
!61 = !{!"_ZTSN4juce9PopupMenuE", !62, i64 0, !65, i64 24}
!62 = !{!"_ZTSN4juce10OwnedArrayINS_9PopupMenu4ItemENS_20DummyCriticalSectionEEE", !63, i64 0, !18, i64 16}
!63 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_9PopupMenu4ItemENS_20DummyCriticalSectionEEE", !64, i64 0, !18, i64 8}
!64 = !{!"_ZTSN4juce9HeapBlockIPNS_9PopupMenu4ItemELb0EEE", !14, i64 0}
!65 = !{!"_ZTSN4juce13WeakReferenceINS_11LookAndFeelENS_22ReferenceCountedObjectEEE", !66, i64 0}
!66 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_13WeakReferenceINS_11LookAndFeelENS_22ReferenceCountedObjectEE13SharedPointerEEE", !14, i64 0}
!67 = !{!"_ZTSN4juce5ValueE", !68, i64 0, !69, i64 8}
!68 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_5Value11ValueSourceEEE", !14, i64 0}
!69 = !{!"_ZTSN4juce12ListenerListINS_5Value8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !70, i64 0}
!70 = !{!"_ZTSN4juce5ArrayIPNS_5Value8ListenerENS_20DummyCriticalSectionELi0EEE", !71, i64 0, !18, i64 16}
!71 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_5Value8ListenerENS_20DummyCriticalSectionEEE", !72, i64 0, !18, i64 8}
!72 = !{!"_ZTSN4juce9HeapBlockIPNS_5Value8ListenerELb0EEE", !14, i64 0}
!73 = !{!"bool", !15, i64 0}
!74 = !{!"float", !15, i64 0}
!75 = !{!"_ZTSN4juce12ListenerListINS_8ComboBox8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !76, i64 0}
!76 = !{!"_ZTSN4juce5ArrayIPNS_8ComboBox8ListenerENS_20DummyCriticalSectionELi0EEE", !77, i64 0, !18, i64 16}
!77 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_8ComboBox8ListenerENS_20DummyCriticalSectionEEE", !78, i64 0, !18, i64 8}
!78 = !{!"_ZTSN4juce9HeapBlockIPNS_8ComboBox8ListenerELb0EEE", !14, i64 0}
!79 = !{!"_ZTSN4juce13ScopedPointerINS_5LabelEEE", !14, i64 0}
!80 = !{!"_ZTSN4juce8ComboBox13EditableStateE", !15, i64 0}
!81 = !{!"_ZTSN4juce10TextEditorE", !10, i64 0, !82, i64 200, !55, i64 208, !83, i64 224, !14, i64 232, !84, i64 240, !73, i64 256, !73, i64 257, !73, i64 258, !73, i64 259, !73, i64 260, !73, i64 261, !73, i64 262, !73, i64 263, !73, i64 264, !73, i64 265, !73, i64 266, !73, i64 267, !73, i64 268, !73, i64 269, !73, i64 270, !85, i64 272, !95, i64 408, !96, i64 416, !18, i64 424, !18, i64 428, !18, i64 432, !97, i64 440, !18, i64 448, !18, i64 452, !99, i64 456, !12, i64 480, !102, i64 488, !104, i64 492, !105, i64 496, !67, i64 512, !107, i64 544, !108, i64 548, !109, i64 552, !113, i64 576}
!82 = !{!"_ZTSN4juce15TextInputTargetE"}
!83 = !{!"_ZTSN4juce13ScopedPointerINS_8ViewportEEE", !14, i64 0}
!84 = !{!"_ZTSN4juce10BorderSizeIiEE", !18, i64 0, !18, i64 4, !18, i64 8, !18, i64 12}
!85 = !{!"_ZTSN4juce11UndoManagerE", !86, i64 0, !92, i64 56, !92, i64 80, !12, i64 104, !18, i64 112, !18, i64 116, !18, i64 120, !18, i64 124, !73, i64 128, !73, i64 129}
!86 = !{!"_ZTSN4juce17ChangeBroadcasterE", !87, i64 8, !88, i64 32}
!87 = !{!"_ZTSN4juce17ChangeBroadcaster25ChangeBroadcasterCallbackE", !59, i64 0, !14, i64 16}
!88 = !{!"_ZTSN4juce12ListenerListINS_14ChangeListenerENS_5ArrayIPS1_NS_20DummyCriticalSectionELi0EEEEE", !89, i64 0}
!89 = !{!"_ZTSN4juce5ArrayIPNS_14ChangeListenerENS_20DummyCriticalSectionELi0EEE", !90, i64 0, !18, i64 16}
!90 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_14ChangeListenerENS_20DummyCriticalSectionEEE", !91, i64 0, !18, i64 8}
!91 = !{!"_ZTSN4juce9HeapBlockIPNS_14ChangeListenerELb0EEE", !14, i64 0}
!92 = !{!"_ZTSN4juce10OwnedArrayINS_11UndoManager9ActionSetENS_20DummyCriticalSectionEEE", !93, i64 0, !18, i64 16}
!93 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_11UndoManager9ActionSetENS_20DummyCriticalSectionEEE", !94, i64 0, !18, i64 8}
!94 = !{!"_ZTSN4juce9HeapBlockIPNS_11UndoManager9ActionSetELb0EEE", !14, i64 0}
!95 = !{!"_ZTSN4juce13ScopedPointerINS_14CaretComponentEEE", !14, i64 0}
!96 = !{!"_ZTSN4juce5RangeIiEE", !18, i64 0, !18, i64 4}
!97 = !{!"_ZTSN4juce4FontE", !98, i64 0}
!98 = !{!"_ZTSN4juce25ReferenceCountedObjectPtrINS_4Font18SharedFontInternalEEE", !14, i64 0}
!99 = !{!"_ZTSN4juce10OwnedArrayINS_10TextEditor18UniformTextSectionENS_20DummyCriticalSectionEEE", !100, i64 0, !18, i64 16}
!100 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextEditor18UniformTextSectionENS_20DummyCriticalSectionEEE", !101, i64 0, !18, i64 8}
!101 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextEditor18UniformTextSectionELb0EEE", !14, i64 0}
!102 = !{!"_ZTSN4juce6ColourE", !103, i64 0}
!103 = !{!"_ZTSN4juce9PixelARGBE", !15, i64 0}
!104 = !{!"wchar_t", !15, i64 0}
!105 = !{!"_ZTSN4juce21OptionalScopedPointerINS_10TextEditor11InputFilterEEE", !106, i64 0, !73, i64 8}
!106 = !{!"_ZTSN4juce13ScopedPointerINS_10TextEditor11InputFilterEEE", !14, i64 0}
!107 = !{!"_ZTSN4juce15TextInputTarget19VirtualKeyboardTypeE", !15, i64 0}
!108 = !{!"_ZTSN4juce10TextEditorUt_E", !15, i64 0}
!109 = !{!"_ZTSN4juce12ListenerListINS_10TextEditor8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !110, i64 0}
!110 = !{!"_ZTSN4juce5ArrayIPNS_10TextEditor8ListenerENS_20DummyCriticalSectionELi0EEE", !111, i64 0, !18, i64 16}
!111 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_10TextEditor8ListenerENS_20DummyCriticalSectionEEE", !112, i64 0, !18, i64 8}
!112 = !{!"_ZTSN4juce9HeapBlockIPNS_10TextEditor8ListenerELb0EEE", !14, i64 0}
!113 = !{!"_ZTSN4juce5ArrayINS_5RangeIiEENS_20DummyCriticalSectionELi0EEE", !114, i64 0, !18, i64 16}
!114 = !{!"_ZTSN4juce19ArrayAllocationBaseINS_5RangeIiEENS_20DummyCriticalSectionEEE", !115, i64 0, !18, i64 8}
!115 = !{!"_ZTSN4juce9HeapBlockINS_5RangeIiEELb0EEE", !14, i64 0}
!116 = !{!"_ZTSN4juce5LabelE", !10, i64 0, !55, i64 200, !39, i64 216, !117, i64 224, !58, i64 232, !67, i64 240, !12, i64 272, !97, i64 280, !118, i64 288, !119, i64 296, !120, i64 304, !124, i64 328, !84, i64 336, !74, i64 352, !107, i64 356, !73, i64 360, !73, i64 361, !73, i64 362, !73, i64 363}
!117 = !{!"_ZTSN4juce17ComponentListenerE"}
!118 = !{!"_ZTSN4juce13JustificationE", !18, i64 0}
!119 = !{!"_ZTSN4juce13ScopedPointerINS_10TextEditorEEE", !14, i64 0}
!120 = !{!"_ZTSN4juce12ListenerListINS_5Label8ListenerENS_5ArrayIPS2_NS_20DummyCriticalSectionELi0EEEEE", !121, i64 0}
!121 = !{!"_ZTSN4juce5ArrayIPNS_5Label8ListenerENS_20DummyCriticalSectionELi0EEE", !122, i64 0, !18, i64 16}
!122 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_5Label8ListenerENS_20DummyCriticalSectionEEE", !123, i64 0, !18, i64 8}
!123 = !{!"_ZTSN4juce9HeapBlockIPNS_5Label8ListenerELb0EEE", !14, i64 0}
!124 = !{!"_ZTSN4juce13WeakReferenceINS_9ComponentENS_22ReferenceCountedObjectEEE", !37, i64 0}
!125 = !{!"_ZTSN4juce13ScopedPointerINS_6ButtonEEE", !14, i64 0}
!126 = !{!"_ZTSN4juce15TimeSliceThreadE", !127, i64 0, !128, i64 288, !128, i64 328, !131, i64 368, !14, i64 392}
!127 = !{!"_ZTSN4juce6ThreadE", !12, i64 8, !14, i64 16, !14, i64 24, !128, i64 32, !129, i64 72, !129, i64 168, !18, i64 264, !130, i64 272, !18, i64 280, !73, i64 284}
!128 = !{!"_ZTSN4juce15CriticalSectionE", !15, i64 0}
!129 = !{!"_ZTSN4juce13WaitableEventE", !15, i64 0, !15, i64 48, !73, i64 88, !73, i64 89}
!130 = !{!"long", !15, i64 0}
!131 = !{!"_ZTSN4juce5ArrayIPNS_15TimeSliceClientENS_20DummyCriticalSectionELi0EEE", !132, i64 0, !18, i64 16}
!132 = !{!"_ZTSN4juce19ArrayAllocationBaseIPNS_15TimeSliceClientENS_20DummyCriticalSectionEEE", !133, i64 0, !18, i64 8}
!133 = !{!"_ZTSN4juce9HeapBlockIPNS_15TimeSliceClientELb0EEE", !14, i64 0}
!134 = !{!9, !18, i64 296}
!135 = !{!9, !14, i64 368}
!136 = !{!9, !73, i64 2136}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,SROAPass,SimplifyCFGPass,TailCallElimPass