Skip to content

Instantly share code, notes, and snippets.

@eddyb

eddyb/layout.ll Secret

Created July 28, 2016 19:38
Show Gist options
  • Select an option

  • Save eddyb/a19ce2c1e8914cf0a99540be6af33b3d to your computer and use it in GitHub Desktop.

Select an option

Save eddyb/a19ce2c1e8914cf0a99540be6af33b3d to your computer and use it in GitHub Desktop.
; Function Attrs: uwtable
define void @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$8fragment17h6bc80031e2334b7cE"(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* noalias nocapture sret dereferenceable(16), %"block::BlockFlow"* dereferenceable(560), %"context::LayoutContext"* noalias readonly dereferenceable(16), %"2.core::option::Option<flow::FragmentationContext>"* noalias nocapture dereferenceable(12)) unnamed_addr #0 personality i32 (i32, i32, i64, %"8.unwind::libunwind::_Unwind_Exception"*, %"8.unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !53443 {
entry-block:
%this.i499 = alloca %"block::BlockFlow"*
call void @llvm.dbg.declare(metadata %"block::BlockFlow"** %this.i499, metadata !154809, metadata !58571), !dbg !154810
%obj.i500 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i500, metadata !154816, metadata !58571), !dbg !154819
%4 = alloca i64
%sret_slot.i498 = alloca i64
%this.i434.i36 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i434.i36, metadata !152315, metadata !58571), !dbg !154820
%obj.i435.i37 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i435.i37, metadata !152319, metadata !58571), !dbg !154824
%self.i.i38 = alloca %"fragment::Fragment"*
call void @llvm.dbg.declare(metadata %"fragment::Fragment"** %self.i.i38, metadata !153256, metadata !58571), !dbg !154825
%overloaded_deref.i.i39 = alloca %"112.style::properties::ComputedValues"*
%this.i432.i40 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i432.i40, metadata !152315, metadata !58571), !dbg !154827
%obj.i433.i41 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i433.i41, metadata !152319, metadata !58571), !dbg !154829
%this.i430.i42 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i430.i42, metadata !152315, metadata !58571), !dbg !154830
%obj.i431.i43 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i431.i43, metadata !152319, metadata !58571), !dbg !154832
%this.i428.i44 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i428.i44, metadata !152315, metadata !58571), !dbg !154833
%obj.i429.i45 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i429.i45, metadata !152319, metadata !58571), !dbg !154835
%this.i426.i46 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i426.i46, metadata !152089, metadata !58571), !dbg !154836
%obj.i427.i47 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i427.i47, metadata !152093, metadata !58571), !dbg !154838
%this.i424.i48 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i424.i48, metadata !152089, metadata !58571), !dbg !154839
%obj.i425.i49 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i425.i49, metadata !152093, metadata !58571), !dbg !154841
%this.i422.i50 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i422.i50, metadata !152089, metadata !58571), !dbg !154842
%obj.i423.i51 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i423.i51, metadata !152093, metadata !58571), !dbg !154844
%this.i420.i52 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i420.i52, metadata !152089, metadata !58571), !dbg !154845
%obj.i421.i53 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i421.i53, metadata !152093, metadata !58571), !dbg !154847
%this.i418.i54 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i418.i54, metadata !152089, metadata !58571), !dbg !154848
%obj.i419.i55 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i419.i55, metadata !152093, metadata !58571), !dbg !154850
%this.i416.i56 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i416.i56, metadata !152315, metadata !58571), !dbg !154851
%obj.i417.i57 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i417.i57, metadata !152319, metadata !58571), !dbg !154853
%this.i414.i58 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i414.i58, metadata !152089, metadata !58571), !dbg !154854
%obj.i415.i59 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i415.i59, metadata !152093, metadata !58571), !dbg !154856
%this.i412.i60 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i412.i60, metadata !152315, metadata !58571), !dbg !154857
%obj.i413.i61 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i413.i61, metadata !152319, metadata !58571), !dbg !154859
%this.i410.i62 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i410.i62, metadata !152315, metadata !58571), !dbg !154860
%obj.i411.i63 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i411.i63, metadata !152319, metadata !58571), !dbg !154862
%this.i408.i64 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i408.i64, metadata !152089, metadata !58571), !dbg !154863
%obj.i409.i65 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i409.i65, metadata !152093, metadata !58571), !dbg !154865
%this.i406.i66 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i406.i66, metadata !152315, metadata !58571), !dbg !154866
%obj.i407.i67 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i407.i67, metadata !152319, metadata !58571), !dbg !154868
%this.i404.i68 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i404.i68, metadata !152089, metadata !58571), !dbg !154869
%obj.i405.i69 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i405.i69, metadata !152093, metadata !58571), !dbg !154871
%this.i402.i70 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i402.i70, metadata !152315, metadata !58571), !dbg !154872
%obj.i403.i71 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i403.i71, metadata !152319, metadata !58571), !dbg !154874
%this.i400.i72 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i400.i72, metadata !152089, metadata !58571), !dbg !154875
%obj.i401.i73 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i401.i73, metadata !152093, metadata !58571), !dbg !154877
%this.i398.i74 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i398.i74, metadata !152089, metadata !58571), !dbg !154878
%obj.i399.i75 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i399.i75, metadata !152093, metadata !58571), !dbg !154880
%this.i.i76 = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i.i76, metadata !152089, metadata !58571), !dbg !154881
%obj.i.i77 = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i.i77, metadata !152093, metadata !58571), !dbg !154883
%dropflag_hint_4420.i78 = alloca i8
%dropflag_hint_4634.i79 = alloca i8
%dropflag_hint_4377.i80 = alloca i8
%dropflag_hint_4536.i81 = alloca i8
%self.i82 = alloca %"block::BlockFlow"*
call void @llvm.dbg.declare(metadata %"block::BlockFlow"** %self.i82, metadata !153578, metadata !58571), !dbg !154884
%layout_context.i83 = alloca %"context::LayoutContext"*
call void @llvm.dbg.declare(metadata %"context::LayoutContext"** %layout_context.i83, metadata !153580, metadata !58571), !dbg !154885
%fragmentation_context.i84 = alloca %"2.core::option::Option<flow::FragmentationContext>"
call void @llvm.dbg.declare(metadata %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i84, metadata !153582, metadata !58571), !dbg !154886
%margins_may_collapse.i85 = alloca i8
call void @llvm.dbg.declare(metadata i8* %margins_may_collapse.i85, metadata !153584, metadata !58571), !dbg !154887
%_scope.i86 = alloca %"layout_debug::Scope"
call void @llvm.dbg.declare(metadata %"layout_debug::Scope"* %_scope.i86, metadata !153598, metadata !58571), !dbg !154888
%5 = alloca %"3.std::string::String"
%6 = alloca %"2.core::fmt::Arguments"
%7 = alloca { %str_slice*, i64 }
%8 = alloca { i64* }
%9 = alloca i64
%addr_of.i87 = alloca i64
%match.i88 = alloca { i64* }
%__llmatch.i89 = alloca i64**
%__arg0.i90 = alloca i64*
call void @llvm.dbg.declare(metadata i64** %__arg0.i90, metadata !153590, metadata !58571), !dbg !154889
%__coerce_target.i91 = alloca { %"2.core::fmt::ArgumentV1"*, i64 }
%abi_cast.i92 = alloca i8
%break_at.i93 = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
call void @llvm.dbg.declare(metadata %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93, metadata !153601, metadata !58571), !dbg !154890
%10 = alloca i8
%to_ref.i94 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%11 = alloca { i8*, i32 }
%cur_b.i95 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %cur_b.i95, metadata !153606, metadata !58571), !dbg !154891
%12 = alloca i8
%to_ref2.i96 = alloca %"flow::FlowFlags"
%13 = alloca i8
%14 = alloca %"floats::Floats"
%overloaded_deref.i97 = alloca %"112.style::properties::ComputedValues"*
%to_ref7.i98 = alloca %"112.style::logical_geometry::WritingMode"
%margin_collapse_info.i99 = alloca %"model::MarginCollapseInfo"
call void @llvm.dbg.declare(metadata %"model::MarginCollapseInfo"* %margin_collapse_info.i99, metadata !153612, metadata !58571), !dbg !154892
%writing_mode.i100 = alloca %"112.style::logical_geometry::WritingMode"
call void @llvm.dbg.declare(metadata %"112.style::logical_geometry::WritingMode"* %writing_mode.i100, metadata !153614, metadata !58571), !dbg !154893
%15 = alloca %"112.style::logical_geometry::LogicalSize<app_units::Au>"
%to_ref10.i101 = alloca %"112.style::logical_geometry::WritingMode"
%16 = alloca %"33.app_units::Au"
%17 = alloca %"33.app_units::Au"
%abi_cast12.i102 = alloca i32
%to_ref13.i103 = alloca %"33.app_units::Au"
%abi_cast15.i104 = alloca i32
%to_ref16.i105 = alloca %"33.app_units::Au"
%to_ref17.i106 = alloca %"33.app_units::Au"
%block_start_offset.i107 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %block_start_offset.i107, metadata !153618, metadata !58571), !dbg !154894
%to_ref20.i108 = alloca %"33.app_units::Au"
%can_collapse_block_start_margin_with_kids.i109 = alloca i8
call void @llvm.dbg.declare(metadata i8* %can_collapse_block_start_margin_with_kids.i109, metadata !153622, metadata !58571), !dbg !154895
%18 = alloca i8
%19 = alloca i8
%to_ref25.i110 = alloca %"flow::FlowFlags"
%20 = alloca i8
%floats.i111 = alloca %"floats::Floats"
call void @llvm.dbg.declare(metadata %"floats::Floats"* %floats.i111, metadata !153629, metadata !58571), !dbg !154896
%thread_id.i112 = alloca i8
call void @llvm.dbg.declare(metadata i8* %thread_id.i112, metadata !153631, metadata !58571), !dbg !154897
%let.i113 = alloca { i8, i8 }
%had_floated_children.i114 = alloca i8
call void @llvm.dbg.declare(metadata i8* %had_floated_children.i114, metadata !153632, metadata !58571), !dbg !154898
%had_children_with_clearance.i115 = alloca i8
call void @llvm.dbg.declare(metadata i8* %had_children_with_clearance.i115, metadata !153634, metadata !58571), !dbg !154898
%_result.i116 = alloca {}
call void @llvm.dbg.declare(metadata {}* %_result.i116, metadata !153778, metadata !58571), !dbg !154899
%21 = alloca %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"
%22 = alloca %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"
%23 = alloca %"flow_list::MutFlowListIterator"
%iter.i117 = alloca %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"*
call void @llvm.dbg.declare(metadata %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"** %iter.i117, metadata !153637, metadata !58619), !dbg !154900
%24 = alloca %"2.core::option::Option<(usize, &mut flow::Flow)>"
%__llmatch39.i118 = alloca i64*
%child_index.i119 = alloca i64
call void @llvm.dbg.declare(metadata i64* %child_index.i119, metadata !153640, metadata !58571), !dbg !154901
%kid.i120 = alloca { i8*, void (i8*)** }*
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }** %kid.i120, metadata !153642, metadata !58619), !dbg !154901
%25 = alloca i8
%26 = alloca %"flow::BaseFlow"*
%auto_deref.i121 = alloca %"flow::BaseFlow"*
%to_ref43.i122 = alloca %"flow::FlowFlags"
%27 = alloca i8
%28 = alloca %"flow::BaseFlow"*
%auto_deref46.i123 = alloca %"flow::BaseFlow"*
%to_ref47.i124 = alloca %"flow::FlowFlags"
%29 = alloca %"33.app_units::Au"
%30 = alloca %"33.app_units::Au"
%31 = alloca %"flow::BaseFlow"*
%auto_deref50.i125 = alloca %"flow::BaseFlow"*
%abi_cast52.i126 = alloca i32
%to_ref53.i127 = alloca %"33.app_units::Au"
%to_ref54.i128 = alloca %"33.app_units::Au"
%abi_cast56.i129 = alloca i32
%32 = alloca %"flow::BaseFlow"*
%auto_deref58.i130 = alloca %"flow::BaseFlow"*
%33 = alloca i8
%34 = alloca %"flow::BaseFlow"*
%auto_deref62.i131 = alloca %"flow::BaseFlow"*
%previous_b.i132 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %previous_b.i132, metadata !153666, metadata !58571), !dbg !154902
%__llmatch68.i133 = alloca %"flow::FragmentationContext"*
%ctx.i134 = alloca %"flow::FragmentationContext"
call void @llvm.dbg.declare(metadata %"flow::FragmentationContext"* %ctx.i134, metadata !153667, metadata !58571), !dbg !154903
%child_ctx.i135 = alloca %"flow::FragmentationContext"
call void @llvm.dbg.declare(metadata %"flow::FragmentationContext"* %child_ctx.i135, metadata !153673, metadata !58571), !dbg !154904
%to_ref72.i136 = alloca %"33.app_units::Au"
%to_ref73.i137 = alloca %"33.app_units::Au"
%abi_cast75.i138 = alloca i32
%35 = alloca %"2.core::option::Option<std::sync::Arc<flow::Flow>>"
%36 = alloca %"2.core::option::Option<flow::FragmentationContext>"
%remaining.i139 = alloca %"5.std::sync::Arc<flow::Flow>"*
call void @llvm.dbg.declare(metadata %"5.std::sync::Arc<flow::Flow>"** %remaining.i139, metadata !153676, metadata !58619), !dbg !154905
%37 = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
%temp.i140 = alloca {}
%temp89.i141 = alloca {}
%38 = alloca %"floats::Floats"
%39 = alloca %"flow::BaseFlow"*
%auto_deref93.i142 = alloca %"flow::BaseFlow"*
%40 = alloca i8
%41 = alloca %"flow::BaseFlow"*
%auto_deref95.i143 = alloca %"flow::BaseFlow"*
%42 = alloca %"flow::BaseFlow"*
%auto_deref98.i144 = alloca %"flow::BaseFlow"*
%kid_block.i145 = alloca %"block::BlockFlow"*
call void @llvm.dbg.declare(metadata %"block::BlockFlow"** %kid_block.i145, metadata !153693, metadata !58571), !dbg !154906
%float_ceiling.i146 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %float_ceiling.i146, metadata !153695, metadata !58571), !dbg !154907
%abi_cast101.i147 = alloca i32
%43 = alloca %"block::FloatedBlockInfo"**
%44 = alloca i8*
%auto_deref104.i148 = alloca %"block::FloatedBlockInfo"**
%kid_base.i149 = alloca %"flow::BaseFlow"*
call void @llvm.dbg.declare(metadata %"flow::BaseFlow"** %kid_base.i149, metadata !153701, metadata !58571), !dbg !154908
%45 = alloca %"floats::Floats"
%46 = alloca i8
%47 = alloca %"flow::BaseFlow"*
%auto_deref112.i150 = alloca %"flow::BaseFlow"*
%48 = alloca %"floats::Floats"
%overloaded_deref114.i151 = alloca %"112.style::properties::ComputedValues"*
%to_ref116.i152 = alloca %"112.style::logical_geometry::WritingMode"
%49 = alloca %"flow::BaseFlow"*
%auto_deref119.i153 = alloca %"flow::BaseFlow"*
%need_to_process_child_floats.i154 = alloca i8
call void @llvm.dbg.declare(metadata i8* %need_to_process_child_floats.i154, metadata !153712, metadata !58571), !dbg !154909
%50 = alloca i8
%51 = alloca i8
%52 = alloca %"flow::BaseFlow"*
%auto_deref128.i155 = alloca %"flow::BaseFlow"*
%to_ref129.i156 = alloca %"flow::FlowFlags"
%53 = alloca i8
%54 = alloca %"flow::BaseFlow"*
%auto_deref134.i157 = alloca %"flow::BaseFlow"*
%to_ref135.i158 = alloca %"flow::FlowFlags"
%delta.i159 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta.i159, metadata !153729, metadata !58571), !dbg !154910
%55 = alloca %"flow::BaseFlow"*
%auto_deref139.i160 = alloca %"flow::BaseFlow"*
%abi_cast141.i161 = alloca i32
%to_ref142.i162 = alloca %"33.app_units::Au"
%clearance.i163 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %clearance.i163, metadata !153745, metadata !58571), !dbg !154911
%56 = alloca { i8, i8 }
%57 = alloca %"flow::BaseFlow"*
%auto_deref145.i164 = alloca %"flow::BaseFlow"*
%to_ref146.i165 = alloca %"flow::FlowFlags"
%58 = alloca %"flow::BaseFlow"*
%auto_deref149.i166 = alloca %"flow::BaseFlow"*
%to_ref150.i167 = alloca %"flow::FlowFlags"
%match152.i168 = alloca { i8, i8 }
%abi_cast168.i169 = alloca i32
%abi_cast170.i170 = alloca i32
%abi_cast172.i171 = alloca i32
%to_ref174.i172 = alloca %"33.app_units::Au"
%59 = alloca %"flow::BaseFlow"*
%auto_deref177.i173 = alloca %"flow::BaseFlow"*
%60 = alloca %"floats::Floats"
%61 = alloca %"flow::BaseFlow"*
%auto_deref179.i174 = alloca %"flow::BaseFlow"*
%kid_base182.i175 = alloca %"flow::BaseFlow"*
call void @llvm.dbg.declare(metadata %"flow::BaseFlow"** %kid_base182.i175, metadata !153757, metadata !58571), !dbg !154912
%62 = alloca %"33.app_units::Au"
%to_ref184.i176 = alloca %"33.app_units::Au"
%to_ref185.i177 = alloca %"33.app_units::Au"
%abi_cast187.i178 = alloca i32
%delta188.i179 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta188.i179, metadata !153761, metadata !58571), !dbg !154913
%abi_cast190.i180 = alloca i32
%to_ref191.i181 = alloca %"33.app_units::Au"
%63 = alloca i8
%ctx199.i182 = alloca %"flow::FragmentationContext"*
call void @llvm.dbg.declare(metadata %"flow::FragmentationContext"** %ctx199.i182, metadata !153767, metadata !58571), !dbg !154914
%64 = alloca i8
%65 = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
%temp209.i183 = alloca {}
%can_collapse_block_end_margin_with_kids.i184 = alloca i8
call void @llvm.dbg.declare(metadata i8* %can_collapse_block_end_margin_with_kids.i184, metadata !153781, metadata !58571), !dbg !154915
%66 = alloca i8
%67 = alloca i8
%to_ref217.i185 = alloca %"flow::FlowFlags"
%68 = alloca i8
%69 = alloca { %"model::CollapsibleMargins", %"33.app_units::Au" }
%arg.i186 = alloca %"model::MarginCollapseInfo"
%to_ref222.i187 = alloca %"2.core::option::Option<app_units::Au>"
%collapsible_margins.i188 = alloca %"model::CollapsibleMargins"
call void @llvm.dbg.declare(metadata %"model::CollapsibleMargins"* %collapsible_margins.i188, metadata !153789, metadata !58571), !dbg !154916
%delta226.i189 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta226.i189, metadata !153791, metadata !58571), !dbg !154916
%to_ref227.i190 = alloca %"33.app_units::Au"
%block_size.i191 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %block_size.i191, metadata !153795, metadata !58571), !dbg !154917
%to_ref231.i192 = alloca %"33.app_units::Au"
%to_ref232.i193 = alloca %"33.app_units::Au"
%abi_cast234.i194 = alloca i32
%is_root.i195 = alloca i8
call void @llvm.dbg.declare(metadata i8* %is_root.i195, metadata !153797, metadata !58571), !dbg !154918
%70 = alloca i8
%71 = alloca i8
%autoref.i196 = alloca i8
%72 = alloca i8
%to_ref246.i197 = alloca %"flow::FlowFlags"
%73 = alloca %"33.app_units::Au"
%74 = alloca %"33.app_units::Au"
%abi_cast249.i198 = alloca i32
%to_ref250.i199 = alloca %"33.app_units::Au"
%to_ref251.i200 = alloca %"33.app_units::Au"
%abi_cast253.i201 = alloca i32
%75 = alloca i8
%to_ref255.i202 = alloca %"flow::FlowFlags"
%viewport_size.i203 = alloca %"112.style::logical_geometry::LogicalSize<app_units::Au>"
call void @llvm.dbg.declare(metadata %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %viewport_size.i203, metadata !153808, metadata !58571), !dbg !154919
%overloaded_deref257.i204 = alloca %"112.style::properties::ComputedValues"*
%to_ref259.i205 = alloca %"112.style::logical_geometry::WritingMode"
%76 = alloca %"112.style::context::SharedStyleContext"*
%auto_deref261.i206 = alloca %"112.style::context::SharedStyleContext"*
%to_ref262.i207 = alloca %"35.euclid::Size2D<app_units::Au>"
%77 = alloca %"33.app_units::Au"
%to_ref264.i208 = alloca %"33.app_units::Au"
%to_ref265.i209 = alloca %"33.app_units::Au"
%abi_cast267.i210 = alloca i32
%_result270.i211 = alloca {}
call void @llvm.dbg.declare(metadata {}* %_result270.i211, metadata !153830, metadata !58571), !dbg !154920
%78 = alloca %"flow_list::MutFlowListIterator"
%79 = alloca %"flow_list::MutFlowListIterator"
%iter274.i212 = alloca %"flow_list::MutFlowListIterator"*
call void @llvm.dbg.declare(metadata %"flow_list::MutFlowListIterator"** %iter274.i212, metadata !153813, metadata !58619), !dbg !154921
%80 = alloca %"2.core::option::Option<&mut flow::Flow>"
%kid279.i213 = alloca { i8*, void (i8*)** }*
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }** %kid279.i213, metadata !153816, metadata !58619), !dbg !154922
%81 = alloca %"flow::EarlyAbsolutePositionInfo"
%82 = alloca %"112.style::logical_geometry::LogicalRect<app_units::Au>"
%83 = alloca %"112.style::properties::ComputedValues"*
%auto_deref286.i214 = alloca %"112.style::properties::ComputedValues"*
%84 = alloca %"flow::BaseFlow"*
%auto_deref288.i215 = alloca %"flow::BaseFlow"*
%85 = alloca i8
%to_ref291.i216 = alloca %"flow::FlowFlags"
%candidate_block_size_iterator.i217 = alloca %"block::CandidateBSizeIterator"
call void @llvm.dbg.declare(metadata %"block::CandidateBSizeIterator"* %candidate_block_size_iterator.i217, metadata !153837, metadata !58571), !dbg !154923
%to_ref296.i218 = alloca %"2.core::option::Option<app_units::Au>"
%86 = alloca %"2.core::option::Option<model::MaybeAuto>"
%__llmatch304.i219 = alloca %"model::MaybeAuto"*
%candidate_block_size.i220 = alloca %"model::MaybeAuto"
call void @llvm.dbg.declare(metadata %"model::MaybeAuto"* %candidate_block_size.i220, metadata !153844, metadata !58571), !dbg !154924
%87 = alloca %"33.app_units::Au"
%__llmatch310.i221 = alloca %"33.app_units::Au"*
%value.i222 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %value.i222, metadata !153852, metadata !58571), !dbg !154925
%delta316.i223 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta316.i223, metadata !153856, metadata !58571), !dbg !154926
%88 = alloca %"33.app_units::Au"
%to_ref317.i224 = alloca %"33.app_units::Au"
%to_ref318.i225 = alloca %"33.app_units::Au"
%abi_cast320.i226 = alloca i32
%to_ref321.i227 = alloca %"33.app_units::Au"
%to_ref322.i228 = alloca %"33.app_units::Au"
%abi_cast324.i229 = alloca i32
%to_ref325.i230 = alloca %"33.app_units::Au"
%block_end_offset.i231 = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %block_end_offset.i231, metadata !153859, metadata !58571), !dbg !154927
%to_ref329.i232 = alloca %"33.app_units::Au"
%89 = alloca i8
%to_ref333.i233 = alloca %"flow::FlowFlags"
%90 = alloca %"112.style::logical_geometry::LogicalSize<app_units::Au>"
%to_ref336.i234 = alloca %"112.style::logical_geometry::WritingMode"
%91 = alloca %"33.app_units::Au"
%abi_cast338.i235 = alloca i32
%to_ref339.i236 = alloca %"33.app_units::Au"
%to_ref340.i237 = alloca %"33.app_units::Au"
%92 = alloca %"floats::Floats"
%93 = alloca %"112.style::context::SharedStyleContext"*
%thread_id346.i238 = alloca i8
call void @llvm.dbg.declare(metadata i8* %thread_id346.i238, metadata !153872, metadata !58571), !dbg !154928
%_result347.i239 = alloca {}
call void @llvm.dbg.declare(metadata {}* %_result347.i239, metadata !153887, metadata !58571), !dbg !154929
%94 = alloca %"flow_list::MutFlowListIterator"
%95 = alloca %"flow_list::MutFlowListIterator"
%iter351.i240 = alloca %"flow_list::MutFlowListIterator"*
call void @llvm.dbg.declare(metadata %"flow_list::MutFlowListIterator"** %iter351.i240, metadata !153875, metadata !58619), !dbg !154930
%96 = alloca %"2.core::option::Option<&mut flow::Flow>"
%kid356.i241 = alloca { i8*, void (i8*)** }*
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }** %kid356.i241, metadata !153880, metadata !58619), !dbg !154931
%97 = alloca i8
%__coerce_target365.i242 = alloca { i8*, void (i8*)** }
%__coerce_target367.i243 = alloca { i8*, void (i8*)** }
%98 = alloca %"block::AbsoluteAssignBSizesTraversal"
%addr_of369.i244 = alloca %"block::AbsoluteAssignBSizesTraversal"
%99 = alloca i8
%100 = alloca i8
%101 = alloca i8
%autoref376.i245 = alloca i8
%102 = alloca i8
%to_ref380.i246 = alloca %"flow::FlowFlags"
%103 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref382.i247 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref383.i248 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%abi_cast385.i249 = alloca i8
%to_ref386.i250 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%104 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref388.i251 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref389.i252 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%abi_cast391.i253 = alloca i8
%to_ref392.i254 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%arg395.i255 = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
%105 = alloca %closure.413
%to_ref396.i256 = alloca %closure.413
%this.i = alloca %"block::BlockFlow"*
call void @llvm.dbg.declare(metadata %"block::BlockFlow"** %this.i, metadata !154809, metadata !58571), !dbg !154932
%obj.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i, metadata !154816, metadata !58571), !dbg !154936
%106 = alloca i64
%this.i434.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i434.i, metadata !152315, metadata !58571), !dbg !154937
%obj.i435.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i435.i, metadata !152319, metadata !58571), !dbg !154940
%self.i.i = alloca %"fragment::Fragment"*
call void @llvm.dbg.declare(metadata %"fragment::Fragment"** %self.i.i, metadata !153256, metadata !58571), !dbg !154941
%overloaded_deref.i.i = alloca %"112.style::properties::ComputedValues"*
%this.i432.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i432.i, metadata !152315, metadata !58571), !dbg !154943
%obj.i433.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i433.i, metadata !152319, metadata !58571), !dbg !154945
%this.i430.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i430.i, metadata !152315, metadata !58571), !dbg !154946
%obj.i431.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i431.i, metadata !152319, metadata !58571), !dbg !154948
%this.i428.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i428.i, metadata !152315, metadata !58571), !dbg !154949
%obj.i429.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i429.i, metadata !152319, metadata !58571), !dbg !154951
%this.i426.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i426.i, metadata !152089, metadata !58571), !dbg !154952
%obj.i427.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i427.i, metadata !152093, metadata !58571), !dbg !154954
%this.i424.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i424.i, metadata !152089, metadata !58571), !dbg !154955
%obj.i425.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i425.i, metadata !152093, metadata !58571), !dbg !154957
%this.i422.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i422.i, metadata !152089, metadata !58571), !dbg !154958
%obj.i423.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i423.i, metadata !152093, metadata !58571), !dbg !154960
%this.i420.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i420.i, metadata !152089, metadata !58571), !dbg !154961
%obj.i421.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i421.i, metadata !152093, metadata !58571), !dbg !154963
%this.i418.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i418.i, metadata !152089, metadata !58571), !dbg !154964
%obj.i419.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i419.i, metadata !152093, metadata !58571), !dbg !154966
%this.i416.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i416.i, metadata !152315, metadata !58571), !dbg !154967
%obj.i417.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i417.i, metadata !152319, metadata !58571), !dbg !154969
%this.i414.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i414.i, metadata !152089, metadata !58571), !dbg !154970
%obj.i415.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i415.i, metadata !152093, metadata !58571), !dbg !154972
%this.i412.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i412.i, metadata !152315, metadata !58571), !dbg !154973
%obj.i413.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i413.i, metadata !152319, metadata !58571), !dbg !154975
%this.i410.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i410.i, metadata !152315, metadata !58571), !dbg !154976
%obj.i411.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i411.i, metadata !152319, metadata !58571), !dbg !154978
%this.i408.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i408.i, metadata !152089, metadata !58571), !dbg !154979
%obj.i409.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i409.i, metadata !152093, metadata !58571), !dbg !154981
%this.i406.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i406.i, metadata !152315, metadata !58571), !dbg !154982
%obj.i407.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i407.i, metadata !152319, metadata !58571), !dbg !154984
%this.i404.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i404.i, metadata !152089, metadata !58571), !dbg !154985
%obj.i405.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i405.i, metadata !152093, metadata !58571), !dbg !154987
%this.i402.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i402.i, metadata !152315, metadata !58571), !dbg !154988
%obj.i403.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i403.i, metadata !152319, metadata !58571), !dbg !154990
%this.i400.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i400.i, metadata !152089, metadata !58571), !dbg !154991
%obj.i401.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i401.i, metadata !152093, metadata !58571), !dbg !154993
%this.i398.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i398.i, metadata !152089, metadata !58571), !dbg !154994
%obj.i399.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i399.i, metadata !152093, metadata !58571), !dbg !154996
%this.i.i = alloca { i8*, void (i8*)** }
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }* %this.i.i, metadata !152089, metadata !58571), !dbg !154997
%obj.i.i = alloca %"2.core::raw::TraitObject"*
call void @llvm.dbg.declare(metadata %"2.core::raw::TraitObject"** %obj.i.i, metadata !152093, metadata !58571), !dbg !154999
%dropflag_hint_4420.i = alloca i8
%dropflag_hint_4634.i = alloca i8
%dropflag_hint_4377.i = alloca i8
%dropflag_hint_4536.i = alloca i8
%self.i = alloca %"block::BlockFlow"*
call void @llvm.dbg.declare(metadata %"block::BlockFlow"** %self.i, metadata !153578, metadata !58571), !dbg !155000
%layout_context.i = alloca %"context::LayoutContext"*
call void @llvm.dbg.declare(metadata %"context::LayoutContext"** %layout_context.i, metadata !153580, metadata !58571), !dbg !155001
%fragmentation_context.i = alloca %"2.core::option::Option<flow::FragmentationContext>"
call void @llvm.dbg.declare(metadata %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i, metadata !153582, metadata !58571), !dbg !155002
%margins_may_collapse.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %margins_may_collapse.i, metadata !153584, metadata !58571), !dbg !155003
%_scope.i = alloca %"layout_debug::Scope"
call void @llvm.dbg.declare(metadata %"layout_debug::Scope"* %_scope.i, metadata !153598, metadata !58571), !dbg !155004
%107 = alloca %"3.std::string::String"
%108 = alloca %"2.core::fmt::Arguments"
%109 = alloca { %str_slice*, i64 }
%110 = alloca [1 x %"2.core::fmt::ArgumentV1"]
%111 = alloca { i64* }
%112 = alloca i64
%addr_of.i = alloca i64
%match.i = alloca { i64* }
%__llmatch.i = alloca i64**
%__arg0.i = alloca i64*
call void @llvm.dbg.declare(metadata i64** %__arg0.i, metadata !153590, metadata !58571), !dbg !155005
%__coerce_target.i = alloca { %"2.core::fmt::ArgumentV1"*, i64 }
%abi_cast.i = alloca i8
%break_at.i = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
call void @llvm.dbg.declare(metadata %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i, metadata !153601, metadata !58571), !dbg !155006
%113 = alloca i8
%to_ref.i = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%114 = alloca { i8*, i32 }
%cur_b.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %cur_b.i, metadata !153606, metadata !58571), !dbg !155007
%115 = alloca i8
%to_ref2.i = alloca %"flow::FlowFlags"
%116 = alloca i8
%117 = alloca %"floats::Floats"
%overloaded_deref.i = alloca %"112.style::properties::ComputedValues"*
%to_ref7.i = alloca %"112.style::logical_geometry::WritingMode"
%margin_collapse_info.i = alloca %"model::MarginCollapseInfo"
call void @llvm.dbg.declare(metadata %"model::MarginCollapseInfo"* %margin_collapse_info.i, metadata !153612, metadata !58571), !dbg !155008
%writing_mode.i = alloca %"112.style::logical_geometry::WritingMode"
call void @llvm.dbg.declare(metadata %"112.style::logical_geometry::WritingMode"* %writing_mode.i, metadata !153614, metadata !58571), !dbg !155009
%118 = alloca %"112.style::logical_geometry::LogicalSize<app_units::Au>"
%to_ref10.i = alloca %"112.style::logical_geometry::WritingMode"
%119 = alloca %"33.app_units::Au"
%120 = alloca %"33.app_units::Au"
%abi_cast12.i = alloca i32
%to_ref13.i = alloca %"33.app_units::Au"
%abi_cast15.i = alloca i32
%to_ref16.i = alloca %"33.app_units::Au"
%to_ref17.i = alloca %"33.app_units::Au"
%block_start_offset.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %block_start_offset.i, metadata !153618, metadata !58571), !dbg !155010
%to_ref20.i = alloca %"33.app_units::Au"
%can_collapse_block_start_margin_with_kids.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %can_collapse_block_start_margin_with_kids.i, metadata !153622, metadata !58571), !dbg !155011
%121 = alloca i8
%122 = alloca i8
%to_ref25.i = alloca %"flow::FlowFlags"
%123 = alloca i8
%floats.i = alloca %"floats::Floats"
call void @llvm.dbg.declare(metadata %"floats::Floats"* %floats.i, metadata !153629, metadata !58571), !dbg !155012
%thread_id.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %thread_id.i, metadata !153631, metadata !58571), !dbg !155013
%let.i = alloca { i8, i8 }
%had_floated_children.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %had_floated_children.i, metadata !153632, metadata !58571), !dbg !155014
%had_children_with_clearance.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %had_children_with_clearance.i, metadata !153634, metadata !58571), !dbg !155014
%_result.i = alloca {}
call void @llvm.dbg.declare(metadata {}* %_result.i, metadata !153778, metadata !58571), !dbg !155015
%124 = alloca %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"
%125 = alloca %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"
%126 = alloca %"flow_list::MutFlowListIterator"
%iter.i = alloca %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"*
call void @llvm.dbg.declare(metadata %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"** %iter.i, metadata !153637, metadata !58619), !dbg !155016
%127 = alloca %"2.core::option::Option<(usize, &mut flow::Flow)>"
%__llmatch39.i = alloca i64*
%child_index.i = alloca i64
call void @llvm.dbg.declare(metadata i64* %child_index.i, metadata !153640, metadata !58571), !dbg !155017
%kid.i = alloca { i8*, void (i8*)** }*
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }** %kid.i, metadata !153642, metadata !58619), !dbg !155017
%128 = alloca i8
%129 = alloca %"flow::BaseFlow"*
%auto_deref.i = alloca %"flow::BaseFlow"*
%to_ref43.i = alloca %"flow::FlowFlags"
%130 = alloca i8
%131 = alloca %"flow::BaseFlow"*
%auto_deref46.i = alloca %"flow::BaseFlow"*
%to_ref47.i = alloca %"flow::FlowFlags"
%132 = alloca %"33.app_units::Au"
%133 = alloca %"33.app_units::Au"
%134 = alloca %"flow::BaseFlow"*
%auto_deref50.i = alloca %"flow::BaseFlow"*
%abi_cast52.i = alloca i32
%to_ref53.i = alloca %"33.app_units::Au"
%to_ref54.i = alloca %"33.app_units::Au"
%abi_cast56.i = alloca i32
%135 = alloca %"flow::BaseFlow"*
%auto_deref58.i = alloca %"flow::BaseFlow"*
%136 = alloca i8
%137 = alloca %"flow::BaseFlow"*
%auto_deref62.i = alloca %"flow::BaseFlow"*
%previous_b.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %previous_b.i, metadata !153666, metadata !58571), !dbg !155018
%__llmatch68.i = alloca %"flow::FragmentationContext"*
%ctx.i = alloca %"flow::FragmentationContext"
call void @llvm.dbg.declare(metadata %"flow::FragmentationContext"* %ctx.i, metadata !153667, metadata !58571), !dbg !155019
%child_ctx.i = alloca %"flow::FragmentationContext"
call void @llvm.dbg.declare(metadata %"flow::FragmentationContext"* %child_ctx.i, metadata !153673, metadata !58571), !dbg !155020
%to_ref72.i = alloca %"33.app_units::Au"
%to_ref73.i = alloca %"33.app_units::Au"
%abi_cast75.i = alloca i32
%138 = alloca %"2.core::option::Option<std::sync::Arc<flow::Flow>>"
%139 = alloca %"2.core::option::Option<flow::FragmentationContext>"
%remaining.i = alloca %"5.std::sync::Arc<flow::Flow>"*
call void @llvm.dbg.declare(metadata %"5.std::sync::Arc<flow::Flow>"** %remaining.i, metadata !153676, metadata !58619), !dbg !155021
%140 = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
%temp.i = alloca {}
%temp89.i = alloca {}
%141 = alloca %"floats::Floats"
%142 = alloca %"flow::BaseFlow"*
%auto_deref93.i = alloca %"flow::BaseFlow"*
%143 = alloca i8
%144 = alloca %"flow::BaseFlow"*
%auto_deref95.i = alloca %"flow::BaseFlow"*
%145 = alloca %"flow::BaseFlow"*
%auto_deref98.i = alloca %"flow::BaseFlow"*
%kid_block.i = alloca %"block::BlockFlow"*
call void @llvm.dbg.declare(metadata %"block::BlockFlow"** %kid_block.i, metadata !153693, metadata !58571), !dbg !155022
%float_ceiling.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %float_ceiling.i, metadata !153695, metadata !58571), !dbg !155023
%abi_cast101.i = alloca i32
%146 = alloca %"block::FloatedBlockInfo"**
%147 = alloca i8*
%auto_deref104.i = alloca %"block::FloatedBlockInfo"**
%kid_base.i = alloca %"flow::BaseFlow"*
call void @llvm.dbg.declare(metadata %"flow::BaseFlow"** %kid_base.i, metadata !153701, metadata !58571), !dbg !155024
%148 = alloca %"floats::Floats"
%149 = alloca i8
%150 = alloca %"flow::BaseFlow"*
%auto_deref112.i = alloca %"flow::BaseFlow"*
%151 = alloca %"floats::Floats"
%overloaded_deref114.i = alloca %"112.style::properties::ComputedValues"*
%to_ref116.i = alloca %"112.style::logical_geometry::WritingMode"
%152 = alloca %"flow::BaseFlow"*
%auto_deref119.i = alloca %"flow::BaseFlow"*
%need_to_process_child_floats.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %need_to_process_child_floats.i, metadata !153712, metadata !58571), !dbg !155025
%153 = alloca i8
%154 = alloca i8
%155 = alloca %"flow::BaseFlow"*
%auto_deref128.i = alloca %"flow::BaseFlow"*
%to_ref129.i = alloca %"flow::FlowFlags"
%156 = alloca i8
%157 = alloca %"flow::BaseFlow"*
%auto_deref134.i = alloca %"flow::BaseFlow"*
%to_ref135.i = alloca %"flow::FlowFlags"
%delta.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta.i, metadata !153729, metadata !58571), !dbg !155026
%158 = alloca %"flow::BaseFlow"*
%auto_deref139.i = alloca %"flow::BaseFlow"*
%abi_cast141.i = alloca i32
%to_ref142.i = alloca %"33.app_units::Au"
%clearance.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %clearance.i, metadata !153745, metadata !58571), !dbg !155027
%159 = alloca { i8, i8 }
%160 = alloca %"flow::BaseFlow"*
%auto_deref145.i = alloca %"flow::BaseFlow"*
%to_ref146.i = alloca %"flow::FlowFlags"
%161 = alloca %"flow::BaseFlow"*
%auto_deref149.i = alloca %"flow::BaseFlow"*
%to_ref150.i = alloca %"flow::FlowFlags"
%match152.i = alloca { i8, i8 }
%abi_cast168.i = alloca i32
%abi_cast170.i = alloca i32
%abi_cast172.i = alloca i32
%to_ref174.i = alloca %"33.app_units::Au"
%162 = alloca %"flow::BaseFlow"*
%auto_deref177.i = alloca %"flow::BaseFlow"*
%163 = alloca %"floats::Floats"
%164 = alloca %"flow::BaseFlow"*
%auto_deref179.i = alloca %"flow::BaseFlow"*
%kid_base182.i = alloca %"flow::BaseFlow"*
call void @llvm.dbg.declare(metadata %"flow::BaseFlow"** %kid_base182.i, metadata !153757, metadata !58571), !dbg !155028
%165 = alloca %"33.app_units::Au"
%to_ref184.i = alloca %"33.app_units::Au"
%to_ref185.i = alloca %"33.app_units::Au"
%abi_cast187.i = alloca i32
%delta188.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta188.i, metadata !153761, metadata !58571), !dbg !155029
%abi_cast190.i = alloca i32
%to_ref191.i = alloca %"33.app_units::Au"
%166 = alloca i8
%ctx199.i = alloca %"flow::FragmentationContext"*
call void @llvm.dbg.declare(metadata %"flow::FragmentationContext"** %ctx199.i, metadata !153767, metadata !58571), !dbg !155030
%167 = alloca i8
%168 = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
%temp209.i = alloca {}
%can_collapse_block_end_margin_with_kids.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %can_collapse_block_end_margin_with_kids.i, metadata !153781, metadata !58571), !dbg !155031
%169 = alloca i8
%170 = alloca i8
%to_ref217.i = alloca %"flow::FlowFlags"
%171 = alloca i8
%172 = alloca { %"model::CollapsibleMargins", %"33.app_units::Au" }
%arg.i = alloca %"model::MarginCollapseInfo"
%to_ref222.i = alloca %"2.core::option::Option<app_units::Au>"
%collapsible_margins.i = alloca %"model::CollapsibleMargins"
call void @llvm.dbg.declare(metadata %"model::CollapsibleMargins"* %collapsible_margins.i, metadata !153789, metadata !58571), !dbg !155032
%delta226.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta226.i, metadata !153791, metadata !58571), !dbg !155032
%to_ref227.i = alloca %"33.app_units::Au"
%block_size.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %block_size.i, metadata !153795, metadata !58571), !dbg !155033
%to_ref231.i = alloca %"33.app_units::Au"
%to_ref232.i = alloca %"33.app_units::Au"
%abi_cast234.i = alloca i32
%is_root.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %is_root.i, metadata !153797, metadata !58571), !dbg !155034
%173 = alloca i8
%174 = alloca i8
%autoref.i = alloca i8
%175 = alloca i8
%to_ref246.i = alloca %"flow::FlowFlags"
%176 = alloca %"33.app_units::Au"
%177 = alloca %"33.app_units::Au"
%abi_cast249.i = alloca i32
%to_ref250.i = alloca %"33.app_units::Au"
%to_ref251.i = alloca %"33.app_units::Au"
%abi_cast253.i = alloca i32
%178 = alloca i8
%to_ref255.i = alloca %"flow::FlowFlags"
%viewport_size.i = alloca %"112.style::logical_geometry::LogicalSize<app_units::Au>"
call void @llvm.dbg.declare(metadata %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %viewport_size.i, metadata !153808, metadata !58571), !dbg !155035
%overloaded_deref257.i = alloca %"112.style::properties::ComputedValues"*
%to_ref259.i = alloca %"112.style::logical_geometry::WritingMode"
%179 = alloca %"112.style::context::SharedStyleContext"*
%auto_deref261.i = alloca %"112.style::context::SharedStyleContext"*
%to_ref262.i = alloca %"35.euclid::Size2D<app_units::Au>"
%180 = alloca %"33.app_units::Au"
%to_ref264.i = alloca %"33.app_units::Au"
%to_ref265.i = alloca %"33.app_units::Au"
%abi_cast267.i = alloca i32
%_result270.i = alloca {}
call void @llvm.dbg.declare(metadata {}* %_result270.i, metadata !153830, metadata !58571), !dbg !155036
%181 = alloca %"flow_list::MutFlowListIterator"
%182 = alloca %"flow_list::MutFlowListIterator"
%iter274.i = alloca %"flow_list::MutFlowListIterator"*
call void @llvm.dbg.declare(metadata %"flow_list::MutFlowListIterator"** %iter274.i, metadata !153813, metadata !58619), !dbg !155037
%183 = alloca %"2.core::option::Option<&mut flow::Flow>"
%kid279.i = alloca { i8*, void (i8*)** }*
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }** %kid279.i, metadata !153816, metadata !58619), !dbg !155038
%184 = alloca %"flow::EarlyAbsolutePositionInfo"
%185 = alloca %"112.style::logical_geometry::LogicalRect<app_units::Au>"
%186 = alloca %"112.style::properties::ComputedValues"*
%auto_deref286.i = alloca %"112.style::properties::ComputedValues"*
%187 = alloca %"flow::BaseFlow"*
%auto_deref288.i = alloca %"flow::BaseFlow"*
%188 = alloca i8
%to_ref291.i = alloca %"flow::FlowFlags"
%candidate_block_size_iterator.i = alloca %"block::CandidateBSizeIterator"
call void @llvm.dbg.declare(metadata %"block::CandidateBSizeIterator"* %candidate_block_size_iterator.i, metadata !153837, metadata !58571), !dbg !155039
%to_ref296.i = alloca %"2.core::option::Option<app_units::Au>"
%189 = alloca %"2.core::option::Option<model::MaybeAuto>"
%__llmatch304.i = alloca %"model::MaybeAuto"*
%candidate_block_size.i = alloca %"model::MaybeAuto"
call void @llvm.dbg.declare(metadata %"model::MaybeAuto"* %candidate_block_size.i, metadata !153844, metadata !58571), !dbg !155040
%190 = alloca %"33.app_units::Au"
%__llmatch310.i = alloca %"33.app_units::Au"*
%value.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %value.i, metadata !153852, metadata !58571), !dbg !155041
%delta316.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %delta316.i, metadata !153856, metadata !58571), !dbg !155042
%191 = alloca %"33.app_units::Au"
%to_ref317.i = alloca %"33.app_units::Au"
%to_ref318.i = alloca %"33.app_units::Au"
%abi_cast320.i = alloca i32
%to_ref321.i = alloca %"33.app_units::Au"
%to_ref322.i = alloca %"33.app_units::Au"
%abi_cast324.i = alloca i32
%to_ref325.i = alloca %"33.app_units::Au"
%block_end_offset.i = alloca %"33.app_units::Au"
call void @llvm.dbg.declare(metadata %"33.app_units::Au"* %block_end_offset.i, metadata !153859, metadata !58571), !dbg !155043
%to_ref329.i = alloca %"33.app_units::Au"
%192 = alloca i8
%to_ref333.i = alloca %"flow::FlowFlags"
%193 = alloca %"112.style::logical_geometry::LogicalSize<app_units::Au>"
%to_ref336.i = alloca %"112.style::logical_geometry::WritingMode"
%194 = alloca %"33.app_units::Au"
%abi_cast338.i = alloca i32
%to_ref339.i = alloca %"33.app_units::Au"
%to_ref340.i = alloca %"33.app_units::Au"
%195 = alloca %"floats::Floats"
%196 = alloca %"112.style::context::SharedStyleContext"*
%thread_id346.i = alloca i8
call void @llvm.dbg.declare(metadata i8* %thread_id346.i, metadata !153872, metadata !58571), !dbg !155044
%_result347.i = alloca {}
call void @llvm.dbg.declare(metadata {}* %_result347.i, metadata !153887, metadata !58571), !dbg !155045
%197 = alloca %"flow_list::MutFlowListIterator"
%198 = alloca %"flow_list::MutFlowListIterator"
%iter351.i = alloca %"flow_list::MutFlowListIterator"*
call void @llvm.dbg.declare(metadata %"flow_list::MutFlowListIterator"** %iter351.i, metadata !153875, metadata !58619), !dbg !155046
%199 = alloca %"2.core::option::Option<&mut flow::Flow>"
%kid356.i = alloca { i8*, void (i8*)** }*
call void @llvm.dbg.declare(metadata { i8*, void (i8*)** }** %kid356.i, metadata !153880, metadata !58619), !dbg !155047
%200 = alloca i8
%__coerce_target365.i = alloca { i8*, void (i8*)** }
%__coerce_target367.i = alloca { i8*, void (i8*)** }
%201 = alloca %"block::AbsoluteAssignBSizesTraversal"
%addr_of369.i = alloca %"block::AbsoluteAssignBSizesTraversal"
%202 = alloca i8
%203 = alloca i8
%204 = alloca i8
%autoref376.i = alloca i8
%205 = alloca i8
%to_ref380.i = alloca %"flow::FlowFlags"
%206 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref382.i = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref383.i = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%abi_cast385.i = alloca i8
%to_ref386.i = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%207 = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref388.i = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%to_ref389.i = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%abi_cast391.i = alloca i8
%to_ref392.i = alloca %"118.script_layout_interface::restyle_damage::RestyleDamage"
%arg395.i = alloca %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"
%208 = alloca %closure.413
%to_ref396.i = alloca %closure.413
%sret_slot.i = alloca i64
%dropflag_hint_7792 = alloca i8
%self = alloca %"block::BlockFlow"*
%layout_context = alloca %"context::LayoutContext"*
%fragmentation_context = alloca %"2.core::option::Option<flow::FragmentationContext>"
%209 = alloca i8
%_scope = alloca %"layout_debug::Scope"
%210 = alloca %"3.std::string::String"
%211 = alloca %"2.core::fmt::Arguments"
%212 = alloca { %str_slice*, i64 }
%213 = alloca [1 x %"2.core::fmt::ArgumentV1"]
%214 = alloca { i64* }
%215 = alloca i64
%addr_of = alloca i64
%216 = bitcast i64* %addr_of to i8*
call void @llvm.memset.p0i8.i64(i8* %216, i8 29, i64 8, i32 8, i1 false)
%match = alloca { i64* }
%217 = bitcast { i64* }* %match to i8*
call void @llvm.memset.p0i8.i64(i8* %217, i8 29, i64 8, i32 8, i1 false)
%__llmatch = alloca i64**
%__arg0 = alloca i64*
%__coerce_target = alloca { %"2.core::fmt::ArgumentV1"*, i64 }
%abi_cast = alloca i8
%containing_block_block_size = alloca %"2.core::option::Option<app_units::Au>"
%to_ref = alloca %"2.core::option::Option<app_units::Au>"
%218 = alloca { i8*, i32 }
%219 = alloca i8
%to_ref1 = alloca %"flow::FlowFlags"
%220 = alloca i8
%221 = alloca i8
%222 = alloca i8
%autoref = alloca i8
call void @llvm.memset.p0i8.i64(i8* %autoref, i8 29, i64 1, i32 1, i1 false)
%lvl = alloca i64
%223 = alloca i8
%224 = alloca i64
%autoref4 = alloca i64
%225 = bitcast i64* %autoref4 to i8*
call void @llvm.memset.p0i8.i64(i8* %225, i8 29, i64 8, i32 8, i1 false)
%226 = alloca i8
%227 = alloca i64
%autoref7 = alloca i64
%228 = bitcast i64* %autoref7 to i8*
call void @llvm.memset.p0i8.i64(i8* %228, i8 29, i64 8, i32 8, i1 false)
%229 = alloca %"2.core::fmt::Arguments"
%230 = alloca { %str_slice*, i64 }
%231 = alloca [1 x %"2.core::fmt::ArgumentV1"]
%232 = alloca { i64* }
%233 = alloca i64
%234 = alloca %"flow::BaseFlow"*
%addr_of8 = alloca i64
%235 = bitcast i64* %addr_of8 to i8*
call void @llvm.memset.p0i8.i64(i8* %235, i8 29, i64 8, i32 8, i1 false)
%match9 = alloca { i64* }
%236 = bitcast { i64* }* %match9 to i8*
call void @llvm.memset.p0i8.i64(i8* %236, i8 29, i64 8, i32 8, i1 false)
%__llmatch11 = alloca i64**
%__arg012 = alloca i64*
%__coerce_target14 = alloca { %"2.core::fmt::ArgumentV1"*, i64 }
%arg = alloca %"2.core::option::Option<flow::FragmentationContext>"
%lvl17 = alloca i64
%237 = alloca i8
%238 = alloca i64
%autoref18 = alloca i64
%239 = bitcast i64* %autoref18 to i8*
call void @llvm.memset.p0i8.i64(i8* %239, i8 29, i64 8, i32 8, i1 false)
%240 = alloca i8
%241 = alloca i64
%autoref21 = alloca i64
%242 = bitcast i64* %autoref21 to i8*
call void @llvm.memset.p0i8.i64(i8* %242, i8 29, i64 8, i32 8, i1 false)
%243 = alloca %"2.core::fmt::Arguments"
%244 = alloca { %str_slice*, i64 }
%245 = alloca [1 x %"2.core::fmt::ArgumentV1"]
%246 = alloca { i64* }
%247 = alloca i64
%248 = alloca %"flow::BaseFlow"*
%addr_of22 = alloca i64
%249 = bitcast i64* %addr_of22 to i8*
call void @llvm.memset.p0i8.i64(i8* %249, i8 29, i64 8, i32 8, i1 false)
%match23 = alloca { i64* }
%250 = bitcast { i64* }* %match23 to i8*
call void @llvm.memset.p0i8.i64(i8* %250, i8 29, i64 8, i32 8, i1 false)
%__llmatch25 = alloca i64**
%__arg026 = alloca i64*
%__coerce_target28 = alloca { %"2.core::fmt::ArgumentV1"*, i64 }
%arg30 = alloca %"2.core::option::Option<flow::FragmentationContext>"
store i8 61, i8* %dropflag_hint_7792
store %"block::BlockFlow"* %1, %"block::BlockFlow"** %self
call void @llvm.dbg.declare(metadata %"block::BlockFlow"** %self, metadata !155048, metadata !58571), !dbg !155049
store %"context::LayoutContext"* %2, %"context::LayoutContext"** %layout_context
call void @llvm.dbg.declare(metadata %"context::LayoutContext"** %layout_context, metadata !155050, metadata !58571), !dbg !155049
%251 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %3 to i8*
%252 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %252, i8* %251, i64 12, i32 4, i1 false)
call void @llvm.dbg.declare(metadata %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context, metadata !155051, metadata !58571), !dbg !155052
%253 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155053, !nonnull !2274
%254 = call zeroext i1 @_ZN6layout5block9BlockFlow19is_replaced_content17h133115801938d77eE(%"block::BlockFlow"* dereferenceable(560) %253), !dbg !155053
%255 = zext i1 %254 to i8
store i8 %255, i8* %209
%256 = load i8, i8* %209, !dbg !155053, !range !58629
%257 = trunc i8 %256 to i1, !dbg !155053
br i1 %257, label %then-block-7789-, label %else-block, !dbg !155053
then-block-7789-: ; preds = %entry-block
%258 = bitcast { %str_slice*, i64 }* %212 to i8*, !dbg !155054
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %258, i8* bitcast ({ %str_slice*, i64 }* @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$8fragment15__STATIC_FMTSTR17hd71f241642371716E" to i8*), i64 16, i32 8, i1 false), !dbg !155054
%259 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %212, i32 0, i32 0, !dbg !155054
%260 = load %str_slice*, %str_slice** %259, !dbg !155054
%261 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %212, i32 0, i32 1, !dbg !155054
%262 = load i64, i64* %261, !dbg !155054
%263 = getelementptr inbounds { i64* }, { i64* }* %214, i32 0, i32 0
%264 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155058, !nonnull !2274
%265 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %264, i32 0, i32 0
%266 = call i64 @_ZN6layout4flow8BaseFlow8debug_id17hc63621fce9b35166E(%"flow::BaseFlow"* dereferenceable(376) %265), !dbg !155058
store i64 %266, i64* %215
%267 = load i64, i64* %215, !dbg !155058
store i64 %267, i64* %addr_of
store i64* %addr_of, i64** %263
%268 = load { i64* }, { i64* }* %214
store { i64* } %268, { i64* }* %match
%269 = getelementptr inbounds { i64* }, { i64* }* %match, i32 0, i32 0
store i64** %269, i64*** %__llmatch
br label %case_body
case_body: ; preds = %then-block-7789-
%270 = load i64**, i64*** %__llmatch
%271 = load i64*, i64** %270, !nonnull !2274
store i64* %271, i64** %__arg0
call void @llvm.dbg.declare(metadata i64** %__arg0, metadata !155059, metadata !58571), !dbg !155061
%272 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %213, i32 0, i32 0, !dbg !155062
%273 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %272, i32 0, !dbg !155062
%274 = load i64*, i64** %__arg0, !dbg !155063, !nonnull !2274
call void @_ZN4core3fmt10ArgumentV13new17h4178ab5523537880E(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(16) %273, i64* noalias readonly dereferenceable(8) %274, i8 (i64*, %"2.core::fmt::Formatter"*)* @"_ZN4core3fmt3num55_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$usize$GT$3fmt17h30bdb1b1f375cd02E"), !dbg !155064
br label %join
join: ; preds = %case_body
%275 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %213 to %"2.core::fmt::ArgumentV1"*
%276 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 0
store %"2.core::fmt::ArgumentV1"* %275, %"2.core::fmt::ArgumentV1"** %276
%277 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 1
store i64 1, i64* %277
%278 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 0
%279 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %278
%280 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target, i32 0, i32 1
%281 = load i64, i64* %280
call void @_ZN4core3fmt9Arguments6new_v117h72dc8c1ceaa23cafE(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %211, %str_slice* noalias nonnull readonly %260, i64 %262, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %279, i64 %281), !dbg !155065
call void @_ZN11collections3fmt6format17h7ce9e885e67335e3E(%"3.std::string::String"* noalias nocapture sret dereferenceable(24) %210, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(48) %211), !dbg !155065
%282 = call i8 @_ZN6layout12layout_debug5Scope3new17h3e85b85cbf68507fE(%"3.std::string::String"* noalias nocapture dereferenceable(24) %210), !dbg !155066
store i8 %282, i8* %abi_cast
%283 = bitcast %"layout_debug::Scope"* %_scope to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %283, i8* %abi_cast, i64 1, i32 1, i1 false)
call void @llvm.dbg.declare(metadata %"layout_debug::Scope"* %_scope, metadata !155067, metadata !58571), !dbg !155068
%284 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155069, !nonnull !2274
%285 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %284, i32 0, i32 0
%286 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %285, i32 0, i32 14
%287 = bitcast %"2.core::option::Option<app_units::Au>"* %286 to i8*, !dbg !155069
%288 = bitcast %"2.core::option::Option<app_units::Au>"* %containing_block_block_size to i8*, !dbg !155069
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %288, i8* %287, i64 8, i32 4, i1 false), !dbg !155069
call void @llvm.dbg.declare(metadata %"2.core::option::Option<app_units::Au>"* %containing_block_block_size, metadata !155070, metadata !58571), !dbg !155071
%289 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155072, !nonnull !2274
%290 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %289, i32 0, i32 1
%291 = load %"2.core::option::Option<app_units::Au>", %"2.core::option::Option<app_units::Au>"* %containing_block_block_size, !dbg !155072
store %"2.core::option::Option<app_units::Au>" %291, %"2.core::option::Option<app_units::Au>"* %to_ref
%292 = bitcast %"2.core::option::Option<app_units::Au>"* %to_ref to i64*
%293 = load i64, i64* %292, align 4
invoke void @_ZN6layout8fragment8Fragment39assign_replaced_block_size_if_necessary17h0cdd3c465010dab5E(%"fragment::Fragment"* dereferenceable(160) %290, i64 %293)
to label %normal-return unwind label %unwind_ast_7789_, !dbg !155072
normal-return: ; preds = %join
%294 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155073, !nonnull !2274
%295 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %294, i32 0, i32 0
%296 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %295, i32 0, i32 22
%297 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155073
store %"flow::FlowFlags" %297, %"flow::FlowFlags"* %to_ref1
%298 = bitcast %"flow::FlowFlags"* %to_ref1 to i32*
%299 = load i32, i32* %298, align 4
%300 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %296, i32 %299)
to label %normal-return2 unwind label %unwind_ast_7789_, !dbg !155073
unwind_ast_7789_: ; preds = %normal-return, %join
%301 = landingpad { i8*, i32 }
cleanup
store { i8*, i32 } %301, { i8*, i32 }* %218
br label %clean_ast_7789_
resume: ; preds = %clean_ast_7789_
%302 = load { i8*, i32 }, { i8*, i32 }* %218
resume { i8*, i32 } %302
clean_ast_7789_: ; preds = %unwind_ast_7789_
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope), !dbg !155074
br label %resume
normal-return2: ; preds = %normal-return
%303 = zext i1 %300 to i8
store i8 %303, i8* %219
%304 = load i8, i8* %219, !dbg !155073, !range !58629
%305 = trunc i8 %304 to i1, !dbg !155073
%306 = xor i1 %305, true, !dbg !155073
br i1 %306, label %then-block-7851-, label %next-block, !dbg !155073
then-block-7851-: ; preds = %normal-return2
%307 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155075, !nonnull !2274
%308 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %307, i32 0, i32 1
%309 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %308, i32 0, i32 3
%310 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %309, i32 0, i32 1
%311 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %310, i32 0, i32 1
%312 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155075, !nonnull !2274
%313 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %312, i32 0, i32 0
%314 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %313, i32 0, i32 3
%315 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %314, i32 0, i32 1
%316 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %315, i32 0, i32 1
%317 = bitcast %"33.app_units::Au"* %311 to i8*, !dbg !155075
%318 = bitcast %"33.app_units::Au"* %316 to i8*, !dbg !155075
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %318, i8* %317, i64 4, i32 4, i1 false), !dbg !155075
br label %next-block
next-block: ; preds = %normal-return2, %then-block-7851-
%319 = bitcast %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %0 to { { { { { i8*, void (i8*)** } }, {} } } }*, !dbg !155077
%320 = bitcast { { { { { i8*, void (i8*)** } }, {} } } }* %319 to i8*, !dbg !155077
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %320, i8* bitcast ({ { { { { i8*, void (i8*)** } }, {} } } }* @const41463 to i8*), i64 16, i32 8, i1 false), !dbg !155077
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope), !dbg !155074
br label %join32
else-block: ; preds = %entry-block
%321 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155078, !nonnull !2274
%322 = call zeroext i1 @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$7is_root17h2cfbe344e2d71bd7E"(%"block::BlockFlow"* dereferenceable(560) %321), !dbg !155078
%323 = zext i1 %322 to i8
store i8 %323, i8* %220
%324 = load i8, i8* %220, !dbg !155078, !range !58629
%325 = trunc i8 %324 to i1, !dbg !155078
br i1 %325, label %join3, label %before_rhs
join3: ; preds = %before_rhs, %else-block
%326 = phi i1 [ %325, %else-block ], [ %333, %before_rhs ]
br i1 %326, label %then-block-7873-, label %else-block16, !dbg !155078
before_rhs: ; preds = %else-block
%327 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155078, !nonnull !2274
%328 = call i8 @_ZN6layout5block9BlockFlow23formatting_context_type17h993ec10343b05d62E(%"block::BlockFlow"* dereferenceable(560) %327), !dbg !155078
store i8 %328, i8* %222
%329 = load i8, i8* %222, !dbg !155078
store i8 %329, i8* %autoref
%330 = call zeroext i1 @_ZN4core3cmp9PartialEq2ne17h59dcc55cd8056fc9E(i8* noalias readonly dereferenceable(1) %autoref, i8* noalias readonly dereferenceable(1) @const40375), !dbg !155078
%331 = zext i1 %330 to i8
store i8 %331, i8* %221
%332 = load i8, i8* %221, !dbg !155078, !range !58629
%333 = trunc i8 %332 to i1, !dbg !155078
br label %join3
then-block-7873-: ; preds = %join3
%334 = bitcast i64* %lvl to i8*, !dbg !155079
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %334, i8* bitcast (i64* @const40530 to i8*), i64 8, i32 8, i1 false), !dbg !155079
call void @llvm.dbg.declare(metadata i64* %lvl, metadata !155080, metadata !58571), !dbg !155081
%335 = bitcast i64* %sret_slot.i to i8*, !dbg !155082
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %335, i8* bitcast (i64* @const40521 to i8*), i64 8, i32 8, i1 false), !dbg !155082
%336 = load i64, i64* %sret_slot.i, !dbg !155081
store i64 %336, i64* %224
%337 = load i64, i64* %224, !dbg !155081
store i64 %337, i64* %autoref4
%338 = call zeroext i1 @_ZN4core3cmp10PartialOrd2le17h0944830991cd6423E(i64* noalias readonly dereferenceable(8) %lvl, i64* noalias readonly dereferenceable(8) %autoref4), !dbg !155081
%339 = zext i1 %338 to i8
store i8 %339, i8* %223
%340 = load i8, i8* %223, !dbg !155081, !range !58629
%341 = trunc i8 %340 to i1, !dbg !155081
br i1 %341, label %before_rhs6, label %join5
join5: ; preds = %before_rhs6, %then-block-7873-
%342 = phi i1 [ %341, %then-block-7873- ], [ %349, %before_rhs6 ]
br i1 %342, label %then-block-7896-, label %next-block15, !dbg !155081
before_rhs6: ; preds = %then-block-7873-
%343 = call i64 @_ZN4core4sync6atomic11AtomicUsize4load17h9a96fdc68d9d31c5E(%"2.core::sync::atomic::AtomicUsize"* dereferenceable(8) @_ZN3log20MAX_LOG_LEVEL_FILTER17hd7dfdd18293b3adcE, i8 0), !dbg !155084
store i64 %343, i64* %106, !dbg !155086
%344 = load i64, i64* %106, !dbg !155084
store i64 %344, i64* %227
%345 = load i64, i64* %227, !dbg !155086
store i64 %345, i64* %autoref7
%346 = call zeroext i1 @_ZN4core3cmp10PartialOrd2le17h0944830991cd6423E(i64* noalias readonly dereferenceable(8) %lvl, i64* noalias readonly dereferenceable(8) %autoref7), !dbg !155081
%347 = zext i1 %346 to i8
store i8 %347, i8* %226
%348 = load i8, i8* %226, !dbg !155081, !range !58629
%349 = trunc i8 %348 to i1, !dbg !155081
br label %join5
then-block-7896-: ; preds = %join5
%350 = load i64, i64* %lvl, !dbg !155087
%351 = load i8*, i8** getelementptr inbounds (%str_slice, %str_slice* @const42778, i32 0, i32 0), !dbg !155087
%352 = load i64, i64* getelementptr inbounds (%str_slice, %str_slice* @const42778, i32 0, i32 1), !dbg !155087
%353 = bitcast { %str_slice*, i64 }* %230 to i8*, !dbg !155088
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %353, i8* bitcast ({ %str_slice*, i64 }* @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$8fragment15__STATIC_FMTSTR17hd136297c7fe3fec2E" to i8*), i64 16, i32 8, i1 false), !dbg !155088
%354 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %230, i32 0, i32 0, !dbg !155088
%355 = load %str_slice*, %str_slice** %354, !dbg !155088
%356 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %230, i32 0, i32 1, !dbg !155088
%357 = load i64, i64* %356, !dbg !155088
%358 = getelementptr inbounds { i64* }, { i64* }* %232, i32 0, i32 0
%359 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155090, !nonnull !2274
store %"block::BlockFlow"* %359, %"block::BlockFlow"** %this.i, !dbg !155090
%360 = bitcast %"block::BlockFlow"** %this.i to %"2.core::raw::TraitObject"*, !dbg !154936
store %"2.core::raw::TraitObject"* %360, %"2.core::raw::TraitObject"** %obj.i, !dbg !154936
%361 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i, !dbg !155091, !nonnull !2274
%362 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %361, i32 0, i32 0, !dbg !155090
%363 = load {}*, {}** %362, !dbg !155091
%364 = bitcast {}* %363 to %"flow::BaseFlow"*, !dbg !155091
store %"flow::BaseFlow"* %364, %"flow::BaseFlow"** %234
%365 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %234, !dbg !155090, !nonnull !2274
%366 = call i64 @_ZN6layout4flow8BaseFlow8debug_id17hc63621fce9b35166E(%"flow::BaseFlow"* dereferenceable(376) %365), !dbg !155090
store i64 %366, i64* %233
%367 = load i64, i64* %233, !dbg !155090
store i64 %367, i64* %addr_of8
store i64* %addr_of8, i64** %358
%368 = load { i64* }, { i64* }* %232
store { i64* } %368, { i64* }* %match9
%369 = getelementptr inbounds { i64* }, { i64* }* %match9, i32 0, i32 0
store i64** %369, i64*** %__llmatch11
br label %case_body10
case_body10: ; preds = %then-block-7896-
%370 = load i64**, i64*** %__llmatch11
%371 = load i64*, i64** %370, !nonnull !2274
store i64* %371, i64** %__arg012
call void @llvm.dbg.declare(metadata i64** %__arg012, metadata !155092, metadata !58571), !dbg !155094
%372 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %231, i32 0, i32 0, !dbg !155095
%373 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %372, i32 0, !dbg !155095
%374 = load i64*, i64** %__arg012, !dbg !155096, !nonnull !2274
call void @_ZN4core3fmt10ArgumentV13new17h4178ab5523537880E(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(16) %373, i64* noalias readonly dereferenceable(8) %374, i8 (i64*, %"2.core::fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h591ade4188106d98E"), !dbg !155097
br label %join13
join13: ; preds = %case_body10
%375 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %231 to %"2.core::fmt::ArgumentV1"*
%376 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target14, i32 0, i32 0
store %"2.core::fmt::ArgumentV1"* %375, %"2.core::fmt::ArgumentV1"** %376
%377 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target14, i32 0, i32 1
store i64 1, i64* %377
%378 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target14, i32 0, i32 0
%379 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %378
%380 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target14, i32 0, i32 1
%381 = load i64, i64* %380
call void @_ZN4core3fmt9Arguments6new_v117h72dc8c1ceaa23cafE(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %229, %str_slice* noalias nonnull readonly %355, i64 %357, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %379, i64 %381), !dbg !155087
call void @_ZN3log5__log17h937835a6dfa8775cE(i64 %350, i8* noalias nonnull readonly %351, i64 %352, %"12.log::LogLocation"* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$8fragment4_LOC17hd36cf28127203888E" to %"12.log::LogLocation"*), %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(48) %229), !dbg !155087
br label %next-block15
next-block15: ; preds = %join5, %join13
%382 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155098, !nonnull !2274
%383 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context, !dbg !155099, !nonnull !2274
%384 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context to i8*
%385 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %arg to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %385, i8* %384, i64 12, i32 4, i1 false)
%386 = bitcast i64* %addr_of.i87 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %386, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%387 = bitcast { i64* }* %match.i88 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %387, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%388 = bitcast { i8, i8 }* %let.i113 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %388, i8 29, i64 2, i32 1, i1 false), !dbg !155098, !noalias !155100
%389 = bitcast %"flow::BaseFlow"** %auto_deref.i121 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %389, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%390 = bitcast %"flow::BaseFlow"** %auto_deref46.i123 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %390, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%391 = bitcast %"flow::BaseFlow"** %auto_deref50.i125 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %391, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%392 = bitcast %"flow::BaseFlow"** %auto_deref58.i130 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %392, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%393 = bitcast %"flow::BaseFlow"** %auto_deref62.i131 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %393, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%394 = bitcast %"flow::BaseFlow"** %auto_deref93.i142 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %394, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%395 = bitcast %"flow::BaseFlow"** %auto_deref95.i143 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %395, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%396 = bitcast %"flow::BaseFlow"** %auto_deref98.i144 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %396, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%397 = bitcast %"block::FloatedBlockInfo"*** %auto_deref104.i148 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %397, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%398 = bitcast %"flow::BaseFlow"** %auto_deref112.i150 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %398, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%399 = bitcast %"flow::BaseFlow"** %auto_deref119.i153 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %399, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%400 = bitcast %"flow::BaseFlow"** %auto_deref128.i155 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %400, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%401 = bitcast %"flow::BaseFlow"** %auto_deref134.i157 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %401, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%402 = bitcast %"flow::BaseFlow"** %auto_deref139.i160 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %402, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%403 = bitcast %"flow::BaseFlow"** %auto_deref145.i164 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %403, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%404 = bitcast %"flow::BaseFlow"** %auto_deref149.i166 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %404, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%405 = bitcast { i8, i8 }* %match152.i168 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %405, i8 29, i64 2, i32 1, i1 false), !dbg !155098, !noalias !155100
%406 = bitcast %"flow::BaseFlow"** %auto_deref177.i173 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %406, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%407 = bitcast %"flow::BaseFlow"** %auto_deref179.i174 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %407, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
call void @llvm.memset.p0i8.i64(i8* %autoref.i196, i8 29, i64 1, i32 1, i1 false), !dbg !155098, !noalias !155100
%408 = bitcast %"112.style::context::SharedStyleContext"** %auto_deref261.i206 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %408, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%409 = bitcast %"112.style::properties::ComputedValues"** %auto_deref286.i214 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %409, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%410 = bitcast %"flow::BaseFlow"** %auto_deref288.i215 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %410, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
%411 = bitcast %"block::AbsoluteAssignBSizesTraversal"* %addr_of369.i244 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %411, i8 29, i64 8, i32 8, i1 false), !dbg !155098, !noalias !155100
call void @llvm.memset.p0i8.i64(i8* %autoref376.i245, i8 29, i64 1, i32 1, i1 false), !dbg !155098, !noalias !155100
store i8 61, i8* %dropflag_hint_4420.i78, !dbg !155098, !noalias !155100
store i8 61, i8* %dropflag_hint_4634.i79, !dbg !155098, !noalias !155100
store i8 61, i8* %dropflag_hint_4377.i80, !dbg !155098, !noalias !155100
store i8 61, i8* %dropflag_hint_4536.i81, !dbg !155098, !noalias !155100
store %"block::BlockFlow"* %382, %"block::BlockFlow"** %self.i82, !dbg !155098, !noalias !155100
store %"context::LayoutContext"* %383, %"context::LayoutContext"** %layout_context.i83, !dbg !155098, !noalias !155100
%412 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %arg to i8*, !dbg !155098
%413 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i84 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %413, i8* %412, i64 12, i32 4, i1 false), !dbg !155098, !noalias !155105
store i8 1, i8* %margins_may_collapse.i85, !dbg !155098, !noalias !155100
%414 = bitcast { %str_slice*, i64 }* %7 to i8*, !dbg !155106
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %414, i8* bitcast ({ %str_slice*, i64 }* @_ZN6layout5block9BlockFlow28assign_block_size_block_base15__STATIC_FMTSTR17hbfccf9ea4798ac74E to i8*), i64 16, i32 8, i1 false), !dbg !155106, !noalias !155107
%415 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %7, i32 0, i32 0, !dbg !155106
%416 = load %str_slice*, %str_slice** %415, !dbg !155106, !noalias !155100
%417 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %7, i32 0, i32 1, !dbg !155106
%418 = load i64, i64* %417, !dbg !155106, !noalias !155100
%419 = getelementptr inbounds { i64* }, { i64* }* %8, i32 0, i32 0, !dbg !155098
%420 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155108, !noalias !155100, !nonnull !2274
%421 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %420, i32 0, i32 0, !dbg !155098
%422 = call i64 @_ZN6layout4flow8BaseFlow8debug_id17hc63621fce9b35166E(%"flow::BaseFlow"* dereferenceable(376) %421), !dbg !155108, !noalias !155107
store i64 %422, i64* %9, !dbg !155098, !noalias !155100
%423 = load i64, i64* %9, !dbg !155108, !noalias !155100
store i64 %423, i64* %addr_of.i87, !dbg !155098, !noalias !155100
store i64* %addr_of.i87, i64** %419, !dbg !155098, !noalias !155100
%424 = load { i64* }, { i64* }* %8, !dbg !155098, !noalias !155100
store { i64* } %424, { i64* }* %match.i88, !dbg !155098, !noalias !155100
%425 = getelementptr inbounds { i64* }, { i64* }* %match.i88, i32 0, i32 0, !dbg !155098
store i64** %425, i64*** %__llmatch.i89, !dbg !155098, !noalias !155100
%426 = load i64**, i64*** %__llmatch.i89, !dbg !155098, !noalias !155100
%427 = load i64*, i64** %426, !dbg !155098, !noalias !155107, !nonnull !2274
store i64* %427, i64** %__arg0.i90, !dbg !155098, !noalias !155100
%428 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %110, i32 0, i32 0, !dbg !155109
%429 = load i64*, i64** %__arg0.i90, !dbg !155110, !noalias !155100, !nonnull !2274
call void @_ZN4core3fmt10ArgumentV13new17h4178ab5523537880E(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(16) %428, i64* noalias readonly dereferenceable(8) %429, i8 (i64*, %"2.core::fmt::Formatter"*)* @"_ZN4core3fmt3num55_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$usize$GT$3fmt17h30bdb1b1f375cd02E"), !dbg !155111, !noalias !155107
%430 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %110 to %"2.core::fmt::ArgumentV1"*, !dbg !155098
%431 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i91, i32 0, i32 0, !dbg !155098
store %"2.core::fmt::ArgumentV1"* %430, %"2.core::fmt::ArgumentV1"** %431, !dbg !155098, !noalias !155100
%432 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i91, i32 0, i32 1, !dbg !155098
store i64 1, i64* %432, !dbg !155098, !noalias !155100
%433 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i91, i32 0, i32 0, !dbg !155098
%434 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %433, !dbg !155098, !noalias !155100
%435 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i91, i32 0, i32 1, !dbg !155098
%436 = load i64, i64* %435, !dbg !155098, !noalias !155100
call void @_ZN4core3fmt9Arguments6new_v117h72dc8c1ceaa23cafE(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %6, %str_slice* noalias nonnull readonly %416, i64 %418, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %434, i64 %436), !dbg !155112, !noalias !155107
call void @_ZN11collections3fmt6format17h7ce9e885e67335e3E(%"3.std::string::String"* noalias nocapture sret dereferenceable(24) %5, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(48) %6), !dbg !155112, !noalias !155107
%437 = call i8 @_ZN6layout12layout_debug5Scope3new17h3e85b85cbf68507fE(%"3.std::string::String"* noalias nocapture dereferenceable(24) %5), !dbg !155113, !noalias !155107
store i8 %437, i8* %abi_cast.i92, !dbg !155098, !noalias !155100
%438 = bitcast %"layout_debug::Scope"* %_scope.i86 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %438, i8* %abi_cast.i92, i64 1, i32 1, i1 false), !dbg !155098, !noalias !155100
%439 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93 to { i64, [24 x i8] }*, !dbg !154890
%440 = bitcast { i64, [24 x i8] }* %439 to i8*, !dbg !154890
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %440, i8* bitcast ({ i64, [24 x i8] }* @const40694 to i8*), i64 32, i32 8, i1 false), !dbg !154890, !noalias !155107
%441 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155114, !noalias !155100, !nonnull !2274
%442 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %441, i32 0, i32 0, !dbg !155098
%443 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %442, i32 0, i32 0, !dbg !155098
%444 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42723 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155114, !noalias !155107
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %444, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref.i94, !dbg !155098, !noalias !155100
%445 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref.i94 to i8*, !dbg !155098
%446 = load i8, i8* %445, align 1, !dbg !155098, !noalias !155100
%447 = invoke zeroext i1 @_ZN23script_layout_interface14restyle_damage13RestyleDamage8contains17h926cd2d40fb287e4E(%"118.script_layout_interface::restyle_damage::RestyleDamage"* noalias readonly dereferenceable(1) %443, i8 %446)
to label %normal-return.i257 unwind label %unwind_ast_4374_.i258, !dbg !155114, !noalias !155107
normal-return.i257: ; preds = %next-block15
%448 = zext i1 %447 to i8, !dbg !155098
store i8 %448, i8* %10, !dbg !155098, !noalias !155100
%449 = load i8, i8* %10, !dbg !155114, !range !58629, !noalias !155100
%450 = trunc i8 %449 to i1, !dbg !155114
br i1 %450, label %then-block-4428-.i260, label %else-block.i463, !dbg !155114
unwind_ast_4374_.i258: ; preds = %next-block394.i491, %normal-return390.i489, %normal-return387.i488, %normal-return384.i487, %then-block-5280-.i486, %before_rhs379.i484, %normal-return375.i481, %before_rhs374.i480, %next-block371.i477, %normal-return368.i475, %then-block-5248-.i474, %join364.i472, %match_case359.i469, %loop_body353.i466, %normal-return348.i464, %else-block.i463, %normal-return30.i283, %before_rhs28.i281, %join27.i280, %before_rhs24.i278, %normal-return21.i275, %normal-return19.i274, %normal-return18.i273, %normal-return14.i272, %normal-return11.i271, %normal-return9.i270, %next-block.i269, %normal-return6.i267, %then-block-4448-.i266, %before_rhs.i264, %normal-return1.i261, %then-block-4428-.i260, %next-block15
%451 = landingpad { i8*, i32 }
cleanup, !dbg !155098
store { i8*, i32 } %451, { i8*, i32 }* %11, !dbg !155098, !noalias !155100
br label %clean_ast_4374_.i259, !dbg !155098
clean_ast_4374_.i259: ; preds = %clean_ast_4428_.i287, %unwind_ast_4374_.i258
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93), !dbg !155115, !noalias !155107
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope.i86), !dbg !155115, !noalias !155107
%452 = load { i8*, i32 }, { i8*, i32 }* %11, !dbg !155098, !noalias !155100
resume { i8*, i32 } %452, !dbg !155098
then-block-4428-.i260: ; preds = %normal-return.i257
%453 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155116, !noalias !155100, !nonnull !2274
invoke void @_ZN6layout5block9BlockFlow25determine_if_layer_needed17h45a3008f64566538E(%"block::BlockFlow"* dereferenceable(560) %453)
to label %normal-return1.i261 unwind label %unwind_ast_4374_.i258, !dbg !155116, !noalias !155107
normal-return1.i261: ; preds = %then-block-4428-.i260
%454 = bitcast %"33.app_units::Au"* %cur_b.i95 to { i32 }*, !dbg !154891
%455 = bitcast { i32 }* %454 to i8*, !dbg !154891
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %455, i8* bitcast ({ i32 }* @const42369 to i8*), i64 4, i32 4, i1 false), !dbg !154891, !noalias !155107
%456 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155117, !noalias !155100, !nonnull !2274
%457 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %456, i32 0, i32 0, !dbg !155098
%458 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %457, i32 0, i32 22, !dbg !155098
%459 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155117, !noalias !155107
store %"flow::FlowFlags" %459, %"flow::FlowFlags"* %to_ref2.i96, !dbg !155098, !noalias !155100
%460 = bitcast %"flow::FlowFlags"* %to_ref2.i96 to i32*, !dbg !155098
%461 = load i32, i32* %460, align 4, !dbg !155098, !noalias !155100
%462 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %458, i32 %461)
to label %normal-return3.i262 unwind label %unwind_ast_4374_.i258, !dbg !155117, !noalias !155107
normal-return3.i262: ; preds = %normal-return1.i261
%463 = zext i1 %462 to i8, !dbg !155098
store i8 %463, i8* %12, !dbg !155098, !noalias !155100
%464 = load i8, i8* %12, !dbg !155117, !range !58629, !noalias !155100
%465 = trunc i8 %464 to i1, !dbg !155117
br i1 %465, label %join4.i263, label %before_rhs.i264, !dbg !155098
join4.i263: ; preds = %normal-return5.i265, %normal-return3.i262
%466 = phi i1 [ %465, %normal-return3.i262 ], [ %470, %normal-return5.i265 ], !dbg !155098
br i1 %466, label %then-block-4448-.i266, label %next-block.i269, !dbg !155117
before_rhs.i264: ; preds = %normal-return3.i262
%467 = invoke zeroext i1 @_ZN4core3cmp9PartialEq2ne17h1478c259b4859946E(i8* noalias readonly dereferenceable(1) %margins_may_collapse.i85, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return5.i265 unwind label %unwind_ast_4374_.i258, !dbg !155118, !noalias !155107
normal-return5.i265: ; preds = %before_rhs.i264
%468 = zext i1 %467 to i8, !dbg !155098
store i8 %468, i8* %13, !dbg !155098, !noalias !155100
%469 = load i8, i8* %13, !dbg !155118, !range !58629, !noalias !155100
%470 = trunc i8 %469 to i1, !dbg !155118
br label %join4.i263, !dbg !155098
then-block-4448-.i266: ; preds = %join4.i263
%471 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155119, !noalias !155100, !nonnull !2274
%472 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %471, i32 0, i32 1, !dbg !155098
%473 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %472, i32 0, i32 1, !dbg !155098
%474 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %473)
to label %normal-return6.i267 unwind label %unwind_ast_4374_.i258, !dbg !155119, !noalias !155107
normal-return6.i267: ; preds = %then-block-4448-.i266
store %"112.style::properties::ComputedValues"* %474, %"112.style::properties::ComputedValues"** %overloaded_deref.i97, !dbg !155098, !noalias !155100
%475 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref.i97, !dbg !155119, !noalias !155100, !nonnull !2274
%476 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %475, i32 0, i32 21, !dbg !155098
%477 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %476, !dbg !155119, !noalias !155107
store %"112.style::logical_geometry::WritingMode" %477, %"112.style::logical_geometry::WritingMode"* %to_ref7.i98, !dbg !155098, !noalias !155100
%478 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref7.i98 to i8*, !dbg !155098
%479 = load i8, i8* %478, align 1, !dbg !155098, !noalias !155100
invoke void @_ZN6layout6floats6Floats3new17hd6914052fc476c29E(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %14, i8 %479)
to label %normal-return8.i268 unwind label %unwind_ast_4374_.i258, !dbg !155119, !noalias !155107
normal-return8.i268: ; preds = %normal-return6.i267
%480 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155119, !noalias !155100, !nonnull !2274
%481 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %480, i32 0, i32 0, !dbg !155098
%482 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %481, i32 0, i32 6, !dbg !155098
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %482), !dbg !155119, !noalias !155107
%483 = bitcast %"floats::Floats"* %14 to i8*, !dbg !155119
%484 = bitcast %"floats::Floats"* %482 to i8*, !dbg !155119
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %484, i8* %483, i64 40, i32 8, i1 false), !dbg !155119, !noalias !155107
br label %next-block.i269, !dbg !155098
next-block.i269: ; preds = %normal-return8.i268, %join4.i263
invoke void @_ZN6layout5model18MarginCollapseInfo3new17h85cfce884bc63702E(%"model::MarginCollapseInfo"* noalias nocapture sret dereferenceable(20) %margin_collapse_info.i99)
to label %normal-return9.i270 unwind label %unwind_ast_4374_.i258, !dbg !154892, !noalias !155107
normal-return9.i270: ; preds = %next-block.i269
%485 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154893, !noalias !155100, !nonnull !2274
%486 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %485, i32 0, i32 0, !dbg !155098
%487 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %486, i32 0, i32 6, !dbg !155098
%488 = getelementptr inbounds %"floats::Floats", %"floats::Floats"* %487, i32 0, i32 2, !dbg !155098
%489 = bitcast %"112.style::logical_geometry::WritingMode"* %488 to i8*, !dbg !154893
%490 = bitcast %"112.style::logical_geometry::WritingMode"* %writing_mode.i100 to i8*, !dbg !154893
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %490, i8* %489, i64 1, i32 1, i1 false), !dbg !154893, !noalias !155107
%491 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155120, !noalias !155100, !nonnull !2274
%492 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %491, i32 0, i32 0, !dbg !155098
%493 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %492, i32 0, i32 6, !dbg !155098
%494 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %writing_mode.i100, !dbg !155121, !noalias !155100
store %"112.style::logical_geometry::WritingMode" %494, %"112.style::logical_geometry::WritingMode"* %to_ref10.i101, !dbg !155098, !noalias !155100
%495 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref10.i101 to i8*, !dbg !155098
%496 = load i8, i8* %495, align 1, !dbg !155098, !noalias !155100
%497 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155121, !noalias !155100, !nonnull !2274
%498 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %497, i32 0, i32 1, !dbg !155098
%499 = invoke i32 @_ZN6layout8fragment8Fragment19inline_start_offset17hc1f292f457137b53E(%"fragment::Fragment"* noalias readonly dereferenceable(160) %498)
to label %normal-return11.i271 unwind label %unwind_ast_4374_.i258, !dbg !155121, !noalias !155107
normal-return11.i271: ; preds = %normal-return9.i270
store i32 %499, i32* %abi_cast12.i102, !dbg !155098, !noalias !155100
%500 = bitcast %"33.app_units::Au"* %17 to i8*, !dbg !155098
%501 = bitcast i32* %abi_cast12.i102 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %500, i8* %501, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%502 = load %"33.app_units::Au", %"33.app_units::Au"* %17, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %502, %"33.app_units::Au"* %to_ref13.i103, !dbg !155098, !noalias !155100
%503 = bitcast %"33.app_units::Au"* %to_ref13.i103 to i32*, !dbg !155098
%504 = load i32, i32* %503, align 4, !dbg !155098, !noalias !155100
%505 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Neg$GT$3neg17hc1f3202743bf98a5E"(i32 %504)
to label %normal-return14.i272 unwind label %unwind_ast_4374_.i258, !dbg !155121, !noalias !155107
normal-return14.i272: ; preds = %normal-return11.i271
store i32 %505, i32* %abi_cast15.i104, !dbg !155098, !noalias !155100
%506 = bitcast %"33.app_units::Au"* %16 to i8*, !dbg !155098
%507 = bitcast i32* %abi_cast15.i104 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %506, i8* %507, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%508 = load %"33.app_units::Au", %"33.app_units::Au"* %16, !dbg !155121, !noalias !155100
store %"33.app_units::Au" %508, %"33.app_units::Au"* %to_ref16.i105, !dbg !155098, !noalias !155100
%509 = bitcast %"33.app_units::Au"* %to_ref16.i105 to i32*, !dbg !155098
%510 = load i32, i32* %509, align 4, !dbg !155098, !noalias !155100
store %"33.app_units::Au" zeroinitializer, %"33.app_units::Au"* %to_ref17.i106, !dbg !155098, !noalias !155100
%511 = bitcast %"33.app_units::Au"* %to_ref17.i106 to i32*, !dbg !155098
%512 = load i32, i32* %511, align 4, !dbg !155098, !noalias !155100
invoke void @"_ZN54_$LT$style..logical_geometry..LogicalSize$LT$T$GT$$GT$3new17hb36ef1825965d48bE"(%"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture sret dereferenceable(12) %15, i8 %496, i32 %510, i32 %512)
to label %normal-return18.i273 unwind label %unwind_ast_4374_.i258, !dbg !155120, !noalias !155107
normal-return18.i273: ; preds = %normal-return14.i272
invoke void @_ZN6layout6floats6Floats9translate17hef102276e94fc897E(%"floats::Floats"* dereferenceable(40) %493, %"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture dereferenceable(12) %15)
to label %normal-return19.i274 unwind label %unwind_ast_4374_.i258, !dbg !155120, !noalias !155107
normal-return19.i274: ; preds = %normal-return18.i273
%513 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154894, !noalias !155100, !nonnull !2274
%514 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %513, i32 0, i32 1, !dbg !155098
%515 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %514, i32 0, i32 4, !dbg !155098
%516 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %515, i32 0, i32 0, !dbg !155098
%517 = bitcast %"33.app_units::Au"* %516 to i8*, !dbg !154894
%518 = bitcast %"33.app_units::Au"* %block_start_offset.i107 to i8*, !dbg !154894
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %518, i8* %517, i64 4, i32 4, i1 false), !dbg !154894, !noalias !155107
%519 = load %"33.app_units::Au", %"33.app_units::Au"* %block_start_offset.i107, !dbg !155122, !noalias !155100
store %"33.app_units::Au" %519, %"33.app_units::Au"* %to_ref20.i108, !dbg !155098, !noalias !155100
%520 = bitcast %"33.app_units::Au"* %to_ref20.i108 to i32*, !dbg !155098
%521 = load i32, i32* %520, align 4, !dbg !155098, !noalias !155100
%522 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155122, !noalias !155100, !nonnull !2274
%523 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %522, i32 0, i32 0, !dbg !155098
%524 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %523, i32 0, i32 6, !dbg !155098
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i95, i32 %521, %"floats::Floats"* dereferenceable(40) %524)
to label %normal-return21.i275 unwind label %unwind_ast_4374_.i258, !dbg !155122, !noalias !155107
normal-return21.i275: ; preds = %normal-return19.i274
%525 = invoke zeroext i1 @"_ZN78_$LT$layout..block..MarginsMayCollapseFlag$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb29fd717e817d7c7E"(i8* noalias readonly dereferenceable(1) %margins_may_collapse.i85, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return22.i276 unwind label %unwind_ast_4374_.i258, !dbg !155123, !noalias !155107
normal-return22.i276: ; preds = %normal-return21.i275
%526 = zext i1 %525 to i8, !dbg !155098
store i8 %526, i8* %18, !dbg !155098, !noalias !155100
%527 = load i8, i8* %18, !dbg !155123, !range !58629, !noalias !155100
%528 = trunc i8 %527 to i1, !dbg !155123
br i1 %528, label %before_rhs24.i278, label %join23.i277, !dbg !155098
join23.i277: ; preds = %normal-return26.i279, %normal-return22.i276
%529 = phi i1 [ %528, %normal-return22.i276 ], [ %540, %normal-return26.i279 ], !dbg !155098
br i1 %529, label %before_rhs28.i281, label %join27.i280, !dbg !155098
before_rhs24.i278: ; preds = %normal-return22.i276
%530 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155124, !noalias !155100, !nonnull !2274
%531 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %530, i32 0, i32 0, !dbg !155098
%532 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %531, i32 0, i32 22, !dbg !155098
%533 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155124, !noalias !155107
store %"flow::FlowFlags" %533, %"flow::FlowFlags"* %to_ref25.i110, !dbg !155098, !noalias !155100
%534 = bitcast %"flow::FlowFlags"* %to_ref25.i110 to i32*, !dbg !155098
%535 = load i32, i32* %534, align 4, !dbg !155098, !noalias !155100
%536 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %532, i32 %535)
to label %normal-return26.i279 unwind label %unwind_ast_4374_.i258, !dbg !155124, !noalias !155107
normal-return26.i279: ; preds = %before_rhs24.i278
%537 = zext i1 %536 to i8, !dbg !155098
store i8 %537, i8* %19, !dbg !155098, !noalias !155100
%538 = load i8, i8* %19, !dbg !155124, !range !58629, !noalias !155100
%539 = trunc i8 %538 to i1, !dbg !155124
%540 = xor i1 %539, true, !dbg !155124
br label %join23.i277, !dbg !155098
join27.i280: ; preds = %normal-return29.i282, %join23.i277
%541 = phi i1 [ %529, %join23.i277 ], [ %554, %normal-return29.i282 ], !dbg !155098
%542 = zext i1 %541 to i8, !dbg !155098
store i8 %542, i8* %can_collapse_block_start_margin_with_kids.i109, !dbg !155098, !noalias !155100
%543 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155125, !noalias !155100, !nonnull !2274
%544 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %543, i32 0, i32 1, !dbg !155098
%545 = load i8, i8* %can_collapse_block_start_margin_with_kids.i109, !dbg !155126, !range !58629, !noalias !155100
%546 = trunc i8 %545 to i1, !dbg !155126
invoke void @_ZN6layout5model18MarginCollapseInfo29initialize_block_start_margin17hcb624b909652946cE(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i99, %"fragment::Fragment"* noalias readonly dereferenceable(160) %544, i1 zeroext %546)
to label %normal-return30.i283 unwind label %unwind_ast_4374_.i258, !dbg !155127, !noalias !155107
before_rhs28.i281: ; preds = %join23.i277
%547 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155128, !noalias !155100, !nonnull !2274
%548 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %547, i32 0, i32 1, !dbg !155098
%549 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %548, i32 0, i32 4, !dbg !155098
%550 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %549, i32 0, i32 0, !dbg !155098
%551 = invoke zeroext i1 @"_ZN64_$LT$app_units..app_unit..Au$u20$as$u20$core..cmp..PartialEq$GT$2eq17h0437942f87bebe69E"(%"33.app_units::Au"* noalias readonly dereferenceable(4) %550, %"33.app_units::Au"* noalias readonly dereferenceable(4) bitcast ({ i32 }* @const42369 to %"33.app_units::Au"*))
to label %normal-return29.i282 unwind label %unwind_ast_4374_.i258, !dbg !155128, !noalias !155107
normal-return29.i282: ; preds = %before_rhs28.i281
%552 = zext i1 %551 to i8, !dbg !155098
store i8 %552, i8* %20, !dbg !155098, !noalias !155100
%553 = load i8, i8* %20, !dbg !155128, !range !58629, !noalias !155100
%554 = trunc i8 %553 to i1, !dbg !155128
br label %join27.i280, !dbg !155098
normal-return30.i283: ; preds = %join27.i280
%555 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154896, !noalias !155100, !nonnull !2274
%556 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %555, i32 0, i32 0, !dbg !155098
%557 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %556, i32 0, i32 6, !dbg !155098
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %floats.i111, %"floats::Floats"* noalias readonly dereferenceable(40) %557)
to label %normal-return31.i284 unwind label %unwind_ast_4374_.i258, !dbg !154896, !noalias !155107
normal-return31.i284: ; preds = %normal-return30.i283
%558 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154897, !noalias !155100, !nonnull !2274
%559 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %558, i32 0, i32 0, !dbg !155098
%560 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %559, i32 0, i32 21, !dbg !155098
%561 = load i8, i8* %560, !dbg !154897, !noalias !155107
store i8 %561, i8* %thread_id.i112, !dbg !154897, !noalias !155100
store { i8, i8 } zeroinitializer, { i8, i8 }* %let.i113, !dbg !155098, !noalias !155100
%562 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let.i113, i32 0, i32 0, !dbg !155098
%563 = load i8, i8* %562, !dbg !155098, !range !58629, !noalias !155100
%564 = trunc i8 %563 to i1, !dbg !155098
%565 = zext i1 %564 to i8, !dbg !155098
store i8 %565, i8* %had_floated_children.i114, !dbg !155098, !noalias !155100
%566 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let.i113, i32 0, i32 1, !dbg !155098
%567 = load i8, i8* %566, !dbg !155098, !range !58629, !noalias !155100
%568 = trunc i8 %567 to i1, !dbg !155098
%569 = zext i1 %568 to i8, !dbg !155098
store i8 %569, i8* %had_children_with_clearance.i115, !dbg !155098, !noalias !155100
%570 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154899, !noalias !155100, !nonnull !2274
%571 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %570, i32 0, i32 0, !dbg !155098
invoke void @_ZN6layout4flow8BaseFlow14child_iter_mut17hb71153856274a84eE(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %23, %"flow::BaseFlow"* dereferenceable(376) %571)
to label %normal-return32.i285 unwind label %unwind_ast_4428_.i286, !dbg !154899, !noalias !155107
normal-return32.i285: ; preds = %normal-return31.i284
invoke void @_ZN4core4iter8iterator8Iterator9enumerate17h6f6f0d9061e0450cE(%"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* noalias nocapture sret dereferenceable(40) %22, %"flow_list::MutFlowListIterator"* noalias nocapture dereferenceable(32) %23)
to label %normal-return34.i288 unwind label %unwind_ast_4428_.i286, !dbg !154899, !noalias !155107
unwind_ast_4428_.i286: ; preds = %before_rhs220.i390, %before_rhs216.i387, %clean_ast_92035_194.i374, %match_case202.i378, %normal-return192.i371, %normal-return189.i370, %normal-return186.i369, %next-block181.i368, %then-block-4860-.i366, %join173.i364, %compare_next166.i360, %match_case165.i359, %match_case162.i357, %normal-return147.i351, %normal-return143.i350, %normal-return140.i349, %next-block137.i348, %before_rhs132.i345, %before_rhs126.i342, %before_rhs123.i339, %next-block120.i336, %normal-return115.i334, %then-block-4727-.i333, %next-block110.i331, %normal-return105.i329, %normal-return103.i328, %normal-return102.i327, %normal-return100.i326, %normal-return99.i325, %then-block-4670-.i324, %normal-return91.i322, %join90.i321, %normal-return74.i311, %match_case71.i310, %then-block-4605-.i304, %normal-return60.i302, %next-block59.i301, %normal-return51.i299, %then-block-4579-.i298, %then-block-4571-.i296, %match_case.i293, %loop_body.i290, %normal-return34.i288, %normal-return32.i285, %normal-return31.i284
%572 = landingpad { i8*, i32 }
cleanup, !dbg !154899
store { i8*, i32 } %572, { i8*, i32 }* %11, !dbg !154899, !noalias !155100
br label %clean_ast_4428_.i287, !dbg !155098
clean_ast_4428_.i287: ; preds = %clean_ast_4428_82.i319, %unwind_ast_4428_.i286
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i111), !dbg !155129, !noalias !155107
br label %clean_ast_4374_.i259, !dbg !155098
normal-return34.i288: ; preds = %normal-return32.i285
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h860f08782aa1a8ffE"(%"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* noalias nocapture sret dereferenceable(40) %21, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* noalias nocapture dereferenceable(40) %22)
to label %normal-return35.i289 unwind label %unwind_ast_4428_.i286, !dbg !154899, !noalias !155107
normal-return35.i289: ; preds = %normal-return34.i288
store %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* %21, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"** %iter.i117, !dbg !155098, !noalias !155100
%573 = load %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"*, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"** %iter.i117, !dbg !155098, !noalias !155100
br label %loop_body.i290, !dbg !154900
loop_body.i290: ; preds = %join210.i384, %clean_custom_.i307, %normal-return35.i289
invoke void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h8b69c91a5b99ebc2E"(%"2.core::option::Option<(usize, &mut flow::Flow)>"* noalias nocapture sret dereferenceable(24) %24, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* dereferenceable(40) %573)
to label %normal-return37.i291 unwind label %unwind_ast_4428_.i286, !dbg !155130, !noalias !155107
normal-return37.i291: ; preds = %loop_body.i290
%574 = getelementptr inbounds %"2.core::option::Option<(usize, &mut flow::Flow)>", %"2.core::option::Option<(usize, &mut flow::Flow)>"* %24, i32 0, i32 0, i32 1, i32 0, !dbg !155098
%575 = load i8*, i8** %574, !dbg !155098, !noalias !155100
%576 = icmp ne i8* %575, null, !dbg !155098
switch i1 %576, label %match_else.i292 [
i1 true, label %match_case.i293
i1 false, label %match_case41.i294
], !dbg !155098
match_else.i292: ; preds = %normal-return37.i291
unreachable, !dbg !155098
match_case.i293: ; preds = %normal-return37.i291
%577 = getelementptr inbounds %"2.core::option::Option<(usize, &mut flow::Flow)>", %"2.core::option::Option<(usize, &mut flow::Flow)>"* %24, i32 0, i32 0, !dbg !155098
%578 = getelementptr inbounds { i64, { i8*, void (i8*)** } }, { i64, { i8*, void (i8*)** } }* %577, i32 0, i32 0, !dbg !155098
%579 = getelementptr inbounds { i64, { i8*, void (i8*)** } }, { i64, { i8*, void (i8*)** } }* %577, i32 0, i32 1, !dbg !155098
store { i8*, void (i8*)** }* %579, { i8*, void (i8*)** }** %kid.i120, !dbg !155098, !noalias !155100
store i64* %578, i64** %__llmatch39.i118, !dbg !155098, !noalias !155100
%580 = load i64*, i64** %__llmatch39.i118, !dbg !155098, !noalias !155100
%581 = load i64, i64* %580, !dbg !155098, !noalias !155107
store i64 %581, i64* %child_index.i119, !dbg !155098, !noalias !155100
%582 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %kid.i120, !dbg !154901, !noalias !155100
%583 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155131
%584 = load i8*, i8** %583, !dbg !155131, !noalias !155107
%585 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155131
%586 = load void (i8*)**, void (i8*)*** %585, !dbg !155131, !noalias !155107
%587 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i.i76, i32 0, i32 0, !dbg !155131
store i8* %584, i8** %587, !dbg !155131, !noalias !155100
%588 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i.i76, i32 0, i32 1, !dbg !155131
store void (i8*)** %586, void (i8*)*** %588, !dbg !155131, !noalias !155100
%589 = bitcast { i8*, void (i8*)** }* %this.i.i76 to %"2.core::raw::TraitObject"*, !dbg !154883
store %"2.core::raw::TraitObject"* %589, %"2.core::raw::TraitObject"** %obj.i.i77, !dbg !154883, !noalias !155100
%590 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i.i77, !dbg !155132, !noalias !155100, !nonnull !2274
%591 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %590, i32 0, i32 0, !dbg !155131
%592 = load {}*, {}** %591, !dbg !155132, !noalias !155107
%593 = bitcast {}* %592 to %"flow::BaseFlow"*, !dbg !155132
store %"flow::BaseFlow"* %593, %"flow::BaseFlow"** %26, !dbg !155098, !noalias !155100
%594 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %26, !dbg !155131, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %594, %"flow::BaseFlow"** %auto_deref.i121, !dbg !155098, !noalias !155100
%595 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref.i121, !dbg !155098, !noalias !155100, !nonnull !2274
%596 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %595, i32 0, i32 22, !dbg !155098
%597 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155098, !noalias !155107
store %"flow::FlowFlags" %597, %"flow::FlowFlags"* %to_ref43.i122, !dbg !155098, !noalias !155100
%598 = bitcast %"flow::FlowFlags"* %to_ref43.i122 to i32*, !dbg !155098
%599 = load i32, i32* %598, align 4, !dbg !155098, !noalias !155100
%600 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %596, i32 %599)
to label %normal-return44.i295 unwind label %unwind_ast_4428_.i286, !dbg !155131, !noalias !155107
match_case41.i294: ; preds = %normal-return37.i291
br label %clean_ast_92035_194.i374, !dbg !155098
normal-return44.i295: ; preds = %match_case.i293
%601 = zext i1 %600 to i8, !dbg !155098
store i8 %601, i8* %25, !dbg !155098, !noalias !155100
%602 = load i8, i8* %25, !dbg !155131, !range !58629, !noalias !155100
%603 = trunc i8 %602 to i1, !dbg !155131
br i1 %603, label %then-block-4571-.i296, label %next-block66.i308, !dbg !155131
then-block-4571-.i296: ; preds = %normal-return44.i295
%604 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155133
%605 = load i8*, i8** %604, !dbg !155133, !noalias !155107
%606 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155133
%607 = load void (i8*)**, void (i8*)*** %606, !dbg !155133, !noalias !155107
%608 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i398.i74, i32 0, i32 0, !dbg !155133
store i8* %605, i8** %608, !dbg !155133, !noalias !155100
%609 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i398.i74, i32 0, i32 1, !dbg !155133
store void (i8*)** %607, void (i8*)*** %609, !dbg !155133, !noalias !155100
%610 = bitcast { i8*, void (i8*)** }* %this.i398.i74 to %"2.core::raw::TraitObject"*, !dbg !154880
store %"2.core::raw::TraitObject"* %610, %"2.core::raw::TraitObject"** %obj.i399.i75, !dbg !154880, !noalias !155100
%611 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i399.i75, !dbg !155134, !noalias !155100, !nonnull !2274
%612 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %611, i32 0, i32 0, !dbg !155133
%613 = load {}*, {}** %612, !dbg !155134, !noalias !155107
%614 = bitcast {}* %613 to %"flow::BaseFlow"*, !dbg !155134
store %"flow::BaseFlow"* %614, %"flow::BaseFlow"** %28, !dbg !155098, !noalias !155100
%615 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %28, !dbg !155133, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %615, %"flow::BaseFlow"** %auto_deref46.i123, !dbg !155098, !noalias !155100
%616 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref46.i123, !dbg !155098, !noalias !155100, !nonnull !2274
%617 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %616, i32 0, i32 22, !dbg !155098
%618 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42760 to %"flow::FlowFlags"*), !dbg !155098, !noalias !155107
store %"flow::FlowFlags" %618, %"flow::FlowFlags"* %to_ref47.i124, !dbg !155098, !noalias !155100
%619 = bitcast %"flow::FlowFlags"* %to_ref47.i124 to i32*, !dbg !155098
%620 = load i32, i32* %619, align 4, !dbg !155098, !noalias !155100
%621 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %617, i32 %620)
to label %normal-return48.i297 unwind label %unwind_ast_4428_.i286, !dbg !155133, !noalias !155107
normal-return48.i297: ; preds = %then-block-4571-.i296
%622 = zext i1 %621 to i8, !dbg !155098
store i8 %622, i8* %27, !dbg !155098, !noalias !155100
%623 = load i8, i8* %27, !dbg !155133, !range !58629, !noalias !155100
%624 = trunc i8 %623 to i1, !dbg !155133
br i1 %624, label %then-block-4579-.i298, label %next-block59.i301, !dbg !155133
then-block-4579-.i298: ; preds = %normal-return48.i297
%625 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155135
%626 = load i8*, i8** %625, !dbg !155135, !noalias !155107
%627 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155135
%628 = load void (i8*)**, void (i8*)*** %627, !dbg !155135, !noalias !155107
%629 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i400.i72, i32 0, i32 0, !dbg !155135
store i8* %626, i8** %629, !dbg !155135, !noalias !155100
%630 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i400.i72, i32 0, i32 1, !dbg !155135
store void (i8*)** %628, void (i8*)*** %630, !dbg !155135, !noalias !155100
%631 = bitcast { i8*, void (i8*)** }* %this.i400.i72 to %"2.core::raw::TraitObject"*, !dbg !154877
store %"2.core::raw::TraitObject"* %631, %"2.core::raw::TraitObject"** %obj.i401.i73, !dbg !154877, !noalias !155100
%632 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i401.i73, !dbg !155136, !noalias !155100, !nonnull !2274
%633 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %632, i32 0, i32 0, !dbg !155135
%634 = load {}*, {}** %633, !dbg !155136, !noalias !155107
%635 = bitcast {}* %634 to %"flow::BaseFlow"*, !dbg !155136
store %"flow::BaseFlow"* %635, %"flow::BaseFlow"** %31, !dbg !155098, !noalias !155100
%636 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %31, !dbg !155135, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %636, %"flow::BaseFlow"** %auto_deref50.i125, !dbg !155098, !noalias !155100
%637 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref50.i125, !dbg !155098, !noalias !155100, !nonnull !2274
%638 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %637, i32 0, i32 9, !dbg !155098
%639 = invoke i32 @_ZN6layout5model18CollapsibleMargins45block_start_margin_for_noncollapsible_context17h58905e2b41f4d87eE(%"model::CollapsibleMargins"* noalias readonly dereferenceable(20) %638)
to label %normal-return51.i299 unwind label %unwind_ast_4428_.i286, !dbg !155135, !noalias !155107
normal-return51.i299: ; preds = %then-block-4579-.i298
store i32 %639, i32* %abi_cast52.i126, !dbg !155098, !noalias !155100
%640 = bitcast %"33.app_units::Au"* %30 to i8*, !dbg !155098
%641 = bitcast i32* %abi_cast52.i126 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %640, i8* %641, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%642 = load %"33.app_units::Au", %"33.app_units::Au"* %30, !dbg !155098, !noalias !155100
%643 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i95, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %643, %"33.app_units::Au"* %to_ref53.i127, !dbg !155098, !noalias !155100
%644 = bitcast %"33.app_units::Au"* %to_ref53.i127 to i32*, !dbg !155098
%645 = load i32, i32* %644, align 4, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %642, %"33.app_units::Au"* %to_ref54.i128, !dbg !155098, !noalias !155100
%646 = bitcast %"33.app_units::Au"* %to_ref54.i128 to i32*, !dbg !155098
%647 = load i32, i32* %646, align 4, !dbg !155098, !noalias !155100
%648 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Add$GT$3add17h883f55f3f6eadb15E"(i32 %645, i32 %647)
to label %normal-return55.i300 unwind label %unwind_ast_4428_.i286, !dbg !155137, !noalias !155107
normal-return55.i300: ; preds = %normal-return51.i299
store i32 %648, i32* %abi_cast56.i129, !dbg !155098, !noalias !155100
%649 = bitcast %"33.app_units::Au"* %29 to i8*, !dbg !155098
%650 = bitcast i32* %abi_cast56.i129 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %649, i8* %650, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%651 = load %"33.app_units::Au", %"33.app_units::Au"* %29, !dbg !155137, !noalias !155100
%652 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155137
%653 = load i8*, i8** %652, !dbg !155137, !noalias !155107
%654 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155137
%655 = load void (i8*)**, void (i8*)*** %654, !dbg !155137, !noalias !155107
%656 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i402.i70, i32 0, i32 0, !dbg !155137
store i8* %653, i8** %656, !dbg !155137, !noalias !155100
%657 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i402.i70, i32 0, i32 1, !dbg !155137
store void (i8*)** %655, void (i8*)*** %657, !dbg !155137, !noalias !155100
%658 = bitcast { i8*, void (i8*)** }* %this.i402.i70 to %"2.core::raw::TraitObject"*, !dbg !154874
store %"2.core::raw::TraitObject"* %658, %"2.core::raw::TraitObject"** %obj.i403.i71, !dbg !154874, !noalias !155100
%659 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i403.i71, !dbg !155138, !noalias !155100, !nonnull !2274
%660 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %659, i32 0, i32 0, !dbg !155137
%661 = load {}*, {}** %660, !dbg !155138, !noalias !155107
%662 = bitcast {}* %661 to %"flow::BaseFlow"*, !dbg !155138
store %"flow::BaseFlow"* %662, %"flow::BaseFlow"** %32, !dbg !155098, !noalias !155100
%663 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %32, !dbg !155137, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %663, %"flow::BaseFlow"** %auto_deref58.i130, !dbg !155098, !noalias !155100
%664 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref58.i130, !dbg !155098, !noalias !155100, !nonnull !2274
%665 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %664, i32 0, i32 3, !dbg !155098
%666 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %665, i32 0, i32 0, !dbg !155098
%667 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %666, i32 0, i32 1, !dbg !155098
store %"33.app_units::Au" %651, %"33.app_units::Au"* %667, !dbg !155098, !noalias !155107
br label %next-block59.i301, !dbg !155098
next-block59.i301: ; preds = %normal-return55.i300, %normal-return48.i297
%668 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155139
%669 = load i8*, i8** %668, !dbg !155139, !noalias !155107
%670 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155139
%671 = load void (i8*)**, void (i8*)*** %670, !dbg !155139, !noalias !155107
%672 = getelementptr inbounds void (i8*)*, void (i8*)** %671, i32 28, !dbg !155139
%673 = load void (i8*)*, void (i8*)** %672, !dbg !155139, !noalias !155107
invoke void %673(i8* nonnull %669)
to label %normal-return60.i302 unwind label %unwind_ast_4428_.i286, !dbg !155139, !noalias !155107
normal-return60.i302: ; preds = %next-block59.i301
%674 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155140
%675 = load i8*, i8** %674, !dbg !155140, !noalias !155107
%676 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155140
%677 = load void (i8*)**, void (i8*)*** %676, !dbg !155140, !noalias !155107
%678 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i404.i68, i32 0, i32 0, !dbg !155140
store i8* %675, i8** %678, !dbg !155140, !noalias !155100
%679 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i404.i68, i32 0, i32 1, !dbg !155140
store void (i8*)** %677, void (i8*)*** %679, !dbg !155140, !noalias !155100
%680 = bitcast { i8*, void (i8*)** }* %this.i404.i68 to %"2.core::raw::TraitObject"*, !dbg !154871
store %"2.core::raw::TraitObject"* %680, %"2.core::raw::TraitObject"** %obj.i405.i69, !dbg !154871, !noalias !155100
%681 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i405.i69, !dbg !155141, !noalias !155100, !nonnull !2274
%682 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %681, i32 0, i32 0, !dbg !155140
%683 = load {}*, {}** %682, !dbg !155141, !noalias !155107
%684 = bitcast {}* %683 to %"flow::BaseFlow"*, !dbg !155141
store %"flow::BaseFlow"* %684, %"flow::BaseFlow"** %34, !dbg !155098, !noalias !155100
%685 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %34, !dbg !155140, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %685, %"flow::BaseFlow"** %auto_deref62.i131, !dbg !155098, !noalias !155100
%686 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref62.i131, !dbg !155098, !noalias !155100, !nonnull !2274
%687 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %686, i32 0, i32 22, !dbg !155098
%688 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8is_float17h3bb4201ef87f884aE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %687)
to label %normal-return63.i303 unwind label %unwind_ast_4428_.i286, !dbg !155140, !noalias !155107
normal-return63.i303: ; preds = %normal-return60.i302
%689 = zext i1 %688 to i8, !dbg !155098
store i8 %689, i8* %33, !dbg !155098, !noalias !155100
%690 = load i8, i8* %33, !dbg !155140, !range !58629, !noalias !155100
%691 = trunc i8 %690 to i1, !dbg !155140
%692 = xor i1 %691, true, !dbg !155140
br i1 %692, label %then-block-4605-.i304, label %next-block65.i306, !dbg !155140
then-block-4605-.i304: ; preds = %normal-return63.i303
%693 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155142
%694 = load i8*, i8** %693, !dbg !155142, !noalias !155107
%695 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155142
%696 = load void (i8*)**, void (i8*)*** %695, !dbg !155142, !noalias !155107
%697 = getelementptr inbounds void (i8*)*, void (i8*)** %696, i32 29, !dbg !155142
%698 = load void (i8*)*, void (i8*)** %697, !dbg !155142, !noalias !155107
%699 = bitcast void (i8*)* %698 to i1 (i8*, %"context::LayoutContext"*, i8)*, !dbg !155142
%700 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i83, !dbg !155142, !noalias !155100, !nonnull !2274
%701 = load i8, i8* %thread_id.i112, !dbg !155143, !noalias !155100
%702 = invoke zeroext i1 %699(i8* nonnull %694, %"context::LayoutContext"* noalias readonly dereferenceable(16) %700, i8 %701)
to label %normal-return64.i305 unwind label %unwind_ast_4428_.i286, !dbg !155142, !noalias !155107
normal-return64.i305: ; preds = %then-block-4605-.i304
br label %next-block65.i306, !dbg !155098
next-block65.i306: ; preds = %normal-return64.i305, %normal-return63.i303
br label %clean_custom_.i307, !dbg !155144
clean_custom_.i307: ; preds = %normal-return107.i330, %next-block65.i306
br label %loop_body.i290, !dbg !155098
next-block66.i308: ; preds = %normal-return44.i295
%703 = bitcast %"33.app_units::Au"* %cur_b.i95 to i8*, !dbg !154902
%704 = bitcast %"33.app_units::Au"* %previous_b.i132 to i8*, !dbg !154902
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %704, i8* %703, i64 4, i32 4, i1 false), !dbg !154902, !noalias !155100
%705 = getelementptr inbounds %"2.core::option::Option<flow::FragmentationContext>", %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i84, i32 0, i32 0, !dbg !155098
%706 = load i32, i32* %705, !dbg !155098, !range !64827, !noalias !155100
%cond493 = icmp eq i32 %706, 1, !dbg !155098
br i1 %cond493, label %match_case71.i310, label %match_else70.i309, !dbg !155098
match_else70.i309: ; preds = %next-block66.i308
br label %join90.i321, !dbg !155098
match_case71.i310: ; preds = %next-block66.i308
%707 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i84 to { i32, %"flow::FragmentationContext" }*, !dbg !155098
%708 = getelementptr inbounds { i32, %"flow::FragmentationContext" }, { i32, %"flow::FragmentationContext" }* %707, i32 0, i32 1, !dbg !155098
store %"flow::FragmentationContext"* %708, %"flow::FragmentationContext"** %__llmatch68.i133, !dbg !155098, !noalias !155100
%709 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %__llmatch68.i133, !dbg !155098, !noalias !155100
%710 = bitcast %"flow::FragmentationContext"* %709 to i8*, !dbg !155098
%711 = bitcast %"flow::FragmentationContext"* %ctx.i134 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %711, i8* %710, i64 8, i32 4, i1 false), !dbg !155098, !noalias !155107
%712 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %child_ctx.i135, i32 0, i32 0, !dbg !155098
%713 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %ctx.i134, i32 0, i32 0, !dbg !155098
%714 = load %"33.app_units::Au", %"33.app_units::Au"* %713, !dbg !155145, !noalias !155100
store %"33.app_units::Au" %714, %"33.app_units::Au"* %to_ref72.i136, !dbg !155098, !noalias !155100
%715 = bitcast %"33.app_units::Au"* %to_ref72.i136 to i32*, !dbg !155098
%716 = load i32, i32* %715, align 4, !dbg !155098, !noalias !155100
%717 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i95, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %717, %"33.app_units::Au"* %to_ref73.i137, !dbg !155098, !noalias !155100
%718 = bitcast %"33.app_units::Au"* %to_ref73.i137 to i32*, !dbg !155098
%719 = load i32, i32* %718, align 4, !dbg !155098, !noalias !155100
%720 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %716, i32 %719)
to label %normal-return74.i311 unwind label %unwind_ast_4428_.i286, !dbg !155145, !noalias !155107
normal-return74.i311: ; preds = %match_case71.i310
store i32 %720, i32* %abi_cast75.i138, !dbg !155098, !noalias !155100
%721 = bitcast %"33.app_units::Au"* %712 to i8*, !dbg !155098
%722 = bitcast i32* %abi_cast75.i138 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %721, i8* %722, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%723 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %child_ctx.i135, i32 0, i32 1, !dbg !155098
%724 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %ctx.i134, i32 0, i32 1, !dbg !155098
%725 = load i8, i8* %724, !dbg !155146, !range !58629, !noalias !155100
%726 = trunc i8 %725 to i1, !dbg !155146
%727 = zext i1 %726 to i8, !dbg !155146
store i8 %727, i8* %723, !dbg !155146, !noalias !155100
%728 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155147
%729 = load i8*, i8** %728, !dbg !155147, !noalias !155107
%730 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155147
%731 = load void (i8*)**, void (i8*)*** %730, !dbg !155147, !noalias !155107
%732 = getelementptr inbounds void (i8*)*, void (i8*)** %731, i32 26, !dbg !155147
%733 = load void (i8*)*, void (i8*)** %732, !dbg !155147, !noalias !155107
%734 = bitcast void (i8*)* %733 to void (%"2.core::option::Option<std::sync::Arc<flow::Flow>>"*, i8*, %"context::LayoutContext"*, %"2.core::option::Option<flow::FragmentationContext>"*)*, !dbg !155147
%735 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i83, !dbg !155147, !noalias !155100, !nonnull !2274
%736 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %36 to { i32, %"flow::FragmentationContext" }*, !dbg !155098
%737 = getelementptr inbounds { i32, %"flow::FragmentationContext" }, { i32, %"flow::FragmentationContext" }* %736, i32 0, i32 1, !dbg !155098
%738 = bitcast %"flow::FragmentationContext"* %child_ctx.i135 to i8*, !dbg !155147
%739 = bitcast %"flow::FragmentationContext"* %737 to i8*, !dbg !155147
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %739, i8* %738, i64 8, i32 4, i1 false), !dbg !155147, !noalias !155100
%740 = getelementptr inbounds %"2.core::option::Option<flow::FragmentationContext>", %"2.core::option::Option<flow::FragmentationContext>"* %36, i32 0, i32 0, !dbg !155147
store i32 1, i32* %740, !dbg !155147, !noalias !155100
invoke void %734(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* noalias nocapture sret dereferenceable(16) %35, i8* nonnull %729, %"context::LayoutContext"* noalias readonly dereferenceable(16) %735, %"2.core::option::Option<flow::FragmentationContext>"* noalias nocapture dereferenceable(12) %36)
to label %normal-return76.i312 unwind label %unwind_ast_4428_.i286, !dbg !155147, !noalias !155107
normal-return76.i312: ; preds = %normal-return74.i311
%741 = getelementptr inbounds %"2.core::option::Option<std::sync::Arc<flow::Flow>>", %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %35, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !155098
%742 = load %"5.alloc::arc::ArcInner<flow::Flow>"*, %"5.alloc::arc::ArcInner<flow::Flow>"** %741, !dbg !155098, !noalias !155100
%743 = icmp ne %"5.alloc::arc::ArcInner<flow::Flow>"* %742, null, !dbg !155098
%cond494 = icmp eq i1 %743, true, !dbg !155098
br i1 %cond494, label %match_case80.i314, label %match_else79.i313, !dbg !155098
match_else79.i313: ; preds = %normal-return76.i312
br label %join88.i320, !dbg !155098
match_case80.i314: ; preds = %normal-return76.i312
%744 = getelementptr inbounds %"2.core::option::Option<std::sync::Arc<flow::Flow>>", %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %35, i32 0, i32 0, !dbg !155098
store %"5.std::sync::Arc<flow::Flow>"* %744, %"5.std::sync::Arc<flow::Flow>"** %remaining.i139, !dbg !155098, !noalias !155100
%745 = load %"5.std::sync::Arc<flow::Flow>"*, %"5.std::sync::Arc<flow::Flow>"** %remaining.i139, !dbg !155098, !noalias !155100
%746 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %37 to { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }*, !dbg !155098
%747 = getelementptr inbounds { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }, { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }* %746, i32 0, i32 1, !dbg !155098
%748 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %747, i32 0, i32 0, !dbg !155098
%749 = load i64, i64* %child_index.i119, !dbg !155148, !noalias !155100
%750 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %749, i64 1), !dbg !155148
%751 = extractvalue { i64, i1 } %750, 0, !dbg !155148
%752 = extractvalue { i64, i1 } %750, 1, !dbg !155148
%753 = call i1 @llvm.expect.i1(i1 %752, i1 false), !dbg !155148
br i1 %753, label %cond.i316, label %next.i315, !dbg !155098
next.i315: ; preds = %match_case80.i314
store i64 %751, i64* %748, !dbg !155148, !noalias !155100
%754 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %747, i32 0, i32 1, !dbg !155098
%755 = getelementptr inbounds %"2.core::option::Option<std::sync::Arc<flow::Flow>>", %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %754, i32 0, i32 0, !dbg !155098
%756 = bitcast %"5.std::sync::Arc<flow::Flow>"* %745 to i8*, !dbg !155148
%757 = bitcast %"5.std::sync::Arc<flow::Flow>"* %755 to i8*, !dbg !155148
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %757, i8* %756, i64 16, i32 8, i1 false), !dbg !155148, !noalias !155107
%758 = bitcast %"5.std::sync::Arc<flow::Flow>"* %745 to i8*, !dbg !155148
call void @llvm.memset.p0i8.i64(i8* %758, i8 29, i64 16, i32 8, i1 false), !dbg !155148, !noalias !155107
%759 = getelementptr inbounds %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>", %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %37, i32 0, i32 0, !dbg !155148
store i64 1, i64* %759, !dbg !155148, !noalias !155100
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93), !dbg !155148, !noalias !155107
%760 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %37 to i8*, !dbg !155148
%761 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93 to i8*, !dbg !155148
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %761, i8* %760, i64 32, i32 8, i1 false), !dbg !155148, !noalias !155100
call void @_ZN4drop17h4bf85adc0d764c63E(%"5.std::sync::Arc<flow::Flow>"* %745), !dbg !155147, !noalias !155107
%762 = bitcast %"5.std::sync::Arc<flow::Flow>"* %745 to i8*, !dbg !155147
call void @llvm.memset.p0i8.i64(i8* %762, i8 29, i64 16, i32 8, i1 false), !dbg !155147, !noalias !155107
br label %join88.i320, !dbg !155098
cond.i316: ; preds = %match_case80.i314
invoke void @_ZN4core9panicking5panic17hbfac80217e56ecbeE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc42761)
to label %normal-return81.i317 unwind label %unwind_custom_.i318, !dbg !155148, !noalias !155107
normal-return81.i317: ; preds = %cond.i316
unreachable, !dbg !155148
unwind_custom_.i318: ; preds = %cond.i316
%763 = landingpad { i8*, i32 }
cleanup, !dbg !155098
store { i8*, i32 } %763, { i8*, i32 }* %11, !dbg !155098, !noalias !155100
call void @_ZN4drop17h4bf85adc0d764c63E(%"5.std::sync::Arc<flow::Flow>"* %745), !dbg !155147, !noalias !155107
%764 = bitcast %"5.std::sync::Arc<flow::Flow>"* %745 to i8*, !dbg !155147
call void @llvm.memset.p0i8.i64(i8* %764, i8 29, i64 16, i32 8, i1 false), !dbg !155147, !noalias !155107
call void @_ZN4drop17h83b3810660b0f85dE(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %35), !dbg !154903, !noalias !155107
br label %clean_ast_4428_82.i319, !dbg !155098
clean_ast_4428_82.i319: ; preds = %clean_ast_4428_225.i394, %unwind_custom_.i318
br label %clean_ast_4428_.i287, !dbg !155098
join88.i320: ; preds = %next.i315, %match_else79.i313
call void @_ZN4drop17h83b3810660b0f85dE(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %35), !dbg !154903, !noalias !155107
br label %join90.i321, !dbg !155098
join90.i321: ; preds = %join88.i320, %match_else70.i309
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %38, %"floats::Floats"* noalias readonly dereferenceable(40) %floats.i111)
to label %normal-return91.i322 unwind label %unwind_ast_4428_.i286, !dbg !155149, !noalias !155107
normal-return91.i322: ; preds = %join90.i321
%765 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155149
%766 = load i8*, i8** %765, !dbg !155149, !noalias !155107
%767 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155149
%768 = load void (i8*)**, void (i8*)*** %767, !dbg !155149, !noalias !155107
%769 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i406.i66, i32 0, i32 0, !dbg !155149
store i8* %766, i8** %769, !dbg !155149, !noalias !155100
%770 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i406.i66, i32 0, i32 1, !dbg !155149
store void (i8*)** %768, void (i8*)*** %770, !dbg !155149, !noalias !155100
%771 = bitcast { i8*, void (i8*)** }* %this.i406.i66 to %"2.core::raw::TraitObject"*, !dbg !154868
store %"2.core::raw::TraitObject"* %771, %"2.core::raw::TraitObject"** %obj.i407.i67, !dbg !154868, !noalias !155100
%772 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i407.i67, !dbg !155150, !noalias !155100, !nonnull !2274
%773 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %772, i32 0, i32 0, !dbg !155149
%774 = load {}*, {}** %773, !dbg !155150, !noalias !155107
%775 = bitcast {}* %774 to %"flow::BaseFlow"*, !dbg !155150
store %"flow::BaseFlow"* %775, %"flow::BaseFlow"** %39, !dbg !155098, !noalias !155100
%776 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %39, !dbg !155149, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %776, %"flow::BaseFlow"** %auto_deref93.i142, !dbg !155098, !noalias !155100
%777 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref93.i142, !dbg !155098, !noalias !155100, !nonnull !2274
%778 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %777, i32 0, i32 6, !dbg !155098
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %778), !dbg !155149, !noalias !155107
%779 = bitcast %"floats::Floats"* %38 to i8*, !dbg !155149
%780 = bitcast %"floats::Floats"* %778 to i8*, !dbg !155149
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %780, i8* %779, i64 40, i32 8, i1 false), !dbg !155149, !noalias !155107
%781 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155151
%782 = load i8*, i8** %781, !dbg !155151, !noalias !155107
%783 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155151
%784 = load void (i8*)**, void (i8*)*** %783, !dbg !155151, !noalias !155107
%785 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i408.i64, i32 0, i32 0, !dbg !155151
store i8* %782, i8** %785, !dbg !155151, !noalias !155100
%786 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i408.i64, i32 0, i32 1, !dbg !155151
store void (i8*)** %784, void (i8*)*** %786, !dbg !155151, !noalias !155100
%787 = bitcast { i8*, void (i8*)** }* %this.i408.i64 to %"2.core::raw::TraitObject"*, !dbg !154865
store %"2.core::raw::TraitObject"* %787, %"2.core::raw::TraitObject"** %obj.i409.i65, !dbg !154865, !noalias !155100
%788 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i409.i65, !dbg !155152, !noalias !155100, !nonnull !2274
%789 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %788, i32 0, i32 0, !dbg !155151
%790 = load {}*, {}** %789, !dbg !155152, !noalias !155107
%791 = bitcast {}* %790 to %"flow::BaseFlow"*, !dbg !155152
store %"flow::BaseFlow"* %791, %"flow::BaseFlow"** %41, !dbg !155098, !noalias !155100
%792 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %41, !dbg !155151, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %792, %"flow::BaseFlow"** %auto_deref95.i143, !dbg !155098, !noalias !155100
%793 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref95.i143, !dbg !155098, !noalias !155100, !nonnull !2274
%794 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %793, i32 0, i32 22, !dbg !155098
%795 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8is_float17h3bb4201ef87f884aE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %794)
to label %normal-return96.i323 unwind label %unwind_ast_4428_.i286, !dbg !155151, !noalias !155107
normal-return96.i323: ; preds = %normal-return91.i322
%796 = zext i1 %795 to i8, !dbg !155098
store i8 %796, i8* %40, !dbg !155098, !noalias !155100
%797 = load i8, i8* %40, !dbg !155151, !range !58629, !noalias !155100
%798 = trunc i8 %797 to i1, !dbg !155151
br i1 %798, label %then-block-4670-.i324, label %next-block110.i331, !dbg !155151
then-block-4670-.i324: ; preds = %normal-return96.i323
store i8 1, i8* %had_floated_children.i114, !dbg !155153, !noalias !155100
%799 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155154
%800 = load i8*, i8** %799, !dbg !155154, !noalias !155107
%801 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155154
%802 = load void (i8*)**, void (i8*)*** %801, !dbg !155154, !noalias !155107
%803 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i410.i62, i32 0, i32 0, !dbg !155154
store i8* %800, i8** %803, !dbg !155154, !noalias !155100
%804 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i410.i62, i32 0, i32 1, !dbg !155154
store void (i8*)** %802, void (i8*)*** %804, !dbg !155154, !noalias !155100
%805 = bitcast { i8*, void (i8*)** }* %this.i410.i62 to %"2.core::raw::TraitObject"*, !dbg !154862
store %"2.core::raw::TraitObject"* %805, %"2.core::raw::TraitObject"** %obj.i411.i63, !dbg !154862, !noalias !155100
%806 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i411.i63, !dbg !155155, !noalias !155100, !nonnull !2274
%807 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %806, i32 0, i32 0, !dbg !155154
%808 = load {}*, {}** %807, !dbg !155155, !noalias !155107
%809 = bitcast {}* %808 to %"flow::BaseFlow"*, !dbg !155155
store %"flow::BaseFlow"* %809, %"flow::BaseFlow"** %42, !dbg !155098, !noalias !155100
%810 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %42, !dbg !155154, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %810, %"flow::BaseFlow"** %auto_deref98.i144, !dbg !155098, !noalias !155100
%811 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref98.i144, !dbg !155098, !noalias !155100, !nonnull !2274
%812 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %811, i32 0, i32 3, !dbg !155098
%813 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %812, i32 0, i32 0, !dbg !155098
%814 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %813, i32 0, i32 1, !dbg !155098
%815 = bitcast %"33.app_units::Au"* %cur_b.i95 to i8*, !dbg !155098
%816 = bitcast %"33.app_units::Au"* %814 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %816, i8* %815, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155107
%817 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !154906
%818 = load i8*, i8** %817, !dbg !154906, !noalias !155107
%819 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !154906
%820 = load void (i8*)**, void (i8*)*** %819, !dbg !154906, !noalias !155107
%821 = getelementptr inbounds void (i8*)*, void (i8*)** %820, i32 5, !dbg !154906
%822 = load void (i8*)*, void (i8*)** %821, !dbg !154906, !noalias !155107
%823 = bitcast void (i8*)* %822 to %"block::BlockFlow"* (i8*)*, !dbg !154906
%824 = invoke dereferenceable(560) %"block::BlockFlow"* %823(i8* nonnull %818)
to label %normal-return99.i325 unwind label %unwind_ast_4428_.i286, !dbg !154906, !noalias !155107
normal-return99.i325: ; preds = %then-block-4670-.i324
store %"block::BlockFlow"* %824, %"block::BlockFlow"** %kid_block.i145, !dbg !155098, !noalias !155100
%825 = invoke i32 @_ZN6layout5model18MarginCollapseInfo21current_float_ceiling17h5672335fcfd7a480E(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i99)
to label %normal-return100.i326 unwind label %unwind_ast_4428_.i286, !dbg !154907, !noalias !155107
normal-return100.i326: ; preds = %normal-return99.i325
store i32 %825, i32* %abi_cast101.i147, !dbg !155098, !noalias !155100
%826 = bitcast %"33.app_units::Au"* %float_ceiling.i146 to i8*, !dbg !155098
%827 = bitcast i32* %abi_cast101.i147 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %826, i8* %827, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%828 = load %"block::BlockFlow"*, %"block::BlockFlow"** %kid_block.i145, !dbg !155156, !noalias !155100, !nonnull !2274
%829 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %828, i32 0, i32 4, !dbg !155098
%830 = invoke i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6as_mut17h574324ce34660ce7E"(i8** dereferenceable(8) %829)
to label %normal-return102.i327 unwind label %unwind_ast_4428_.i286, !dbg !155156, !noalias !155107
normal-return102.i327: ; preds = %normal-return100.i326
store i8* %830, i8** %44, !dbg !155098, !noalias !155100
%831 = load i8*, i8** %44, !dbg !155156, !noalias !155100
%832 = invoke dereferenceable(8) %"block::FloatedBlockInfo"** @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hd44ba4664d4063abE"(i8* %831)
to label %normal-return103.i328 unwind label %unwind_ast_4428_.i286, !dbg !155156, !noalias !155107
normal-return103.i328: ; preds = %normal-return102.i327
store %"block::FloatedBlockInfo"** %832, %"block::FloatedBlockInfo"*** %43, !dbg !155098, !noalias !155100
%833 = load %"block::FloatedBlockInfo"**, %"block::FloatedBlockInfo"*** %43, !dbg !155156, !noalias !155100, !nonnull !2274
store %"block::FloatedBlockInfo"** %833, %"block::FloatedBlockInfo"*** %auto_deref104.i148, !dbg !155098, !noalias !155100
%834 = load %"block::FloatedBlockInfo"**, %"block::FloatedBlockInfo"*** %auto_deref104.i148, !dbg !155098, !noalias !155100, !nonnull !2274
%835 = load %"block::FloatedBlockInfo"*, %"block::FloatedBlockInfo"** %834, !dbg !155098, !noalias !155107, !nonnull !2274
%836 = getelementptr inbounds %"block::FloatedBlockInfo", %"block::FloatedBlockInfo"* %835, i32 0, i32 1, !dbg !155098
%837 = bitcast %"33.app_units::Au"* %float_ceiling.i146 to i8*, !dbg !155098
%838 = bitcast %"33.app_units::Au"* %836 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %838, i8* %837, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155107
%839 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155157
%840 = load i8*, i8** %839, !dbg !155157, !noalias !155107
%841 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155157
%842 = load void (i8*)**, void (i8*)*** %841, !dbg !155157, !noalias !155107
%843 = getelementptr inbounds void (i8*)*, void (i8*)** %842, i32 28, !dbg !155157
%844 = load void (i8*)*, void (i8*)** %843, !dbg !155157, !noalias !155107
invoke void %844(i8* nonnull %840)
to label %normal-return105.i329 unwind label %unwind_ast_4428_.i286, !dbg !155157, !noalias !155107
normal-return105.i329: ; preds = %normal-return103.i328
%845 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !154908
%846 = load i8*, i8** %845, !dbg !154908, !noalias !155107
%847 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !154908
%848 = load void (i8*)**, void (i8*)*** %847, !dbg !154908, !noalias !155107
%849 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i412.i60, i32 0, i32 0, !dbg !154908
store i8* %846, i8** %849, !dbg !154908, !noalias !155100
%850 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i412.i60, i32 0, i32 1, !dbg !154908
store void (i8*)** %848, void (i8*)*** %850, !dbg !154908, !noalias !155100
%851 = bitcast { i8*, void (i8*)** }* %this.i412.i60 to %"2.core::raw::TraitObject"*, !dbg !154859
store %"2.core::raw::TraitObject"* %851, %"2.core::raw::TraitObject"** %obj.i413.i61, !dbg !154859, !noalias !155100
%852 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i413.i61, !dbg !155158, !noalias !155100, !nonnull !2274
%853 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %852, i32 0, i32 0, !dbg !154908
%854 = load {}*, {}** %853, !dbg !155158, !noalias !155107
%855 = bitcast {}* %854 to %"flow::BaseFlow"*, !dbg !155158
store %"flow::BaseFlow"* %855, %"flow::BaseFlow"** %kid_base.i149, !dbg !155098, !noalias !155100
%856 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %kid_base.i149, !dbg !155159, !noalias !155100, !nonnull !2274
%857 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %856, i32 0, i32 6, !dbg !155098
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %45, %"floats::Floats"* noalias readonly dereferenceable(40) %857)
to label %normal-return107.i330 unwind label %unwind_ast_4428_.i286, !dbg !155159, !noalias !155107
normal-return107.i330: ; preds = %normal-return105.i329
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i111), !dbg !155159, !noalias !155107
%858 = bitcast %"floats::Floats"* %45 to i8*, !dbg !155159
%859 = bitcast %"floats::Floats"* %floats.i111 to i8*, !dbg !155159
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %859, i8* %858, i64 40, i32 8, i1 false), !dbg !155159, !noalias !155100
br label %clean_custom_.i307, !dbg !155098
next-block110.i331: ; preds = %normal-return96.i323
%860 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155160
%861 = load i8*, i8** %860, !dbg !155160, !noalias !155107
%862 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155160
%863 = load void (i8*)**, void (i8*)*** %862, !dbg !155160, !noalias !155107
%864 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i414.i58, i32 0, i32 0, !dbg !155160
store i8* %861, i8** %864, !dbg !155160, !noalias !155100
%865 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i414.i58, i32 0, i32 1, !dbg !155160
store void (i8*)** %863, void (i8*)*** %865, !dbg !155160, !noalias !155100
%866 = bitcast { i8*, void (i8*)** }* %this.i414.i58 to %"2.core::raw::TraitObject"*, !dbg !154856
store %"2.core::raw::TraitObject"* %866, %"2.core::raw::TraitObject"** %obj.i415.i59, !dbg !154856, !noalias !155100
%867 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i415.i59, !dbg !155161, !noalias !155100, !nonnull !2274
%868 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %867, i32 0, i32 0, !dbg !155160
%869 = load {}*, {}** %868, !dbg !155161, !noalias !155107
%870 = bitcast {}* %869 to %"flow::BaseFlow"*, !dbg !155161
store %"flow::BaseFlow"* %870, %"flow::BaseFlow"** %47, !dbg !155098, !noalias !155100
%871 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %47, !dbg !155160, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %871, %"flow::BaseFlow"** %auto_deref112.i150, !dbg !155098, !noalias !155100
%872 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref112.i150, !dbg !155098, !noalias !155100, !nonnull !2274
%873 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %872, i32 0, i32 22, !dbg !155098
%874 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags13clears_floats17h9c12cb52ad233513E(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %873)
to label %normal-return113.i332 unwind label %unwind_ast_4428_.i286, !dbg !155160, !noalias !155107
normal-return113.i332: ; preds = %next-block110.i331
%875 = zext i1 %874 to i8, !dbg !155098
store i8 %875, i8* %46, !dbg !155098, !noalias !155100
%876 = load i8, i8* %46, !dbg !155160, !range !58629, !noalias !155100
%877 = trunc i8 %876 to i1, !dbg !155160
br i1 %877, label %then-block-4727-.i333, label %next-block120.i336, !dbg !155160
then-block-4727-.i333: ; preds = %normal-return113.i332
%878 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155162, !noalias !155100, !nonnull !2274
%879 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %878, i32 0, i32 1, !dbg !155098
%880 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %879, i32 0, i32 1, !dbg !155098
%881 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %880)
to label %normal-return115.i334 unwind label %unwind_ast_4428_.i286, !dbg !155162, !noalias !155107
normal-return115.i334: ; preds = %then-block-4727-.i333
store %"112.style::properties::ComputedValues"* %881, %"112.style::properties::ComputedValues"** %overloaded_deref114.i151, !dbg !155098, !noalias !155100
%882 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref114.i151, !dbg !155162, !noalias !155100, !nonnull !2274
%883 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %882, i32 0, i32 21, !dbg !155098
%884 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %883, !dbg !155162, !noalias !155107
store %"112.style::logical_geometry::WritingMode" %884, %"112.style::logical_geometry::WritingMode"* %to_ref116.i152, !dbg !155098, !noalias !155100
%885 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref116.i152 to i8*, !dbg !155098
%886 = load i8, i8* %885, align 1, !dbg !155098, !noalias !155100
invoke void @_ZN6layout6floats6Floats3new17hd6914052fc476c29E(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %48, i8 %886)
to label %normal-return117.i335 unwind label %unwind_ast_4428_.i286, !dbg !155162, !noalias !155107
normal-return117.i335: ; preds = %normal-return115.i334
%887 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155162
%888 = load i8*, i8** %887, !dbg !155162, !noalias !155107
%889 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155162
%890 = load void (i8*)**, void (i8*)*** %889, !dbg !155162, !noalias !155107
%891 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i416.i56, i32 0, i32 0, !dbg !155162
store i8* %888, i8** %891, !dbg !155162, !noalias !155100
%892 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i416.i56, i32 0, i32 1, !dbg !155162
store void (i8*)** %890, void (i8*)*** %892, !dbg !155162, !noalias !155100
%893 = bitcast { i8*, void (i8*)** }* %this.i416.i56 to %"2.core::raw::TraitObject"*, !dbg !154853
store %"2.core::raw::TraitObject"* %893, %"2.core::raw::TraitObject"** %obj.i417.i57, !dbg !154853, !noalias !155100
%894 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i417.i57, !dbg !155163, !noalias !155100, !nonnull !2274
%895 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %894, i32 0, i32 0, !dbg !155162
%896 = load {}*, {}** %895, !dbg !155163, !noalias !155107
%897 = bitcast {}* %896 to %"flow::BaseFlow"*, !dbg !155163
store %"flow::BaseFlow"* %897, %"flow::BaseFlow"** %49, !dbg !155098, !noalias !155100
%898 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %49, !dbg !155162, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %898, %"flow::BaseFlow"** %auto_deref119.i153, !dbg !155098, !noalias !155100
%899 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref119.i153, !dbg !155098, !noalias !155100, !nonnull !2274
%900 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %899, i32 0, i32 6, !dbg !155098
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %900), !dbg !155162, !noalias !155107
%901 = bitcast %"floats::Floats"* %48 to i8*, !dbg !155162
%902 = bitcast %"floats::Floats"* %900 to i8*, !dbg !155162
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %902, i8* %901, i64 40, i32 8, i1 false), !dbg !155162, !noalias !155107
br label %next-block120.i336, !dbg !155098
next-block120.i336: ; preds = %normal-return117.i335, %normal-return113.i332
%903 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155164
%904 = load i8*, i8** %903, !dbg !155164, !noalias !155107
%905 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155164
%906 = load void (i8*)**, void (i8*)*** %905, !dbg !155164, !noalias !155107
%907 = getelementptr inbounds void (i8*)*, void (i8*)** %906, i32 29, !dbg !155164
%908 = load void (i8*)*, void (i8*)** %907, !dbg !155164, !noalias !155107
%909 = bitcast void (i8*)* %908 to i1 (i8*, %"context::LayoutContext"*, i8)*, !dbg !155164
%910 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i83, !dbg !155164, !noalias !155100, !nonnull !2274
%911 = load i8, i8* %thread_id.i112, !dbg !155165, !noalias !155100
%912 = invoke zeroext i1 %909(i8* nonnull %904, %"context::LayoutContext"* noalias readonly dereferenceable(16) %910, i8 %911)
to label %normal-return121.i337 unwind label %unwind_ast_4428_.i286, !dbg !155164, !noalias !155107
normal-return121.i337: ; preds = %next-block120.i336
%913 = zext i1 %912 to i8, !dbg !155098
store i8 %913, i8* %need_to_process_child_floats.i154, !dbg !155098, !noalias !155100
%914 = load i8, i8* %had_children_with_clearance.i115, !dbg !155166, !range !58629, !noalias !155100
%915 = trunc i8 %914 to i1, !dbg !155166
%916 = xor i1 %915, true, !dbg !155166
br i1 %916, label %before_rhs123.i339, label %join122.i338, !dbg !155098
join122.i338: ; preds = %normal-return124.i340, %normal-return121.i337
%917 = phi i1 [ %916, %normal-return121.i337 ], [ %921, %normal-return124.i340 ], !dbg !155098
br i1 %917, label %before_rhs126.i342, label %join125.i341, !dbg !155098
before_rhs123.i339: ; preds = %normal-return121.i337
%918 = invoke zeroext i1 @_ZN6layout6floats6Floats10is_present17h4b50013b80651bdbE(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i111)
to label %normal-return124.i340 unwind label %unwind_ast_4428_.i286, !dbg !155167, !noalias !155107
normal-return124.i340: ; preds = %before_rhs123.i339
%919 = zext i1 %918 to i8, !dbg !155098
store i8 %919, i8* %50, !dbg !155098, !noalias !155100
%920 = load i8, i8* %50, !dbg !155167, !range !58629, !noalias !155100
%921 = trunc i8 %920 to i1, !dbg !155167
br label %join122.i338, !dbg !155098
join125.i341: ; preds = %join131.i344, %join122.i338
%922 = phi i1 [ %917, %join122.i338 ], [ %944, %join131.i344 ], !dbg !155098
br i1 %922, label %then-block-4767-.i347, label %next-block137.i348, !dbg !155166
before_rhs126.i342: ; preds = %join122.i338
%923 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155168
%924 = load i8*, i8** %923, !dbg !155168, !noalias !155107
%925 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155168
%926 = load void (i8*)**, void (i8*)*** %925, !dbg !155168, !noalias !155107
%927 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i418.i54, i32 0, i32 0, !dbg !155168
store i8* %924, i8** %927, !dbg !155168, !noalias !155100
%928 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i418.i54, i32 0, i32 1, !dbg !155168
store void (i8*)** %926, void (i8*)*** %928, !dbg !155168, !noalias !155100
%929 = bitcast { i8*, void (i8*)** }* %this.i418.i54 to %"2.core::raw::TraitObject"*, !dbg !154850
store %"2.core::raw::TraitObject"* %929, %"2.core::raw::TraitObject"** %obj.i419.i55, !dbg !154850, !noalias !155100
%930 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i419.i55, !dbg !155169, !noalias !155100, !nonnull !2274
%931 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %930, i32 0, i32 0, !dbg !155168
%932 = load {}*, {}** %931, !dbg !155169, !noalias !155107
%933 = bitcast {}* %932 to %"flow::BaseFlow"*, !dbg !155169
store %"flow::BaseFlow"* %933, %"flow::BaseFlow"** %52, !dbg !155098, !noalias !155100
%934 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %52, !dbg !155168, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %934, %"flow::BaseFlow"** %auto_deref128.i155, !dbg !155098, !noalias !155100
%935 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref128.i155, !dbg !155098, !noalias !155100, !nonnull !2274
%936 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %935, i32 0, i32 22, !dbg !155098
%937 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42762 to %"flow::FlowFlags"*), !dbg !155098, !noalias !155107
store %"flow::FlowFlags" %937, %"flow::FlowFlags"* %to_ref129.i156, !dbg !155098, !noalias !155100
%938 = bitcast %"flow::FlowFlags"* %to_ref129.i156 to i32*, !dbg !155098
%939 = load i32, i32* %938, align 4, !dbg !155098, !noalias !155100
%940 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %936, i32 %939)
to label %normal-return130.i343 unwind label %unwind_ast_4428_.i286, !dbg !155168, !noalias !155107
normal-return130.i343: ; preds = %before_rhs126.i342
%941 = zext i1 %940 to i8, !dbg !155098
store i8 %941, i8* %51, !dbg !155098, !noalias !155100
%942 = load i8, i8* %51, !dbg !155168, !range !58629, !noalias !155100
%943 = trunc i8 %942 to i1, !dbg !155168
br i1 %943, label %join131.i344, label %before_rhs132.i345, !dbg !155098
join131.i344: ; preds = %normal-return136.i346, %normal-return130.i343
%944 = phi i1 [ %943, %normal-return130.i343 ], [ %965, %normal-return136.i346 ], !dbg !155098
br label %join125.i341, !dbg !155098
before_rhs132.i345: ; preds = %normal-return130.i343
%945 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155170
%946 = load i8*, i8** %945, !dbg !155170, !noalias !155107
%947 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155170
%948 = load void (i8*)**, void (i8*)*** %947, !dbg !155170, !noalias !155107
%949 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i420.i52, i32 0, i32 0, !dbg !155170
store i8* %946, i8** %949, !dbg !155170, !noalias !155100
%950 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i420.i52, i32 0, i32 1, !dbg !155170
store void (i8*)** %948, void (i8*)*** %950, !dbg !155170, !noalias !155100
%951 = bitcast { i8*, void (i8*)** }* %this.i420.i52 to %"2.core::raw::TraitObject"*, !dbg !154847
store %"2.core::raw::TraitObject"* %951, %"2.core::raw::TraitObject"** %obj.i421.i53, !dbg !154847, !noalias !155100
%952 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i421.i53, !dbg !155171, !noalias !155100, !nonnull !2274
%953 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %952, i32 0, i32 0, !dbg !155170
%954 = load {}*, {}** %953, !dbg !155171, !noalias !155107
%955 = bitcast {}* %954 to %"flow::BaseFlow"*, !dbg !155171
store %"flow::BaseFlow"* %955, %"flow::BaseFlow"** %54, !dbg !155098, !noalias !155100
%956 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %54, !dbg !155170, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %956, %"flow::BaseFlow"** %auto_deref134.i157, !dbg !155098, !noalias !155100
%957 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref134.i157, !dbg !155098, !noalias !155100, !nonnull !2274
%958 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %957, i32 0, i32 22, !dbg !155098
%959 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42763 to %"flow::FlowFlags"*), !dbg !155098, !noalias !155107
store %"flow::FlowFlags" %959, %"flow::FlowFlags"* %to_ref135.i158, !dbg !155098, !noalias !155100
%960 = bitcast %"flow::FlowFlags"* %to_ref135.i158 to i32*, !dbg !155098
%961 = load i32, i32* %960, align 4, !dbg !155098, !noalias !155100
%962 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %958, i32 %961)
to label %normal-return136.i346 unwind label %unwind_ast_4428_.i286, !dbg !155170, !noalias !155107
normal-return136.i346: ; preds = %before_rhs132.i345
%963 = zext i1 %962 to i8, !dbg !155098
store i8 %963, i8* %53, !dbg !155098, !noalias !155100
%964 = load i8, i8* %53, !dbg !155170, !range !58629, !noalias !155100
%965 = trunc i8 %964 to i1, !dbg !155170
br label %join131.i344, !dbg !155098
then-block-4767-.i347: ; preds = %join125.i341
store i8 1, i8* %had_children_with_clearance.i115, !dbg !155172, !noalias !155100
br label %next-block137.i348, !dbg !155098
next-block137.i348: ; preds = %then-block-4767-.i347, %join125.i341
%966 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155173
%967 = load i8*, i8** %966, !dbg !155173, !noalias !155107
%968 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155173
%969 = load void (i8*)**, void (i8*)*** %968, !dbg !155173, !noalias !155107
%970 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i422.i50, i32 0, i32 0, !dbg !155173
store i8* %967, i8** %970, !dbg !155173, !noalias !155100
%971 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i422.i50, i32 0, i32 1, !dbg !155173
store void (i8*)** %969, void (i8*)*** %971, !dbg !155173, !noalias !155100
%972 = bitcast { i8*, void (i8*)** }* %this.i422.i50 to %"2.core::raw::TraitObject"*, !dbg !154844
store %"2.core::raw::TraitObject"* %972, %"2.core::raw::TraitObject"** %obj.i423.i51, !dbg !154844, !noalias !155100
%973 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i423.i51, !dbg !155174, !noalias !155100, !nonnull !2274
%974 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %973, i32 0, i32 0, !dbg !155173
%975 = load {}*, {}** %974, !dbg !155174, !noalias !155107
%976 = bitcast {}* %975 to %"flow::BaseFlow"*, !dbg !155174
store %"flow::BaseFlow"* %976, %"flow::BaseFlow"** %55, !dbg !155098, !noalias !155100
%977 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %55, !dbg !155173, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %977, %"flow::BaseFlow"** %auto_deref139.i160, !dbg !155098, !noalias !155100
%978 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref139.i160, !dbg !155098, !noalias !155100, !nonnull !2274
%979 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %978, i32 0, i32 9, !dbg !155098
%980 = load i8, i8* %had_children_with_clearance.i115, !dbg !155175, !range !58629, !noalias !155100
%981 = trunc i8 %980 to i1, !dbg !155175
%982 = xor i1 %981, true, !dbg !155175
%983 = invoke i32 @_ZN6layout5model18MarginCollapseInfo26advance_block_start_margin17h792e7b468ba0e06eE(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i99, %"model::CollapsibleMargins"* noalias readonly dereferenceable(20) %979, i1 zeroext %982)
to label %normal-return140.i349 unwind label %unwind_ast_4428_.i286, !dbg !154910, !noalias !155107
normal-return140.i349: ; preds = %next-block137.i348
store i32 %983, i32* %abi_cast141.i161, !dbg !155098, !noalias !155100
%984 = bitcast %"33.app_units::Au"* %delta.i159 to i8*, !dbg !155098
%985 = bitcast i32* %abi_cast141.i161 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %984, i8* %985, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%986 = load %"33.app_units::Au", %"33.app_units::Au"* %delta.i159, !dbg !155176, !noalias !155100
store %"33.app_units::Au" %986, %"33.app_units::Au"* %to_ref142.i162, !dbg !155098, !noalias !155100
%987 = bitcast %"33.app_units::Au"* %to_ref142.i162 to i32*, !dbg !155098
%988 = load i32, i32* %987, align 4, !dbg !155098, !noalias !155100
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i95, i32 %988, %"floats::Floats"* dereferenceable(40) %floats.i111)
to label %normal-return143.i350 unwind label %unwind_ast_4428_.i286, !dbg !155176, !noalias !155107
normal-return143.i350: ; preds = %normal-return140.i349
%989 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %56, i32 0, i32 0, !dbg !155098
%990 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !154911
%991 = load i8*, i8** %990, !dbg !154911, !noalias !155107
%992 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !154911
%993 = load void (i8*)**, void (i8*)*** %992, !dbg !154911, !noalias !155107
%994 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i424.i48, i32 0, i32 0, !dbg !154911
store i8* %991, i8** %994, !dbg !154911, !noalias !155100
%995 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i424.i48, i32 0, i32 1, !dbg !154911
store void (i8*)** %993, void (i8*)*** %995, !dbg !154911, !noalias !155100
%996 = bitcast { i8*, void (i8*)** }* %this.i424.i48 to %"2.core::raw::TraitObject"*, !dbg !154841
store %"2.core::raw::TraitObject"* %996, %"2.core::raw::TraitObject"** %obj.i425.i49, !dbg !154841, !noalias !155100
%997 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i425.i49, !dbg !155177, !noalias !155100, !nonnull !2274
%998 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %997, i32 0, i32 0, !dbg !154911
%999 = load {}*, {}** %998, !dbg !155177, !noalias !155107
%1000 = bitcast {}* %999 to %"flow::BaseFlow"*, !dbg !155177
store %"flow::BaseFlow"* %1000, %"flow::BaseFlow"** %57, !dbg !155098, !noalias !155100
%1001 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %57, !dbg !154911, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %1001, %"flow::BaseFlow"** %auto_deref145.i164, !dbg !155098, !noalias !155100
%1002 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref145.i164, !dbg !155098, !noalias !155100, !nonnull !2274
%1003 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1002, i32 0, i32 22, !dbg !155098
%1004 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42762 to %"flow::FlowFlags"*), !dbg !155098, !noalias !155107
store %"flow::FlowFlags" %1004, %"flow::FlowFlags"* %to_ref146.i165, !dbg !155098, !noalias !155100
%1005 = bitcast %"flow::FlowFlags"* %to_ref146.i165 to i32*, !dbg !155098
%1006 = load i32, i32* %1005, align 4, !dbg !155098, !noalias !155100
%1007 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1003, i32 %1006)
to label %normal-return147.i351 unwind label %unwind_ast_4428_.i286, !dbg !154911, !noalias !155107
normal-return147.i351: ; preds = %normal-return143.i350
%1008 = zext i1 %1007 to i8, !dbg !155098
store i8 %1008, i8* %989, !dbg !155098, !noalias !155100
%1009 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %56, i32 0, i32 1, !dbg !155098
%1010 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155178
%1011 = load i8*, i8** %1010, !dbg !155178, !noalias !155107
%1012 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155178
%1013 = load void (i8*)**, void (i8*)*** %1012, !dbg !155178, !noalias !155107
%1014 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i426.i46, i32 0, i32 0, !dbg !155178
store i8* %1011, i8** %1014, !dbg !155178, !noalias !155100
%1015 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i426.i46, i32 0, i32 1, !dbg !155178
store void (i8*)** %1013, void (i8*)*** %1015, !dbg !155178, !noalias !155100
%1016 = bitcast { i8*, void (i8*)** }* %this.i426.i46 to %"2.core::raw::TraitObject"*, !dbg !154838
store %"2.core::raw::TraitObject"* %1016, %"2.core::raw::TraitObject"** %obj.i427.i47, !dbg !154838, !noalias !155100
%1017 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i427.i47, !dbg !155179, !noalias !155100, !nonnull !2274
%1018 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1017, i32 0, i32 0, !dbg !155178
%1019 = load {}*, {}** %1018, !dbg !155179, !noalias !155107
%1020 = bitcast {}* %1019 to %"flow::BaseFlow"*, !dbg !155179
store %"flow::BaseFlow"* %1020, %"flow::BaseFlow"** %58, !dbg !155098, !noalias !155100
%1021 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %58, !dbg !155178, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %1021, %"flow::BaseFlow"** %auto_deref149.i166, !dbg !155098, !noalias !155100
%1022 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref149.i166, !dbg !155098, !noalias !155100, !nonnull !2274
%1023 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1022, i32 0, i32 22, !dbg !155098
%1024 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42763 to %"flow::FlowFlags"*), !dbg !155098, !noalias !155107
store %"flow::FlowFlags" %1024, %"flow::FlowFlags"* %to_ref150.i167, !dbg !155098, !noalias !155100
%1025 = bitcast %"flow::FlowFlags"* %to_ref150.i167 to i32*, !dbg !155098
%1026 = load i32, i32* %1025, align 4, !dbg !155098, !noalias !155100
%1027 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1023, i32 %1026)
to label %normal-return151.i352 unwind label %unwind_ast_4428_.i286, !dbg !155178, !noalias !155107
normal-return151.i352: ; preds = %normal-return147.i351
%1028 = zext i1 %1027 to i8, !dbg !155098
store i8 %1028, i8* %1009, !dbg !155098, !noalias !155100
%1029 = load { i8, i8 }, { i8, i8 }* %56, !dbg !155178, !noalias !155100
store { i8, i8 } %1029, { i8, i8 }* %match152.i168, !dbg !155098, !noalias !155100
%1030 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %match152.i168, i32 0, i32 0, !dbg !155098
%1031 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %match152.i168, i32 0, i32 1, !dbg !155098
%1032 = load i8, i8* %1031, !dbg !155098, !range !58629, !noalias !155100
%1033 = trunc i8 %1032 to i1, !dbg !155098
%1034 = icmp eq i1 %1033, false, !dbg !155180
br i1 %1034, label %match_case158.i353, label %compare_next.i354, !dbg !155180
match_case158.i353: ; preds = %normal-return151.i352
%1035 = load i8, i8* %1030, !dbg !155180, !range !58629, !noalias !155100
%1036 = trunc i8 %1035 to i1, !dbg !155180
%1037 = icmp eq i1 %1036, false, !dbg !155180
br i1 %1037, label %match_case160.i355, label %compare_next161.i356, !dbg !155180
compare_next.i354: ; preds = %compare_next163.i358, %normal-return151.i352
%1038 = load i8, i8* %1030, !dbg !155181, !range !58629, !noalias !155100
%1039 = trunc i8 %1038 to i1, !dbg !155181
%1040 = icmp eq i1 %1039, false, !dbg !155181
br i1 %1040, label %match_case165.i359, label %compare_next166.i360, !dbg !155181
match_case160.i355: ; preds = %match_case158.i353
%1041 = bitcast %"33.app_units::Au"* %clearance.i163 to { i32 }*, !dbg !155180
%1042 = bitcast { i32 }* %1041 to i8*, !dbg !155180
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1042, i8* bitcast ({ i32 }* @const42369 to i8*), i64 4, i32 4, i1 false), !dbg !155180, !noalias !155107
br label %join173.i364, !dbg !155098
compare_next161.i356: ; preds = %match_case158.i353
br i1 %1036, label %match_case162.i357, label %compare_next163.i358, !dbg !155182
match_case162.i357: ; preds = %compare_next161.i356
%1043 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i111, i8 0)
to label %normal-return167.i361 unwind label %unwind_ast_4428_.i286, !dbg !155182, !noalias !155107
compare_next163.i358: ; preds = %compare_next161.i356
br label %compare_next.i354, !dbg !155098
match_case165.i359: ; preds = %compare_next.i354
%1044 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i111, i8 1)
to label %normal-return169.i362 unwind label %unwind_ast_4428_.i286, !dbg !155181, !noalias !155107
compare_next166.i360: ; preds = %compare_next.i354
%1045 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i111, i8 2)
to label %normal-return171.i363 unwind label %unwind_ast_4428_.i286, !dbg !155183, !noalias !155107
normal-return167.i361: ; preds = %match_case162.i357
store i32 %1043, i32* %abi_cast168.i169, !dbg !155098, !noalias !155100
%1046 = bitcast %"33.app_units::Au"* %clearance.i163 to i8*, !dbg !155098
%1047 = bitcast i32* %abi_cast168.i169 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1046, i8* %1047, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
br label %join173.i364, !dbg !155098
normal-return169.i362: ; preds = %match_case165.i359
store i32 %1044, i32* %abi_cast170.i170, !dbg !155098, !noalias !155100
%1048 = bitcast %"33.app_units::Au"* %clearance.i163 to i8*, !dbg !155098
%1049 = bitcast i32* %abi_cast170.i170 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1048, i8* %1049, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
br label %join173.i364, !dbg !155098
normal-return171.i363: ; preds = %compare_next166.i360
store i32 %1045, i32* %abi_cast172.i171, !dbg !155098, !noalias !155100
%1050 = bitcast %"33.app_units::Au"* %clearance.i163 to i8*, !dbg !155098
%1051 = bitcast i32* %abi_cast172.i171 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1050, i8* %1051, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
br label %join173.i364, !dbg !155098
join173.i364: ; preds = %normal-return171.i363, %normal-return169.i362, %normal-return167.i361, %match_case160.i355
%1052 = load %"33.app_units::Au", %"33.app_units::Au"* %clearance.i163, !dbg !155184, !noalias !155100
store %"33.app_units::Au" %1052, %"33.app_units::Au"* %to_ref174.i172, !dbg !155098, !noalias !155100
%1053 = bitcast %"33.app_units::Au"* %to_ref174.i172 to i32*, !dbg !155098
%1054 = load i32, i32* %1053, align 4, !dbg !155098, !noalias !155100
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i95, i32 %1054, %"floats::Floats"* dereferenceable(40) %floats.i111)
to label %normal-return175.i365 unwind label %unwind_ast_4428_.i286, !dbg !155184, !noalias !155107
normal-return175.i365: ; preds = %join173.i364
%1055 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155185
%1056 = load i8*, i8** %1055, !dbg !155185, !noalias !155107
%1057 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155185
%1058 = load void (i8*)**, void (i8*)*** %1057, !dbg !155185, !noalias !155107
%1059 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i428.i44, i32 0, i32 0, !dbg !155185
store i8* %1056, i8** %1059, !dbg !155185, !noalias !155100
%1060 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i428.i44, i32 0, i32 1, !dbg !155185
store void (i8*)** %1058, void (i8*)*** %1060, !dbg !155185, !noalias !155100
%1061 = bitcast { i8*, void (i8*)** }* %this.i428.i44 to %"2.core::raw::TraitObject"*, !dbg !154835
store %"2.core::raw::TraitObject"* %1061, %"2.core::raw::TraitObject"** %obj.i429.i45, !dbg !154835, !noalias !155100
%1062 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i429.i45, !dbg !155186, !noalias !155100, !nonnull !2274
%1063 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1062, i32 0, i32 0, !dbg !155185
%1064 = load {}*, {}** %1063, !dbg !155186, !noalias !155107
%1065 = bitcast {}* %1064 to %"flow::BaseFlow"*, !dbg !155186
store %"flow::BaseFlow"* %1065, %"flow::BaseFlow"** %59, !dbg !155098, !noalias !155100
%1066 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %59, !dbg !155185, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %1066, %"flow::BaseFlow"** %auto_deref177.i173, !dbg !155098, !noalias !155100
%1067 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref177.i173, !dbg !155098, !noalias !155100, !nonnull !2274
%1068 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1067, i32 0, i32 3, !dbg !155098
%1069 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %1068, i32 0, i32 0, !dbg !155098
%1070 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %1069, i32 0, i32 1, !dbg !155098
%1071 = bitcast %"33.app_units::Au"* %cur_b.i95 to i8*, !dbg !155098
%1072 = bitcast %"33.app_units::Au"* %1070 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1072, i8* %1071, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155107
%1073 = load i8, i8* %need_to_process_child_floats.i154, !dbg !155187, !range !58629, !noalias !155100
%1074 = trunc i8 %1073 to i1, !dbg !155187
br i1 %1074, label %then-block-4860-.i366, label %next-block181.i368, !dbg !155187
then-block-4860-.i366: ; preds = %normal-return175.i365
%1075 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !155188
%1076 = load i8*, i8** %1075, !dbg !155188, !noalias !155107
%1077 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !155188
%1078 = load void (i8*)**, void (i8*)*** %1077, !dbg !155188, !noalias !155107
%1079 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i430.i42, i32 0, i32 0, !dbg !155188
store i8* %1076, i8** %1079, !dbg !155188, !noalias !155100
%1080 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i430.i42, i32 0, i32 1, !dbg !155188
store void (i8*)** %1078, void (i8*)*** %1080, !dbg !155188, !noalias !155100
%1081 = bitcast { i8*, void (i8*)** }* %this.i430.i42 to %"2.core::raw::TraitObject"*, !dbg !154832
store %"2.core::raw::TraitObject"* %1081, %"2.core::raw::TraitObject"** %obj.i431.i43, !dbg !154832, !noalias !155100
%1082 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i431.i43, !dbg !155189, !noalias !155100, !nonnull !2274
%1083 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1082, i32 0, i32 0, !dbg !155188
%1084 = load {}*, {}** %1083, !dbg !155189, !noalias !155107
%1085 = bitcast {}* %1084 to %"flow::BaseFlow"*, !dbg !155189
store %"flow::BaseFlow"* %1085, %"flow::BaseFlow"** %61, !dbg !155098, !noalias !155100
%1086 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %61, !dbg !155188, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %1086, %"flow::BaseFlow"** %auto_deref179.i174, !dbg !155098, !noalias !155100
%1087 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref179.i174, !dbg !155098, !noalias !155100, !nonnull !2274
%1088 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1087, i32 0, i32 6, !dbg !155098
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %60, %"floats::Floats"* noalias readonly dereferenceable(40) %1088)
to label %normal-return180.i367 unwind label %unwind_ast_4428_.i286, !dbg !155188, !noalias !155107
normal-return180.i367: ; preds = %then-block-4860-.i366
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i111), !dbg !155188, !noalias !155107
%1089 = bitcast %"floats::Floats"* %60 to i8*, !dbg !155188
%1090 = bitcast %"floats::Floats"* %floats.i111 to i8*, !dbg !155188
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1090, i8* %1089, i64 40, i32 8, i1 false), !dbg !155188, !noalias !155100
br label %next-block181.i368, !dbg !155098
next-block181.i368: ; preds = %normal-return180.i367, %normal-return175.i365
%1091 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 0, !dbg !154912
%1092 = load i8*, i8** %1091, !dbg !154912, !noalias !155107
%1093 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %582, i32 0, i32 1, !dbg !154912
%1094 = load void (i8*)**, void (i8*)*** %1093, !dbg !154912, !noalias !155107
%1095 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i432.i40, i32 0, i32 0, !dbg !154912
store i8* %1092, i8** %1095, !dbg !154912, !noalias !155100
%1096 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i432.i40, i32 0, i32 1, !dbg !154912
store void (i8*)** %1094, void (i8*)*** %1096, !dbg !154912, !noalias !155100
%1097 = bitcast { i8*, void (i8*)** }* %this.i432.i40 to %"2.core::raw::TraitObject"*, !dbg !154829
store %"2.core::raw::TraitObject"* %1097, %"2.core::raw::TraitObject"** %obj.i433.i41, !dbg !154829, !noalias !155100
%1098 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i433.i41, !dbg !155190, !noalias !155100, !nonnull !2274
%1099 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1098, i32 0, i32 0, !dbg !154912
%1100 = load {}*, {}** %1099, !dbg !155190, !noalias !155107
%1101 = bitcast {}* %1100 to %"flow::BaseFlow"*, !dbg !155190
store %"flow::BaseFlow"* %1101, %"flow::BaseFlow"** %kid_base182.i175, !dbg !155098, !noalias !155100
%1102 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %kid_base182.i175, !dbg !155191, !noalias !155100, !nonnull !2274
%1103 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1102, i32 0, i32 3, !dbg !155098
%1104 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %1103, i32 0, i32 1, !dbg !155098
%1105 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %1104, i32 0, i32 1, !dbg !155098
%1106 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i95, !dbg !155191, !noalias !155100
store %"33.app_units::Au" %1106, %"33.app_units::Au"* %to_ref184.i176, !dbg !155098, !noalias !155100
%1107 = bitcast %"33.app_units::Au"* %to_ref184.i176 to i32*, !dbg !155098
%1108 = load i32, i32* %1107, align 4, !dbg !155098, !noalias !155100
%1109 = load %"33.app_units::Au", %"33.app_units::Au"* %1105, !dbg !155098, !noalias !155107
store %"33.app_units::Au" %1109, %"33.app_units::Au"* %to_ref185.i177, !dbg !155098, !noalias !155100
%1110 = bitcast %"33.app_units::Au"* %to_ref185.i177 to i32*, !dbg !155098
%1111 = load i32, i32* %1110, align 4, !dbg !155098, !noalias !155100
%1112 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Add$GT$3add17h883f55f3f6eadb15E"(i32 %1108, i32 %1111)
to label %normal-return186.i369 unwind label %unwind_ast_4428_.i286, !dbg !155191, !noalias !155107
normal-return186.i369: ; preds = %next-block181.i368
store i32 %1112, i32* %abi_cast187.i178, !dbg !155098, !noalias !155100
%1113 = bitcast %"33.app_units::Au"* %62 to i8*, !dbg !155098
%1114 = bitcast i32* %abi_cast187.i178 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1113, i8* %1114, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1115 = load %"33.app_units::Au", %"33.app_units::Au"* %62, !dbg !155191, !noalias !155100
store %"33.app_units::Au" %1115, %"33.app_units::Au"* %cur_b.i95, !dbg !155191, !noalias !155100
%1116 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %kid_base182.i175, !dbg !155192, !noalias !155100, !nonnull !2274
%1117 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1116, i32 0, i32 9, !dbg !155098
%1118 = invoke i32 @_ZN6layout5model18MarginCollapseInfo24advance_block_end_margin17hf4ee4cb672dabe0aE(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i99, %"model::CollapsibleMargins"* noalias readonly dereferenceable(20) %1117)
to label %normal-return189.i370 unwind label %unwind_ast_4428_.i286, !dbg !155192, !noalias !155107
normal-return189.i370: ; preds = %normal-return186.i369
store i32 %1118, i32* %abi_cast190.i180, !dbg !155098, !noalias !155100
%1119 = bitcast %"33.app_units::Au"* %delta188.i179 to i8*, !dbg !155098
%1120 = bitcast i32* %abi_cast190.i180 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1119, i8* %1120, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1121 = load %"33.app_units::Au", %"33.app_units::Au"* %delta188.i179, !dbg !155193, !noalias !155100
store %"33.app_units::Au" %1121, %"33.app_units::Au"* %to_ref191.i181, !dbg !155098, !noalias !155100
%1122 = bitcast %"33.app_units::Au"* %to_ref191.i181 to i32*, !dbg !155098
%1123 = load i32, i32* %1122, align 4, !dbg !155098, !noalias !155100
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i95, i32 %1123, %"floats::Floats"* dereferenceable(40) %floats.i111)
to label %normal-return192.i371 unwind label %unwind_ast_4428_.i286, !dbg !155193, !noalias !155107
normal-return192.i371: ; preds = %normal-return189.i370
%1124 = invoke zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17hdc03d1411677e9d9E"(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* noalias readonly dereferenceable(32) %break_at.i93)
to label %normal-return193.i372 unwind label %unwind_ast_4428_.i286, !dbg !155194, !noalias !155107
normal-return193.i372: ; preds = %normal-return192.i371
%1125 = zext i1 %1124 to i8, !dbg !155098
store i8 %1125, i8* %63, !dbg !155098, !noalias !155100
%1126 = load i8, i8* %63, !dbg !155194, !range !58629, !noalias !155100
%1127 = trunc i8 %1126 to i1, !dbg !155194
br i1 %1127, label %then-block-4903-.i373, label %next-block197.i376, !dbg !155194
then-block-4903-.i373: ; preds = %normal-return193.i372
br label %clean_ast_4563_196.i375, !dbg !155195
clean_ast_92035_194.i374: ; preds = %match_case41.i294, %clean_ast_4563_196.i375
%1128 = invoke zeroext i1 @"_ZN78_$LT$layout..block..MarginsMayCollapseFlag$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb29fd717e817d7c7E"(i8* noalias readonly dereferenceable(1) %margins_may_collapse.i85, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return214.i385 unwind label %unwind_ast_4428_.i286, !dbg !155196, !noalias !155107
clean_ast_4563_196.i375: ; preds = %then-block-4919-.i382, %then-block-4903-.i373
br label %clean_ast_92035_194.i374, !dbg !155098
next-block197.i376: ; preds = %normal-return193.i372
%1129 = getelementptr inbounds %"2.core::option::Option<flow::FragmentationContext>", %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i84, i32 0, i32 0, !dbg !155098
%1130 = load i32, i32* %1129, !dbg !155098, !range !64827, !noalias !155100
%cond495 = icmp eq i32 %1130, 1, !dbg !155098
br i1 %cond495, label %match_case202.i378, label %match_else201.i377, !dbg !155098
match_else201.i377: ; preds = %next-block197.i376
br label %join210.i384, !dbg !155098
match_case202.i378: ; preds = %next-block197.i376
%1131 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i84 to { i32, %"flow::FragmentationContext" }*, !dbg !155098
%1132 = getelementptr inbounds { i32, %"flow::FragmentationContext" }, { i32, %"flow::FragmentationContext" }* %1131, i32 0, i32 1, !dbg !155098
store %"flow::FragmentationContext"* %1132, %"flow::FragmentationContext"** %ctx199.i182, !dbg !155098, !noalias !155100
%1133 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %ctx199.i182, !dbg !155197, !noalias !155100, !nonnull !2274
%1134 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %1133, i32 0, i32 0, !dbg !155098
%1135 = invoke zeroext i1 @"_ZN65_$LT$app_units..app_unit..Au$u20$as$u20$core..cmp..PartialOrd$GT$2gt17h2cf0edf8a9fa416dE"(%"33.app_units::Au"* noalias readonly dereferenceable(4) %cur_b.i95, %"33.app_units::Au"* noalias readonly dereferenceable(4) %1134)
to label %normal-return203.i379 unwind label %unwind_ast_4428_.i286, !dbg !155197, !noalias !155107
normal-return203.i379: ; preds = %match_case202.i378
%1136 = zext i1 %1135 to i8, !dbg !155098
store i8 %1136, i8* %64, !dbg !155098, !noalias !155100
%1137 = load i8, i8* %64, !dbg !155197, !range !58629, !noalias !155100
%1138 = trunc i8 %1137 to i1, !dbg !155197
br i1 %1138, label %before_rhs205.i381, label %join204.i380, !dbg !155098
join204.i380: ; preds = %before_rhs205.i381, %normal-return203.i379
%1139 = phi i1 [ %1138, %normal-return203.i379 ], [ %1144, %before_rhs205.i381 ], !dbg !155098
br i1 %1139, label %then-block-4919-.i382, label %next-block208.i383, !dbg !155197
before_rhs205.i381: ; preds = %normal-return203.i379
%1140 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %ctx199.i182, !dbg !155197, !noalias !155100, !nonnull !2274
%1141 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %1140, i32 0, i32 1, !dbg !155098
%1142 = load i8, i8* %1141, !dbg !155197, !range !58629, !noalias !155107
%1143 = trunc i8 %1142 to i1, !dbg !155197
%1144 = xor i1 %1143, true, !dbg !155197
br label %join204.i380, !dbg !155098
then-block-4919-.i382: ; preds = %join204.i380
%1145 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %65 to { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }*, !dbg !155098
%1146 = getelementptr inbounds { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }, { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }* %1145, i32 0, i32 1, !dbg !155098
%1147 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %1146, i32 0, i32 0, !dbg !155098
%1148 = load i64, i64* %child_index.i119, !dbg !155198, !noalias !155100
store i64 %1148, i64* %1147, !dbg !155198, !noalias !155100
%1149 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %1146, i32 0, i32 1, !dbg !155098
%1150 = bitcast %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %1149 to { { { { { i8*, void (i8*)** } }, {} } } }*, !dbg !155198
%1151 = bitcast { { { { { i8*, void (i8*)** } }, {} } } }* %1150 to i8*, !dbg !155198
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1151, i8* bitcast ({ { { { { i8*, void (i8*)** } }, {} } } }* @const41463 to i8*), i64 16, i32 8, i1 false), !dbg !155198, !noalias !155107
%1152 = getelementptr inbounds %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>", %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %65, i32 0, i32 0, !dbg !155198
store i64 1, i64* %1152, !dbg !155198, !noalias !155100
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93), !dbg !155198, !noalias !155107
%1153 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %65 to i8*, !dbg !155198
%1154 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93 to i8*, !dbg !155198
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1154, i8* %1153, i64 32, i32 8, i1 false), !dbg !155198, !noalias !155100
%1155 = bitcast %"33.app_units::Au"* %previous_b.i132 to i8*, !dbg !155199
%1156 = bitcast %"33.app_units::Au"* %cur_b.i95 to i8*, !dbg !155199
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1156, i8* %1155, i64 4, i32 4, i1 false), !dbg !155199, !noalias !155100
br label %clean_ast_4563_196.i375, !dbg !155098
next-block208.i383: ; preds = %join204.i380
%1157 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %ctx199.i182, !dbg !155200, !noalias !155100, !nonnull !2274
%1158 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %1157, i32 0, i32 1, !dbg !155098
store i8 0, i8* %1158, !dbg !155200, !noalias !155107
br label %join210.i384, !dbg !155098
join210.i384: ; preds = %next-block208.i383, %match_else201.i377
br label %loop_body.i290, !dbg !155098
normal-return214.i385: ; preds = %clean_ast_92035_194.i374
%1159 = zext i1 %1128 to i8, !dbg !155098
store i8 %1159, i8* %66, !dbg !155098, !noalias !155100
%1160 = load i8, i8* %66, !dbg !155196, !range !58629, !noalias !155100
%1161 = trunc i8 %1160 to i1, !dbg !155196
br i1 %1161, label %before_rhs216.i387, label %join215.i386, !dbg !155098
join215.i386: ; preds = %normal-return218.i388, %normal-return214.i385
%1162 = phi i1 [ %1161, %normal-return214.i385 ], [ %1173, %normal-return218.i388 ], !dbg !155098
br i1 %1162, label %before_rhs220.i390, label %join219.i389, !dbg !155098
before_rhs216.i387: ; preds = %normal-return214.i385
%1163 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155201, !noalias !155100, !nonnull !2274
%1164 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1163, i32 0, i32 0, !dbg !155098
%1165 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1164, i32 0, i32 22, !dbg !155098
%1166 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155201, !noalias !155107
store %"flow::FlowFlags" %1166, %"flow::FlowFlags"* %to_ref217.i185, !dbg !155098, !noalias !155100
%1167 = bitcast %"flow::FlowFlags"* %to_ref217.i185 to i32*, !dbg !155098
%1168 = load i32, i32* %1167, align 4, !dbg !155098, !noalias !155100
%1169 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1165, i32 %1168)
to label %normal-return218.i388 unwind label %unwind_ast_4428_.i286, !dbg !155201, !noalias !155107
normal-return218.i388: ; preds = %before_rhs216.i387
%1170 = zext i1 %1169 to i8, !dbg !155098
store i8 %1170, i8* %67, !dbg !155098, !noalias !155100
%1171 = load i8, i8* %67, !dbg !155201, !range !58629, !noalias !155100
%1172 = trunc i8 %1171 to i1, !dbg !155201
%1173 = xor i1 %1172, true, !dbg !155201
br label %join215.i386, !dbg !155098
join219.i389: ; preds = %normal-return221.i391, %join215.i386
%1174 = phi i1 [ %1162, %join215.i386 ], [ %1198, %normal-return221.i391 ], !dbg !155098
%1175 = zext i1 %1174 to i8, !dbg !155098
store i8 %1175, i8* %can_collapse_block_end_margin_with_kids.i184, !dbg !155098, !noalias !155100
%1176 = bitcast %"model::MarginCollapseInfo"* %margin_collapse_info.i99 to i8*, !dbg !155098
%1177 = bitcast %"model::MarginCollapseInfo"* %arg.i186 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1177, i8* %1176, i64 20, i32 4, i1 false), !dbg !155098, !noalias !155100
%1178 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155202, !noalias !155100, !nonnull !2274
%1179 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1178, i32 0, i32 1, !dbg !155098
%1180 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155203, !noalias !155100, !nonnull !2274
%1181 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1180, i32 0, i32 0, !dbg !155098
%1182 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1181, i32 0, i32 14, !dbg !155098
%1183 = load %"2.core::option::Option<app_units::Au>", %"2.core::option::Option<app_units::Au>"* %1182, !dbg !155203, !noalias !155107
store %"2.core::option::Option<app_units::Au>" %1183, %"2.core::option::Option<app_units::Au>"* %to_ref222.i187, !dbg !155098, !noalias !155100
%1184 = bitcast %"2.core::option::Option<app_units::Au>"* %to_ref222.i187 to i64*, !dbg !155098
%1185 = load i64, i64* %1184, align 4, !dbg !155098, !noalias !155100
%1186 = load i8, i8* %can_collapse_block_end_margin_with_kids.i184, !dbg !155204, !range !58629, !noalias !155100
%1187 = trunc i8 %1186 to i1, !dbg !155204
%1188 = load i8, i8* %had_floated_children.i114, !dbg !155205, !range !58629, !noalias !155100
%1189 = trunc i8 %1188 to i1, !dbg !155205
%1190 = xor i1 %1189, true, !dbg !155205
invoke void @_ZN6layout5model18MarginCollapseInfo38finish_and_compute_collapsible_margins17hc22ed3d03c0b2b87E({ %"model::CollapsibleMargins", %"33.app_units::Au" }* noalias nocapture sret dereferenceable(24) %69, %"model::MarginCollapseInfo"* noalias nocapture dereferenceable(20) %arg.i186, %"fragment::Fragment"* noalias readonly dereferenceable(160) %1179, i64 %1185, i1 zeroext %1187, i1 zeroext %1190)
to label %normal-return223.i392 unwind label %unwind_ast_4428_224.i393, !dbg !155206, !noalias !155107
before_rhs220.i390: ; preds = %join215.i386
%1191 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155207, !noalias !155100, !nonnull !2274
%1192 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1191, i32 0, i32 1, !dbg !155098
%1193 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1192, i32 0, i32 4, !dbg !155098
%1194 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %1193, i32 0, i32 2, !dbg !155098
%1195 = invoke zeroext i1 @"_ZN64_$LT$app_units..app_unit..Au$u20$as$u20$core..cmp..PartialEq$GT$2eq17h0437942f87bebe69E"(%"33.app_units::Au"* noalias readonly dereferenceable(4) %1194, %"33.app_units::Au"* noalias readonly dereferenceable(4) bitcast ({ i32 }* @const42369 to %"33.app_units::Au"*))
to label %normal-return221.i391 unwind label %unwind_ast_4428_.i286, !dbg !155207, !noalias !155107
normal-return221.i391: ; preds = %before_rhs220.i390
%1196 = zext i1 %1195 to i8, !dbg !155098
store i8 %1196, i8* %68, !dbg !155098, !noalias !155100
%1197 = load i8, i8* %68, !dbg !155207, !range !58629, !noalias !155100
%1198 = trunc i8 %1197 to i1, !dbg !155207
br label %join219.i389, !dbg !155098
normal-return223.i392: ; preds = %join219.i389
%1199 = getelementptr inbounds { %"model::CollapsibleMargins", %"33.app_units::Au" }, { %"model::CollapsibleMargins", %"33.app_units::Au" }* %69, i32 0, i32 0, !dbg !155098
%1200 = bitcast %"model::CollapsibleMargins"* %1199 to i8*, !dbg !155098
%1201 = bitcast %"model::CollapsibleMargins"* %collapsible_margins.i188 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1201, i8* %1200, i64 20, i32 4, i1 false), !dbg !155098, !noalias !155100
%1202 = getelementptr inbounds { %"model::CollapsibleMargins", %"33.app_units::Au" }, { %"model::CollapsibleMargins", %"33.app_units::Au" }* %69, i32 0, i32 1, !dbg !155098
%1203 = bitcast %"33.app_units::Au"* %1202 to i8*, !dbg !155098
%1204 = bitcast %"33.app_units::Au"* %delta226.i189 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1204, i8* %1203, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1205 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155208, !noalias !155100, !nonnull !2274
%1206 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1205, i32 0, i32 0, !dbg !155098
%1207 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1206, i32 0, i32 9, !dbg !155098
%1208 = bitcast %"model::CollapsibleMargins"* %collapsible_margins.i188 to i8*, !dbg !155208
%1209 = bitcast %"model::CollapsibleMargins"* %1207 to i8*, !dbg !155208
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1209, i8* %1208, i64 20, i32 4, i1 false), !dbg !155208, !noalias !155107
%1210 = load %"33.app_units::Au", %"33.app_units::Au"* %delta226.i189, !dbg !155209, !noalias !155100
store %"33.app_units::Au" %1210, %"33.app_units::Au"* %to_ref227.i190, !dbg !155098, !noalias !155100
%1211 = bitcast %"33.app_units::Au"* %to_ref227.i190 to i32*, !dbg !155098
%1212 = load i32, i32* %1211, align 4, !dbg !155098, !noalias !155100
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i95, i32 %1212, %"floats::Floats"* dereferenceable(40) %floats.i111)
to label %normal-return228.i395 unwind label %unwind_ast_4428_229.i396, !dbg !155209, !noalias !155107
unwind_ast_4428_224.i393: ; preds = %join219.i389
%1213 = landingpad { i8*, i32 }
cleanup, !dbg !155205
store { i8*, i32 } %1213, { i8*, i32 }* %11, !dbg !155205, !noalias !155100
br label %clean_ast_4428_225.i394, !dbg !155098
clean_ast_4428_225.i394: ; preds = %clean_ast_4428_230.i397, %unwind_ast_4428_224.i393
br label %clean_ast_4428_82.i319, !dbg !155098
normal-return228.i395: ; preds = %normal-return223.i392
%1214 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i95, !dbg !154917, !noalias !155100
store %"33.app_units::Au" %1214, %"33.app_units::Au"* %to_ref231.i192, !dbg !155098, !noalias !155100
%1215 = bitcast %"33.app_units::Au"* %to_ref231.i192 to i32*, !dbg !155098
%1216 = load i32, i32* %1215, align 4, !dbg !155098, !noalias !155100
%1217 = load %"33.app_units::Au", %"33.app_units::Au"* %block_start_offset.i107, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %1217, %"33.app_units::Au"* %to_ref232.i193, !dbg !155098, !noalias !155100
%1218 = bitcast %"33.app_units::Au"* %to_ref232.i193 to i32*, !dbg !155098
%1219 = load i32, i32* %1218, align 4, !dbg !155098, !noalias !155100
%1220 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %1216, i32 %1219)
to label %normal-return233.i398 unwind label %unwind_ast_4428_229.i396, !dbg !154917, !noalias !155107
unwind_ast_4428_229.i396: ; preds = %normal-return228.i395, %normal-return223.i392
%1221 = landingpad { i8*, i32 }
cleanup, !dbg !155209
store { i8*, i32 } %1221, { i8*, i32 }* %11, !dbg !155209, !noalias !155100
br label %clean_ast_4428_230.i397, !dbg !155098
clean_ast_4428_230.i397: ; preds = %clean_ast_4428_237.i401, %unwind_ast_4428_229.i396
br label %clean_ast_4428_225.i394, !dbg !155098
normal-return233.i398: ; preds = %normal-return228.i395
store i32 %1220, i32* %abi_cast234.i194, !dbg !155098, !noalias !155100
%1222 = bitcast %"33.app_units::Au"* %block_size.i191 to i8*, !dbg !155098
%1223 = bitcast i32* %abi_cast234.i194 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1222, i8* %1223, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1224 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154918, !noalias !155100, !nonnull !2274
%1225 = invoke zeroext i1 @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$7is_root17h2cfbe344e2d71bd7E"(%"block::BlockFlow"* dereferenceable(560) %1224)
to label %normal-return235.i399 unwind label %unwind_ast_4428_236.i400, !dbg !154918, !noalias !155107
normal-return235.i399: ; preds = %normal-return233.i398
%1226 = zext i1 %1225 to i8, !dbg !155098
store i8 %1226, i8* %is_root.i195, !dbg !155098, !noalias !155100
%1227 = load i8, i8* %is_root.i195, !dbg !155210, !range !58629, !noalias !155100
%1228 = trunc i8 %1227 to i1, !dbg !155210
br i1 %1228, label %join238.i402, label %before_rhs239.i403, !dbg !155098
unwind_ast_4428_236.i400: ; preds = %normal-return233.i398
%1229 = landingpad { i8*, i32 }
cleanup, !dbg !154918
store { i8*, i32 } %1229, { i8*, i32 }* %11, !dbg !154918, !noalias !155100
br label %clean_ast_4428_237.i401, !dbg !155098
clean_ast_4428_237.i401: ; preds = %clean_ast_4428_242.i406, %unwind_ast_4428_236.i400
br label %clean_ast_4428_230.i397, !dbg !155098
join238.i402: ; preds = %normal-return243.i407, %normal-return235.i399
%1230 = phi i1 [ %1228, %normal-return235.i399 ], [ %1238, %normal-return243.i407 ], !dbg !155098
br i1 %1230, label %join244.i408, label %before_rhs245.i409, !dbg !155098
before_rhs239.i403: ; preds = %normal-return235.i399
%1231 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155210, !noalias !155100, !nonnull !2274
%1232 = invoke i8 @_ZN6layout5block9BlockFlow23formatting_context_type17h993ec10343b05d62E(%"block::BlockFlow"* dereferenceable(560) %1231)
to label %normal-return240.i404 unwind label %unwind_ast_4428_241.i405, !dbg !155210, !noalias !155107
normal-return240.i404: ; preds = %before_rhs239.i403
store i8 %1232, i8* %71, !dbg !155098, !noalias !155100
%1233 = load i8, i8* %71, !dbg !155210, !noalias !155100
store i8 %1233, i8* %autoref.i196, !dbg !155098, !noalias !155100
%1234 = invoke zeroext i1 @_ZN4core3cmp9PartialEq2ne17h59dcc55cd8056fc9E(i8* noalias readonly dereferenceable(1) %autoref.i196, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return243.i407 unwind label %unwind_ast_4428_241.i405, !dbg !155210, !noalias !155107
unwind_ast_4428_241.i405: ; preds = %next-block295.i435, %match_case283.i430, %normal-return284.i431, %match_case282.i429, %loop_body276.i426, %normal-return271.i424, %next-block269.i423, %normal-return263.i420, %normal-return260.i419, %normal-return258.i418, %then-block-5035-.i417, %next-block254.i414, %normal-return248.i412, %then-block-5016-.i411, %before_rhs245.i409, %normal-return240.i404, %before_rhs239.i403
%1235 = landingpad { i8*, i32 }
cleanup, !dbg !155210
store { i8*, i32 } %1235, { i8*, i32 }* %11, !dbg !155210, !noalias !155100
br label %clean_ast_4428_242.i406, !dbg !155098
clean_ast_4428_242.i406: ; preds = %clean_ast_4428_302.i440, %unwind_ast_4428_241.i405
br label %clean_ast_4428_237.i401, !dbg !155098
normal-return243.i407: ; preds = %normal-return240.i404
%1236 = zext i1 %1234 to i8, !dbg !155098
store i8 %1236, i8* %70, !dbg !155098, !noalias !155100
%1237 = load i8, i8* %70, !dbg !155210, !range !58629, !noalias !155100
%1238 = trunc i8 %1237 to i1, !dbg !155210
br label %join238.i402, !dbg !155098
join244.i408: ; preds = %normal-return247.i410, %join238.i402
%1239 = phi i1 [ %1230, %join238.i402 ], [ %1249, %normal-return247.i410 ], !dbg !155098
br i1 %1239, label %then-block-5016-.i411, label %next-block254.i414, !dbg !155210
before_rhs245.i409: ; preds = %join238.i402
%1240 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155211, !noalias !155100, !nonnull !2274
%1241 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1240, i32 0, i32 0, !dbg !155098
%1242 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1241, i32 0, i32 22, !dbg !155098
%1243 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155211, !noalias !155107
store %"flow::FlowFlags" %1243, %"flow::FlowFlags"* %to_ref246.i197, !dbg !155098, !noalias !155100
%1244 = bitcast %"flow::FlowFlags"* %to_ref246.i197 to i32*, !dbg !155098
%1245 = load i32, i32* %1244, align 4, !dbg !155098, !noalias !155100
%1246 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1242, i32 %1245)
to label %normal-return247.i410 unwind label %unwind_ast_4428_241.i405, !dbg !155211, !noalias !155107
normal-return247.i410: ; preds = %before_rhs245.i409
%1247 = zext i1 %1246 to i8, !dbg !155098
store i8 %1247, i8* %72, !dbg !155098, !noalias !155100
%1248 = load i8, i8* %72, !dbg !155211, !range !58629, !noalias !155100
%1249 = trunc i8 %1248 to i1, !dbg !155211
br label %join244.i408, !dbg !155098
then-block-5016-.i411: ; preds = %join244.i408
%1250 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i111, i8 2)
to label %normal-return248.i412 unwind label %unwind_ast_4428_241.i405, !dbg !155212, !noalias !155107
normal-return248.i412: ; preds = %then-block-5016-.i411
store i32 %1250, i32* %abi_cast249.i198, !dbg !155098, !noalias !155100
%1251 = bitcast %"33.app_units::Au"* %74 to i8*, !dbg !155098
%1252 = bitcast i32* %abi_cast249.i198 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1251, i8* %1252, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1253 = load %"33.app_units::Au", %"33.app_units::Au"* %74, !dbg !155098, !noalias !155100
%1254 = load %"33.app_units::Au", %"33.app_units::Au"* %block_size.i191, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %1254, %"33.app_units::Au"* %to_ref250.i199, !dbg !155098, !noalias !155100
%1255 = bitcast %"33.app_units::Au"* %to_ref250.i199 to i32*, !dbg !155098
%1256 = load i32, i32* %1255, align 4, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %1253, %"33.app_units::Au"* %to_ref251.i200, !dbg !155098, !noalias !155100
%1257 = bitcast %"33.app_units::Au"* %to_ref251.i200 to i32*, !dbg !155098
%1258 = load i32, i32* %1257, align 4, !dbg !155098, !noalias !155100
%1259 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Add$GT$3add17h883f55f3f6eadb15E"(i32 %1256, i32 %1258)
to label %normal-return252.i413 unwind label %unwind_ast_4428_241.i405, !dbg !155212, !noalias !155107
normal-return252.i413: ; preds = %normal-return248.i412
store i32 %1259, i32* %abi_cast253.i201, !dbg !155098, !noalias !155100
%1260 = bitcast %"33.app_units::Au"* %73 to i8*, !dbg !155098
%1261 = bitcast i32* %abi_cast253.i201 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1260, i8* %1261, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1262 = load %"33.app_units::Au", %"33.app_units::Au"* %73, !dbg !155212, !noalias !155100
store %"33.app_units::Au" %1262, %"33.app_units::Au"* %block_size.i191, !dbg !155212, !noalias !155100
br label %next-block254.i414, !dbg !155098
next-block254.i414: ; preds = %normal-return252.i413, %join244.i408
%1263 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155213, !noalias !155100, !nonnull !2274
%1264 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1263, i32 0, i32 0, !dbg !155098
%1265 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1264, i32 0, i32 22, !dbg !155098
%1266 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155213, !noalias !155107
store %"flow::FlowFlags" %1266, %"flow::FlowFlags"* %to_ref255.i202, !dbg !155098, !noalias !155100
%1267 = bitcast %"flow::FlowFlags"* %to_ref255.i202 to i32*, !dbg !155098
%1268 = load i32, i32* %1267, align 4, !dbg !155098, !noalias !155100
%1269 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1265, i32 %1268)
to label %normal-return256.i415 unwind label %unwind_ast_4428_241.i405, !dbg !155213, !noalias !155107
normal-return256.i415: ; preds = %next-block254.i414
%1270 = zext i1 %1269 to i8, !dbg !155098
store i8 %1270, i8* %75, !dbg !155098, !noalias !155100
%1271 = load i8, i8* %75, !dbg !155213, !range !58629, !noalias !155100
%1272 = trunc i8 %1271 to i1, !dbg !155213
br i1 %1272, label %then-block-5032-.i416, label %next-block269.i423, !dbg !155213
then-block-5032-.i416: ; preds = %normal-return256.i415
%1273 = load i8, i8* %is_root.i195, !dbg !155214, !range !58629, !noalias !155100
%1274 = trunc i8 %1273 to i1, !dbg !155214
br i1 %1274, label %then-block-5035-.i417, label %next-block268.i422, !dbg !155214
then-block-5035-.i417: ; preds = %then-block-5032-.i416
%1275 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155215, !noalias !155100, !nonnull !2274
%1276 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1275, i32 0, i32 1, !dbg !155098
%1277 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1276, i32 0, i32 1, !dbg !155098
%1278 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %1277)
to label %normal-return258.i418 unwind label %unwind_ast_4428_241.i405, !dbg !155215, !noalias !155107
normal-return258.i418: ; preds = %then-block-5035-.i417
store %"112.style::properties::ComputedValues"* %1278, %"112.style::properties::ComputedValues"** %overloaded_deref257.i204, !dbg !155098, !noalias !155100
%1279 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref257.i204, !dbg !155215, !noalias !155100, !nonnull !2274
%1280 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %1279, i32 0, i32 21, !dbg !155098
%1281 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %1280, !dbg !155215, !noalias !155107
store %"112.style::logical_geometry::WritingMode" %1281, %"112.style::logical_geometry::WritingMode"* %to_ref259.i205, !dbg !155098, !noalias !155100
%1282 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref259.i205 to i8*, !dbg !155098
%1283 = load i8, i8* %1282, align 1, !dbg !155098, !noalias !155100
%1284 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i83, !dbg !155216, !noalias !155100, !nonnull !2274
%1285 = invoke dereferenceable(128) %"112.style::context::SharedStyleContext"* @"_ZN107_$LT$layout..context..LayoutContext$LT$$u27$a$GT$$u20$as$u20$style..context..StyleContext$LT$$u27$a$GT$$GT$14shared_context17h4dcab760e33ea9daE"(%"context::LayoutContext"* noalias readonly dereferenceable(16) %1284)
to label %normal-return260.i419 unwind label %unwind_ast_4428_241.i405, !dbg !155216, !noalias !155107
normal-return260.i419: ; preds = %normal-return258.i418
store %"112.style::context::SharedStyleContext"* %1285, %"112.style::context::SharedStyleContext"** %76, !dbg !155098, !noalias !155100
%1286 = load %"112.style::context::SharedStyleContext"*, %"112.style::context::SharedStyleContext"** %76, !dbg !155216, !noalias !155100, !nonnull !2274
store %"112.style::context::SharedStyleContext"* %1286, %"112.style::context::SharedStyleContext"** %auto_deref261.i206, !dbg !155098, !noalias !155100
%1287 = load %"112.style::context::SharedStyleContext"*, %"112.style::context::SharedStyleContext"** %auto_deref261.i206, !dbg !155098, !noalias !155100, !nonnull !2274
%1288 = getelementptr inbounds %"112.style::context::SharedStyleContext", %"112.style::context::SharedStyleContext"* %1287, i32 0, i32 0, !dbg !155098
%1289 = load %"35.euclid::Size2D<app_units::Au>", %"35.euclid::Size2D<app_units::Au>"* %1288, !dbg !155098, !noalias !155107
store %"35.euclid::Size2D<app_units::Au>" %1289, %"35.euclid::Size2D<app_units::Au>"* %to_ref262.i207, !dbg !155098, !noalias !155100
%1290 = bitcast %"35.euclid::Size2D<app_units::Au>"* %to_ref262.i207 to i64*, !dbg !155098
%1291 = load i64, i64* %1290, align 4, !dbg !155098, !noalias !155100
invoke void @"_ZN54_$LT$style..logical_geometry..LogicalSize$LT$T$GT$$GT$13from_physical17hd44a0508daa4ad4fE"(%"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture sret dereferenceable(12) %viewport_size.i203, i8 %1283, i64 %1291)
to label %normal-return263.i420 unwind label %unwind_ast_4428_241.i405, !dbg !155215, !noalias !155107
normal-return263.i420: ; preds = %normal-return260.i419
%1292 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %viewport_size.i203, i32 0, i32 1, !dbg !155098
%1293 = load %"33.app_units::Au", %"33.app_units::Au"* %1292, !dbg !155217, !noalias !155100
store %"33.app_units::Au" %1293, %"33.app_units::Au"* %to_ref264.i208, !dbg !155098, !noalias !155100
%1294 = bitcast %"33.app_units::Au"* %to_ref264.i208 to i32*, !dbg !155098
%1295 = load i32, i32* %1294, align 4, !dbg !155098, !noalias !155100
%1296 = load %"33.app_units::Au", %"33.app_units::Au"* %block_size.i191, !dbg !155217, !noalias !155100
store %"33.app_units::Au" %1296, %"33.app_units::Au"* %to_ref265.i209, !dbg !155098, !noalias !155100
%1297 = bitcast %"33.app_units::Au"* %to_ref265.i209 to i32*, !dbg !155098
%1298 = load i32, i32* %1297, align 4, !dbg !155098, !noalias !155100
%1299 = invoke i32 @_ZN4core3cmp3max17h4d16c1c86924533bE(i32 %1295, i32 %1298)
to label %normal-return266.i421 unwind label %unwind_ast_4428_241.i405, !dbg !155217, !noalias !155107
normal-return266.i421: ; preds = %normal-return263.i420
store i32 %1299, i32* %abi_cast267.i210, !dbg !155098, !noalias !155100
%1300 = bitcast %"33.app_units::Au"* %77 to i8*, !dbg !155098
%1301 = bitcast i32* %abi_cast267.i210 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1300, i8* %1301, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1302 = load %"33.app_units::Au", %"33.app_units::Au"* %77, !dbg !155217, !noalias !155100
store %"33.app_units::Au" %1302, %"33.app_units::Au"* %block_size.i191, !dbg !155217, !noalias !155100
br label %next-block268.i422, !dbg !155098
next-block268.i422: ; preds = %normal-return266.i421, %then-block-5032-.i416
%1303 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155218, !noalias !155100, !nonnull !2274
%1304 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1303, i32 0, i32 1, !dbg !155098
%1305 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1304, i32 0, i32 3, !dbg !155098
%1306 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %1305, i32 0, i32 1, !dbg !155098
%1307 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %1306, i32 0, i32 1, !dbg !155098
%1308 = bitcast %"33.app_units::Au"* %block_size.i191 to i8*, !dbg !155218
%1309 = bitcast %"33.app_units::Au"* %1307 to i8*, !dbg !155218
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1309, i8* %1308, i64 4, i32 4, i1 false), !dbg !155218, !noalias !155107
br label %next-block269.i423, !dbg !155098
next-block269.i423: ; preds = %next-block268.i422, %normal-return256.i415
%1310 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154920, !noalias !155100, !nonnull !2274
%1311 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1310, i32 0, i32 0, !dbg !155098
invoke void @_ZN6layout4flow8BaseFlow14child_iter_mut17hb71153856274a84eE(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %79, %"flow::BaseFlow"* dereferenceable(376) %1311)
to label %normal-return271.i424 unwind label %unwind_ast_4428_241.i405, !dbg !154920, !noalias !155107
normal-return271.i424: ; preds = %next-block269.i423
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf27956c5e5fad03eE"(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %78, %"flow_list::MutFlowListIterator"* noalias nocapture dereferenceable(32) %79)
to label %normal-return272.i425 unwind label %unwind_ast_4428_241.i405, !dbg !154920, !noalias !155107
normal-return272.i425: ; preds = %normal-return271.i424
store %"flow_list::MutFlowListIterator"* %78, %"flow_list::MutFlowListIterator"** %iter274.i212, !dbg !155098, !noalias !155100
%1312 = load %"flow_list::MutFlowListIterator"*, %"flow_list::MutFlowListIterator"** %iter274.i212, !dbg !155098, !noalias !155100
br label %loop_body276.i426, !dbg !154921
loop_body276.i426: ; preds = %_ZN6layout8fragment8Fragment5style17hadd4fbd3f949ae98E.exit.i432, %normal-return272.i425
invoke void @"_ZN103_$LT$layout..flow_list..MutFlowListIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h377cab92137b0b04E"(%"2.core::option::Option<&mut flow::Flow>"* noalias nocapture sret dereferenceable(16) %80, %"flow_list::MutFlowListIterator"* dereferenceable(32) %1312)
to label %normal-return277.i427 unwind label %unwind_ast_4428_241.i405, !dbg !155219, !noalias !155107
normal-return277.i427: ; preds = %loop_body276.i426
%1313 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %80, i32 0, i32 0, i32 0, !dbg !155098
%1314 = load i8*, i8** %1313, !dbg !155098, !noalias !155100
%1315 = icmp ne i8* %1314, null, !dbg !155098
switch i1 %1315, label %match_else281.i428 [
i1 true, label %match_case282.i429
i1 false, label %match_case283.i430
], !dbg !155098
match_else281.i428: ; preds = %normal-return277.i427
unreachable, !dbg !155098
match_case282.i429: ; preds = %normal-return277.i427
%1316 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %80, i32 0, i32 0, !dbg !155098
store { i8*, void (i8*)** }* %1316, { i8*, void (i8*)** }** %kid279.i213, !dbg !155098, !noalias !155100
%1317 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %kid279.i213, !dbg !155098, !noalias !155100
%1318 = getelementptr inbounds %"flow::EarlyAbsolutePositionInfo", %"flow::EarlyAbsolutePositionInfo"* %81, i32 0, i32 0, !dbg !155098
%1319 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155220, !noalias !155100, !nonnull !2274
%1320 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1319, i32 0, i32 1, !dbg !155098
invoke void @_ZN6layout8fragment8Fragment11content_box17h19b5db0dce9a172fE(%"112.style::logical_geometry::LogicalRect<app_units::Au>"* noalias nocapture sret dereferenceable(28) %82, %"fragment::Fragment"* noalias readonly dereferenceable(160) %1320)
to label %normal-return284.i431 unwind label %unwind_ast_4428_241.i405, !dbg !155220, !noalias !155107
match_case283.i430: ; preds = %normal-return277.i427
%1321 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155221, !noalias !155100, !nonnull !2274
%1322 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1321, i32 0, i32 0, !dbg !155098
%1323 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1322, i32 0, i32 22, !dbg !155098
%1324 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155221, !noalias !155107
store %"flow::FlowFlags" %1324, %"flow::FlowFlags"* %to_ref291.i216, !dbg !155098, !noalias !155100
%1325 = bitcast %"flow::FlowFlags"* %to_ref291.i216 to i32*, !dbg !155098
%1326 = load i32, i32* %1325, align 4, !dbg !155098, !noalias !155100
%1327 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1323, i32 %1326)
to label %normal-return292.i433 unwind label %unwind_ast_4428_241.i405, !dbg !155221, !noalias !155107
normal-return284.i431: ; preds = %match_case282.i429
%1328 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %82, i32 0, i32 1, !dbg !155098
%1329 = bitcast %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %1328 to i8*, !dbg !155220
%1330 = bitcast %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %1318 to i8*, !dbg !155220
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1330, i8* %1329, i64 12, i32 4, i1 false), !dbg !155220, !noalias !155100
%1331 = getelementptr inbounds %"flow::EarlyAbsolutePositionInfo", %"flow::EarlyAbsolutePositionInfo"* %81, i32 0, i32 1, !dbg !155098
%1332 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155222, !noalias !155100, !nonnull !2274
%1333 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1332, i32 0, i32 1, !dbg !155098
store %"fragment::Fragment"* %1333, %"fragment::Fragment"** %self.i.i38, !dbg !155222, !noalias !155223
%1334 = load %"fragment::Fragment"*, %"fragment::Fragment"** %self.i.i38, !dbg !155226, !noalias !155223, !nonnull !2274
%1335 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1334, i32 0, i32 1, !dbg !155222
%1336 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %1335)
to label %_ZN6layout8fragment8Fragment5style17hadd4fbd3f949ae98E.exit.i432 unwind label %unwind_ast_4428_241.i405, !dbg !155226, !noalias !155107
_ZN6layout8fragment8Fragment5style17hadd4fbd3f949ae98E.exit.i432: ; preds = %normal-return284.i431
store %"112.style::properties::ComputedValues"* %1336, %"112.style::properties::ComputedValues"** %overloaded_deref.i.i39, !dbg !155222, !noalias !155223
%1337 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref.i.i39, !dbg !155226, !noalias !155223, !nonnull !2274
store %"112.style::properties::ComputedValues"* %1337, %"112.style::properties::ComputedValues"** %83, !dbg !155098, !noalias !155100
%1338 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %83, !dbg !155222, !noalias !155100, !nonnull !2274
store %"112.style::properties::ComputedValues"* %1338, %"112.style::properties::ComputedValues"** %auto_deref286.i214, !dbg !155098, !noalias !155100
%1339 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %auto_deref286.i214, !dbg !155098, !noalias !155100, !nonnull !2274
%1340 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %1339, i32 0, i32 21, !dbg !155098
%1341 = bitcast %"112.style::logical_geometry::WritingMode"* %1340 to i8*, !dbg !155098
%1342 = bitcast %"112.style::logical_geometry::WritingMode"* %1331 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1342, i8* %1341, i64 1, i32 1, i1 false), !dbg !155098, !noalias !155107
%1343 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1317, i32 0, i32 0, !dbg !155227
%1344 = load i8*, i8** %1343, !dbg !155227, !noalias !155107
%1345 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1317, i32 0, i32 1, !dbg !155227
%1346 = load void (i8*)**, void (i8*)*** %1345, !dbg !155227, !noalias !155107
%1347 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i434.i36, i32 0, i32 0, !dbg !155227
store i8* %1344, i8** %1347, !dbg !155227, !noalias !155100
%1348 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i434.i36, i32 0, i32 1, !dbg !155227
store void (i8*)** %1346, void (i8*)*** %1348, !dbg !155227, !noalias !155100
%1349 = bitcast { i8*, void (i8*)** }* %this.i434.i36 to %"2.core::raw::TraitObject"*, !dbg !154824
store %"2.core::raw::TraitObject"* %1349, %"2.core::raw::TraitObject"** %obj.i435.i37, !dbg !154824, !noalias !155100
%1350 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i435.i37, !dbg !155228, !noalias !155100, !nonnull !2274
%1351 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1350, i32 0, i32 0, !dbg !155227
%1352 = load {}*, {}** %1351, !dbg !155228, !noalias !155107
%1353 = bitcast {}* %1352 to %"flow::BaseFlow"*, !dbg !155228
store %"flow::BaseFlow"* %1353, %"flow::BaseFlow"** %84, !dbg !155098, !noalias !155100
%1354 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %84, !dbg !155227, !noalias !155100, !nonnull !2274
store %"flow::BaseFlow"* %1354, %"flow::BaseFlow"** %auto_deref288.i215, !dbg !155098, !noalias !155100
%1355 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref288.i215, !dbg !155098, !noalias !155100, !nonnull !2274
%1356 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1355, i32 0, i32 16, !dbg !155098
%1357 = bitcast %"flow::EarlyAbsolutePositionInfo"* %81 to i8*, !dbg !155098
%1358 = bitcast %"flow::EarlyAbsolutePositionInfo"* %1356 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1358, i8* %1357, i64 16, i32 4, i1 false), !dbg !155098, !noalias !155107
br label %loop_body276.i426, !dbg !155098
normal-return292.i433: ; preds = %match_case283.i430
%1359 = zext i1 %1327 to i8, !dbg !155098
store i8 %1359, i8* %85, !dbg !155098, !noalias !155100
%1360 = load i8, i8* %85, !dbg !155221, !range !58629, !noalias !155100
%1361 = trunc i8 %1360 to i1, !dbg !155221
br i1 %1361, label %then-block-5093-.i434, label %next-block295.i435, !dbg !155221
then-block-5093-.i434: ; preds = %normal-return292.i433
%1362 = bitcast %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %0 to { { { { { i8*, void (i8*)** } }, {} } } }*, !dbg !155229
%1363 = bitcast { { { { { i8*, void (i8*)** } }, {} } } }* %1362 to i8*, !dbg !155229
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1363, i8* bitcast ({ { { { { i8*, void (i8*)** } }, {} } } }* @const41463 to i8*), i64 16, i32 8, i1 false), !dbg !155229, !noalias !155230
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i111), !dbg !155129, !noalias !155107
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93), !dbg !155115, !noalias !155107
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope.i86), !dbg !155115, !noalias !155107
br label %_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit497, !dbg !155098
next-block295.i435: ; preds = %normal-return292.i433
%1364 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155231, !noalias !155100, !nonnull !2274
%1365 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1364, i32 0, i32 1, !dbg !155098
%1366 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155232, !noalias !155100, !nonnull !2274
%1367 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1366, i32 0, i32 0, !dbg !155098
%1368 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1367, i32 0, i32 14, !dbg !155098
%1369 = load %"2.core::option::Option<app_units::Au>", %"2.core::option::Option<app_units::Au>"* %1368, !dbg !155232, !noalias !155107
store %"2.core::option::Option<app_units::Au>" %1369, %"2.core::option::Option<app_units::Au>"* %to_ref296.i218, !dbg !155098, !noalias !155100
%1370 = bitcast %"2.core::option::Option<app_units::Au>"* %to_ref296.i218 to i64*, !dbg !155098
%1371 = load i64, i64* %1370, align 4, !dbg !155098, !noalias !155100
invoke void @_ZN6layout5block22CandidateBSizeIterator3new17h2ea3f797331e6dc2E(%"block::CandidateBSizeIterator"* noalias nocapture sret dereferenceable(28) %candidate_block_size_iterator.i217, %"fragment::Fragment"* noalias readonly dereferenceable(160) %1365, i64 %1371)
to label %normal-return297.i436 unwind label %unwind_ast_4428_241.i405, !dbg !154923, !noalias !155107
normal-return297.i436: ; preds = %next-block295.i435
br label %loop_body299.i437, !dbg !155233
loop_body299.i437: ; preds = %join314.i446, %normal-return297.i436
invoke void @"_ZN88_$LT$layout..block..CandidateBSizeIterator$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h791e6d681164f44aE"(%"2.core::option::Option<model::MaybeAuto>"* noalias nocapture sret dereferenceable(12) %86, %"block::CandidateBSizeIterator"* dereferenceable(28) %candidate_block_size_iterator.i217)
to label %normal-return300.i438 unwind label %unwind_ast_4428_301.i439, !dbg !155234, !noalias !155107
normal-return300.i438: ; preds = %loop_body299.i437
%1372 = getelementptr inbounds %"2.core::option::Option<model::MaybeAuto>", %"2.core::option::Option<model::MaybeAuto>"* %86, i32 0, i32 0, !dbg !155098
%1373 = load i32, i32* %1372, !dbg !155098, !range !64827, !noalias !155100
%cond496 = icmp eq i32 %1373, 1, !dbg !155098
br i1 %cond496, label %match_case307.i442, label %match_else306.i441, !dbg !155098
unwind_ast_4428_301.i439: ; preds = %normal-return319.i447, %loop_body299.i437, %match_else306.i441
%1374 = landingpad { i8*, i32 }
cleanup, !dbg !155234
store { i8*, i32 } %1374, { i8*, i32 }* %11, !dbg !155234, !noalias !155100
br label %clean_ast_4428_302.i440, !dbg !155098
clean_ast_4428_302.i440: ; preds = %clean_ast_4428_328.i451, %unwind_ast_4428_301.i439
br label %clean_ast_4428_242.i406, !dbg !155098
match_else306.i441: ; preds = %normal-return300.i438
%1375 = getelementptr inbounds %"block::CandidateBSizeIterator", %"block::CandidateBSizeIterator"* %candidate_block_size_iterator.i217, i32 0, i32 3, !dbg !155098
%1376 = bitcast %"33.app_units::Au"* %1375 to i8*, !dbg !155235
%1377 = bitcast %"33.app_units::Au"* %block_size.i191 to i8*, !dbg !155235
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1377, i8* %1376, i64 4, i32 4, i1 false), !dbg !155235, !noalias !155100
%1378 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i95, !dbg !154926, !noalias !155100
store %"33.app_units::Au" %1378, %"33.app_units::Au"* %to_ref317.i224, !dbg !155098, !noalias !155100
%1379 = bitcast %"33.app_units::Au"* %to_ref317.i224 to i32*, !dbg !155098
%1380 = load i32, i32* %1379, align 4, !dbg !155098, !noalias !155100
%1381 = load %"33.app_units::Au", %"33.app_units::Au"* %block_start_offset.i107, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %1381, %"33.app_units::Au"* %to_ref318.i225, !dbg !155098, !noalias !155100
%1382 = bitcast %"33.app_units::Au"* %to_ref318.i225 to i32*, !dbg !155098
%1383 = load i32, i32* %1382, align 4, !dbg !155098, !noalias !155100
%1384 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %1380, i32 %1383)
to label %normal-return319.i447 unwind label %unwind_ast_4428_301.i439, !dbg !154926, !noalias !155107
match_case307.i442: ; preds = %normal-return300.i438
%1385 = bitcast %"2.core::option::Option<model::MaybeAuto>"* %86 to { i32, %"model::MaybeAuto" }*, !dbg !155098
%1386 = getelementptr inbounds { i32, %"model::MaybeAuto" }, { i32, %"model::MaybeAuto" }* %1385, i32 0, i32 1, !dbg !155098
store %"model::MaybeAuto"* %1386, %"model::MaybeAuto"** %__llmatch304.i219, !dbg !155098, !noalias !155100
%1387 = load %"model::MaybeAuto"*, %"model::MaybeAuto"** %__llmatch304.i219, !dbg !155098, !noalias !155100
%1388 = bitcast %"model::MaybeAuto"* %1387 to i8*, !dbg !155098
%1389 = bitcast %"model::MaybeAuto"* %candidate_block_size.i220 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1389, i8* %1388, i64 8, i32 4, i1 false), !dbg !155098, !noalias !155107
%1390 = getelementptr inbounds %"model::MaybeAuto", %"model::MaybeAuto"* %candidate_block_size.i220, i32 0, i32 0, !dbg !155098
%1391 = load i32, i32* %1390, !dbg !155098, !range !64827, !noalias !155100
switch i32 %1391, label %match_else311.i443 [
i32 0, label %match_case312.i444
i32 1, label %match_case313.i445
], !dbg !155098
match_else311.i443: ; preds = %match_case307.i442
unreachable, !dbg !155098
match_case312.i444: ; preds = %match_case307.i442
%1392 = bitcast %"33.app_units::Au"* %block_size.i191 to i8*, !dbg !155236
%1393 = bitcast %"33.app_units::Au"* %87 to i8*, !dbg !155236
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1393, i8* %1392, i64 4, i32 4, i1 false), !dbg !155236, !noalias !155100
br label %join314.i446, !dbg !155098
match_case313.i445: ; preds = %match_case307.i442
%1394 = bitcast %"model::MaybeAuto"* %candidate_block_size.i220 to { i32, %"33.app_units::Au" }*, !dbg !155098
%1395 = getelementptr inbounds { i32, %"33.app_units::Au" }, { i32, %"33.app_units::Au" }* %1394, i32 0, i32 1, !dbg !155098
store %"33.app_units::Au"* %1395, %"33.app_units::Au"** %__llmatch310.i221, !dbg !155098, !noalias !155100
%1396 = load %"33.app_units::Au"*, %"33.app_units::Au"** %__llmatch310.i221, !dbg !155236, !noalias !155100
%1397 = bitcast %"33.app_units::Au"* %1396 to i8*, !dbg !155236
%1398 = bitcast %"33.app_units::Au"* %value.i222 to i8*, !dbg !155236
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1398, i8* %1397, i64 4, i32 4, i1 false), !dbg !155236, !noalias !155107
%1399 = bitcast %"33.app_units::Au"* %value.i222 to i8*, !dbg !154925
%1400 = bitcast %"33.app_units::Au"* %87 to i8*, !dbg !154925
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1400, i8* %1399, i64 4, i32 4, i1 false), !dbg !154925, !noalias !155100
br label %join314.i446, !dbg !155098
join314.i446: ; preds = %match_case313.i445, %match_case312.i444
%1401 = load %"33.app_units::Au", %"33.app_units::Au"* %87, !dbg !155098, !noalias !155100
%1402 = getelementptr inbounds %"block::CandidateBSizeIterator", %"block::CandidateBSizeIterator"* %candidate_block_size_iterator.i217, i32 0, i32 3, !dbg !155098
store %"33.app_units::Au" %1401, %"33.app_units::Au"* %1402, !dbg !155237, !noalias !155100
br label %loop_body299.i437, !dbg !155098
normal-return319.i447: ; preds = %match_else306.i441
store i32 %1384, i32* %abi_cast320.i226, !dbg !155098, !noalias !155100
%1403 = bitcast %"33.app_units::Au"* %88 to i8*, !dbg !155098
%1404 = bitcast i32* %abi_cast320.i226 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1403, i8* %1404, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1405 = load %"33.app_units::Au", %"33.app_units::Au"* %88, !dbg !154926, !noalias !155100
%1406 = load %"33.app_units::Au", %"33.app_units::Au"* %block_size.i191, !dbg !154926, !noalias !155100
store %"33.app_units::Au" %1406, %"33.app_units::Au"* %to_ref321.i227, !dbg !155098, !noalias !155100
%1407 = bitcast %"33.app_units::Au"* %to_ref321.i227 to i32*, !dbg !155098
%1408 = load i32, i32* %1407, align 4, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %1405, %"33.app_units::Au"* %to_ref322.i228, !dbg !155098, !noalias !155100
%1409 = bitcast %"33.app_units::Au"* %to_ref322.i228 to i32*, !dbg !155098
%1410 = load i32, i32* %1409, align 4, !dbg !155098, !noalias !155100
%1411 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %1408, i32 %1410)
to label %normal-return323.i448 unwind label %unwind_ast_4428_301.i439, !dbg !154926, !noalias !155107
normal-return323.i448: ; preds = %normal-return319.i447
store i32 %1411, i32* %abi_cast324.i229, !dbg !155098, !noalias !155100
%1412 = bitcast %"33.app_units::Au"* %delta316.i223 to i8*, !dbg !155098
%1413 = bitcast i32* %abi_cast324.i229 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1412, i8* %1413, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1414 = load %"33.app_units::Au", %"33.app_units::Au"* %delta316.i223, !dbg !155238, !noalias !155100
store %"33.app_units::Au" %1414, %"33.app_units::Au"* %to_ref325.i230, !dbg !155098, !noalias !155100
%1415 = bitcast %"33.app_units::Au"* %to_ref325.i230 to i32*, !dbg !155098
%1416 = load i32, i32* %1415, align 4, !dbg !155098, !noalias !155100
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i95, i32 %1416, %"floats::Floats"* dereferenceable(40) %floats.i111)
to label %normal-return326.i449 unwind label %unwind_ast_4428_327.i450, !dbg !155238, !noalias !155107
normal-return326.i449: ; preds = %normal-return323.i448
%1417 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154927, !noalias !155100, !nonnull !2274
%1418 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1417, i32 0, i32 1, !dbg !155098
%1419 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1418, i32 0, i32 4, !dbg !155098
%1420 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %1419, i32 0, i32 2, !dbg !155098
%1421 = bitcast %"33.app_units::Au"* %1420 to i8*, !dbg !154927
%1422 = bitcast %"33.app_units::Au"* %block_end_offset.i231 to i8*, !dbg !154927
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1422, i8* %1421, i64 4, i32 4, i1 false), !dbg !154927, !noalias !155107
%1423 = load %"33.app_units::Au", %"33.app_units::Au"* %block_end_offset.i231, !dbg !155239, !noalias !155100
store %"33.app_units::Au" %1423, %"33.app_units::Au"* %to_ref329.i232, !dbg !155098, !noalias !155100
%1424 = bitcast %"33.app_units::Au"* %to_ref329.i232 to i32*, !dbg !155098
%1425 = load i32, i32* %1424, align 4, !dbg !155098, !noalias !155100
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i95, i32 %1425, %"floats::Floats"* dereferenceable(40) %floats.i111)
to label %normal-return330.i452 unwind label %unwind_ast_4428_331.i453, !dbg !155239, !noalias !155107
unwind_ast_4428_327.i450: ; preds = %normal-return323.i448
%1426 = landingpad { i8*, i32 }
cleanup, !dbg !155238
store { i8*, i32 } %1426, { i8*, i32 }* %11, !dbg !155238, !noalias !155100
br label %clean_ast_4428_328.i451, !dbg !155098
clean_ast_4428_328.i451: ; preds = %unwind_ast_4428_331.i453, %unwind_ast_4428_327.i450
br label %clean_ast_4428_302.i440, !dbg !155098
normal-return330.i452: ; preds = %normal-return326.i449
%1427 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155240, !noalias !155100, !nonnull !2274
%1428 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1427, i32 0, i32 1, !dbg !155098
%1429 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1428, i32 0, i32 3, !dbg !155098
%1430 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %1429, i32 0, i32 1, !dbg !155098
%1431 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %1430, i32 0, i32 1, !dbg !155098
%1432 = bitcast %"33.app_units::Au"* %cur_b.i95 to i8*, !dbg !155240
%1433 = bitcast %"33.app_units::Au"* %1431 to i8*, !dbg !155240
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1433, i8* %1432, i64 4, i32 4, i1 false), !dbg !155240, !noalias !155107
%1434 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155241, !noalias !155100, !nonnull !2274
%1435 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1434, i32 0, i32 1, !dbg !155098
%1436 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1435, i32 0, i32 3, !dbg !155098
%1437 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %1436, i32 0, i32 0, !dbg !155098
%1438 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %1437, i32 0, i32 1, !dbg !155098
store %"33.app_units::Au" zeroinitializer, %"33.app_units::Au"* %1438, !dbg !155241, !noalias !155107
%1439 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155242, !noalias !155100, !nonnull !2274
%1440 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1439, i32 0, i32 0, !dbg !155098
%1441 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1440, i32 0, i32 22, !dbg !155098
%1442 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155242, !noalias !155107
store %"flow::FlowFlags" %1442, %"flow::FlowFlags"* %to_ref333.i233, !dbg !155098, !noalias !155100
%1443 = bitcast %"flow::FlowFlags"* %to_ref333.i233 to i32*, !dbg !155098
%1444 = load i32, i32* %1443, align 4, !dbg !155098, !noalias !155100
%1445 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1441, i32 %1444)
to label %normal-return334.i454 unwind label %unwind_ast_4428_331.i453, !dbg !155242, !noalias !155107
unwind_ast_4428_331.i453: ; preds = %normal-return344.i461, %normal-return343.i460, %normal-return342.i459, %normal-return341.i458, %normal-return337.i457, %next-block335.i456, %normal-return330.i452, %normal-return326.i449
%1446 = landingpad { i8*, i32 }
cleanup, !dbg !155239
store { i8*, i32 } %1446, { i8*, i32 }* %11, !dbg !155239, !noalias !155100
br label %clean_ast_4428_328.i451, !dbg !155098
normal-return334.i454: ; preds = %normal-return330.i452
%1447 = zext i1 %1445 to i8, !dbg !155098
store i8 %1447, i8* %89, !dbg !155098, !noalias !155100
%1448 = load i8, i8* %89, !dbg !155242, !range !58629, !noalias !155100
%1449 = trunc i8 %1448 to i1, !dbg !155242
%1450 = xor i1 %1449, true, !dbg !155242
br i1 %1450, label %then-block-5186-.i455, label %next-block335.i456, !dbg !155242
then-block-5186-.i455: ; preds = %normal-return334.i454
%1451 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155243, !noalias !155100, !nonnull !2274
%1452 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1451, i32 0, i32 0, !dbg !155098
%1453 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1452, i32 0, i32 3, !dbg !155098
%1454 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %1453, i32 0, i32 1, !dbg !155098
%1455 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %1454, i32 0, i32 1, !dbg !155098
%1456 = bitcast %"33.app_units::Au"* %cur_b.i95 to i8*, !dbg !155243
%1457 = bitcast %"33.app_units::Au"* %1455 to i8*, !dbg !155243
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1457, i8* %1456, i64 4, i32 4, i1 false), !dbg !155243, !noalias !155107
br label %next-block335.i456, !dbg !155098
next-block335.i456: ; preds = %then-block-5186-.i455, %normal-return334.i454
%1458 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %writing_mode.i100, !dbg !155244, !noalias !155100
store %"112.style::logical_geometry::WritingMode" %1458, %"112.style::logical_geometry::WritingMode"* %to_ref336.i234, !dbg !155098, !noalias !155100
%1459 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref336.i234 to i8*, !dbg !155098
%1460 = load i8, i8* %1459, align 1, !dbg !155098, !noalias !155100
%1461 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155245, !noalias !155100, !nonnull !2274
%1462 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1461, i32 0, i32 1, !dbg !155098
%1463 = invoke i32 @_ZN6layout8fragment8Fragment19inline_start_offset17hc1f292f457137b53E(%"fragment::Fragment"* noalias readonly dereferenceable(160) %1462)
to label %normal-return337.i457 unwind label %unwind_ast_4428_331.i453, !dbg !155245, !noalias !155107
normal-return337.i457: ; preds = %next-block335.i456
store i32 %1463, i32* %abi_cast338.i235, !dbg !155098, !noalias !155100
%1464 = bitcast %"33.app_units::Au"* %91 to i8*, !dbg !155098
%1465 = bitcast i32* %abi_cast338.i235 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1464, i8* %1465, i64 4, i32 4, i1 false), !dbg !155098, !noalias !155100
%1466 = load %"33.app_units::Au", %"33.app_units::Au"* %91, !dbg !155098, !noalias !155100
store %"33.app_units::Au" %1466, %"33.app_units::Au"* %to_ref339.i236, !dbg !155098, !noalias !155100
%1467 = bitcast %"33.app_units::Au"* %to_ref339.i236 to i32*, !dbg !155098
%1468 = load i32, i32* %1467, align 4, !dbg !155098, !noalias !155100
store %"33.app_units::Au" zeroinitializer, %"33.app_units::Au"* %to_ref340.i237, !dbg !155098, !noalias !155100
%1469 = bitcast %"33.app_units::Au"* %to_ref340.i237 to i32*, !dbg !155098
%1470 = load i32, i32* %1469, align 4, !dbg !155098, !noalias !155100
invoke void @"_ZN54_$LT$style..logical_geometry..LogicalSize$LT$T$GT$$GT$3new17hb36ef1825965d48bE"(%"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture sret dereferenceable(12) %90, i8 %1460, i32 %1468, i32 %1470)
to label %normal-return341.i458 unwind label %unwind_ast_4428_331.i453, !dbg !155244, !noalias !155107
normal-return341.i458: ; preds = %normal-return337.i457
invoke void @_ZN6layout6floats6Floats9translate17hef102276e94fc897E(%"floats::Floats"* dereferenceable(40) %floats.i111, %"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture dereferenceable(12) %90)
to label %normal-return342.i459 unwind label %unwind_ast_4428_331.i453, !dbg !155244, !noalias !155107
normal-return342.i459: ; preds = %normal-return341.i458
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %92, %"floats::Floats"* noalias readonly dereferenceable(40) %floats.i111)
to label %normal-return343.i460 unwind label %unwind_ast_4428_331.i453, !dbg !155246, !noalias !155107
normal-return343.i460: ; preds = %normal-return342.i459
%1471 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155246, !noalias !155100, !nonnull !2274
%1472 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1471, i32 0, i32 0, !dbg !155098
%1473 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1472, i32 0, i32 6, !dbg !155098
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %1473), !dbg !155246, !noalias !155107
%1474 = bitcast %"floats::Floats"* %92 to i8*, !dbg !155246
%1475 = bitcast %"floats::Floats"* %1473 to i8*, !dbg !155246
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1475, i8* %1474, i64 40, i32 8, i1 false), !dbg !155246, !noalias !155107
%1476 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155247, !noalias !155100, !nonnull !2274
%1477 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i83, !dbg !155247, !noalias !155100, !nonnull !2274
%1478 = invoke dereferenceable(128) %"112.style::context::SharedStyleContext"* @"_ZN107_$LT$layout..context..LayoutContext$LT$$u27$a$GT$$u20$as$u20$style..context..StyleContext$LT$$u27$a$GT$$GT$14shared_context17h4dcab760e33ea9daE"(%"context::LayoutContext"* noalias readonly dereferenceable(16) %1477)
to label %normal-return344.i461 unwind label %unwind_ast_4428_331.i453, !dbg !155247, !noalias !155107
normal-return344.i461: ; preds = %normal-return343.i460
store %"112.style::context::SharedStyleContext"* %1478, %"112.style::context::SharedStyleContext"** %93, !dbg !155098, !noalias !155100
%1479 = load %"112.style::context::SharedStyleContext"*, %"112.style::context::SharedStyleContext"** %93, !dbg !155247, !noalias !155100, !nonnull !2274
invoke void @_ZN6layout5block9BlockFlow46adjust_fragments_for_collapsed_margins_if_root17hb5ac75950926fc22E(%"block::BlockFlow"* dereferenceable(560) %1476, %"112.style::context::SharedStyleContext"* dereferenceable(128) %1479)
to label %normal-return345.i462 unwind label %unwind_ast_4428_331.i453, !dbg !155247, !noalias !155107
normal-return345.i462: ; preds = %normal-return344.i461
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i111), !dbg !155129, !noalias !155107
br label %join364.i472, !dbg !155098
else-block.i463: ; preds = %normal-return.i257
%1480 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154928, !noalias !155100, !nonnull !2274
%1481 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1480, i32 0, i32 0, !dbg !155098
%1482 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1481, i32 0, i32 21, !dbg !155098
%1483 = load i8, i8* %1482, !dbg !154928, !noalias !155107
store i8 %1483, i8* %thread_id346.i238, !dbg !154928, !noalias !155100
%1484 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !154929, !noalias !155100, !nonnull !2274
%1485 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1484, i32 0, i32 0, !dbg !155098
invoke void @_ZN6layout4flow8BaseFlow14child_iter_mut17hb71153856274a84eE(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %95, %"flow::BaseFlow"* dereferenceable(376) %1485)
to label %normal-return348.i464 unwind label %unwind_ast_4374_.i258, !dbg !154929, !noalias !155107
normal-return348.i464: ; preds = %else-block.i463
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf27956c5e5fad03eE"(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %94, %"flow_list::MutFlowListIterator"* noalias nocapture dereferenceable(32) %95)
to label %normal-return349.i465 unwind label %unwind_ast_4374_.i258, !dbg !154929, !noalias !155107
normal-return349.i465: ; preds = %normal-return348.i464
store %"flow_list::MutFlowListIterator"* %94, %"flow_list::MutFlowListIterator"** %iter351.i240, !dbg !155098, !noalias !155100
%1486 = load %"flow_list::MutFlowListIterator"*, %"flow_list::MutFlowListIterator"** %iter351.i240, !dbg !155098, !noalias !155100
br label %loop_body353.i466, !dbg !154930
loop_body353.i466: ; preds = %normal-return361.i471, %normal-return349.i465
invoke void @"_ZN103_$LT$layout..flow_list..MutFlowListIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h377cab92137b0b04E"(%"2.core::option::Option<&mut flow::Flow>"* noalias nocapture sret dereferenceable(16) %96, %"flow_list::MutFlowListIterator"* dereferenceable(32) %1486)
to label %normal-return354.i467 unwind label %unwind_ast_4374_.i258, !dbg !155248, !noalias !155107
normal-return354.i467: ; preds = %loop_body353.i466
%1487 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %96, i32 0, i32 0, i32 0, !dbg !155098
%1488 = load i8*, i8** %1487, !dbg !155098, !noalias !155100
%1489 = icmp ne i8* %1488, null, !dbg !155098
switch i1 %1489, label %match_else358.i468 [
i1 true, label %match_case359.i469
i1 false, label %match_case360.i470
], !dbg !155098
match_else358.i468: ; preds = %normal-return354.i467
unreachable, !dbg !155098
match_case359.i469: ; preds = %normal-return354.i467
%1490 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %96, i32 0, i32 0, !dbg !155098
store { i8*, void (i8*)** }* %1490, { i8*, void (i8*)** }** %kid356.i241, !dbg !155098, !noalias !155100
%1491 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %kid356.i241, !dbg !155098, !noalias !155100
%1492 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1491, i32 0, i32 0, !dbg !155249
%1493 = load i8*, i8** %1492, !dbg !155249, !noalias !155107
%1494 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1491, i32 0, i32 1, !dbg !155249
%1495 = load void (i8*)**, void (i8*)*** %1494, !dbg !155249, !noalias !155107
%1496 = getelementptr inbounds void (i8*)*, void (i8*)** %1495, i32 29, !dbg !155249
%1497 = load void (i8*)*, void (i8*)** %1496, !dbg !155249, !noalias !155107
%1498 = bitcast void (i8*)* %1497 to i1 (i8*, %"context::LayoutContext"*, i8)*, !dbg !155249
%1499 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i83, !dbg !155249, !noalias !155100, !nonnull !2274
%1500 = load i8, i8* %thread_id346.i238, !dbg !155249, !noalias !155100
%1501 = invoke zeroext i1 %1498(i8* nonnull %1493, %"context::LayoutContext"* noalias readonly dereferenceable(16) %1499, i8 %1500)
to label %normal-return361.i471 unwind label %unwind_ast_4374_.i258, !dbg !155249, !noalias !155107
match_case360.i470: ; preds = %normal-return354.i467
br label %join364.i472, !dbg !155098
normal-return361.i471: ; preds = %match_case359.i469
br label %loop_body353.i466, !dbg !155098
join364.i472: ; preds = %match_case360.i470, %normal-return345.i462
%1502 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155250, !noalias !155100, !nonnull !2274
%1503 = bitcast %"block::BlockFlow"* %1502 to i8*, !dbg !155098
%1504 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target365.i242, i32 0, i32 0, !dbg !155098
store i8* %1503, i8** %1504, !dbg !155098, !noalias !155100
%1505 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target365.i242, i32 0, i32 1, !dbg !155098
store void (i8*)** bitcast ({ void (%"block::BlockFlow"*)*, i64, i64, i8 (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table_colgroup::TableColGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_caption::TableCaptionFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"multicol::MulticolFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnIntrinsicInlineSize>"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnComputedInlineSize>"* (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"112.style::context::SharedStyleContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"2.core::option::Option<std::sync::Arc<flow::Flow>>"*, %"block::BlockFlow"*, %"context::LayoutContext"*, %"2.core::option::Option<flow::FragmentationContext>"*)*, i64 (%"block::BlockFlow"*, i64, %"3.std::vec::Vec<Box<gfx::display_list::StackingContext>>"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*, %"context::LayoutContext"*, i8)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"display_list_builder::DisplayListBuildState"*)*, void (%"fragment::Overflow"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**, i32, %"35.euclid::Point2D<app_units::Au>"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*, %"model::MarginCollapseInfo"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i8 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i32)*, void (%"block::BlockFlow"*, i32)*, void (%"112.style::logical_geometry::LogicalSize<app_units::Au>"*, %"block::BlockFlow"*, i64)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"5.std::sync::Arc<style::properties::ComputedValues>"*)*, void (%"block::BlockFlow"*, %"58.gfx_traits::print_tree::PrintTree"*)*, i8 (%"block::BlockFlow"*, %"2.core::fmt::Formatter"*)* }* @vtable42764 to void (i8*)**), void (i8*)*** %1505, !dbg !155098, !noalias !155100
%1506 = invoke zeroext i1 @"_ZN112_$LT$$RF$$u27$a$u20$layout..flow..Flow$u20$$u2b$$u20$$u27$static$u20$as$u20$layout..flow..ImmutableFlowUtils$GT$36contains_roots_of_absolute_flow_tree17heec5046c5c1d642eE"({ i8*, void (i8*)** }* noalias readonly dereferenceable(16) %__coerce_target365.i242)
to label %normal-return366.i473 unwind label %unwind_ast_4374_.i258, !dbg !155250, !noalias !155107
normal-return366.i473: ; preds = %join364.i472
%1507 = zext i1 %1506 to i8, !dbg !155098
store i8 %1507, i8* %97, !dbg !155098, !noalias !155100
%1508 = load i8, i8* %97, !dbg !155250, !range !58629, !noalias !155100
%1509 = trunc i8 %1508 to i1, !dbg !155250
br i1 %1509, label %then-block-5248-.i474, label %next-block371.i477, !dbg !155250
then-block-5248-.i474: ; preds = %normal-return366.i473
%1510 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155251, !noalias !155100, !nonnull !2274
%1511 = bitcast %"block::BlockFlow"* %1510 to i8*, !dbg !155098
%1512 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target367.i243, i32 0, i32 0, !dbg !155098
store i8* %1511, i8** %1512, !dbg !155098, !noalias !155100
%1513 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target367.i243, i32 0, i32 1, !dbg !155098
store void (i8*)** bitcast ({ void (%"block::BlockFlow"*)*, i64, i64, i8 (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table_colgroup::TableColGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_caption::TableCaptionFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"multicol::MulticolFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnIntrinsicInlineSize>"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnComputedInlineSize>"* (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"112.style::context::SharedStyleContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"2.core::option::Option<std::sync::Arc<flow::Flow>>"*, %"block::BlockFlow"*, %"context::LayoutContext"*, %"2.core::option::Option<flow::FragmentationContext>"*)*, i64 (%"block::BlockFlow"*, i64, %"3.std::vec::Vec<Box<gfx::display_list::StackingContext>>"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*, %"context::LayoutContext"*, i8)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"display_list_builder::DisplayListBuildState"*)*, void (%"fragment::Overflow"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**, i32, %"35.euclid::Point2D<app_units::Au>"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*, %"model::MarginCollapseInfo"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i8 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i32)*, void (%"block::BlockFlow"*, i32)*, void (%"112.style::logical_geometry::LogicalSize<app_units::Au>"*, %"block::BlockFlow"*, i64)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"5.std::sync::Arc<style::properties::ComputedValues>"*)*, void (%"block::BlockFlow"*, %"58.gfx_traits::print_tree::PrintTree"*)*, i8 (%"block::BlockFlow"*, %"2.core::fmt::Formatter"*)* }* @vtable42764 to void (i8*)**), void (i8*)*** %1513, !dbg !155098, !noalias !155100
%1514 = getelementptr inbounds %"block::AbsoluteAssignBSizesTraversal", %"block::AbsoluteAssignBSizesTraversal"* %98, i32 0, i32 0, !dbg !155098
%1515 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i83, !dbg !155252, !noalias !155100, !nonnull !2274
%1516 = invoke dereferenceable(128) %"112.style::context::SharedStyleContext"* @"_ZN107_$LT$layout..context..LayoutContext$LT$$u27$a$GT$$u20$as$u20$style..context..StyleContext$LT$$u27$a$GT$$GT$14shared_context17h4dcab760e33ea9daE"(%"context::LayoutContext"* noalias readonly dereferenceable(16) %1515)
to label %normal-return368.i475 unwind label %unwind_ast_4374_.i258, !dbg !155252, !noalias !155107
normal-return368.i475: ; preds = %then-block-5248-.i474
store %"112.style::context::SharedStyleContext"* %1516, %"112.style::context::SharedStyleContext"** %1514, !dbg !155098, !noalias !155100
%1517 = load %"block::AbsoluteAssignBSizesTraversal", %"block::AbsoluteAssignBSizesTraversal"* %98, !dbg !155252, !noalias !155100
store %"block::AbsoluteAssignBSizesTraversal" %1517, %"block::AbsoluteAssignBSizesTraversal"* %addr_of369.i244, !dbg !155098, !noalias !155100
invoke void @"_ZN118_$LT$$RF$$u27$a$u20$mut$u20$layout..flow..Flow$u20$$u2b$$u20$$u27$static$u20$as$u20$layout..flow..MutableFlowUtils$GT$32traverse_preorder_absolute_flows17hfc357d0fe5d6f42aE"({ i8*, void (i8*)** }* dereferenceable(16) %__coerce_target367.i243, %"block::AbsoluteAssignBSizesTraversal"* dereferenceable(8) %addr_of369.i244)
to label %normal-return370.i476 unwind label %unwind_ast_4374_.i258, !dbg !155251, !noalias !155107
normal-return370.i476: ; preds = %normal-return368.i475
br label %next-block371.i477, !dbg !155098
next-block371.i477: ; preds = %normal-return370.i476, %normal-return366.i473
%1518 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155253, !noalias !155100, !nonnull !2274
%1519 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1518, i32 0, i32 0, !dbg !155098
%1520 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1519, i32 0, i32 22, !dbg !155098
%1521 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8is_float17h3bb4201ef87f884aE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1520)
to label %normal-return372.i478 unwind label %unwind_ast_4374_.i258, !dbg !155253, !noalias !155107
normal-return372.i478: ; preds = %next-block371.i477
%1522 = zext i1 %1521 to i8, !dbg !155098
store i8 %1522, i8* %99, !dbg !155098, !noalias !155100
%1523 = load i8, i8* %99, !dbg !155253, !range !58629, !noalias !155100
%1524 = trunc i8 %1523 to i1, !dbg !155253
br i1 %1524, label %join373.i479, label %before_rhs374.i480, !dbg !155098
join373.i479: ; preds = %normal-return377.i482, %normal-return372.i478
%1525 = phi i1 [ %1524, %normal-return372.i478 ], [ %1532, %normal-return377.i482 ], !dbg !155098
br i1 %1525, label %before_rhs379.i484, label %join378.i483, !dbg !155098
before_rhs374.i480: ; preds = %normal-return372.i478
%1526 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155254, !noalias !155100, !nonnull !2274
%1527 = invoke i8 @_ZN6layout5block9BlockFlow23formatting_context_type17h993ec10343b05d62E(%"block::BlockFlow"* dereferenceable(560) %1526)
to label %normal-return375.i481 unwind label %unwind_ast_4374_.i258, !dbg !155254, !noalias !155107
normal-return375.i481: ; preds = %before_rhs374.i480
store i8 %1527, i8* %101, !dbg !155098, !noalias !155100
%1528 = load i8, i8* %101, !dbg !155254, !noalias !155100
store i8 %1528, i8* %autoref376.i245, !dbg !155098, !noalias !155100
%1529 = invoke zeroext i1 @"_ZN77_$LT$layout..block..FormattingContextType$u20$as$u20$core..cmp..PartialEq$GT$2eq17h25e68d6771356381E"(i8* noalias readonly dereferenceable(1) %autoref376.i245, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return377.i482 unwind label %unwind_ast_4374_.i258, !dbg !155254, !noalias !155107
normal-return377.i482: ; preds = %normal-return375.i481
%1530 = zext i1 %1529 to i8, !dbg !155098
store i8 %1530, i8* %100, !dbg !155098, !noalias !155100
%1531 = load i8, i8* %100, !dbg !155254, !range !58629, !noalias !155100
%1532 = trunc i8 %1531 to i1, !dbg !155254
br label %join373.i479, !dbg !155098
join378.i483: ; preds = %normal-return381.i485, %join373.i479
%1533 = phi i1 [ %1525, %join373.i479 ], [ %1544, %normal-return381.i485 ], !dbg !155098
br i1 %1533, label %then-block-5280-.i486, label %next-block394.i491, !dbg !155253
before_rhs379.i484: ; preds = %join373.i479
%1534 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155255, !noalias !155100, !nonnull !2274
%1535 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1534, i32 0, i32 0, !dbg !155098
%1536 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1535, i32 0, i32 22, !dbg !155098
%1537 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155255, !noalias !155107
store %"flow::FlowFlags" %1537, %"flow::FlowFlags"* %to_ref380.i246, !dbg !155098, !noalias !155100
%1538 = bitcast %"flow::FlowFlags"* %to_ref380.i246 to i32*, !dbg !155098
%1539 = load i32, i32* %1538, align 4, !dbg !155098, !noalias !155100
%1540 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1536, i32 %1539)
to label %normal-return381.i485 unwind label %unwind_ast_4374_.i258, !dbg !155255, !noalias !155107
normal-return381.i485: ; preds = %before_rhs379.i484
%1541 = zext i1 %1540 to i8, !dbg !155098
store i8 %1541, i8* %102, !dbg !155098, !noalias !155100
%1542 = load i8, i8* %102, !dbg !155255, !range !58629, !noalias !155100
%1543 = trunc i8 %1542 to i1, !dbg !155255
%1544 = xor i1 %1543, true, !dbg !155255
br label %join378.i483, !dbg !155098
then-block-5280-.i486: ; preds = %join378.i483
%1545 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155256, !noalias !155100, !nonnull !2274
%1546 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1545, i32 0, i32 0, !dbg !155098
%1547 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1546, i32 0, i32 0, !dbg !155098
%1548 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42361 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155256, !noalias !155107
%1549 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42723 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155256, !noalias !155107
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %1548, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref382.i247, !dbg !155098, !noalias !155100
%1550 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref382.i247 to i8*, !dbg !155098
%1551 = load i8, i8* %1550, align 1, !dbg !155098, !noalias !155100
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %1549, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref383.i248, !dbg !155098, !noalias !155100
%1552 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref383.i248 to i8*, !dbg !155098
%1553 = load i8, i8* %1552, align 1, !dbg !155098, !noalias !155100
%1554 = invoke i8 @"_ZN91_$LT$script_layout_interface..restyle_damage..RestyleDamage$u20$as$u20$core..ops..BitOr$GT$5bitor17hfd1c2a4b4cafa199E"(i8 %1551, i8 %1553)
to label %normal-return384.i487 unwind label %unwind_ast_4374_.i258, !dbg !155256, !noalias !155107
normal-return384.i487: ; preds = %then-block-5280-.i486
store i8 %1554, i8* %abi_cast385.i249, !dbg !155098, !noalias !155100
%1555 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %103 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1555, i8* %abi_cast385.i249, i64 1, i32 1, i1 false), !dbg !155098, !noalias !155100
%1556 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* %103, !dbg !155256, !noalias !155100
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %1556, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref386.i250, !dbg !155098, !noalias !155100
%1557 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref386.i250 to i8*, !dbg !155098
%1558 = load i8, i8* %1557, align 1, !dbg !155098, !noalias !155100
invoke void @_ZN23script_layout_interface14restyle_damage13RestyleDamage6remove17h84a3d1a3cb2d9194E(%"118.script_layout_interface::restyle_damage::RestyleDamage"* dereferenceable(1) %1547, i8 %1558)
to label %normal-return387.i488 unwind label %unwind_ast_4374_.i258, !dbg !155256, !noalias !155107
normal-return387.i488: ; preds = %normal-return384.i487
%1559 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i82, !dbg !155257, !noalias !155100, !nonnull !2274
%1560 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1559, i32 0, i32 1, !dbg !155098
%1561 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1560, i32 0, i32 8, !dbg !155098
%1562 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42361 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155257, !noalias !155107
%1563 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42723 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155257, !noalias !155107
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %1562, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref388.i251, !dbg !155098, !noalias !155100
%1564 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref388.i251 to i8*, !dbg !155098
%1565 = load i8, i8* %1564, align 1, !dbg !155098, !noalias !155100
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %1563, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref389.i252, !dbg !155098, !noalias !155100
%1566 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref389.i252 to i8*, !dbg !155098
%1567 = load i8, i8* %1566, align 1, !dbg !155098, !noalias !155100
%1568 = invoke i8 @"_ZN91_$LT$script_layout_interface..restyle_damage..RestyleDamage$u20$as$u20$core..ops..BitOr$GT$5bitor17hfd1c2a4b4cafa199E"(i8 %1565, i8 %1567)
to label %normal-return390.i489 unwind label %unwind_ast_4374_.i258, !dbg !155257, !noalias !155107
normal-return390.i489: ; preds = %normal-return387.i488
store i8 %1568, i8* %abi_cast391.i253, !dbg !155098, !noalias !155100
%1569 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %104 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1569, i8* %abi_cast391.i253, i64 1, i32 1, i1 false), !dbg !155098, !noalias !155100
%1570 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* %104, !dbg !155257, !noalias !155100
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %1570, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref392.i254, !dbg !155098, !noalias !155100
%1571 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref392.i254 to i8*, !dbg !155098
%1572 = load i8, i8* %1571, align 1, !dbg !155098, !noalias !155100
invoke void @_ZN23script_layout_interface14restyle_damage13RestyleDamage6remove17h84a3d1a3cb2d9194E(%"118.script_layout_interface::restyle_damage::RestyleDamage"* dereferenceable(1) %1561, i8 %1572)
to label %normal-return393.i490 unwind label %unwind_ast_4374_.i258, !dbg !155257, !noalias !155107
normal-return393.i490: ; preds = %normal-return390.i489
br label %next-block394.i491, !dbg !155098
next-block394.i491: ; preds = %normal-return393.i490, %join378.i483
%1573 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93 to i8*, !dbg !155098
%1574 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %arg395.i255 to i8*, !dbg !155098
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1574, i8* %1573, i64 32, i32 8, i1 false), !dbg !155098, !noalias !155100
%1575 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93 to i8*, !dbg !155098
call void @llvm.memset.p0i8.i64(i8* %1575, i8 29, i64 32, i32 8, i1 false), !dbg !155098, !noalias !155100
%1576 = getelementptr inbounds %closure.413, %closure.413* %105, i32 0, i32 0, !dbg !155098
store %"block::BlockFlow"** %self.i82, %"block::BlockFlow"*** %1576, !dbg !155098, !noalias !155100
%1577 = load %closure.413, %closure.413* %105, !dbg !155098, !noalias !155100
store %closure.413 %1577, %closure.413* %to_ref396.i256, !dbg !155098, !noalias !155100
%1578 = bitcast %closure.413* %to_ref396.i256 to i8**, !dbg !155098
%1579 = load i8*, i8** %1578, align 8, !dbg !155098, !noalias !155100
invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h3889e7465fd9c448E"(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* noalias nocapture sret dereferenceable(16) %0, %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* noalias nocapture dereferenceable(32) %arg395.i255, i8* %1579)
to label %normal-return397.i492 unwind label %unwind_ast_4374_.i258, !dbg !155258, !noalias !155230
normal-return397.i492: ; preds = %next-block394.i491
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i93), !dbg !155115, !noalias !155107
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope.i86), !dbg !155115, !noalias !155107
br label %_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit497, !dbg !155098
_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit497: ; preds = %then-block-5093-.i434, %normal-return397.i492
br label %join31
else-block16: ; preds = %join3
%1580 = bitcast i64* %lvl17 to i8*, !dbg !155259
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1580, i8* bitcast (i64* @const40530 to i8*), i64 8, i32 8, i1 false), !dbg !155259
call void @llvm.dbg.declare(metadata i64* %lvl17, metadata !155260, metadata !58571), !dbg !155261
%1581 = bitcast i64* %sret_slot.i498 to i8*, !dbg !155262
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1581, i8* bitcast (i64* @const40521 to i8*), i64 8, i32 8, i1 false), !dbg !155262
%1582 = load i64, i64* %sret_slot.i498, !dbg !155261
store i64 %1582, i64* %238
%1583 = load i64, i64* %238, !dbg !155261
store i64 %1583, i64* %autoref18
%1584 = call zeroext i1 @_ZN4core3cmp10PartialOrd2le17h0944830991cd6423E(i64* noalias readonly dereferenceable(8) %lvl17, i64* noalias readonly dereferenceable(8) %autoref18), !dbg !155261
%1585 = zext i1 %1584 to i8
store i8 %1585, i8* %237
%1586 = load i8, i8* %237, !dbg !155261, !range !58629
%1587 = trunc i8 %1586 to i1, !dbg !155261
br i1 %1587, label %before_rhs20, label %join19
join19: ; preds = %before_rhs20, %else-block16
%1588 = phi i1 [ %1587, %else-block16 ], [ %1595, %before_rhs20 ]
br i1 %1588, label %then-block-7964-, label %next-block29, !dbg !155261
before_rhs20: ; preds = %else-block16
%1589 = call i64 @_ZN4core4sync6atomic11AtomicUsize4load17h9a96fdc68d9d31c5E(%"2.core::sync::atomic::AtomicUsize"* dereferenceable(8) @_ZN3log20MAX_LOG_LEVEL_FILTER17hd7dfdd18293b3adcE, i8 0), !dbg !155264
store i64 %1589, i64* %4, !dbg !155266
%1590 = load i64, i64* %4, !dbg !155264
store i64 %1590, i64* %241
%1591 = load i64, i64* %241, !dbg !155266
store i64 %1591, i64* %autoref21
%1592 = call zeroext i1 @_ZN4core3cmp10PartialOrd2le17h0944830991cd6423E(i64* noalias readonly dereferenceable(8) %lvl17, i64* noalias readonly dereferenceable(8) %autoref21), !dbg !155261
%1593 = zext i1 %1592 to i8
store i8 %1593, i8* %240
%1594 = load i8, i8* %240, !dbg !155261, !range !58629
%1595 = trunc i8 %1594 to i1, !dbg !155261
br label %join19
then-block-7964-: ; preds = %join19
%1596 = load i64, i64* %lvl17, !dbg !155267
%1597 = load i8*, i8** getelementptr inbounds (%str_slice, %str_slice* @const42778, i32 0, i32 0), !dbg !155267
%1598 = load i64, i64* getelementptr inbounds (%str_slice, %str_slice* @const42778, i32 0, i32 1), !dbg !155267
%1599 = bitcast { %str_slice*, i64 }* %244 to i8*, !dbg !155268
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1599, i8* bitcast ({ %str_slice*, i64 }* @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$8fragment15__STATIC_FMTSTR17h8fb8a683206fc2c7E" to i8*), i64 16, i32 8, i1 false), !dbg !155268
%1600 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %244, i32 0, i32 0, !dbg !155268
%1601 = load %str_slice*, %str_slice** %1600, !dbg !155268
%1602 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %244, i32 0, i32 1, !dbg !155268
%1603 = load i64, i64* %1602, !dbg !155268
%1604 = getelementptr inbounds { i64* }, { i64* }* %246, i32 0, i32 0
%1605 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155270, !nonnull !2274
store %"block::BlockFlow"* %1605, %"block::BlockFlow"** %this.i499, !dbg !155270
%1606 = bitcast %"block::BlockFlow"** %this.i499 to %"2.core::raw::TraitObject"*, !dbg !154819
store %"2.core::raw::TraitObject"* %1606, %"2.core::raw::TraitObject"** %obj.i500, !dbg !154819
%1607 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i500, !dbg !155271, !nonnull !2274
%1608 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1607, i32 0, i32 0, !dbg !155270
%1609 = load {}*, {}** %1608, !dbg !155271
%1610 = bitcast {}* %1609 to %"flow::BaseFlow"*, !dbg !155271
store %"flow::BaseFlow"* %1610, %"flow::BaseFlow"** %248
%1611 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %248, !dbg !155270, !nonnull !2274
%1612 = call i64 @_ZN6layout4flow8BaseFlow8debug_id17hc63621fce9b35166E(%"flow::BaseFlow"* dereferenceable(376) %1611), !dbg !155270
store i64 %1612, i64* %247
%1613 = load i64, i64* %247, !dbg !155270
store i64 %1613, i64* %addr_of22
store i64* %addr_of22, i64** %1604
%1614 = load { i64* }, { i64* }* %246
store { i64* } %1614, { i64* }* %match23
%1615 = getelementptr inbounds { i64* }, { i64* }* %match23, i32 0, i32 0
store i64** %1615, i64*** %__llmatch25
br label %case_body24
case_body24: ; preds = %then-block-7964-
%1616 = load i64**, i64*** %__llmatch25
%1617 = load i64*, i64** %1616, !nonnull !2274
store i64* %1617, i64** %__arg026
call void @llvm.dbg.declare(metadata i64** %__arg026, metadata !155272, metadata !58571), !dbg !155274
%1618 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %245, i32 0, i32 0, !dbg !155275
%1619 = getelementptr inbounds %"2.core::fmt::ArgumentV1", %"2.core::fmt::ArgumentV1"* %1618, i32 0, !dbg !155275
%1620 = load i64*, i64** %__arg026, !dbg !155276, !nonnull !2274
call void @_ZN4core3fmt10ArgumentV13new17h4178ab5523537880E(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(16) %1619, i64* noalias readonly dereferenceable(8) %1620, i8 (i64*, %"2.core::fmt::Formatter"*)* @"_ZN4core3fmt3num52_$LT$impl$u20$core..fmt..Debug$u20$for$u20$usize$GT$3fmt17h591ade4188106d98E"), !dbg !155277
br label %join27
join27: ; preds = %case_body24
%1621 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %245 to %"2.core::fmt::ArgumentV1"*
%1622 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target28, i32 0, i32 0
store %"2.core::fmt::ArgumentV1"* %1621, %"2.core::fmt::ArgumentV1"** %1622
%1623 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target28, i32 0, i32 1
store i64 1, i64* %1623
%1624 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target28, i32 0, i32 0
%1625 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %1624
%1626 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target28, i32 0, i32 1
%1627 = load i64, i64* %1626
call void @_ZN4core3fmt9Arguments6new_v117h72dc8c1ceaa23cafE(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %243, %str_slice* noalias nonnull readonly %1601, i64 %1603, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %1625, i64 %1627), !dbg !155267
call void @_ZN3log5__log17h937835a6dfa8775cE(i64 %1596, i8* noalias nonnull readonly %1597, i64 %1598, %"12.log::LogLocation"* noalias readonly dereferenceable(40) bitcast ({ %str_slice, %str_slice, i32, [4 x i8] }* @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$8fragment4_LOC17h47f041330016afa9E" to %"12.log::LogLocation"*), %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(48) %243), !dbg !155267
br label %next-block29
next-block29: ; preds = %join19, %join27
%1628 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self, !dbg !155278, !nonnull !2274
%1629 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context, !dbg !155279, !nonnull !2274
%1630 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context to i8*
%1631 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %arg30 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1631, i8* %1630, i64 12, i32 4, i1 false)
%1632 = bitcast i64* %addr_of.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1632, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1633 = bitcast { i64* }* %match.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1633, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1634 = bitcast { i8, i8 }* %let.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1634, i8 29, i64 2, i32 1, i1 false), !dbg !155278, !noalias !155280
%1635 = bitcast %"flow::BaseFlow"** %auto_deref.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1635, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1636 = bitcast %"flow::BaseFlow"** %auto_deref46.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1636, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1637 = bitcast %"flow::BaseFlow"** %auto_deref50.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1637, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1638 = bitcast %"flow::BaseFlow"** %auto_deref58.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1638, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1639 = bitcast %"flow::BaseFlow"** %auto_deref62.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1639, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1640 = bitcast %"flow::BaseFlow"** %auto_deref93.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1640, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1641 = bitcast %"flow::BaseFlow"** %auto_deref95.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1641, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1642 = bitcast %"flow::BaseFlow"** %auto_deref98.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1642, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1643 = bitcast %"block::FloatedBlockInfo"*** %auto_deref104.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1643, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1644 = bitcast %"flow::BaseFlow"** %auto_deref112.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1644, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1645 = bitcast %"flow::BaseFlow"** %auto_deref119.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1645, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1646 = bitcast %"flow::BaseFlow"** %auto_deref128.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1646, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1647 = bitcast %"flow::BaseFlow"** %auto_deref134.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1647, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1648 = bitcast %"flow::BaseFlow"** %auto_deref139.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1648, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1649 = bitcast %"flow::BaseFlow"** %auto_deref145.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1649, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1650 = bitcast %"flow::BaseFlow"** %auto_deref149.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1650, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1651 = bitcast { i8, i8 }* %match152.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1651, i8 29, i64 2, i32 1, i1 false), !dbg !155278, !noalias !155280
%1652 = bitcast %"flow::BaseFlow"** %auto_deref177.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1652, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1653 = bitcast %"flow::BaseFlow"** %auto_deref179.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1653, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
call void @llvm.memset.p0i8.i64(i8* %autoref.i, i8 29, i64 1, i32 1, i1 false), !dbg !155278, !noalias !155280
%1654 = bitcast %"112.style::context::SharedStyleContext"** %auto_deref261.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1654, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1655 = bitcast %"112.style::properties::ComputedValues"** %auto_deref286.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1655, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1656 = bitcast %"flow::BaseFlow"** %auto_deref288.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1656, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
%1657 = bitcast %"block::AbsoluteAssignBSizesTraversal"* %addr_of369.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %1657, i8 29, i64 8, i32 8, i1 false), !dbg !155278, !noalias !155280
call void @llvm.memset.p0i8.i64(i8* %autoref376.i, i8 29, i64 1, i32 1, i1 false), !dbg !155278, !noalias !155280
store i8 61, i8* %dropflag_hint_4420.i, !dbg !155278, !noalias !155280
store i8 61, i8* %dropflag_hint_4634.i, !dbg !155278, !noalias !155280
store i8 61, i8* %dropflag_hint_4377.i, !dbg !155278, !noalias !155280
store i8 61, i8* %dropflag_hint_4536.i, !dbg !155278, !noalias !155280
store %"block::BlockFlow"* %1628, %"block::BlockFlow"** %self.i, !dbg !155278, !noalias !155280
store %"context::LayoutContext"* %1629, %"context::LayoutContext"** %layout_context.i, !dbg !155278, !noalias !155280
%1658 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %arg30 to i8*, !dbg !155278
%1659 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1659, i8* %1658, i64 12, i32 4, i1 false), !dbg !155278, !noalias !155285
store i8 0, i8* %margins_may_collapse.i, !dbg !155278, !noalias !155280
%1660 = bitcast { %str_slice*, i64 }* %109 to i8*, !dbg !155286
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1660, i8* bitcast ({ %str_slice*, i64 }* @_ZN6layout5block9BlockFlow28assign_block_size_block_base15__STATIC_FMTSTR17hbfccf9ea4798ac74E to i8*), i64 16, i32 8, i1 false), !dbg !155286, !noalias !155287
%1661 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %109, i32 0, i32 0, !dbg !155286
%1662 = load %str_slice*, %str_slice** %1661, !dbg !155286, !noalias !155280
%1663 = getelementptr inbounds { %str_slice*, i64 }, { %str_slice*, i64 }* %109, i32 0, i32 1, !dbg !155286
%1664 = load i64, i64* %1663, !dbg !155286, !noalias !155280
%1665 = getelementptr inbounds { i64* }, { i64* }* %111, i32 0, i32 0, !dbg !155278
%1666 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155288, !noalias !155280, !nonnull !2274
%1667 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1666, i32 0, i32 0, !dbg !155278
%1668 = call i64 @_ZN6layout4flow8BaseFlow8debug_id17hc63621fce9b35166E(%"flow::BaseFlow"* dereferenceable(376) %1667), !dbg !155288, !noalias !155287
store i64 %1668, i64* %112, !dbg !155278, !noalias !155280
%1669 = load i64, i64* %112, !dbg !155288, !noalias !155280
store i64 %1669, i64* %addr_of.i, !dbg !155278, !noalias !155280
store i64* %addr_of.i, i64** %1665, !dbg !155278, !noalias !155280
%1670 = load { i64* }, { i64* }* %111, !dbg !155278, !noalias !155280
store { i64* } %1670, { i64* }* %match.i, !dbg !155278, !noalias !155280
%1671 = getelementptr inbounds { i64* }, { i64* }* %match.i, i32 0, i32 0, !dbg !155278
store i64** %1671, i64*** %__llmatch.i, !dbg !155278, !noalias !155280
%1672 = load i64**, i64*** %__llmatch.i, !dbg !155278, !noalias !155280
%1673 = load i64*, i64** %1672, !dbg !155278, !noalias !155287, !nonnull !2274
store i64* %1673, i64** %__arg0.i, !dbg !155278, !noalias !155280
%1674 = getelementptr inbounds [1 x %"2.core::fmt::ArgumentV1"], [1 x %"2.core::fmt::ArgumentV1"]* %110, i32 0, i32 0, !dbg !155289
%1675 = load i64*, i64** %__arg0.i, !dbg !155290, !noalias !155280, !nonnull !2274
call void @_ZN4core3fmt10ArgumentV13new17h4178ab5523537880E(%"2.core::fmt::ArgumentV1"* noalias nocapture sret dereferenceable(16) %1674, i64* noalias readonly dereferenceable(8) %1675, i8 (i64*, %"2.core::fmt::Formatter"*)* @"_ZN4core3fmt3num55_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$usize$GT$3fmt17h30bdb1b1f375cd02E"), !dbg !155291, !noalias !155287
%1676 = bitcast [1 x %"2.core::fmt::ArgumentV1"]* %110 to %"2.core::fmt::ArgumentV1"*, !dbg !155278
%1677 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i, i32 0, i32 0, !dbg !155278
store %"2.core::fmt::ArgumentV1"* %1676, %"2.core::fmt::ArgumentV1"** %1677, !dbg !155278, !noalias !155280
%1678 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i, i32 0, i32 1, !dbg !155278
store i64 1, i64* %1678, !dbg !155278, !noalias !155280
%1679 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i, i32 0, i32 0, !dbg !155278
%1680 = load %"2.core::fmt::ArgumentV1"*, %"2.core::fmt::ArgumentV1"** %1679, !dbg !155278, !noalias !155280
%1681 = getelementptr inbounds { %"2.core::fmt::ArgumentV1"*, i64 }, { %"2.core::fmt::ArgumentV1"*, i64 }* %__coerce_target.i, i32 0, i32 1, !dbg !155278
%1682 = load i64, i64* %1681, !dbg !155278, !noalias !155280
call void @_ZN4core3fmt9Arguments6new_v117h72dc8c1ceaa23cafE(%"2.core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %108, %str_slice* noalias nonnull readonly %1662, i64 %1664, %"2.core::fmt::ArgumentV1"* noalias nonnull readonly %1680, i64 %1682), !dbg !155292, !noalias !155287
call void @_ZN11collections3fmt6format17h7ce9e885e67335e3E(%"3.std::string::String"* noalias nocapture sret dereferenceable(24) %107, %"2.core::fmt::Arguments"* noalias nocapture dereferenceable(48) %108), !dbg !155292, !noalias !155287
%1683 = call i8 @_ZN6layout12layout_debug5Scope3new17h3e85b85cbf68507fE(%"3.std::string::String"* noalias nocapture dereferenceable(24) %107), !dbg !155293, !noalias !155287
store i8 %1683, i8* %abi_cast.i, !dbg !155278, !noalias !155280
%1684 = bitcast %"layout_debug::Scope"* %_scope.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1684, i8* %abi_cast.i, i64 1, i32 1, i1 false), !dbg !155278, !noalias !155280
%1685 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i to { i64, [24 x i8] }*, !dbg !155006
%1686 = bitcast { i64, [24 x i8] }* %1685 to i8*, !dbg !155006
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1686, i8* bitcast ({ i64, [24 x i8] }* @const40694 to i8*), i64 32, i32 8, i1 false), !dbg !155006, !noalias !155287
%1687 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155294, !noalias !155280, !nonnull !2274
%1688 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1687, i32 0, i32 0, !dbg !155278
%1689 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1688, i32 0, i32 0, !dbg !155278
%1690 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42723 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155294, !noalias !155287
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %1690, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref.i, !dbg !155278, !noalias !155280
%1691 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref.i to i8*, !dbg !155278
%1692 = load i8, i8* %1691, align 1, !dbg !155278, !noalias !155280
%1693 = invoke zeroext i1 @_ZN23script_layout_interface14restyle_damage13RestyleDamage8contains17h926cd2d40fb287e4E(%"118.script_layout_interface::restyle_damage::RestyleDamage"* noalias readonly dereferenceable(1) %1689, i8 %1692)
to label %normal-return.i unwind label %unwind_ast_4374_.i, !dbg !155294, !noalias !155287
normal-return.i: ; preds = %next-block29
%1694 = zext i1 %1693 to i8, !dbg !155278
store i8 %1694, i8* %113, !dbg !155278, !noalias !155280
%1695 = load i8, i8* %113, !dbg !155294, !range !58629, !noalias !155280
%1696 = trunc i8 %1695 to i1, !dbg !155294
br i1 %1696, label %then-block-4428-.i, label %else-block.i, !dbg !155294
unwind_ast_4374_.i: ; preds = %next-block394.i, %normal-return390.i, %normal-return387.i, %normal-return384.i, %then-block-5280-.i, %before_rhs379.i, %normal-return375.i, %before_rhs374.i, %next-block371.i, %normal-return368.i, %then-block-5248-.i, %join364.i, %match_case359.i, %loop_body353.i, %normal-return348.i, %else-block.i, %normal-return30.i, %before_rhs28.i, %join27.i, %before_rhs24.i, %normal-return21.i, %normal-return19.i, %normal-return18.i, %normal-return14.i, %normal-return11.i, %normal-return9.i, %next-block.i, %normal-return6.i, %then-block-4448-.i, %before_rhs.i, %normal-return1.i, %then-block-4428-.i, %next-block29
%1697 = landingpad { i8*, i32 }
cleanup, !dbg !155278
store { i8*, i32 } %1697, { i8*, i32 }* %114, !dbg !155278, !noalias !155280
br label %clean_ast_4374_.i, !dbg !155278
clean_ast_4374_.i: ; preds = %clean_ast_4428_.i, %unwind_ast_4374_.i
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i), !dbg !155295, !noalias !155287
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope.i), !dbg !155295, !noalias !155287
%1698 = load { i8*, i32 }, { i8*, i32 }* %114, !dbg !155278, !noalias !155280
resume { i8*, i32 } %1698, !dbg !155278
then-block-4428-.i: ; preds = %normal-return.i
%1699 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155296, !noalias !155280, !nonnull !2274
invoke void @_ZN6layout5block9BlockFlow25determine_if_layer_needed17h45a3008f64566538E(%"block::BlockFlow"* dereferenceable(560) %1699)
to label %normal-return1.i unwind label %unwind_ast_4374_.i, !dbg !155296, !noalias !155287
normal-return1.i: ; preds = %then-block-4428-.i
%1700 = bitcast %"33.app_units::Au"* %cur_b.i to { i32 }*, !dbg !155007
%1701 = bitcast { i32 }* %1700 to i8*, !dbg !155007
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1701, i8* bitcast ({ i32 }* @const42369 to i8*), i64 4, i32 4, i1 false), !dbg !155007, !noalias !155287
%1702 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155297, !noalias !155280, !nonnull !2274
%1703 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1702, i32 0, i32 0, !dbg !155278
%1704 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1703, i32 0, i32 22, !dbg !155278
%1705 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155297, !noalias !155287
store %"flow::FlowFlags" %1705, %"flow::FlowFlags"* %to_ref2.i, !dbg !155278, !noalias !155280
%1706 = bitcast %"flow::FlowFlags"* %to_ref2.i to i32*, !dbg !155278
%1707 = load i32, i32* %1706, align 4, !dbg !155278, !noalias !155280
%1708 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1704, i32 %1707)
to label %normal-return3.i unwind label %unwind_ast_4374_.i, !dbg !155297, !noalias !155287
normal-return3.i: ; preds = %normal-return1.i
%1709 = zext i1 %1708 to i8, !dbg !155278
store i8 %1709, i8* %115, !dbg !155278, !noalias !155280
%1710 = load i8, i8* %115, !dbg !155297, !range !58629, !noalias !155280
%1711 = trunc i8 %1710 to i1, !dbg !155297
br i1 %1711, label %join4.i, label %before_rhs.i, !dbg !155278
join4.i: ; preds = %normal-return5.i, %normal-return3.i
%1712 = phi i1 [ %1711, %normal-return3.i ], [ %1716, %normal-return5.i ], !dbg !155278
br i1 %1712, label %then-block-4448-.i, label %next-block.i, !dbg !155297
before_rhs.i: ; preds = %normal-return3.i
%1713 = invoke zeroext i1 @_ZN4core3cmp9PartialEq2ne17h1478c259b4859946E(i8* noalias readonly dereferenceable(1) %margins_may_collapse.i, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return5.i unwind label %unwind_ast_4374_.i, !dbg !155298, !noalias !155287
normal-return5.i: ; preds = %before_rhs.i
%1714 = zext i1 %1713 to i8, !dbg !155278
store i8 %1714, i8* %116, !dbg !155278, !noalias !155280
%1715 = load i8, i8* %116, !dbg !155298, !range !58629, !noalias !155280
%1716 = trunc i8 %1715 to i1, !dbg !155298
br label %join4.i, !dbg !155278
then-block-4448-.i: ; preds = %join4.i
%1717 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155299, !noalias !155280, !nonnull !2274
%1718 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1717, i32 0, i32 1, !dbg !155278
%1719 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1718, i32 0, i32 1, !dbg !155278
%1720 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %1719)
to label %normal-return6.i unwind label %unwind_ast_4374_.i, !dbg !155299, !noalias !155287
normal-return6.i: ; preds = %then-block-4448-.i
store %"112.style::properties::ComputedValues"* %1720, %"112.style::properties::ComputedValues"** %overloaded_deref.i, !dbg !155278, !noalias !155280
%1721 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref.i, !dbg !155299, !noalias !155280, !nonnull !2274
%1722 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %1721, i32 0, i32 21, !dbg !155278
%1723 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %1722, !dbg !155299, !noalias !155287
store %"112.style::logical_geometry::WritingMode" %1723, %"112.style::logical_geometry::WritingMode"* %to_ref7.i, !dbg !155278, !noalias !155280
%1724 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref7.i to i8*, !dbg !155278
%1725 = load i8, i8* %1724, align 1, !dbg !155278, !noalias !155280
invoke void @_ZN6layout6floats6Floats3new17hd6914052fc476c29E(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %117, i8 %1725)
to label %normal-return8.i unwind label %unwind_ast_4374_.i, !dbg !155299, !noalias !155287
normal-return8.i: ; preds = %normal-return6.i
%1726 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155299, !noalias !155280, !nonnull !2274
%1727 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1726, i32 0, i32 0, !dbg !155278
%1728 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1727, i32 0, i32 6, !dbg !155278
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %1728), !dbg !155299, !noalias !155287
%1729 = bitcast %"floats::Floats"* %117 to i8*, !dbg !155299
%1730 = bitcast %"floats::Floats"* %1728 to i8*, !dbg !155299
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1730, i8* %1729, i64 40, i32 8, i1 false), !dbg !155299, !noalias !155287
br label %next-block.i, !dbg !155278
next-block.i: ; preds = %normal-return8.i, %join4.i
invoke void @_ZN6layout5model18MarginCollapseInfo3new17h85cfce884bc63702E(%"model::MarginCollapseInfo"* noalias nocapture sret dereferenceable(20) %margin_collapse_info.i)
to label %normal-return9.i unwind label %unwind_ast_4374_.i, !dbg !155008, !noalias !155287
normal-return9.i: ; preds = %next-block.i
%1731 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155009, !noalias !155280, !nonnull !2274
%1732 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1731, i32 0, i32 0, !dbg !155278
%1733 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1732, i32 0, i32 6, !dbg !155278
%1734 = getelementptr inbounds %"floats::Floats", %"floats::Floats"* %1733, i32 0, i32 2, !dbg !155278
%1735 = bitcast %"112.style::logical_geometry::WritingMode"* %1734 to i8*, !dbg !155009
%1736 = bitcast %"112.style::logical_geometry::WritingMode"* %writing_mode.i to i8*, !dbg !155009
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1736, i8* %1735, i64 1, i32 1, i1 false), !dbg !155009, !noalias !155287
%1737 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155300, !noalias !155280, !nonnull !2274
%1738 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1737, i32 0, i32 0, !dbg !155278
%1739 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1738, i32 0, i32 6, !dbg !155278
%1740 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %writing_mode.i, !dbg !155301, !noalias !155280
store %"112.style::logical_geometry::WritingMode" %1740, %"112.style::logical_geometry::WritingMode"* %to_ref10.i, !dbg !155278, !noalias !155280
%1741 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref10.i to i8*, !dbg !155278
%1742 = load i8, i8* %1741, align 1, !dbg !155278, !noalias !155280
%1743 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155301, !noalias !155280, !nonnull !2274
%1744 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1743, i32 0, i32 1, !dbg !155278
%1745 = invoke i32 @_ZN6layout8fragment8Fragment19inline_start_offset17hc1f292f457137b53E(%"fragment::Fragment"* noalias readonly dereferenceable(160) %1744)
to label %normal-return11.i unwind label %unwind_ast_4374_.i, !dbg !155301, !noalias !155287
normal-return11.i: ; preds = %normal-return9.i
store i32 %1745, i32* %abi_cast12.i, !dbg !155278, !noalias !155280
%1746 = bitcast %"33.app_units::Au"* %120 to i8*, !dbg !155278
%1747 = bitcast i32* %abi_cast12.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1746, i8* %1747, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%1748 = load %"33.app_units::Au", %"33.app_units::Au"* %120, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %1748, %"33.app_units::Au"* %to_ref13.i, !dbg !155278, !noalias !155280
%1749 = bitcast %"33.app_units::Au"* %to_ref13.i to i32*, !dbg !155278
%1750 = load i32, i32* %1749, align 4, !dbg !155278, !noalias !155280
%1751 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Neg$GT$3neg17hc1f3202743bf98a5E"(i32 %1750)
to label %normal-return14.i unwind label %unwind_ast_4374_.i, !dbg !155301, !noalias !155287
normal-return14.i: ; preds = %normal-return11.i
store i32 %1751, i32* %abi_cast15.i, !dbg !155278, !noalias !155280
%1752 = bitcast %"33.app_units::Au"* %119 to i8*, !dbg !155278
%1753 = bitcast i32* %abi_cast15.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1752, i8* %1753, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%1754 = load %"33.app_units::Au", %"33.app_units::Au"* %119, !dbg !155301, !noalias !155280
store %"33.app_units::Au" %1754, %"33.app_units::Au"* %to_ref16.i, !dbg !155278, !noalias !155280
%1755 = bitcast %"33.app_units::Au"* %to_ref16.i to i32*, !dbg !155278
%1756 = load i32, i32* %1755, align 4, !dbg !155278, !noalias !155280
store %"33.app_units::Au" zeroinitializer, %"33.app_units::Au"* %to_ref17.i, !dbg !155278, !noalias !155280
%1757 = bitcast %"33.app_units::Au"* %to_ref17.i to i32*, !dbg !155278
%1758 = load i32, i32* %1757, align 4, !dbg !155278, !noalias !155280
invoke void @"_ZN54_$LT$style..logical_geometry..LogicalSize$LT$T$GT$$GT$3new17hb36ef1825965d48bE"(%"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture sret dereferenceable(12) %118, i8 %1742, i32 %1756, i32 %1758)
to label %normal-return18.i unwind label %unwind_ast_4374_.i, !dbg !155300, !noalias !155287
normal-return18.i: ; preds = %normal-return14.i
invoke void @_ZN6layout6floats6Floats9translate17hef102276e94fc897E(%"floats::Floats"* dereferenceable(40) %1739, %"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture dereferenceable(12) %118)
to label %normal-return19.i unwind label %unwind_ast_4374_.i, !dbg !155300, !noalias !155287
normal-return19.i: ; preds = %normal-return18.i
%1759 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155010, !noalias !155280, !nonnull !2274
%1760 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1759, i32 0, i32 1, !dbg !155278
%1761 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1760, i32 0, i32 4, !dbg !155278
%1762 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %1761, i32 0, i32 0, !dbg !155278
%1763 = bitcast %"33.app_units::Au"* %1762 to i8*, !dbg !155010
%1764 = bitcast %"33.app_units::Au"* %block_start_offset.i to i8*, !dbg !155010
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1764, i8* %1763, i64 4, i32 4, i1 false), !dbg !155010, !noalias !155287
%1765 = load %"33.app_units::Au", %"33.app_units::Au"* %block_start_offset.i, !dbg !155302, !noalias !155280
store %"33.app_units::Au" %1765, %"33.app_units::Au"* %to_ref20.i, !dbg !155278, !noalias !155280
%1766 = bitcast %"33.app_units::Au"* %to_ref20.i to i32*, !dbg !155278
%1767 = load i32, i32* %1766, align 4, !dbg !155278, !noalias !155280
%1768 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155302, !noalias !155280, !nonnull !2274
%1769 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1768, i32 0, i32 0, !dbg !155278
%1770 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1769, i32 0, i32 6, !dbg !155278
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i, i32 %1767, %"floats::Floats"* dereferenceable(40) %1770)
to label %normal-return21.i unwind label %unwind_ast_4374_.i, !dbg !155302, !noalias !155287
normal-return21.i: ; preds = %normal-return19.i
%1771 = invoke zeroext i1 @"_ZN78_$LT$layout..block..MarginsMayCollapseFlag$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb29fd717e817d7c7E"(i8* noalias readonly dereferenceable(1) %margins_may_collapse.i, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return22.i unwind label %unwind_ast_4374_.i, !dbg !155303, !noalias !155287
normal-return22.i: ; preds = %normal-return21.i
%1772 = zext i1 %1771 to i8, !dbg !155278
store i8 %1772, i8* %121, !dbg !155278, !noalias !155280
%1773 = load i8, i8* %121, !dbg !155303, !range !58629, !noalias !155280
%1774 = trunc i8 %1773 to i1, !dbg !155303
br i1 %1774, label %before_rhs24.i, label %join23.i, !dbg !155278
join23.i: ; preds = %normal-return26.i, %normal-return22.i
%1775 = phi i1 [ %1774, %normal-return22.i ], [ %1786, %normal-return26.i ], !dbg !155278
br i1 %1775, label %before_rhs28.i, label %join27.i, !dbg !155278
before_rhs24.i: ; preds = %normal-return22.i
%1776 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155304, !noalias !155280, !nonnull !2274
%1777 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1776, i32 0, i32 0, !dbg !155278
%1778 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1777, i32 0, i32 22, !dbg !155278
%1779 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155304, !noalias !155287
store %"flow::FlowFlags" %1779, %"flow::FlowFlags"* %to_ref25.i, !dbg !155278, !noalias !155280
%1780 = bitcast %"flow::FlowFlags"* %to_ref25.i to i32*, !dbg !155278
%1781 = load i32, i32* %1780, align 4, !dbg !155278, !noalias !155280
%1782 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1778, i32 %1781)
to label %normal-return26.i unwind label %unwind_ast_4374_.i, !dbg !155304, !noalias !155287
normal-return26.i: ; preds = %before_rhs24.i
%1783 = zext i1 %1782 to i8, !dbg !155278
store i8 %1783, i8* %122, !dbg !155278, !noalias !155280
%1784 = load i8, i8* %122, !dbg !155304, !range !58629, !noalias !155280
%1785 = trunc i8 %1784 to i1, !dbg !155304
%1786 = xor i1 %1785, true, !dbg !155304
br label %join23.i, !dbg !155278
join27.i: ; preds = %normal-return29.i, %join23.i
%1787 = phi i1 [ %1775, %join23.i ], [ %1800, %normal-return29.i ], !dbg !155278
%1788 = zext i1 %1787 to i8, !dbg !155278
store i8 %1788, i8* %can_collapse_block_start_margin_with_kids.i, !dbg !155278, !noalias !155280
%1789 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155305, !noalias !155280, !nonnull !2274
%1790 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1789, i32 0, i32 1, !dbg !155278
%1791 = load i8, i8* %can_collapse_block_start_margin_with_kids.i, !dbg !155306, !range !58629, !noalias !155280
%1792 = trunc i8 %1791 to i1, !dbg !155306
invoke void @_ZN6layout5model18MarginCollapseInfo29initialize_block_start_margin17hcb624b909652946cE(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i, %"fragment::Fragment"* noalias readonly dereferenceable(160) %1790, i1 zeroext %1792)
to label %normal-return30.i unwind label %unwind_ast_4374_.i, !dbg !155307, !noalias !155287
before_rhs28.i: ; preds = %join23.i
%1793 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155308, !noalias !155280, !nonnull !2274
%1794 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1793, i32 0, i32 1, !dbg !155278
%1795 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %1794, i32 0, i32 4, !dbg !155278
%1796 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %1795, i32 0, i32 0, !dbg !155278
%1797 = invoke zeroext i1 @"_ZN64_$LT$app_units..app_unit..Au$u20$as$u20$core..cmp..PartialEq$GT$2eq17h0437942f87bebe69E"(%"33.app_units::Au"* noalias readonly dereferenceable(4) %1796, %"33.app_units::Au"* noalias readonly dereferenceable(4) bitcast ({ i32 }* @const42369 to %"33.app_units::Au"*))
to label %normal-return29.i unwind label %unwind_ast_4374_.i, !dbg !155308, !noalias !155287
normal-return29.i: ; preds = %before_rhs28.i
%1798 = zext i1 %1797 to i8, !dbg !155278
store i8 %1798, i8* %123, !dbg !155278, !noalias !155280
%1799 = load i8, i8* %123, !dbg !155308, !range !58629, !noalias !155280
%1800 = trunc i8 %1799 to i1, !dbg !155308
br label %join27.i, !dbg !155278
normal-return30.i: ; preds = %join27.i
%1801 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155012, !noalias !155280, !nonnull !2274
%1802 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1801, i32 0, i32 0, !dbg !155278
%1803 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1802, i32 0, i32 6, !dbg !155278
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %floats.i, %"floats::Floats"* noalias readonly dereferenceable(40) %1803)
to label %normal-return31.i unwind label %unwind_ast_4374_.i, !dbg !155012, !noalias !155287
normal-return31.i: ; preds = %normal-return30.i
%1804 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155013, !noalias !155280, !nonnull !2274
%1805 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1804, i32 0, i32 0, !dbg !155278
%1806 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1805, i32 0, i32 21, !dbg !155278
%1807 = load i8, i8* %1806, !dbg !155013, !noalias !155287
store i8 %1807, i8* %thread_id.i, !dbg !155013, !noalias !155280
store { i8, i8 } zeroinitializer, { i8, i8 }* %let.i, !dbg !155278, !noalias !155280
%1808 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let.i, i32 0, i32 0, !dbg !155278
%1809 = load i8, i8* %1808, !dbg !155278, !range !58629, !noalias !155280
%1810 = trunc i8 %1809 to i1, !dbg !155278
%1811 = zext i1 %1810 to i8, !dbg !155278
store i8 %1811, i8* %had_floated_children.i, !dbg !155278, !noalias !155280
%1812 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %let.i, i32 0, i32 1, !dbg !155278
%1813 = load i8, i8* %1812, !dbg !155278, !range !58629, !noalias !155280
%1814 = trunc i8 %1813 to i1, !dbg !155278
%1815 = zext i1 %1814 to i8, !dbg !155278
store i8 %1815, i8* %had_children_with_clearance.i, !dbg !155278, !noalias !155280
%1816 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155015, !noalias !155280, !nonnull !2274
%1817 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %1816, i32 0, i32 0, !dbg !155278
invoke void @_ZN6layout4flow8BaseFlow14child_iter_mut17hb71153856274a84eE(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %126, %"flow::BaseFlow"* dereferenceable(376) %1817)
to label %normal-return32.i unwind label %unwind_ast_4428_.i, !dbg !155015, !noalias !155287
normal-return32.i: ; preds = %normal-return31.i
invoke void @_ZN4core4iter8iterator8Iterator9enumerate17h6f6f0d9061e0450cE(%"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* noalias nocapture sret dereferenceable(40) %125, %"flow_list::MutFlowListIterator"* noalias nocapture dereferenceable(32) %126)
to label %normal-return34.i unwind label %unwind_ast_4428_.i, !dbg !155015, !noalias !155287
unwind_ast_4428_.i: ; preds = %before_rhs220.i, %before_rhs216.i, %clean_ast_92035_194.i, %match_case202.i, %normal-return192.i, %normal-return189.i, %normal-return186.i, %next-block181.i, %then-block-4860-.i, %join173.i, %compare_next166.i, %match_case165.i, %match_case162.i, %normal-return147.i, %normal-return143.i, %normal-return140.i, %next-block137.i, %before_rhs132.i, %before_rhs126.i, %before_rhs123.i, %next-block120.i, %normal-return115.i, %then-block-4727-.i, %next-block110.i, %normal-return105.i, %normal-return103.i, %normal-return102.i, %normal-return100.i, %normal-return99.i, %then-block-4670-.i, %normal-return91.i, %join90.i, %normal-return74.i, %match_case71.i, %then-block-4605-.i, %normal-return60.i, %next-block59.i, %normal-return51.i, %then-block-4579-.i, %then-block-4571-.i, %match_case.i, %loop_body.i, %normal-return34.i, %normal-return32.i, %normal-return31.i
%1818 = landingpad { i8*, i32 }
cleanup, !dbg !155015
store { i8*, i32 } %1818, { i8*, i32 }* %114, !dbg !155015, !noalias !155280
br label %clean_ast_4428_.i, !dbg !155278
clean_ast_4428_.i: ; preds = %clean_ast_4428_82.i, %unwind_ast_4428_.i
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i), !dbg !155309, !noalias !155287
br label %clean_ast_4374_.i, !dbg !155278
normal-return34.i: ; preds = %normal-return32.i
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h860f08782aa1a8ffE"(%"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* noalias nocapture sret dereferenceable(40) %124, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* noalias nocapture dereferenceable(40) %125)
to label %normal-return35.i unwind label %unwind_ast_4428_.i, !dbg !155015, !noalias !155287
normal-return35.i: ; preds = %normal-return34.i
store %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* %124, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"** %iter.i, !dbg !155278, !noalias !155280
%1819 = load %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"*, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"** %iter.i, !dbg !155278, !noalias !155280
br label %loop_body.i, !dbg !155016
loop_body.i: ; preds = %join210.i, %clean_custom_.i, %normal-return35.i
invoke void @"_ZN81_$LT$core..iter..Enumerate$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h8b69c91a5b99ebc2E"(%"2.core::option::Option<(usize, &mut flow::Flow)>"* noalias nocapture sret dereferenceable(24) %127, %"2.core::iter::Enumerate<flow_list::MutFlowListIterator>"* dereferenceable(40) %1819)
to label %normal-return37.i unwind label %unwind_ast_4428_.i, !dbg !155310, !noalias !155287
normal-return37.i: ; preds = %loop_body.i
%1820 = getelementptr inbounds %"2.core::option::Option<(usize, &mut flow::Flow)>", %"2.core::option::Option<(usize, &mut flow::Flow)>"* %127, i32 0, i32 0, i32 1, i32 0, !dbg !155278
%1821 = load i8*, i8** %1820, !dbg !155278, !noalias !155280
%1822 = icmp ne i8* %1821, null, !dbg !155278
switch i1 %1822, label %match_else.i [
i1 true, label %match_case.i
i1 false, label %match_case41.i
], !dbg !155278
match_else.i: ; preds = %normal-return37.i
unreachable, !dbg !155278
match_case.i: ; preds = %normal-return37.i
%1823 = getelementptr inbounds %"2.core::option::Option<(usize, &mut flow::Flow)>", %"2.core::option::Option<(usize, &mut flow::Flow)>"* %127, i32 0, i32 0, !dbg !155278
%1824 = getelementptr inbounds { i64, { i8*, void (i8*)** } }, { i64, { i8*, void (i8*)** } }* %1823, i32 0, i32 0, !dbg !155278
%1825 = getelementptr inbounds { i64, { i8*, void (i8*)** } }, { i64, { i8*, void (i8*)** } }* %1823, i32 0, i32 1, !dbg !155278
store { i8*, void (i8*)** }* %1825, { i8*, void (i8*)** }** %kid.i, !dbg !155278, !noalias !155280
store i64* %1824, i64** %__llmatch39.i, !dbg !155278, !noalias !155280
%1826 = load i64*, i64** %__llmatch39.i, !dbg !155278, !noalias !155280
%1827 = load i64, i64* %1826, !dbg !155278, !noalias !155287
store i64 %1827, i64* %child_index.i, !dbg !155278, !noalias !155280
%1828 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %kid.i, !dbg !155017, !noalias !155280
%1829 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155311
%1830 = load i8*, i8** %1829, !dbg !155311, !noalias !155287
%1831 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155311
%1832 = load void (i8*)**, void (i8*)*** %1831, !dbg !155311, !noalias !155287
%1833 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i.i, i32 0, i32 0, !dbg !155311
store i8* %1830, i8** %1833, !dbg !155311, !noalias !155280
%1834 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i.i, i32 0, i32 1, !dbg !155311
store void (i8*)** %1832, void (i8*)*** %1834, !dbg !155311, !noalias !155280
%1835 = bitcast { i8*, void (i8*)** }* %this.i.i to %"2.core::raw::TraitObject"*, !dbg !154999
store %"2.core::raw::TraitObject"* %1835, %"2.core::raw::TraitObject"** %obj.i.i, !dbg !154999, !noalias !155280
%1836 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i.i, !dbg !155312, !noalias !155280, !nonnull !2274
%1837 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1836, i32 0, i32 0, !dbg !155311
%1838 = load {}*, {}** %1837, !dbg !155312, !noalias !155287
%1839 = bitcast {}* %1838 to %"flow::BaseFlow"*, !dbg !155312
store %"flow::BaseFlow"* %1839, %"flow::BaseFlow"** %129, !dbg !155278, !noalias !155280
%1840 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %129, !dbg !155311, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %1840, %"flow::BaseFlow"** %auto_deref.i, !dbg !155278, !noalias !155280
%1841 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref.i, !dbg !155278, !noalias !155280, !nonnull !2274
%1842 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1841, i32 0, i32 22, !dbg !155278
%1843 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155278, !noalias !155287
store %"flow::FlowFlags" %1843, %"flow::FlowFlags"* %to_ref43.i, !dbg !155278, !noalias !155280
%1844 = bitcast %"flow::FlowFlags"* %to_ref43.i to i32*, !dbg !155278
%1845 = load i32, i32* %1844, align 4, !dbg !155278, !noalias !155280
%1846 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1842, i32 %1845)
to label %normal-return44.i unwind label %unwind_ast_4428_.i, !dbg !155311, !noalias !155287
match_case41.i: ; preds = %normal-return37.i
br label %clean_ast_92035_194.i, !dbg !155278
normal-return44.i: ; preds = %match_case.i
%1847 = zext i1 %1846 to i8, !dbg !155278
store i8 %1847, i8* %128, !dbg !155278, !noalias !155280
%1848 = load i8, i8* %128, !dbg !155311, !range !58629, !noalias !155280
%1849 = trunc i8 %1848 to i1, !dbg !155311
br i1 %1849, label %then-block-4571-.i, label %next-block66.i, !dbg !155311
then-block-4571-.i: ; preds = %normal-return44.i
%1850 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155313
%1851 = load i8*, i8** %1850, !dbg !155313, !noalias !155287
%1852 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155313
%1853 = load void (i8*)**, void (i8*)*** %1852, !dbg !155313, !noalias !155287
%1854 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i398.i, i32 0, i32 0, !dbg !155313
store i8* %1851, i8** %1854, !dbg !155313, !noalias !155280
%1855 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i398.i, i32 0, i32 1, !dbg !155313
store void (i8*)** %1853, void (i8*)*** %1855, !dbg !155313, !noalias !155280
%1856 = bitcast { i8*, void (i8*)** }* %this.i398.i to %"2.core::raw::TraitObject"*, !dbg !154996
store %"2.core::raw::TraitObject"* %1856, %"2.core::raw::TraitObject"** %obj.i399.i, !dbg !154996, !noalias !155280
%1857 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i399.i, !dbg !155314, !noalias !155280, !nonnull !2274
%1858 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1857, i32 0, i32 0, !dbg !155313
%1859 = load {}*, {}** %1858, !dbg !155314, !noalias !155287
%1860 = bitcast {}* %1859 to %"flow::BaseFlow"*, !dbg !155314
store %"flow::BaseFlow"* %1860, %"flow::BaseFlow"** %131, !dbg !155278, !noalias !155280
%1861 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %131, !dbg !155313, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %1861, %"flow::BaseFlow"** %auto_deref46.i, !dbg !155278, !noalias !155280
%1862 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref46.i, !dbg !155278, !noalias !155280, !nonnull !2274
%1863 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1862, i32 0, i32 22, !dbg !155278
%1864 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42760 to %"flow::FlowFlags"*), !dbg !155278, !noalias !155287
store %"flow::FlowFlags" %1864, %"flow::FlowFlags"* %to_ref47.i, !dbg !155278, !noalias !155280
%1865 = bitcast %"flow::FlowFlags"* %to_ref47.i to i32*, !dbg !155278
%1866 = load i32, i32* %1865, align 4, !dbg !155278, !noalias !155280
%1867 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1863, i32 %1866)
to label %normal-return48.i unwind label %unwind_ast_4428_.i, !dbg !155313, !noalias !155287
normal-return48.i: ; preds = %then-block-4571-.i
%1868 = zext i1 %1867 to i8, !dbg !155278
store i8 %1868, i8* %130, !dbg !155278, !noalias !155280
%1869 = load i8, i8* %130, !dbg !155313, !range !58629, !noalias !155280
%1870 = trunc i8 %1869 to i1, !dbg !155313
br i1 %1870, label %then-block-4579-.i, label %next-block59.i, !dbg !155313
then-block-4579-.i: ; preds = %normal-return48.i
%1871 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155315
%1872 = load i8*, i8** %1871, !dbg !155315, !noalias !155287
%1873 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155315
%1874 = load void (i8*)**, void (i8*)*** %1873, !dbg !155315, !noalias !155287
%1875 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i400.i, i32 0, i32 0, !dbg !155315
store i8* %1872, i8** %1875, !dbg !155315, !noalias !155280
%1876 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i400.i, i32 0, i32 1, !dbg !155315
store void (i8*)** %1874, void (i8*)*** %1876, !dbg !155315, !noalias !155280
%1877 = bitcast { i8*, void (i8*)** }* %this.i400.i to %"2.core::raw::TraitObject"*, !dbg !154993
store %"2.core::raw::TraitObject"* %1877, %"2.core::raw::TraitObject"** %obj.i401.i, !dbg !154993, !noalias !155280
%1878 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i401.i, !dbg !155316, !noalias !155280, !nonnull !2274
%1879 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1878, i32 0, i32 0, !dbg !155315
%1880 = load {}*, {}** %1879, !dbg !155316, !noalias !155287
%1881 = bitcast {}* %1880 to %"flow::BaseFlow"*, !dbg !155316
store %"flow::BaseFlow"* %1881, %"flow::BaseFlow"** %134, !dbg !155278, !noalias !155280
%1882 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %134, !dbg !155315, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %1882, %"flow::BaseFlow"** %auto_deref50.i, !dbg !155278, !noalias !155280
%1883 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref50.i, !dbg !155278, !noalias !155280, !nonnull !2274
%1884 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1883, i32 0, i32 9, !dbg !155278
%1885 = invoke i32 @_ZN6layout5model18CollapsibleMargins45block_start_margin_for_noncollapsible_context17h58905e2b41f4d87eE(%"model::CollapsibleMargins"* noalias readonly dereferenceable(20) %1884)
to label %normal-return51.i unwind label %unwind_ast_4428_.i, !dbg !155315, !noalias !155287
normal-return51.i: ; preds = %then-block-4579-.i
store i32 %1885, i32* %abi_cast52.i, !dbg !155278, !noalias !155280
%1886 = bitcast %"33.app_units::Au"* %133 to i8*, !dbg !155278
%1887 = bitcast i32* %abi_cast52.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1886, i8* %1887, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%1888 = load %"33.app_units::Au", %"33.app_units::Au"* %133, !dbg !155278, !noalias !155280
%1889 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %1889, %"33.app_units::Au"* %to_ref53.i, !dbg !155278, !noalias !155280
%1890 = bitcast %"33.app_units::Au"* %to_ref53.i to i32*, !dbg !155278
%1891 = load i32, i32* %1890, align 4, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %1888, %"33.app_units::Au"* %to_ref54.i, !dbg !155278, !noalias !155280
%1892 = bitcast %"33.app_units::Au"* %to_ref54.i to i32*, !dbg !155278
%1893 = load i32, i32* %1892, align 4, !dbg !155278, !noalias !155280
%1894 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Add$GT$3add17h883f55f3f6eadb15E"(i32 %1891, i32 %1893)
to label %normal-return55.i unwind label %unwind_ast_4428_.i, !dbg !155317, !noalias !155287
normal-return55.i: ; preds = %normal-return51.i
store i32 %1894, i32* %abi_cast56.i, !dbg !155278, !noalias !155280
%1895 = bitcast %"33.app_units::Au"* %132 to i8*, !dbg !155278
%1896 = bitcast i32* %abi_cast56.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1895, i8* %1896, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%1897 = load %"33.app_units::Au", %"33.app_units::Au"* %132, !dbg !155317, !noalias !155280
%1898 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155317
%1899 = load i8*, i8** %1898, !dbg !155317, !noalias !155287
%1900 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155317
%1901 = load void (i8*)**, void (i8*)*** %1900, !dbg !155317, !noalias !155287
%1902 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i402.i, i32 0, i32 0, !dbg !155317
store i8* %1899, i8** %1902, !dbg !155317, !noalias !155280
%1903 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i402.i, i32 0, i32 1, !dbg !155317
store void (i8*)** %1901, void (i8*)*** %1903, !dbg !155317, !noalias !155280
%1904 = bitcast { i8*, void (i8*)** }* %this.i402.i to %"2.core::raw::TraitObject"*, !dbg !154990
store %"2.core::raw::TraitObject"* %1904, %"2.core::raw::TraitObject"** %obj.i403.i, !dbg !154990, !noalias !155280
%1905 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i403.i, !dbg !155318, !noalias !155280, !nonnull !2274
%1906 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1905, i32 0, i32 0, !dbg !155317
%1907 = load {}*, {}** %1906, !dbg !155318, !noalias !155287
%1908 = bitcast {}* %1907 to %"flow::BaseFlow"*, !dbg !155318
store %"flow::BaseFlow"* %1908, %"flow::BaseFlow"** %135, !dbg !155278, !noalias !155280
%1909 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %135, !dbg !155317, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %1909, %"flow::BaseFlow"** %auto_deref58.i, !dbg !155278, !noalias !155280
%1910 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref58.i, !dbg !155278, !noalias !155280, !nonnull !2274
%1911 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1910, i32 0, i32 3, !dbg !155278
%1912 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %1911, i32 0, i32 0, !dbg !155278
%1913 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %1912, i32 0, i32 1, !dbg !155278
store %"33.app_units::Au" %1897, %"33.app_units::Au"* %1913, !dbg !155278, !noalias !155287
br label %next-block59.i, !dbg !155278
next-block59.i: ; preds = %normal-return55.i, %normal-return48.i
%1914 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155319
%1915 = load i8*, i8** %1914, !dbg !155319, !noalias !155287
%1916 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155319
%1917 = load void (i8*)**, void (i8*)*** %1916, !dbg !155319, !noalias !155287
%1918 = getelementptr inbounds void (i8*)*, void (i8*)** %1917, i32 28, !dbg !155319
%1919 = load void (i8*)*, void (i8*)** %1918, !dbg !155319, !noalias !155287
invoke void %1919(i8* nonnull %1915)
to label %normal-return60.i unwind label %unwind_ast_4428_.i, !dbg !155319, !noalias !155287
normal-return60.i: ; preds = %next-block59.i
%1920 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155320
%1921 = load i8*, i8** %1920, !dbg !155320, !noalias !155287
%1922 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155320
%1923 = load void (i8*)**, void (i8*)*** %1922, !dbg !155320, !noalias !155287
%1924 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i404.i, i32 0, i32 0, !dbg !155320
store i8* %1921, i8** %1924, !dbg !155320, !noalias !155280
%1925 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i404.i, i32 0, i32 1, !dbg !155320
store void (i8*)** %1923, void (i8*)*** %1925, !dbg !155320, !noalias !155280
%1926 = bitcast { i8*, void (i8*)** }* %this.i404.i to %"2.core::raw::TraitObject"*, !dbg !154987
store %"2.core::raw::TraitObject"* %1926, %"2.core::raw::TraitObject"** %obj.i405.i, !dbg !154987, !noalias !155280
%1927 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i405.i, !dbg !155321, !noalias !155280, !nonnull !2274
%1928 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %1927, i32 0, i32 0, !dbg !155320
%1929 = load {}*, {}** %1928, !dbg !155321, !noalias !155287
%1930 = bitcast {}* %1929 to %"flow::BaseFlow"*, !dbg !155321
store %"flow::BaseFlow"* %1930, %"flow::BaseFlow"** %137, !dbg !155278, !noalias !155280
%1931 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %137, !dbg !155320, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %1931, %"flow::BaseFlow"** %auto_deref62.i, !dbg !155278, !noalias !155280
%1932 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref62.i, !dbg !155278, !noalias !155280, !nonnull !2274
%1933 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %1932, i32 0, i32 22, !dbg !155278
%1934 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8is_float17h3bb4201ef87f884aE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %1933)
to label %normal-return63.i unwind label %unwind_ast_4428_.i, !dbg !155320, !noalias !155287
normal-return63.i: ; preds = %normal-return60.i
%1935 = zext i1 %1934 to i8, !dbg !155278
store i8 %1935, i8* %136, !dbg !155278, !noalias !155280
%1936 = load i8, i8* %136, !dbg !155320, !range !58629, !noalias !155280
%1937 = trunc i8 %1936 to i1, !dbg !155320
%1938 = xor i1 %1937, true, !dbg !155320
br i1 %1938, label %then-block-4605-.i, label %next-block65.i, !dbg !155320
then-block-4605-.i: ; preds = %normal-return63.i
%1939 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155322
%1940 = load i8*, i8** %1939, !dbg !155322, !noalias !155287
%1941 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155322
%1942 = load void (i8*)**, void (i8*)*** %1941, !dbg !155322, !noalias !155287
%1943 = getelementptr inbounds void (i8*)*, void (i8*)** %1942, i32 29, !dbg !155322
%1944 = load void (i8*)*, void (i8*)** %1943, !dbg !155322, !noalias !155287
%1945 = bitcast void (i8*)* %1944 to i1 (i8*, %"context::LayoutContext"*, i8)*, !dbg !155322
%1946 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i, !dbg !155322, !noalias !155280, !nonnull !2274
%1947 = load i8, i8* %thread_id.i, !dbg !155323, !noalias !155280
%1948 = invoke zeroext i1 %1945(i8* nonnull %1940, %"context::LayoutContext"* noalias readonly dereferenceable(16) %1946, i8 %1947)
to label %normal-return64.i unwind label %unwind_ast_4428_.i, !dbg !155322, !noalias !155287
normal-return64.i: ; preds = %then-block-4605-.i
br label %next-block65.i, !dbg !155278
next-block65.i: ; preds = %normal-return64.i, %normal-return63.i
br label %clean_custom_.i, !dbg !155324
clean_custom_.i: ; preds = %normal-return107.i, %next-block65.i
br label %loop_body.i, !dbg !155278
next-block66.i: ; preds = %normal-return44.i
%1949 = bitcast %"33.app_units::Au"* %cur_b.i to i8*, !dbg !155018
%1950 = bitcast %"33.app_units::Au"* %previous_b.i to i8*, !dbg !155018
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1950, i8* %1949, i64 4, i32 4, i1 false), !dbg !155018, !noalias !155280
%1951 = getelementptr inbounds %"2.core::option::Option<flow::FragmentationContext>", %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i, i32 0, i32 0, !dbg !155278
%1952 = load i32, i32* %1951, !dbg !155278, !range !64827, !noalias !155280
%cond = icmp eq i32 %1952, 1, !dbg !155278
br i1 %cond, label %match_case71.i, label %match_else70.i, !dbg !155278
match_else70.i: ; preds = %next-block66.i
br label %join90.i, !dbg !155278
match_case71.i: ; preds = %next-block66.i
%1953 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i to { i32, %"flow::FragmentationContext" }*, !dbg !155278
%1954 = getelementptr inbounds { i32, %"flow::FragmentationContext" }, { i32, %"flow::FragmentationContext" }* %1953, i32 0, i32 1, !dbg !155278
store %"flow::FragmentationContext"* %1954, %"flow::FragmentationContext"** %__llmatch68.i, !dbg !155278, !noalias !155280
%1955 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %__llmatch68.i, !dbg !155278, !noalias !155280
%1956 = bitcast %"flow::FragmentationContext"* %1955 to i8*, !dbg !155278
%1957 = bitcast %"flow::FragmentationContext"* %ctx.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1957, i8* %1956, i64 8, i32 4, i1 false), !dbg !155278, !noalias !155287
%1958 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %child_ctx.i, i32 0, i32 0, !dbg !155278
%1959 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %ctx.i, i32 0, i32 0, !dbg !155278
%1960 = load %"33.app_units::Au", %"33.app_units::Au"* %1959, !dbg !155325, !noalias !155280
store %"33.app_units::Au" %1960, %"33.app_units::Au"* %to_ref72.i, !dbg !155278, !noalias !155280
%1961 = bitcast %"33.app_units::Au"* %to_ref72.i to i32*, !dbg !155278
%1962 = load i32, i32* %1961, align 4, !dbg !155278, !noalias !155280
%1963 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %1963, %"33.app_units::Au"* %to_ref73.i, !dbg !155278, !noalias !155280
%1964 = bitcast %"33.app_units::Au"* %to_ref73.i to i32*, !dbg !155278
%1965 = load i32, i32* %1964, align 4, !dbg !155278, !noalias !155280
%1966 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %1962, i32 %1965)
to label %normal-return74.i unwind label %unwind_ast_4428_.i, !dbg !155325, !noalias !155287
normal-return74.i: ; preds = %match_case71.i
store i32 %1966, i32* %abi_cast75.i, !dbg !155278, !noalias !155280
%1967 = bitcast %"33.app_units::Au"* %1958 to i8*, !dbg !155278
%1968 = bitcast i32* %abi_cast75.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1967, i8* %1968, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%1969 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %child_ctx.i, i32 0, i32 1, !dbg !155278
%1970 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %ctx.i, i32 0, i32 1, !dbg !155278
%1971 = load i8, i8* %1970, !dbg !155326, !range !58629, !noalias !155280
%1972 = trunc i8 %1971 to i1, !dbg !155326
%1973 = zext i1 %1972 to i8, !dbg !155326
store i8 %1973, i8* %1969, !dbg !155326, !noalias !155280
%1974 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155327
%1975 = load i8*, i8** %1974, !dbg !155327, !noalias !155287
%1976 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155327
%1977 = load void (i8*)**, void (i8*)*** %1976, !dbg !155327, !noalias !155287
%1978 = getelementptr inbounds void (i8*)*, void (i8*)** %1977, i32 26, !dbg !155327
%1979 = load void (i8*)*, void (i8*)** %1978, !dbg !155327, !noalias !155287
%1980 = bitcast void (i8*)* %1979 to void (%"2.core::option::Option<std::sync::Arc<flow::Flow>>"*, i8*, %"context::LayoutContext"*, %"2.core::option::Option<flow::FragmentationContext>"*)*, !dbg !155327
%1981 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i, !dbg !155327, !noalias !155280, !nonnull !2274
%1982 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %139 to { i32, %"flow::FragmentationContext" }*, !dbg !155278
%1983 = getelementptr inbounds { i32, %"flow::FragmentationContext" }, { i32, %"flow::FragmentationContext" }* %1982, i32 0, i32 1, !dbg !155278
%1984 = bitcast %"flow::FragmentationContext"* %child_ctx.i to i8*, !dbg !155327
%1985 = bitcast %"flow::FragmentationContext"* %1983 to i8*, !dbg !155327
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1985, i8* %1984, i64 8, i32 4, i1 false), !dbg !155327, !noalias !155280
%1986 = getelementptr inbounds %"2.core::option::Option<flow::FragmentationContext>", %"2.core::option::Option<flow::FragmentationContext>"* %139, i32 0, i32 0, !dbg !155327
store i32 1, i32* %1986, !dbg !155327, !noalias !155280
invoke void %1980(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* noalias nocapture sret dereferenceable(16) %138, i8* nonnull %1975, %"context::LayoutContext"* noalias readonly dereferenceable(16) %1981, %"2.core::option::Option<flow::FragmentationContext>"* noalias nocapture dereferenceable(12) %139)
to label %normal-return76.i unwind label %unwind_ast_4428_.i, !dbg !155327, !noalias !155287
normal-return76.i: ; preds = %normal-return74.i
%1987 = getelementptr inbounds %"2.core::option::Option<std::sync::Arc<flow::Flow>>", %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %138, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !155278
%1988 = load %"5.alloc::arc::ArcInner<flow::Flow>"*, %"5.alloc::arc::ArcInner<flow::Flow>"** %1987, !dbg !155278, !noalias !155280
%1989 = icmp ne %"5.alloc::arc::ArcInner<flow::Flow>"* %1988, null, !dbg !155278
%cond33 = icmp eq i1 %1989, true, !dbg !155278
br i1 %cond33, label %match_case80.i, label %match_else79.i, !dbg !155278
match_else79.i: ; preds = %normal-return76.i
br label %join88.i, !dbg !155278
match_case80.i: ; preds = %normal-return76.i
%1990 = getelementptr inbounds %"2.core::option::Option<std::sync::Arc<flow::Flow>>", %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %138, i32 0, i32 0, !dbg !155278
store %"5.std::sync::Arc<flow::Flow>"* %1990, %"5.std::sync::Arc<flow::Flow>"** %remaining.i, !dbg !155278, !noalias !155280
%1991 = load %"5.std::sync::Arc<flow::Flow>"*, %"5.std::sync::Arc<flow::Flow>"** %remaining.i, !dbg !155278, !noalias !155280
%1992 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %140 to { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }*, !dbg !155278
%1993 = getelementptr inbounds { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }, { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }* %1992, i32 0, i32 1, !dbg !155278
%1994 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %1993, i32 0, i32 0, !dbg !155278
%1995 = load i64, i64* %child_index.i, !dbg !155328, !noalias !155280
%1996 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %1995, i64 1), !dbg !155328
%1997 = extractvalue { i64, i1 } %1996, 0, !dbg !155328
%1998 = extractvalue { i64, i1 } %1996, 1, !dbg !155328
%1999 = call i1 @llvm.expect.i1(i1 %1998, i1 false), !dbg !155328
br i1 %1999, label %cond.i, label %next.i, !dbg !155278
next.i: ; preds = %match_case80.i
store i64 %1997, i64* %1994, !dbg !155328, !noalias !155280
%2000 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %1993, i32 0, i32 1, !dbg !155278
%2001 = getelementptr inbounds %"2.core::option::Option<std::sync::Arc<flow::Flow>>", %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %2000, i32 0, i32 0, !dbg !155278
%2002 = bitcast %"5.std::sync::Arc<flow::Flow>"* %1991 to i8*, !dbg !155328
%2003 = bitcast %"5.std::sync::Arc<flow::Flow>"* %2001 to i8*, !dbg !155328
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2003, i8* %2002, i64 16, i32 8, i1 false), !dbg !155328, !noalias !155287
%2004 = bitcast %"5.std::sync::Arc<flow::Flow>"* %1991 to i8*, !dbg !155328
call void @llvm.memset.p0i8.i64(i8* %2004, i8 29, i64 16, i32 8, i1 false), !dbg !155328, !noalias !155287
%2005 = getelementptr inbounds %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>", %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %140, i32 0, i32 0, !dbg !155328
store i64 1, i64* %2005, !dbg !155328, !noalias !155280
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i), !dbg !155328, !noalias !155287
%2006 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %140 to i8*, !dbg !155328
%2007 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i to i8*, !dbg !155328
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2007, i8* %2006, i64 32, i32 8, i1 false), !dbg !155328, !noalias !155280
call void @_ZN4drop17h4bf85adc0d764c63E(%"5.std::sync::Arc<flow::Flow>"* %1991), !dbg !155327, !noalias !155287
%2008 = bitcast %"5.std::sync::Arc<flow::Flow>"* %1991 to i8*, !dbg !155327
call void @llvm.memset.p0i8.i64(i8* %2008, i8 29, i64 16, i32 8, i1 false), !dbg !155327, !noalias !155287
br label %join88.i, !dbg !155278
cond.i: ; preds = %match_case80.i
invoke void @_ZN4core9panicking5panic17hbfac80217e56ecbeE({ %str_slice, %str_slice, i32 }* noalias readonly dereferenceable(40) @panic_loc42761)
to label %normal-return81.i unwind label %unwind_custom_.i, !dbg !155328, !noalias !155287
normal-return81.i: ; preds = %cond.i
unreachable, !dbg !155328
unwind_custom_.i: ; preds = %cond.i
%2009 = landingpad { i8*, i32 }
cleanup, !dbg !155278
store { i8*, i32 } %2009, { i8*, i32 }* %114, !dbg !155278, !noalias !155280
call void @_ZN4drop17h4bf85adc0d764c63E(%"5.std::sync::Arc<flow::Flow>"* %1991), !dbg !155327, !noalias !155287
%2010 = bitcast %"5.std::sync::Arc<flow::Flow>"* %1991 to i8*, !dbg !155327
call void @llvm.memset.p0i8.i64(i8* %2010, i8 29, i64 16, i32 8, i1 false), !dbg !155327, !noalias !155287
call void @_ZN4drop17h83b3810660b0f85dE(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %138), !dbg !155019, !noalias !155287
br label %clean_ast_4428_82.i, !dbg !155278
clean_ast_4428_82.i: ; preds = %clean_ast_4428_225.i, %unwind_custom_.i
br label %clean_ast_4428_.i, !dbg !155278
join88.i: ; preds = %next.i, %match_else79.i
call void @_ZN4drop17h83b3810660b0f85dE(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %138), !dbg !155019, !noalias !155287
br label %join90.i, !dbg !155278
join90.i: ; preds = %join88.i, %match_else70.i
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %141, %"floats::Floats"* noalias readonly dereferenceable(40) %floats.i)
to label %normal-return91.i unwind label %unwind_ast_4428_.i, !dbg !155329, !noalias !155287
normal-return91.i: ; preds = %join90.i
%2011 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155329
%2012 = load i8*, i8** %2011, !dbg !155329, !noalias !155287
%2013 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155329
%2014 = load void (i8*)**, void (i8*)*** %2013, !dbg !155329, !noalias !155287
%2015 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i406.i, i32 0, i32 0, !dbg !155329
store i8* %2012, i8** %2015, !dbg !155329, !noalias !155280
%2016 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i406.i, i32 0, i32 1, !dbg !155329
store void (i8*)** %2014, void (i8*)*** %2016, !dbg !155329, !noalias !155280
%2017 = bitcast { i8*, void (i8*)** }* %this.i406.i to %"2.core::raw::TraitObject"*, !dbg !154984
store %"2.core::raw::TraitObject"* %2017, %"2.core::raw::TraitObject"** %obj.i407.i, !dbg !154984, !noalias !155280
%2018 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i407.i, !dbg !155330, !noalias !155280, !nonnull !2274
%2019 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2018, i32 0, i32 0, !dbg !155329
%2020 = load {}*, {}** %2019, !dbg !155330, !noalias !155287
%2021 = bitcast {}* %2020 to %"flow::BaseFlow"*, !dbg !155330
store %"flow::BaseFlow"* %2021, %"flow::BaseFlow"** %142, !dbg !155278, !noalias !155280
%2022 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %142, !dbg !155329, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2022, %"flow::BaseFlow"** %auto_deref93.i, !dbg !155278, !noalias !155280
%2023 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref93.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2024 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2023, i32 0, i32 6, !dbg !155278
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %2024), !dbg !155329, !noalias !155287
%2025 = bitcast %"floats::Floats"* %141 to i8*, !dbg !155329
%2026 = bitcast %"floats::Floats"* %2024 to i8*, !dbg !155329
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2026, i8* %2025, i64 40, i32 8, i1 false), !dbg !155329, !noalias !155287
%2027 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155331
%2028 = load i8*, i8** %2027, !dbg !155331, !noalias !155287
%2029 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155331
%2030 = load void (i8*)**, void (i8*)*** %2029, !dbg !155331, !noalias !155287
%2031 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i408.i, i32 0, i32 0, !dbg !155331
store i8* %2028, i8** %2031, !dbg !155331, !noalias !155280
%2032 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i408.i, i32 0, i32 1, !dbg !155331
store void (i8*)** %2030, void (i8*)*** %2032, !dbg !155331, !noalias !155280
%2033 = bitcast { i8*, void (i8*)** }* %this.i408.i to %"2.core::raw::TraitObject"*, !dbg !154981
store %"2.core::raw::TraitObject"* %2033, %"2.core::raw::TraitObject"** %obj.i409.i, !dbg !154981, !noalias !155280
%2034 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i409.i, !dbg !155332, !noalias !155280, !nonnull !2274
%2035 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2034, i32 0, i32 0, !dbg !155331
%2036 = load {}*, {}** %2035, !dbg !155332, !noalias !155287
%2037 = bitcast {}* %2036 to %"flow::BaseFlow"*, !dbg !155332
store %"flow::BaseFlow"* %2037, %"flow::BaseFlow"** %144, !dbg !155278, !noalias !155280
%2038 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %144, !dbg !155331, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2038, %"flow::BaseFlow"** %auto_deref95.i, !dbg !155278, !noalias !155280
%2039 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref95.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2040 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2039, i32 0, i32 22, !dbg !155278
%2041 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8is_float17h3bb4201ef87f884aE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2040)
to label %normal-return96.i unwind label %unwind_ast_4428_.i, !dbg !155331, !noalias !155287
normal-return96.i: ; preds = %normal-return91.i
%2042 = zext i1 %2041 to i8, !dbg !155278
store i8 %2042, i8* %143, !dbg !155278, !noalias !155280
%2043 = load i8, i8* %143, !dbg !155331, !range !58629, !noalias !155280
%2044 = trunc i8 %2043 to i1, !dbg !155331
br i1 %2044, label %then-block-4670-.i, label %next-block110.i, !dbg !155331
then-block-4670-.i: ; preds = %normal-return96.i
store i8 1, i8* %had_floated_children.i, !dbg !155333, !noalias !155280
%2045 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155334
%2046 = load i8*, i8** %2045, !dbg !155334, !noalias !155287
%2047 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155334
%2048 = load void (i8*)**, void (i8*)*** %2047, !dbg !155334, !noalias !155287
%2049 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i410.i, i32 0, i32 0, !dbg !155334
store i8* %2046, i8** %2049, !dbg !155334, !noalias !155280
%2050 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i410.i, i32 0, i32 1, !dbg !155334
store void (i8*)** %2048, void (i8*)*** %2050, !dbg !155334, !noalias !155280
%2051 = bitcast { i8*, void (i8*)** }* %this.i410.i to %"2.core::raw::TraitObject"*, !dbg !154978
store %"2.core::raw::TraitObject"* %2051, %"2.core::raw::TraitObject"** %obj.i411.i, !dbg !154978, !noalias !155280
%2052 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i411.i, !dbg !155335, !noalias !155280, !nonnull !2274
%2053 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2052, i32 0, i32 0, !dbg !155334
%2054 = load {}*, {}** %2053, !dbg !155335, !noalias !155287
%2055 = bitcast {}* %2054 to %"flow::BaseFlow"*, !dbg !155335
store %"flow::BaseFlow"* %2055, %"flow::BaseFlow"** %145, !dbg !155278, !noalias !155280
%2056 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %145, !dbg !155334, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2056, %"flow::BaseFlow"** %auto_deref98.i, !dbg !155278, !noalias !155280
%2057 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref98.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2058 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2057, i32 0, i32 3, !dbg !155278
%2059 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %2058, i32 0, i32 0, !dbg !155278
%2060 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %2059, i32 0, i32 1, !dbg !155278
%2061 = bitcast %"33.app_units::Au"* %cur_b.i to i8*, !dbg !155278
%2062 = bitcast %"33.app_units::Au"* %2060 to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2062, i8* %2061, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155287
%2063 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155022
%2064 = load i8*, i8** %2063, !dbg !155022, !noalias !155287
%2065 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155022
%2066 = load void (i8*)**, void (i8*)*** %2065, !dbg !155022, !noalias !155287
%2067 = getelementptr inbounds void (i8*)*, void (i8*)** %2066, i32 5, !dbg !155022
%2068 = load void (i8*)*, void (i8*)** %2067, !dbg !155022, !noalias !155287
%2069 = bitcast void (i8*)* %2068 to %"block::BlockFlow"* (i8*)*, !dbg !155022
%2070 = invoke dereferenceable(560) %"block::BlockFlow"* %2069(i8* nonnull %2064)
to label %normal-return99.i unwind label %unwind_ast_4428_.i, !dbg !155022, !noalias !155287
normal-return99.i: ; preds = %then-block-4670-.i
store %"block::BlockFlow"* %2070, %"block::BlockFlow"** %kid_block.i, !dbg !155278, !noalias !155280
%2071 = invoke i32 @_ZN6layout5model18MarginCollapseInfo21current_float_ceiling17h5672335fcfd7a480E(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i)
to label %normal-return100.i unwind label %unwind_ast_4428_.i, !dbg !155023, !noalias !155287
normal-return100.i: ; preds = %normal-return99.i
store i32 %2071, i32* %abi_cast101.i, !dbg !155278, !noalias !155280
%2072 = bitcast %"33.app_units::Au"* %float_ceiling.i to i8*, !dbg !155278
%2073 = bitcast i32* %abi_cast101.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2072, i8* %2073, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2074 = load %"block::BlockFlow"*, %"block::BlockFlow"** %kid_block.i, !dbg !155336, !noalias !155280, !nonnull !2274
%2075 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2074, i32 0, i32 4, !dbg !155278
%2076 = invoke i8* @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6as_mut17h574324ce34660ce7E"(i8** dereferenceable(8) %2075)
to label %normal-return102.i unwind label %unwind_ast_4428_.i, !dbg !155336, !noalias !155287
normal-return102.i: ; preds = %normal-return100.i
store i8* %2076, i8** %147, !dbg !155278, !noalias !155280
%2077 = load i8*, i8** %147, !dbg !155336, !noalias !155280
%2078 = invoke dereferenceable(8) %"block::FloatedBlockInfo"** @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hd44ba4664d4063abE"(i8* %2077)
to label %normal-return103.i unwind label %unwind_ast_4428_.i, !dbg !155336, !noalias !155287
normal-return103.i: ; preds = %normal-return102.i
store %"block::FloatedBlockInfo"** %2078, %"block::FloatedBlockInfo"*** %146, !dbg !155278, !noalias !155280
%2079 = load %"block::FloatedBlockInfo"**, %"block::FloatedBlockInfo"*** %146, !dbg !155336, !noalias !155280, !nonnull !2274
store %"block::FloatedBlockInfo"** %2079, %"block::FloatedBlockInfo"*** %auto_deref104.i, !dbg !155278, !noalias !155280
%2080 = load %"block::FloatedBlockInfo"**, %"block::FloatedBlockInfo"*** %auto_deref104.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2081 = load %"block::FloatedBlockInfo"*, %"block::FloatedBlockInfo"** %2080, !dbg !155278, !noalias !155287, !nonnull !2274
%2082 = getelementptr inbounds %"block::FloatedBlockInfo", %"block::FloatedBlockInfo"* %2081, i32 0, i32 1, !dbg !155278
%2083 = bitcast %"33.app_units::Au"* %float_ceiling.i to i8*, !dbg !155278
%2084 = bitcast %"33.app_units::Au"* %2082 to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2084, i8* %2083, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155287
%2085 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155337
%2086 = load i8*, i8** %2085, !dbg !155337, !noalias !155287
%2087 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155337
%2088 = load void (i8*)**, void (i8*)*** %2087, !dbg !155337, !noalias !155287
%2089 = getelementptr inbounds void (i8*)*, void (i8*)** %2088, i32 28, !dbg !155337
%2090 = load void (i8*)*, void (i8*)** %2089, !dbg !155337, !noalias !155287
invoke void %2090(i8* nonnull %2086)
to label %normal-return105.i unwind label %unwind_ast_4428_.i, !dbg !155337, !noalias !155287
normal-return105.i: ; preds = %normal-return103.i
%2091 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155024
%2092 = load i8*, i8** %2091, !dbg !155024, !noalias !155287
%2093 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155024
%2094 = load void (i8*)**, void (i8*)*** %2093, !dbg !155024, !noalias !155287
%2095 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i412.i, i32 0, i32 0, !dbg !155024
store i8* %2092, i8** %2095, !dbg !155024, !noalias !155280
%2096 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i412.i, i32 0, i32 1, !dbg !155024
store void (i8*)** %2094, void (i8*)*** %2096, !dbg !155024, !noalias !155280
%2097 = bitcast { i8*, void (i8*)** }* %this.i412.i to %"2.core::raw::TraitObject"*, !dbg !154975
store %"2.core::raw::TraitObject"* %2097, %"2.core::raw::TraitObject"** %obj.i413.i, !dbg !154975, !noalias !155280
%2098 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i413.i, !dbg !155338, !noalias !155280, !nonnull !2274
%2099 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2098, i32 0, i32 0, !dbg !155024
%2100 = load {}*, {}** %2099, !dbg !155338, !noalias !155287
%2101 = bitcast {}* %2100 to %"flow::BaseFlow"*, !dbg !155338
store %"flow::BaseFlow"* %2101, %"flow::BaseFlow"** %kid_base.i, !dbg !155278, !noalias !155280
%2102 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %kid_base.i, !dbg !155339, !noalias !155280, !nonnull !2274
%2103 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2102, i32 0, i32 6, !dbg !155278
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %148, %"floats::Floats"* noalias readonly dereferenceable(40) %2103)
to label %normal-return107.i unwind label %unwind_ast_4428_.i, !dbg !155339, !noalias !155287
normal-return107.i: ; preds = %normal-return105.i
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i), !dbg !155339, !noalias !155287
%2104 = bitcast %"floats::Floats"* %148 to i8*, !dbg !155339
%2105 = bitcast %"floats::Floats"* %floats.i to i8*, !dbg !155339
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2105, i8* %2104, i64 40, i32 8, i1 false), !dbg !155339, !noalias !155280
br label %clean_custom_.i, !dbg !155278
next-block110.i: ; preds = %normal-return96.i
%2106 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155340
%2107 = load i8*, i8** %2106, !dbg !155340, !noalias !155287
%2108 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155340
%2109 = load void (i8*)**, void (i8*)*** %2108, !dbg !155340, !noalias !155287
%2110 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i414.i, i32 0, i32 0, !dbg !155340
store i8* %2107, i8** %2110, !dbg !155340, !noalias !155280
%2111 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i414.i, i32 0, i32 1, !dbg !155340
store void (i8*)** %2109, void (i8*)*** %2111, !dbg !155340, !noalias !155280
%2112 = bitcast { i8*, void (i8*)** }* %this.i414.i to %"2.core::raw::TraitObject"*, !dbg !154972
store %"2.core::raw::TraitObject"* %2112, %"2.core::raw::TraitObject"** %obj.i415.i, !dbg !154972, !noalias !155280
%2113 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i415.i, !dbg !155341, !noalias !155280, !nonnull !2274
%2114 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2113, i32 0, i32 0, !dbg !155340
%2115 = load {}*, {}** %2114, !dbg !155341, !noalias !155287
%2116 = bitcast {}* %2115 to %"flow::BaseFlow"*, !dbg !155341
store %"flow::BaseFlow"* %2116, %"flow::BaseFlow"** %150, !dbg !155278, !noalias !155280
%2117 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %150, !dbg !155340, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2117, %"flow::BaseFlow"** %auto_deref112.i, !dbg !155278, !noalias !155280
%2118 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref112.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2119 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2118, i32 0, i32 22, !dbg !155278
%2120 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags13clears_floats17h9c12cb52ad233513E(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2119)
to label %normal-return113.i unwind label %unwind_ast_4428_.i, !dbg !155340, !noalias !155287
normal-return113.i: ; preds = %next-block110.i
%2121 = zext i1 %2120 to i8, !dbg !155278
store i8 %2121, i8* %149, !dbg !155278, !noalias !155280
%2122 = load i8, i8* %149, !dbg !155340, !range !58629, !noalias !155280
%2123 = trunc i8 %2122 to i1, !dbg !155340
br i1 %2123, label %then-block-4727-.i, label %next-block120.i, !dbg !155340
then-block-4727-.i: ; preds = %normal-return113.i
%2124 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155342, !noalias !155280, !nonnull !2274
%2125 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2124, i32 0, i32 1, !dbg !155278
%2126 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2125, i32 0, i32 1, !dbg !155278
%2127 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %2126)
to label %normal-return115.i unwind label %unwind_ast_4428_.i, !dbg !155342, !noalias !155287
normal-return115.i: ; preds = %then-block-4727-.i
store %"112.style::properties::ComputedValues"* %2127, %"112.style::properties::ComputedValues"** %overloaded_deref114.i, !dbg !155278, !noalias !155280
%2128 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref114.i, !dbg !155342, !noalias !155280, !nonnull !2274
%2129 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %2128, i32 0, i32 21, !dbg !155278
%2130 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %2129, !dbg !155342, !noalias !155287
store %"112.style::logical_geometry::WritingMode" %2130, %"112.style::logical_geometry::WritingMode"* %to_ref116.i, !dbg !155278, !noalias !155280
%2131 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref116.i to i8*, !dbg !155278
%2132 = load i8, i8* %2131, align 1, !dbg !155278, !noalias !155280
invoke void @_ZN6layout6floats6Floats3new17hd6914052fc476c29E(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %151, i8 %2132)
to label %normal-return117.i unwind label %unwind_ast_4428_.i, !dbg !155342, !noalias !155287
normal-return117.i: ; preds = %normal-return115.i
%2133 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155342
%2134 = load i8*, i8** %2133, !dbg !155342, !noalias !155287
%2135 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155342
%2136 = load void (i8*)**, void (i8*)*** %2135, !dbg !155342, !noalias !155287
%2137 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i416.i, i32 0, i32 0, !dbg !155342
store i8* %2134, i8** %2137, !dbg !155342, !noalias !155280
%2138 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i416.i, i32 0, i32 1, !dbg !155342
store void (i8*)** %2136, void (i8*)*** %2138, !dbg !155342, !noalias !155280
%2139 = bitcast { i8*, void (i8*)** }* %this.i416.i to %"2.core::raw::TraitObject"*, !dbg !154969
store %"2.core::raw::TraitObject"* %2139, %"2.core::raw::TraitObject"** %obj.i417.i, !dbg !154969, !noalias !155280
%2140 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i417.i, !dbg !155343, !noalias !155280, !nonnull !2274
%2141 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2140, i32 0, i32 0, !dbg !155342
%2142 = load {}*, {}** %2141, !dbg !155343, !noalias !155287
%2143 = bitcast {}* %2142 to %"flow::BaseFlow"*, !dbg !155343
store %"flow::BaseFlow"* %2143, %"flow::BaseFlow"** %152, !dbg !155278, !noalias !155280
%2144 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %152, !dbg !155342, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2144, %"flow::BaseFlow"** %auto_deref119.i, !dbg !155278, !noalias !155280
%2145 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref119.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2146 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2145, i32 0, i32 6, !dbg !155278
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %2146), !dbg !155342, !noalias !155287
%2147 = bitcast %"floats::Floats"* %151 to i8*, !dbg !155342
%2148 = bitcast %"floats::Floats"* %2146 to i8*, !dbg !155342
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2148, i8* %2147, i64 40, i32 8, i1 false), !dbg !155342, !noalias !155287
br label %next-block120.i, !dbg !155278
next-block120.i: ; preds = %normal-return117.i, %normal-return113.i
%2149 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155344
%2150 = load i8*, i8** %2149, !dbg !155344, !noalias !155287
%2151 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155344
%2152 = load void (i8*)**, void (i8*)*** %2151, !dbg !155344, !noalias !155287
%2153 = getelementptr inbounds void (i8*)*, void (i8*)** %2152, i32 29, !dbg !155344
%2154 = load void (i8*)*, void (i8*)** %2153, !dbg !155344, !noalias !155287
%2155 = bitcast void (i8*)* %2154 to i1 (i8*, %"context::LayoutContext"*, i8)*, !dbg !155344
%2156 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i, !dbg !155344, !noalias !155280, !nonnull !2274
%2157 = load i8, i8* %thread_id.i, !dbg !155345, !noalias !155280
%2158 = invoke zeroext i1 %2155(i8* nonnull %2150, %"context::LayoutContext"* noalias readonly dereferenceable(16) %2156, i8 %2157)
to label %normal-return121.i unwind label %unwind_ast_4428_.i, !dbg !155344, !noalias !155287
normal-return121.i: ; preds = %next-block120.i
%2159 = zext i1 %2158 to i8, !dbg !155278
store i8 %2159, i8* %need_to_process_child_floats.i, !dbg !155278, !noalias !155280
%2160 = load i8, i8* %had_children_with_clearance.i, !dbg !155346, !range !58629, !noalias !155280
%2161 = trunc i8 %2160 to i1, !dbg !155346
%2162 = xor i1 %2161, true, !dbg !155346
br i1 %2162, label %before_rhs123.i, label %join122.i, !dbg !155278
join122.i: ; preds = %normal-return124.i, %normal-return121.i
%2163 = phi i1 [ %2162, %normal-return121.i ], [ %2167, %normal-return124.i ], !dbg !155278
br i1 %2163, label %before_rhs126.i, label %join125.i, !dbg !155278
before_rhs123.i: ; preds = %normal-return121.i
%2164 = invoke zeroext i1 @_ZN6layout6floats6Floats10is_present17h4b50013b80651bdbE(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i)
to label %normal-return124.i unwind label %unwind_ast_4428_.i, !dbg !155347, !noalias !155287
normal-return124.i: ; preds = %before_rhs123.i
%2165 = zext i1 %2164 to i8, !dbg !155278
store i8 %2165, i8* %153, !dbg !155278, !noalias !155280
%2166 = load i8, i8* %153, !dbg !155347, !range !58629, !noalias !155280
%2167 = trunc i8 %2166 to i1, !dbg !155347
br label %join122.i, !dbg !155278
join125.i: ; preds = %join131.i, %join122.i
%2168 = phi i1 [ %2163, %join122.i ], [ %2190, %join131.i ], !dbg !155278
br i1 %2168, label %then-block-4767-.i, label %next-block137.i, !dbg !155346
before_rhs126.i: ; preds = %join122.i
%2169 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155348
%2170 = load i8*, i8** %2169, !dbg !155348, !noalias !155287
%2171 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155348
%2172 = load void (i8*)**, void (i8*)*** %2171, !dbg !155348, !noalias !155287
%2173 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i418.i, i32 0, i32 0, !dbg !155348
store i8* %2170, i8** %2173, !dbg !155348, !noalias !155280
%2174 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i418.i, i32 0, i32 1, !dbg !155348
store void (i8*)** %2172, void (i8*)*** %2174, !dbg !155348, !noalias !155280
%2175 = bitcast { i8*, void (i8*)** }* %this.i418.i to %"2.core::raw::TraitObject"*, !dbg !154966
store %"2.core::raw::TraitObject"* %2175, %"2.core::raw::TraitObject"** %obj.i419.i, !dbg !154966, !noalias !155280
%2176 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i419.i, !dbg !155349, !noalias !155280, !nonnull !2274
%2177 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2176, i32 0, i32 0, !dbg !155348
%2178 = load {}*, {}** %2177, !dbg !155349, !noalias !155287
%2179 = bitcast {}* %2178 to %"flow::BaseFlow"*, !dbg !155349
store %"flow::BaseFlow"* %2179, %"flow::BaseFlow"** %155, !dbg !155278, !noalias !155280
%2180 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %155, !dbg !155348, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2180, %"flow::BaseFlow"** %auto_deref128.i, !dbg !155278, !noalias !155280
%2181 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref128.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2182 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2181, i32 0, i32 22, !dbg !155278
%2183 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42762 to %"flow::FlowFlags"*), !dbg !155278, !noalias !155287
store %"flow::FlowFlags" %2183, %"flow::FlowFlags"* %to_ref129.i, !dbg !155278, !noalias !155280
%2184 = bitcast %"flow::FlowFlags"* %to_ref129.i to i32*, !dbg !155278
%2185 = load i32, i32* %2184, align 4, !dbg !155278, !noalias !155280
%2186 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2182, i32 %2185)
to label %normal-return130.i unwind label %unwind_ast_4428_.i, !dbg !155348, !noalias !155287
normal-return130.i: ; preds = %before_rhs126.i
%2187 = zext i1 %2186 to i8, !dbg !155278
store i8 %2187, i8* %154, !dbg !155278, !noalias !155280
%2188 = load i8, i8* %154, !dbg !155348, !range !58629, !noalias !155280
%2189 = trunc i8 %2188 to i1, !dbg !155348
br i1 %2189, label %join131.i, label %before_rhs132.i, !dbg !155278
join131.i: ; preds = %normal-return136.i, %normal-return130.i
%2190 = phi i1 [ %2189, %normal-return130.i ], [ %2211, %normal-return136.i ], !dbg !155278
br label %join125.i, !dbg !155278
before_rhs132.i: ; preds = %normal-return130.i
%2191 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155350
%2192 = load i8*, i8** %2191, !dbg !155350, !noalias !155287
%2193 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155350
%2194 = load void (i8*)**, void (i8*)*** %2193, !dbg !155350, !noalias !155287
%2195 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i420.i, i32 0, i32 0, !dbg !155350
store i8* %2192, i8** %2195, !dbg !155350, !noalias !155280
%2196 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i420.i, i32 0, i32 1, !dbg !155350
store void (i8*)** %2194, void (i8*)*** %2196, !dbg !155350, !noalias !155280
%2197 = bitcast { i8*, void (i8*)** }* %this.i420.i to %"2.core::raw::TraitObject"*, !dbg !154963
store %"2.core::raw::TraitObject"* %2197, %"2.core::raw::TraitObject"** %obj.i421.i, !dbg !154963, !noalias !155280
%2198 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i421.i, !dbg !155351, !noalias !155280, !nonnull !2274
%2199 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2198, i32 0, i32 0, !dbg !155350
%2200 = load {}*, {}** %2199, !dbg !155351, !noalias !155287
%2201 = bitcast {}* %2200 to %"flow::BaseFlow"*, !dbg !155351
store %"flow::BaseFlow"* %2201, %"flow::BaseFlow"** %157, !dbg !155278, !noalias !155280
%2202 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %157, !dbg !155350, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2202, %"flow::BaseFlow"** %auto_deref134.i, !dbg !155278, !noalias !155280
%2203 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref134.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2204 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2203, i32 0, i32 22, !dbg !155278
%2205 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42763 to %"flow::FlowFlags"*), !dbg !155278, !noalias !155287
store %"flow::FlowFlags" %2205, %"flow::FlowFlags"* %to_ref135.i, !dbg !155278, !noalias !155280
%2206 = bitcast %"flow::FlowFlags"* %to_ref135.i to i32*, !dbg !155278
%2207 = load i32, i32* %2206, align 4, !dbg !155278, !noalias !155280
%2208 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2204, i32 %2207)
to label %normal-return136.i unwind label %unwind_ast_4428_.i, !dbg !155350, !noalias !155287
normal-return136.i: ; preds = %before_rhs132.i
%2209 = zext i1 %2208 to i8, !dbg !155278
store i8 %2209, i8* %156, !dbg !155278, !noalias !155280
%2210 = load i8, i8* %156, !dbg !155350, !range !58629, !noalias !155280
%2211 = trunc i8 %2210 to i1, !dbg !155350
br label %join131.i, !dbg !155278
then-block-4767-.i: ; preds = %join125.i
store i8 1, i8* %had_children_with_clearance.i, !dbg !155352, !noalias !155280
br label %next-block137.i, !dbg !155278
next-block137.i: ; preds = %then-block-4767-.i, %join125.i
%2212 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155353
%2213 = load i8*, i8** %2212, !dbg !155353, !noalias !155287
%2214 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155353
%2215 = load void (i8*)**, void (i8*)*** %2214, !dbg !155353, !noalias !155287
%2216 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i422.i, i32 0, i32 0, !dbg !155353
store i8* %2213, i8** %2216, !dbg !155353, !noalias !155280
%2217 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i422.i, i32 0, i32 1, !dbg !155353
store void (i8*)** %2215, void (i8*)*** %2217, !dbg !155353, !noalias !155280
%2218 = bitcast { i8*, void (i8*)** }* %this.i422.i to %"2.core::raw::TraitObject"*, !dbg !154960
store %"2.core::raw::TraitObject"* %2218, %"2.core::raw::TraitObject"** %obj.i423.i, !dbg !154960, !noalias !155280
%2219 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i423.i, !dbg !155354, !noalias !155280, !nonnull !2274
%2220 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2219, i32 0, i32 0, !dbg !155353
%2221 = load {}*, {}** %2220, !dbg !155354, !noalias !155287
%2222 = bitcast {}* %2221 to %"flow::BaseFlow"*, !dbg !155354
store %"flow::BaseFlow"* %2222, %"flow::BaseFlow"** %158, !dbg !155278, !noalias !155280
%2223 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %158, !dbg !155353, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2223, %"flow::BaseFlow"** %auto_deref139.i, !dbg !155278, !noalias !155280
%2224 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref139.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2225 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2224, i32 0, i32 9, !dbg !155278
%2226 = load i8, i8* %had_children_with_clearance.i, !dbg !155355, !range !58629, !noalias !155280
%2227 = trunc i8 %2226 to i1, !dbg !155355
%2228 = xor i1 %2227, true, !dbg !155355
%2229 = invoke i32 @_ZN6layout5model18MarginCollapseInfo26advance_block_start_margin17h792e7b468ba0e06eE(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i, %"model::CollapsibleMargins"* noalias readonly dereferenceable(20) %2225, i1 zeroext %2228)
to label %normal-return140.i unwind label %unwind_ast_4428_.i, !dbg !155026, !noalias !155287
normal-return140.i: ; preds = %next-block137.i
store i32 %2229, i32* %abi_cast141.i, !dbg !155278, !noalias !155280
%2230 = bitcast %"33.app_units::Au"* %delta.i to i8*, !dbg !155278
%2231 = bitcast i32* %abi_cast141.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2230, i8* %2231, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2232 = load %"33.app_units::Au", %"33.app_units::Au"* %delta.i, !dbg !155356, !noalias !155280
store %"33.app_units::Au" %2232, %"33.app_units::Au"* %to_ref142.i, !dbg !155278, !noalias !155280
%2233 = bitcast %"33.app_units::Au"* %to_ref142.i to i32*, !dbg !155278
%2234 = load i32, i32* %2233, align 4, !dbg !155278, !noalias !155280
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i, i32 %2234, %"floats::Floats"* dereferenceable(40) %floats.i)
to label %normal-return143.i unwind label %unwind_ast_4428_.i, !dbg !155356, !noalias !155287
normal-return143.i: ; preds = %normal-return140.i
%2235 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %159, i32 0, i32 0, !dbg !155278
%2236 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155027
%2237 = load i8*, i8** %2236, !dbg !155027, !noalias !155287
%2238 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155027
%2239 = load void (i8*)**, void (i8*)*** %2238, !dbg !155027, !noalias !155287
%2240 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i424.i, i32 0, i32 0, !dbg !155027
store i8* %2237, i8** %2240, !dbg !155027, !noalias !155280
%2241 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i424.i, i32 0, i32 1, !dbg !155027
store void (i8*)** %2239, void (i8*)*** %2241, !dbg !155027, !noalias !155280
%2242 = bitcast { i8*, void (i8*)** }* %this.i424.i to %"2.core::raw::TraitObject"*, !dbg !154957
store %"2.core::raw::TraitObject"* %2242, %"2.core::raw::TraitObject"** %obj.i425.i, !dbg !154957, !noalias !155280
%2243 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i425.i, !dbg !155357, !noalias !155280, !nonnull !2274
%2244 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2243, i32 0, i32 0, !dbg !155027
%2245 = load {}*, {}** %2244, !dbg !155357, !noalias !155287
%2246 = bitcast {}* %2245 to %"flow::BaseFlow"*, !dbg !155357
store %"flow::BaseFlow"* %2246, %"flow::BaseFlow"** %160, !dbg !155278, !noalias !155280
%2247 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %160, !dbg !155027, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2247, %"flow::BaseFlow"** %auto_deref145.i, !dbg !155278, !noalias !155280
%2248 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref145.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2249 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2248, i32 0, i32 22, !dbg !155278
%2250 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42762 to %"flow::FlowFlags"*), !dbg !155278, !noalias !155287
store %"flow::FlowFlags" %2250, %"flow::FlowFlags"* %to_ref146.i, !dbg !155278, !noalias !155280
%2251 = bitcast %"flow::FlowFlags"* %to_ref146.i to i32*, !dbg !155278
%2252 = load i32, i32* %2251, align 4, !dbg !155278, !noalias !155280
%2253 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2249, i32 %2252)
to label %normal-return147.i unwind label %unwind_ast_4428_.i, !dbg !155027, !noalias !155287
normal-return147.i: ; preds = %normal-return143.i
%2254 = zext i1 %2253 to i8, !dbg !155278
store i8 %2254, i8* %2235, !dbg !155278, !noalias !155280
%2255 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %159, i32 0, i32 1, !dbg !155278
%2256 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155358
%2257 = load i8*, i8** %2256, !dbg !155358, !noalias !155287
%2258 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155358
%2259 = load void (i8*)**, void (i8*)*** %2258, !dbg !155358, !noalias !155287
%2260 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i426.i, i32 0, i32 0, !dbg !155358
store i8* %2257, i8** %2260, !dbg !155358, !noalias !155280
%2261 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i426.i, i32 0, i32 1, !dbg !155358
store void (i8*)** %2259, void (i8*)*** %2261, !dbg !155358, !noalias !155280
%2262 = bitcast { i8*, void (i8*)** }* %this.i426.i to %"2.core::raw::TraitObject"*, !dbg !154954
store %"2.core::raw::TraitObject"* %2262, %"2.core::raw::TraitObject"** %obj.i427.i, !dbg !154954, !noalias !155280
%2263 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i427.i, !dbg !155359, !noalias !155280, !nonnull !2274
%2264 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2263, i32 0, i32 0, !dbg !155358
%2265 = load {}*, {}** %2264, !dbg !155359, !noalias !155287
%2266 = bitcast {}* %2265 to %"flow::BaseFlow"*, !dbg !155359
store %"flow::BaseFlow"* %2266, %"flow::BaseFlow"** %161, !dbg !155278, !noalias !155280
%2267 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %161, !dbg !155358, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2267, %"flow::BaseFlow"** %auto_deref149.i, !dbg !155278, !noalias !155280
%2268 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref149.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2269 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2268, i32 0, i32 22, !dbg !155278
%2270 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42763 to %"flow::FlowFlags"*), !dbg !155278, !noalias !155287
store %"flow::FlowFlags" %2270, %"flow::FlowFlags"* %to_ref150.i, !dbg !155278, !noalias !155280
%2271 = bitcast %"flow::FlowFlags"* %to_ref150.i to i32*, !dbg !155278
%2272 = load i32, i32* %2271, align 4, !dbg !155278, !noalias !155280
%2273 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2269, i32 %2272)
to label %normal-return151.i unwind label %unwind_ast_4428_.i, !dbg !155358, !noalias !155287
normal-return151.i: ; preds = %normal-return147.i
%2274 = zext i1 %2273 to i8, !dbg !155278
store i8 %2274, i8* %2255, !dbg !155278, !noalias !155280
%2275 = load { i8, i8 }, { i8, i8 }* %159, !dbg !155358, !noalias !155280
store { i8, i8 } %2275, { i8, i8 }* %match152.i, !dbg !155278, !noalias !155280
%2276 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %match152.i, i32 0, i32 0, !dbg !155278
%2277 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %match152.i, i32 0, i32 1, !dbg !155278
%2278 = load i8, i8* %2277, !dbg !155278, !range !58629, !noalias !155280
%2279 = trunc i8 %2278 to i1, !dbg !155278
%2280 = icmp eq i1 %2279, false, !dbg !155360
br i1 %2280, label %match_case158.i, label %compare_next.i, !dbg !155360
match_case158.i: ; preds = %normal-return151.i
%2281 = load i8, i8* %2276, !dbg !155360, !range !58629, !noalias !155280
%2282 = trunc i8 %2281 to i1, !dbg !155360
%2283 = icmp eq i1 %2282, false, !dbg !155360
br i1 %2283, label %match_case160.i, label %compare_next161.i, !dbg !155360
compare_next.i: ; preds = %compare_next163.i, %normal-return151.i
%2284 = load i8, i8* %2276, !dbg !155361, !range !58629, !noalias !155280
%2285 = trunc i8 %2284 to i1, !dbg !155361
%2286 = icmp eq i1 %2285, false, !dbg !155361
br i1 %2286, label %match_case165.i, label %compare_next166.i, !dbg !155361
match_case160.i: ; preds = %match_case158.i
%2287 = bitcast %"33.app_units::Au"* %clearance.i to { i32 }*, !dbg !155360
%2288 = bitcast { i32 }* %2287 to i8*, !dbg !155360
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2288, i8* bitcast ({ i32 }* @const42369 to i8*), i64 4, i32 4, i1 false), !dbg !155360, !noalias !155287
br label %join173.i, !dbg !155278
compare_next161.i: ; preds = %match_case158.i
br i1 %2282, label %match_case162.i, label %compare_next163.i, !dbg !155362
match_case162.i: ; preds = %compare_next161.i
%2289 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i, i8 0)
to label %normal-return167.i unwind label %unwind_ast_4428_.i, !dbg !155362, !noalias !155287
compare_next163.i: ; preds = %compare_next161.i
br label %compare_next.i, !dbg !155278
match_case165.i: ; preds = %compare_next.i
%2290 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i, i8 1)
to label %normal-return169.i unwind label %unwind_ast_4428_.i, !dbg !155361, !noalias !155287
compare_next166.i: ; preds = %compare_next.i
%2291 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i, i8 2)
to label %normal-return171.i unwind label %unwind_ast_4428_.i, !dbg !155363, !noalias !155287
normal-return167.i: ; preds = %match_case162.i
store i32 %2289, i32* %abi_cast168.i, !dbg !155278, !noalias !155280
%2292 = bitcast %"33.app_units::Au"* %clearance.i to i8*, !dbg !155278
%2293 = bitcast i32* %abi_cast168.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2292, i8* %2293, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
br label %join173.i, !dbg !155278
normal-return169.i: ; preds = %match_case165.i
store i32 %2290, i32* %abi_cast170.i, !dbg !155278, !noalias !155280
%2294 = bitcast %"33.app_units::Au"* %clearance.i to i8*, !dbg !155278
%2295 = bitcast i32* %abi_cast170.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2294, i8* %2295, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
br label %join173.i, !dbg !155278
normal-return171.i: ; preds = %compare_next166.i
store i32 %2291, i32* %abi_cast172.i, !dbg !155278, !noalias !155280
%2296 = bitcast %"33.app_units::Au"* %clearance.i to i8*, !dbg !155278
%2297 = bitcast i32* %abi_cast172.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2296, i8* %2297, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
br label %join173.i, !dbg !155278
join173.i: ; preds = %normal-return171.i, %normal-return169.i, %normal-return167.i, %match_case160.i
%2298 = load %"33.app_units::Au", %"33.app_units::Au"* %clearance.i, !dbg !155364, !noalias !155280
store %"33.app_units::Au" %2298, %"33.app_units::Au"* %to_ref174.i, !dbg !155278, !noalias !155280
%2299 = bitcast %"33.app_units::Au"* %to_ref174.i to i32*, !dbg !155278
%2300 = load i32, i32* %2299, align 4, !dbg !155278, !noalias !155280
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i, i32 %2300, %"floats::Floats"* dereferenceable(40) %floats.i)
to label %normal-return175.i unwind label %unwind_ast_4428_.i, !dbg !155364, !noalias !155287
normal-return175.i: ; preds = %join173.i
%2301 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155365
%2302 = load i8*, i8** %2301, !dbg !155365, !noalias !155287
%2303 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155365
%2304 = load void (i8*)**, void (i8*)*** %2303, !dbg !155365, !noalias !155287
%2305 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i428.i, i32 0, i32 0, !dbg !155365
store i8* %2302, i8** %2305, !dbg !155365, !noalias !155280
%2306 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i428.i, i32 0, i32 1, !dbg !155365
store void (i8*)** %2304, void (i8*)*** %2306, !dbg !155365, !noalias !155280
%2307 = bitcast { i8*, void (i8*)** }* %this.i428.i to %"2.core::raw::TraitObject"*, !dbg !154951
store %"2.core::raw::TraitObject"* %2307, %"2.core::raw::TraitObject"** %obj.i429.i, !dbg !154951, !noalias !155280
%2308 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i429.i, !dbg !155366, !noalias !155280, !nonnull !2274
%2309 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2308, i32 0, i32 0, !dbg !155365
%2310 = load {}*, {}** %2309, !dbg !155366, !noalias !155287
%2311 = bitcast {}* %2310 to %"flow::BaseFlow"*, !dbg !155366
store %"flow::BaseFlow"* %2311, %"flow::BaseFlow"** %162, !dbg !155278, !noalias !155280
%2312 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %162, !dbg !155365, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2312, %"flow::BaseFlow"** %auto_deref177.i, !dbg !155278, !noalias !155280
%2313 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref177.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2314 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2313, i32 0, i32 3, !dbg !155278
%2315 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %2314, i32 0, i32 0, !dbg !155278
%2316 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %2315, i32 0, i32 1, !dbg !155278
%2317 = bitcast %"33.app_units::Au"* %cur_b.i to i8*, !dbg !155278
%2318 = bitcast %"33.app_units::Au"* %2316 to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2318, i8* %2317, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155287
%2319 = load i8, i8* %need_to_process_child_floats.i, !dbg !155367, !range !58629, !noalias !155280
%2320 = trunc i8 %2319 to i1, !dbg !155367
br i1 %2320, label %then-block-4860-.i, label %next-block181.i, !dbg !155367
then-block-4860-.i: ; preds = %normal-return175.i
%2321 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155368
%2322 = load i8*, i8** %2321, !dbg !155368, !noalias !155287
%2323 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155368
%2324 = load void (i8*)**, void (i8*)*** %2323, !dbg !155368, !noalias !155287
%2325 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i430.i, i32 0, i32 0, !dbg !155368
store i8* %2322, i8** %2325, !dbg !155368, !noalias !155280
%2326 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i430.i, i32 0, i32 1, !dbg !155368
store void (i8*)** %2324, void (i8*)*** %2326, !dbg !155368, !noalias !155280
%2327 = bitcast { i8*, void (i8*)** }* %this.i430.i to %"2.core::raw::TraitObject"*, !dbg !154948
store %"2.core::raw::TraitObject"* %2327, %"2.core::raw::TraitObject"** %obj.i431.i, !dbg !154948, !noalias !155280
%2328 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i431.i, !dbg !155369, !noalias !155280, !nonnull !2274
%2329 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2328, i32 0, i32 0, !dbg !155368
%2330 = load {}*, {}** %2329, !dbg !155369, !noalias !155287
%2331 = bitcast {}* %2330 to %"flow::BaseFlow"*, !dbg !155369
store %"flow::BaseFlow"* %2331, %"flow::BaseFlow"** %164, !dbg !155278, !noalias !155280
%2332 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %164, !dbg !155368, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2332, %"flow::BaseFlow"** %auto_deref179.i, !dbg !155278, !noalias !155280
%2333 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref179.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2334 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2333, i32 0, i32 6, !dbg !155278
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %163, %"floats::Floats"* noalias readonly dereferenceable(40) %2334)
to label %normal-return180.i unwind label %unwind_ast_4428_.i, !dbg !155368, !noalias !155287
normal-return180.i: ; preds = %then-block-4860-.i
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i), !dbg !155368, !noalias !155287
%2335 = bitcast %"floats::Floats"* %163 to i8*, !dbg !155368
%2336 = bitcast %"floats::Floats"* %floats.i to i8*, !dbg !155368
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2336, i8* %2335, i64 40, i32 8, i1 false), !dbg !155368, !noalias !155280
br label %next-block181.i, !dbg !155278
next-block181.i: ; preds = %normal-return180.i, %normal-return175.i
%2337 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 0, !dbg !155028
%2338 = load i8*, i8** %2337, !dbg !155028, !noalias !155287
%2339 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %1828, i32 0, i32 1, !dbg !155028
%2340 = load void (i8*)**, void (i8*)*** %2339, !dbg !155028, !noalias !155287
%2341 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i432.i, i32 0, i32 0, !dbg !155028
store i8* %2338, i8** %2341, !dbg !155028, !noalias !155280
%2342 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i432.i, i32 0, i32 1, !dbg !155028
store void (i8*)** %2340, void (i8*)*** %2342, !dbg !155028, !noalias !155280
%2343 = bitcast { i8*, void (i8*)** }* %this.i432.i to %"2.core::raw::TraitObject"*, !dbg !154945
store %"2.core::raw::TraitObject"* %2343, %"2.core::raw::TraitObject"** %obj.i433.i, !dbg !154945, !noalias !155280
%2344 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i433.i, !dbg !155370, !noalias !155280, !nonnull !2274
%2345 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2344, i32 0, i32 0, !dbg !155028
%2346 = load {}*, {}** %2345, !dbg !155370, !noalias !155287
%2347 = bitcast {}* %2346 to %"flow::BaseFlow"*, !dbg !155370
store %"flow::BaseFlow"* %2347, %"flow::BaseFlow"** %kid_base182.i, !dbg !155278, !noalias !155280
%2348 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %kid_base182.i, !dbg !155371, !noalias !155280, !nonnull !2274
%2349 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2348, i32 0, i32 3, !dbg !155278
%2350 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %2349, i32 0, i32 1, !dbg !155278
%2351 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %2350, i32 0, i32 1, !dbg !155278
%2352 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i, !dbg !155371, !noalias !155280
store %"33.app_units::Au" %2352, %"33.app_units::Au"* %to_ref184.i, !dbg !155278, !noalias !155280
%2353 = bitcast %"33.app_units::Au"* %to_ref184.i to i32*, !dbg !155278
%2354 = load i32, i32* %2353, align 4, !dbg !155278, !noalias !155280
%2355 = load %"33.app_units::Au", %"33.app_units::Au"* %2351, !dbg !155278, !noalias !155287
store %"33.app_units::Au" %2355, %"33.app_units::Au"* %to_ref185.i, !dbg !155278, !noalias !155280
%2356 = bitcast %"33.app_units::Au"* %to_ref185.i to i32*, !dbg !155278
%2357 = load i32, i32* %2356, align 4, !dbg !155278, !noalias !155280
%2358 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Add$GT$3add17h883f55f3f6eadb15E"(i32 %2354, i32 %2357)
to label %normal-return186.i unwind label %unwind_ast_4428_.i, !dbg !155371, !noalias !155287
normal-return186.i: ; preds = %next-block181.i
store i32 %2358, i32* %abi_cast187.i, !dbg !155278, !noalias !155280
%2359 = bitcast %"33.app_units::Au"* %165 to i8*, !dbg !155278
%2360 = bitcast i32* %abi_cast187.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2359, i8* %2360, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2361 = load %"33.app_units::Au", %"33.app_units::Au"* %165, !dbg !155371, !noalias !155280
store %"33.app_units::Au" %2361, %"33.app_units::Au"* %cur_b.i, !dbg !155371, !noalias !155280
%2362 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %kid_base182.i, !dbg !155372, !noalias !155280, !nonnull !2274
%2363 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2362, i32 0, i32 9, !dbg !155278
%2364 = invoke i32 @_ZN6layout5model18MarginCollapseInfo24advance_block_end_margin17hf4ee4cb672dabe0aE(%"model::MarginCollapseInfo"* dereferenceable(20) %margin_collapse_info.i, %"model::CollapsibleMargins"* noalias readonly dereferenceable(20) %2363)
to label %normal-return189.i unwind label %unwind_ast_4428_.i, !dbg !155372, !noalias !155287
normal-return189.i: ; preds = %normal-return186.i
store i32 %2364, i32* %abi_cast190.i, !dbg !155278, !noalias !155280
%2365 = bitcast %"33.app_units::Au"* %delta188.i to i8*, !dbg !155278
%2366 = bitcast i32* %abi_cast190.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2365, i8* %2366, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2367 = load %"33.app_units::Au", %"33.app_units::Au"* %delta188.i, !dbg !155373, !noalias !155280
store %"33.app_units::Au" %2367, %"33.app_units::Au"* %to_ref191.i, !dbg !155278, !noalias !155280
%2368 = bitcast %"33.app_units::Au"* %to_ref191.i to i32*, !dbg !155278
%2369 = load i32, i32* %2368, align 4, !dbg !155278, !noalias !155280
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i, i32 %2369, %"floats::Floats"* dereferenceable(40) %floats.i)
to label %normal-return192.i unwind label %unwind_ast_4428_.i, !dbg !155373, !noalias !155287
normal-return192.i: ; preds = %normal-return189.i
%2370 = invoke zeroext i1 @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$7is_some17hdc03d1411677e9d9E"(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* noalias readonly dereferenceable(32) %break_at.i)
to label %normal-return193.i unwind label %unwind_ast_4428_.i, !dbg !155374, !noalias !155287
normal-return193.i: ; preds = %normal-return192.i
%2371 = zext i1 %2370 to i8, !dbg !155278
store i8 %2371, i8* %166, !dbg !155278, !noalias !155280
%2372 = load i8, i8* %166, !dbg !155374, !range !58629, !noalias !155280
%2373 = trunc i8 %2372 to i1, !dbg !155374
br i1 %2373, label %then-block-4903-.i, label %next-block197.i, !dbg !155374
then-block-4903-.i: ; preds = %normal-return193.i
br label %clean_ast_4563_196.i, !dbg !155375
clean_ast_92035_194.i: ; preds = %match_case41.i, %clean_ast_4563_196.i
%2374 = invoke zeroext i1 @"_ZN78_$LT$layout..block..MarginsMayCollapseFlag$u20$as$u20$core..cmp..PartialEq$GT$2eq17hb29fd717e817d7c7E"(i8* noalias readonly dereferenceable(1) %margins_may_collapse.i, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return214.i unwind label %unwind_ast_4428_.i, !dbg !155376, !noalias !155287
clean_ast_4563_196.i: ; preds = %then-block-4919-.i, %then-block-4903-.i
br label %clean_ast_92035_194.i, !dbg !155278
next-block197.i: ; preds = %normal-return193.i
%2375 = getelementptr inbounds %"2.core::option::Option<flow::FragmentationContext>", %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i, i32 0, i32 0, !dbg !155278
%2376 = load i32, i32* %2375, !dbg !155278, !range !64827, !noalias !155280
%cond34 = icmp eq i32 %2376, 1, !dbg !155278
br i1 %cond34, label %match_case202.i, label %match_else201.i, !dbg !155278
match_else201.i: ; preds = %next-block197.i
br label %join210.i, !dbg !155278
match_case202.i: ; preds = %next-block197.i
%2377 = bitcast %"2.core::option::Option<flow::FragmentationContext>"* %fragmentation_context.i to { i32, %"flow::FragmentationContext" }*, !dbg !155278
%2378 = getelementptr inbounds { i32, %"flow::FragmentationContext" }, { i32, %"flow::FragmentationContext" }* %2377, i32 0, i32 1, !dbg !155278
store %"flow::FragmentationContext"* %2378, %"flow::FragmentationContext"** %ctx199.i, !dbg !155278, !noalias !155280
%2379 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %ctx199.i, !dbg !155377, !noalias !155280, !nonnull !2274
%2380 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %2379, i32 0, i32 0, !dbg !155278
%2381 = invoke zeroext i1 @"_ZN65_$LT$app_units..app_unit..Au$u20$as$u20$core..cmp..PartialOrd$GT$2gt17h2cf0edf8a9fa416dE"(%"33.app_units::Au"* noalias readonly dereferenceable(4) %cur_b.i, %"33.app_units::Au"* noalias readonly dereferenceable(4) %2380)
to label %normal-return203.i unwind label %unwind_ast_4428_.i, !dbg !155377, !noalias !155287
normal-return203.i: ; preds = %match_case202.i
%2382 = zext i1 %2381 to i8, !dbg !155278
store i8 %2382, i8* %167, !dbg !155278, !noalias !155280
%2383 = load i8, i8* %167, !dbg !155377, !range !58629, !noalias !155280
%2384 = trunc i8 %2383 to i1, !dbg !155377
br i1 %2384, label %before_rhs205.i, label %join204.i, !dbg !155278
join204.i: ; preds = %before_rhs205.i, %normal-return203.i
%2385 = phi i1 [ %2384, %normal-return203.i ], [ %2390, %before_rhs205.i ], !dbg !155278
br i1 %2385, label %then-block-4919-.i, label %next-block208.i, !dbg !155377
before_rhs205.i: ; preds = %normal-return203.i
%2386 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %ctx199.i, !dbg !155377, !noalias !155280, !nonnull !2274
%2387 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %2386, i32 0, i32 1, !dbg !155278
%2388 = load i8, i8* %2387, !dbg !155377, !range !58629, !noalias !155287
%2389 = trunc i8 %2388 to i1, !dbg !155377
%2390 = xor i1 %2389, true, !dbg !155377
br label %join204.i, !dbg !155278
then-block-4919-.i: ; preds = %join204.i
%2391 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %168 to { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }*, !dbg !155278
%2392 = getelementptr inbounds { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }, { i64, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" } }* %2391, i32 0, i32 1, !dbg !155278
%2393 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %2392, i32 0, i32 0, !dbg !155278
%2394 = load i64, i64* %child_index.i, !dbg !155378, !noalias !155280
store i64 %2394, i64* %2393, !dbg !155378, !noalias !155280
%2395 = getelementptr inbounds { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }, { i64, %"2.core::option::Option<std::sync::Arc<flow::Flow>>" }* %2392, i32 0, i32 1, !dbg !155278
%2396 = bitcast %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %2395 to { { { { { i8*, void (i8*)** } }, {} } } }*, !dbg !155378
%2397 = bitcast { { { { { i8*, void (i8*)** } }, {} } } }* %2396 to i8*, !dbg !155378
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2397, i8* bitcast ({ { { { { i8*, void (i8*)** } }, {} } } }* @const41463 to i8*), i64 16, i32 8, i1 false), !dbg !155378, !noalias !155287
%2398 = getelementptr inbounds %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>", %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %168, i32 0, i32 0, !dbg !155378
store i64 1, i64* %2398, !dbg !155378, !noalias !155280
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i), !dbg !155378, !noalias !155287
%2399 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %168 to i8*, !dbg !155378
%2400 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i to i8*, !dbg !155378
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2400, i8* %2399, i64 32, i32 8, i1 false), !dbg !155378, !noalias !155280
%2401 = bitcast %"33.app_units::Au"* %previous_b.i to i8*, !dbg !155379
%2402 = bitcast %"33.app_units::Au"* %cur_b.i to i8*, !dbg !155379
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2402, i8* %2401, i64 4, i32 4, i1 false), !dbg !155379, !noalias !155280
br label %clean_ast_4563_196.i, !dbg !155278
next-block208.i: ; preds = %join204.i
%2403 = load %"flow::FragmentationContext"*, %"flow::FragmentationContext"** %ctx199.i, !dbg !155380, !noalias !155280, !nonnull !2274
%2404 = getelementptr inbounds %"flow::FragmentationContext", %"flow::FragmentationContext"* %2403, i32 0, i32 1, !dbg !155278
store i8 0, i8* %2404, !dbg !155380, !noalias !155287
br label %join210.i, !dbg !155278
join210.i: ; preds = %next-block208.i, %match_else201.i
br label %loop_body.i, !dbg !155278
normal-return214.i: ; preds = %clean_ast_92035_194.i
%2405 = zext i1 %2374 to i8, !dbg !155278
store i8 %2405, i8* %169, !dbg !155278, !noalias !155280
%2406 = load i8, i8* %169, !dbg !155376, !range !58629, !noalias !155280
%2407 = trunc i8 %2406 to i1, !dbg !155376
br i1 %2407, label %before_rhs216.i, label %join215.i, !dbg !155278
join215.i: ; preds = %normal-return218.i, %normal-return214.i
%2408 = phi i1 [ %2407, %normal-return214.i ], [ %2419, %normal-return218.i ], !dbg !155278
br i1 %2408, label %before_rhs220.i, label %join219.i, !dbg !155278
before_rhs216.i: ; preds = %normal-return214.i
%2409 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155381, !noalias !155280, !nonnull !2274
%2410 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2409, i32 0, i32 0, !dbg !155278
%2411 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2410, i32 0, i32 22, !dbg !155278
%2412 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155381, !noalias !155287
store %"flow::FlowFlags" %2412, %"flow::FlowFlags"* %to_ref217.i, !dbg !155278, !noalias !155280
%2413 = bitcast %"flow::FlowFlags"* %to_ref217.i to i32*, !dbg !155278
%2414 = load i32, i32* %2413, align 4, !dbg !155278, !noalias !155280
%2415 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2411, i32 %2414)
to label %normal-return218.i unwind label %unwind_ast_4428_.i, !dbg !155381, !noalias !155287
normal-return218.i: ; preds = %before_rhs216.i
%2416 = zext i1 %2415 to i8, !dbg !155278
store i8 %2416, i8* %170, !dbg !155278, !noalias !155280
%2417 = load i8, i8* %170, !dbg !155381, !range !58629, !noalias !155280
%2418 = trunc i8 %2417 to i1, !dbg !155381
%2419 = xor i1 %2418, true, !dbg !155381
br label %join215.i, !dbg !155278
join219.i: ; preds = %normal-return221.i, %join215.i
%2420 = phi i1 [ %2408, %join215.i ], [ %2444, %normal-return221.i ], !dbg !155278
%2421 = zext i1 %2420 to i8, !dbg !155278
store i8 %2421, i8* %can_collapse_block_end_margin_with_kids.i, !dbg !155278, !noalias !155280
%2422 = bitcast %"model::MarginCollapseInfo"* %margin_collapse_info.i to i8*, !dbg !155278
%2423 = bitcast %"model::MarginCollapseInfo"* %arg.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2423, i8* %2422, i64 20, i32 4, i1 false), !dbg !155278, !noalias !155280
%2424 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155382, !noalias !155280, !nonnull !2274
%2425 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2424, i32 0, i32 1, !dbg !155278
%2426 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155383, !noalias !155280, !nonnull !2274
%2427 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2426, i32 0, i32 0, !dbg !155278
%2428 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2427, i32 0, i32 14, !dbg !155278
%2429 = load %"2.core::option::Option<app_units::Au>", %"2.core::option::Option<app_units::Au>"* %2428, !dbg !155383, !noalias !155287
store %"2.core::option::Option<app_units::Au>" %2429, %"2.core::option::Option<app_units::Au>"* %to_ref222.i, !dbg !155278, !noalias !155280
%2430 = bitcast %"2.core::option::Option<app_units::Au>"* %to_ref222.i to i64*, !dbg !155278
%2431 = load i64, i64* %2430, align 4, !dbg !155278, !noalias !155280
%2432 = load i8, i8* %can_collapse_block_end_margin_with_kids.i, !dbg !155384, !range !58629, !noalias !155280
%2433 = trunc i8 %2432 to i1, !dbg !155384
%2434 = load i8, i8* %had_floated_children.i, !dbg !155385, !range !58629, !noalias !155280
%2435 = trunc i8 %2434 to i1, !dbg !155385
%2436 = xor i1 %2435, true, !dbg !155385
invoke void @_ZN6layout5model18MarginCollapseInfo38finish_and_compute_collapsible_margins17hc22ed3d03c0b2b87E({ %"model::CollapsibleMargins", %"33.app_units::Au" }* noalias nocapture sret dereferenceable(24) %172, %"model::MarginCollapseInfo"* noalias nocapture dereferenceable(20) %arg.i, %"fragment::Fragment"* noalias readonly dereferenceable(160) %2425, i64 %2431, i1 zeroext %2433, i1 zeroext %2436)
to label %normal-return223.i unwind label %unwind_ast_4428_224.i, !dbg !155386, !noalias !155287
before_rhs220.i: ; preds = %join215.i
%2437 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155387, !noalias !155280, !nonnull !2274
%2438 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2437, i32 0, i32 1, !dbg !155278
%2439 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2438, i32 0, i32 4, !dbg !155278
%2440 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %2439, i32 0, i32 2, !dbg !155278
%2441 = invoke zeroext i1 @"_ZN64_$LT$app_units..app_unit..Au$u20$as$u20$core..cmp..PartialEq$GT$2eq17h0437942f87bebe69E"(%"33.app_units::Au"* noalias readonly dereferenceable(4) %2440, %"33.app_units::Au"* noalias readonly dereferenceable(4) bitcast ({ i32 }* @const42369 to %"33.app_units::Au"*))
to label %normal-return221.i unwind label %unwind_ast_4428_.i, !dbg !155387, !noalias !155287
normal-return221.i: ; preds = %before_rhs220.i
%2442 = zext i1 %2441 to i8, !dbg !155278
store i8 %2442, i8* %171, !dbg !155278, !noalias !155280
%2443 = load i8, i8* %171, !dbg !155387, !range !58629, !noalias !155280
%2444 = trunc i8 %2443 to i1, !dbg !155387
br label %join219.i, !dbg !155278
normal-return223.i: ; preds = %join219.i
%2445 = getelementptr inbounds { %"model::CollapsibleMargins", %"33.app_units::Au" }, { %"model::CollapsibleMargins", %"33.app_units::Au" }* %172, i32 0, i32 0, !dbg !155278
%2446 = bitcast %"model::CollapsibleMargins"* %2445 to i8*, !dbg !155278
%2447 = bitcast %"model::CollapsibleMargins"* %collapsible_margins.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2447, i8* %2446, i64 20, i32 4, i1 false), !dbg !155278, !noalias !155280
%2448 = getelementptr inbounds { %"model::CollapsibleMargins", %"33.app_units::Au" }, { %"model::CollapsibleMargins", %"33.app_units::Au" }* %172, i32 0, i32 1, !dbg !155278
%2449 = bitcast %"33.app_units::Au"* %2448 to i8*, !dbg !155278
%2450 = bitcast %"33.app_units::Au"* %delta226.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2450, i8* %2449, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2451 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155388, !noalias !155280, !nonnull !2274
%2452 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2451, i32 0, i32 0, !dbg !155278
%2453 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2452, i32 0, i32 9, !dbg !155278
%2454 = bitcast %"model::CollapsibleMargins"* %collapsible_margins.i to i8*, !dbg !155388
%2455 = bitcast %"model::CollapsibleMargins"* %2453 to i8*, !dbg !155388
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2455, i8* %2454, i64 20, i32 4, i1 false), !dbg !155388, !noalias !155287
%2456 = load %"33.app_units::Au", %"33.app_units::Au"* %delta226.i, !dbg !155389, !noalias !155280
store %"33.app_units::Au" %2456, %"33.app_units::Au"* %to_ref227.i, !dbg !155278, !noalias !155280
%2457 = bitcast %"33.app_units::Au"* %to_ref227.i to i32*, !dbg !155278
%2458 = load i32, i32* %2457, align 4, !dbg !155278, !noalias !155280
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i, i32 %2458, %"floats::Floats"* dereferenceable(40) %floats.i)
to label %normal-return228.i unwind label %unwind_ast_4428_229.i, !dbg !155389, !noalias !155287
unwind_ast_4428_224.i: ; preds = %join219.i
%2459 = landingpad { i8*, i32 }
cleanup, !dbg !155385
store { i8*, i32 } %2459, { i8*, i32 }* %114, !dbg !155385, !noalias !155280
br label %clean_ast_4428_225.i, !dbg !155278
clean_ast_4428_225.i: ; preds = %clean_ast_4428_230.i, %unwind_ast_4428_224.i
br label %clean_ast_4428_82.i, !dbg !155278
normal-return228.i: ; preds = %normal-return223.i
%2460 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i, !dbg !155033, !noalias !155280
store %"33.app_units::Au" %2460, %"33.app_units::Au"* %to_ref231.i, !dbg !155278, !noalias !155280
%2461 = bitcast %"33.app_units::Au"* %to_ref231.i to i32*, !dbg !155278
%2462 = load i32, i32* %2461, align 4, !dbg !155278, !noalias !155280
%2463 = load %"33.app_units::Au", %"33.app_units::Au"* %block_start_offset.i, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %2463, %"33.app_units::Au"* %to_ref232.i, !dbg !155278, !noalias !155280
%2464 = bitcast %"33.app_units::Au"* %to_ref232.i to i32*, !dbg !155278
%2465 = load i32, i32* %2464, align 4, !dbg !155278, !noalias !155280
%2466 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %2462, i32 %2465)
to label %normal-return233.i unwind label %unwind_ast_4428_229.i, !dbg !155033, !noalias !155287
unwind_ast_4428_229.i: ; preds = %normal-return228.i, %normal-return223.i
%2467 = landingpad { i8*, i32 }
cleanup, !dbg !155389
store { i8*, i32 } %2467, { i8*, i32 }* %114, !dbg !155389, !noalias !155280
br label %clean_ast_4428_230.i, !dbg !155278
clean_ast_4428_230.i: ; preds = %clean_ast_4428_237.i, %unwind_ast_4428_229.i
br label %clean_ast_4428_225.i, !dbg !155278
normal-return233.i: ; preds = %normal-return228.i
store i32 %2466, i32* %abi_cast234.i, !dbg !155278, !noalias !155280
%2468 = bitcast %"33.app_units::Au"* %block_size.i to i8*, !dbg !155278
%2469 = bitcast i32* %abi_cast234.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2468, i8* %2469, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2470 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155034, !noalias !155280, !nonnull !2274
%2471 = invoke zeroext i1 @"_ZN63_$LT$layout..block..BlockFlow$u20$as$u20$layout..flow..Flow$GT$7is_root17h2cfbe344e2d71bd7E"(%"block::BlockFlow"* dereferenceable(560) %2470)
to label %normal-return235.i unwind label %unwind_ast_4428_236.i, !dbg !155034, !noalias !155287
normal-return235.i: ; preds = %normal-return233.i
%2472 = zext i1 %2471 to i8, !dbg !155278
store i8 %2472, i8* %is_root.i, !dbg !155278, !noalias !155280
%2473 = load i8, i8* %is_root.i, !dbg !155390, !range !58629, !noalias !155280
%2474 = trunc i8 %2473 to i1, !dbg !155390
br i1 %2474, label %join238.i, label %before_rhs239.i, !dbg !155278
unwind_ast_4428_236.i: ; preds = %normal-return233.i
%2475 = landingpad { i8*, i32 }
cleanup, !dbg !155034
store { i8*, i32 } %2475, { i8*, i32 }* %114, !dbg !155034, !noalias !155280
br label %clean_ast_4428_237.i, !dbg !155278
clean_ast_4428_237.i: ; preds = %clean_ast_4428_242.i, %unwind_ast_4428_236.i
br label %clean_ast_4428_230.i, !dbg !155278
join238.i: ; preds = %normal-return243.i, %normal-return235.i
%2476 = phi i1 [ %2474, %normal-return235.i ], [ %2484, %normal-return243.i ], !dbg !155278
br i1 %2476, label %join244.i, label %before_rhs245.i, !dbg !155278
before_rhs239.i: ; preds = %normal-return235.i
%2477 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155390, !noalias !155280, !nonnull !2274
%2478 = invoke i8 @_ZN6layout5block9BlockFlow23formatting_context_type17h993ec10343b05d62E(%"block::BlockFlow"* dereferenceable(560) %2477)
to label %normal-return240.i unwind label %unwind_ast_4428_241.i, !dbg !155390, !noalias !155287
normal-return240.i: ; preds = %before_rhs239.i
store i8 %2478, i8* %174, !dbg !155278, !noalias !155280
%2479 = load i8, i8* %174, !dbg !155390, !noalias !155280
store i8 %2479, i8* %autoref.i, !dbg !155278, !noalias !155280
%2480 = invoke zeroext i1 @_ZN4core3cmp9PartialEq2ne17h59dcc55cd8056fc9E(i8* noalias readonly dereferenceable(1) %autoref.i, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return243.i unwind label %unwind_ast_4428_241.i, !dbg !155390, !noalias !155287
unwind_ast_4428_241.i: ; preds = %next-block295.i, %match_case283.i, %normal-return284.i, %match_case282.i, %loop_body276.i, %normal-return271.i, %next-block269.i, %normal-return263.i, %normal-return260.i, %normal-return258.i, %then-block-5035-.i, %next-block254.i, %normal-return248.i, %then-block-5016-.i, %before_rhs245.i, %normal-return240.i, %before_rhs239.i
%2481 = landingpad { i8*, i32 }
cleanup, !dbg !155390
store { i8*, i32 } %2481, { i8*, i32 }* %114, !dbg !155390, !noalias !155280
br label %clean_ast_4428_242.i, !dbg !155278
clean_ast_4428_242.i: ; preds = %clean_ast_4428_302.i, %unwind_ast_4428_241.i
br label %clean_ast_4428_237.i, !dbg !155278
normal-return243.i: ; preds = %normal-return240.i
%2482 = zext i1 %2480 to i8, !dbg !155278
store i8 %2482, i8* %173, !dbg !155278, !noalias !155280
%2483 = load i8, i8* %173, !dbg !155390, !range !58629, !noalias !155280
%2484 = trunc i8 %2483 to i1, !dbg !155390
br label %join238.i, !dbg !155278
join244.i: ; preds = %normal-return247.i, %join238.i
%2485 = phi i1 [ %2476, %join238.i ], [ %2495, %normal-return247.i ], !dbg !155278
br i1 %2485, label %then-block-5016-.i, label %next-block254.i, !dbg !155390
before_rhs245.i: ; preds = %join238.i
%2486 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155391, !noalias !155280, !nonnull !2274
%2487 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2486, i32 0, i32 0, !dbg !155278
%2488 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2487, i32 0, i32 22, !dbg !155278
%2489 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155391, !noalias !155287
store %"flow::FlowFlags" %2489, %"flow::FlowFlags"* %to_ref246.i, !dbg !155278, !noalias !155280
%2490 = bitcast %"flow::FlowFlags"* %to_ref246.i to i32*, !dbg !155278
%2491 = load i32, i32* %2490, align 4, !dbg !155278, !noalias !155280
%2492 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2488, i32 %2491)
to label %normal-return247.i unwind label %unwind_ast_4428_241.i, !dbg !155391, !noalias !155287
normal-return247.i: ; preds = %before_rhs245.i
%2493 = zext i1 %2492 to i8, !dbg !155278
store i8 %2493, i8* %175, !dbg !155278, !noalias !155280
%2494 = load i8, i8* %175, !dbg !155391, !range !58629, !noalias !155280
%2495 = trunc i8 %2494 to i1, !dbg !155391
br label %join244.i, !dbg !155278
then-block-5016-.i: ; preds = %join244.i
%2496 = invoke i32 @_ZN6layout6floats6Floats9clearance17h5da1f225984a31d3E(%"floats::Floats"* noalias readonly dereferenceable(40) %floats.i, i8 2)
to label %normal-return248.i unwind label %unwind_ast_4428_241.i, !dbg !155392, !noalias !155287
normal-return248.i: ; preds = %then-block-5016-.i
store i32 %2496, i32* %abi_cast249.i, !dbg !155278, !noalias !155280
%2497 = bitcast %"33.app_units::Au"* %177 to i8*, !dbg !155278
%2498 = bitcast i32* %abi_cast249.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2497, i8* %2498, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2499 = load %"33.app_units::Au", %"33.app_units::Au"* %177, !dbg !155278, !noalias !155280
%2500 = load %"33.app_units::Au", %"33.app_units::Au"* %block_size.i, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %2500, %"33.app_units::Au"* %to_ref250.i, !dbg !155278, !noalias !155280
%2501 = bitcast %"33.app_units::Au"* %to_ref250.i to i32*, !dbg !155278
%2502 = load i32, i32* %2501, align 4, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %2499, %"33.app_units::Au"* %to_ref251.i, !dbg !155278, !noalias !155280
%2503 = bitcast %"33.app_units::Au"* %to_ref251.i to i32*, !dbg !155278
%2504 = load i32, i32* %2503, align 4, !dbg !155278, !noalias !155280
%2505 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Add$GT$3add17h883f55f3f6eadb15E"(i32 %2502, i32 %2504)
to label %normal-return252.i unwind label %unwind_ast_4428_241.i, !dbg !155392, !noalias !155287
normal-return252.i: ; preds = %normal-return248.i
store i32 %2505, i32* %abi_cast253.i, !dbg !155278, !noalias !155280
%2506 = bitcast %"33.app_units::Au"* %176 to i8*, !dbg !155278
%2507 = bitcast i32* %abi_cast253.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2506, i8* %2507, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2508 = load %"33.app_units::Au", %"33.app_units::Au"* %176, !dbg !155392, !noalias !155280
store %"33.app_units::Au" %2508, %"33.app_units::Au"* %block_size.i, !dbg !155392, !noalias !155280
br label %next-block254.i, !dbg !155278
next-block254.i: ; preds = %normal-return252.i, %join244.i
%2509 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155393, !noalias !155280, !nonnull !2274
%2510 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2509, i32 0, i32 0, !dbg !155278
%2511 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2510, i32 0, i32 22, !dbg !155278
%2512 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155393, !noalias !155287
store %"flow::FlowFlags" %2512, %"flow::FlowFlags"* %to_ref255.i, !dbg !155278, !noalias !155280
%2513 = bitcast %"flow::FlowFlags"* %to_ref255.i to i32*, !dbg !155278
%2514 = load i32, i32* %2513, align 4, !dbg !155278, !noalias !155280
%2515 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2511, i32 %2514)
to label %normal-return256.i unwind label %unwind_ast_4428_241.i, !dbg !155393, !noalias !155287
normal-return256.i: ; preds = %next-block254.i
%2516 = zext i1 %2515 to i8, !dbg !155278
store i8 %2516, i8* %178, !dbg !155278, !noalias !155280
%2517 = load i8, i8* %178, !dbg !155393, !range !58629, !noalias !155280
%2518 = trunc i8 %2517 to i1, !dbg !155393
br i1 %2518, label %then-block-5032-.i, label %next-block269.i, !dbg !155393
then-block-5032-.i: ; preds = %normal-return256.i
%2519 = load i8, i8* %is_root.i, !dbg !155394, !range !58629, !noalias !155280
%2520 = trunc i8 %2519 to i1, !dbg !155394
br i1 %2520, label %then-block-5035-.i, label %next-block268.i, !dbg !155394
then-block-5035-.i: ; preds = %then-block-5032-.i
%2521 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155395, !noalias !155280, !nonnull !2274
%2522 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2521, i32 0, i32 1, !dbg !155278
%2523 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2522, i32 0, i32 1, !dbg !155278
%2524 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %2523)
to label %normal-return258.i unwind label %unwind_ast_4428_241.i, !dbg !155395, !noalias !155287
normal-return258.i: ; preds = %then-block-5035-.i
store %"112.style::properties::ComputedValues"* %2524, %"112.style::properties::ComputedValues"** %overloaded_deref257.i, !dbg !155278, !noalias !155280
%2525 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref257.i, !dbg !155395, !noalias !155280, !nonnull !2274
%2526 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %2525, i32 0, i32 21, !dbg !155278
%2527 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %2526, !dbg !155395, !noalias !155287
store %"112.style::logical_geometry::WritingMode" %2527, %"112.style::logical_geometry::WritingMode"* %to_ref259.i, !dbg !155278, !noalias !155280
%2528 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref259.i to i8*, !dbg !155278
%2529 = load i8, i8* %2528, align 1, !dbg !155278, !noalias !155280
%2530 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i, !dbg !155396, !noalias !155280, !nonnull !2274
%2531 = invoke dereferenceable(128) %"112.style::context::SharedStyleContext"* @"_ZN107_$LT$layout..context..LayoutContext$LT$$u27$a$GT$$u20$as$u20$style..context..StyleContext$LT$$u27$a$GT$$GT$14shared_context17h4dcab760e33ea9daE"(%"context::LayoutContext"* noalias readonly dereferenceable(16) %2530)
to label %normal-return260.i unwind label %unwind_ast_4428_241.i, !dbg !155396, !noalias !155287
normal-return260.i: ; preds = %normal-return258.i
store %"112.style::context::SharedStyleContext"* %2531, %"112.style::context::SharedStyleContext"** %179, !dbg !155278, !noalias !155280
%2532 = load %"112.style::context::SharedStyleContext"*, %"112.style::context::SharedStyleContext"** %179, !dbg !155396, !noalias !155280, !nonnull !2274
store %"112.style::context::SharedStyleContext"* %2532, %"112.style::context::SharedStyleContext"** %auto_deref261.i, !dbg !155278, !noalias !155280
%2533 = load %"112.style::context::SharedStyleContext"*, %"112.style::context::SharedStyleContext"** %auto_deref261.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2534 = getelementptr inbounds %"112.style::context::SharedStyleContext", %"112.style::context::SharedStyleContext"* %2533, i32 0, i32 0, !dbg !155278
%2535 = load %"35.euclid::Size2D<app_units::Au>", %"35.euclid::Size2D<app_units::Au>"* %2534, !dbg !155278, !noalias !155287
store %"35.euclid::Size2D<app_units::Au>" %2535, %"35.euclid::Size2D<app_units::Au>"* %to_ref262.i, !dbg !155278, !noalias !155280
%2536 = bitcast %"35.euclid::Size2D<app_units::Au>"* %to_ref262.i to i64*, !dbg !155278
%2537 = load i64, i64* %2536, align 4, !dbg !155278, !noalias !155280
invoke void @"_ZN54_$LT$style..logical_geometry..LogicalSize$LT$T$GT$$GT$13from_physical17hd44a0508daa4ad4fE"(%"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture sret dereferenceable(12) %viewport_size.i, i8 %2529, i64 %2537)
to label %normal-return263.i unwind label %unwind_ast_4428_241.i, !dbg !155395, !noalias !155287
normal-return263.i: ; preds = %normal-return260.i
%2538 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %viewport_size.i, i32 0, i32 1, !dbg !155278
%2539 = load %"33.app_units::Au", %"33.app_units::Au"* %2538, !dbg !155397, !noalias !155280
store %"33.app_units::Au" %2539, %"33.app_units::Au"* %to_ref264.i, !dbg !155278, !noalias !155280
%2540 = bitcast %"33.app_units::Au"* %to_ref264.i to i32*, !dbg !155278
%2541 = load i32, i32* %2540, align 4, !dbg !155278, !noalias !155280
%2542 = load %"33.app_units::Au", %"33.app_units::Au"* %block_size.i, !dbg !155397, !noalias !155280
store %"33.app_units::Au" %2542, %"33.app_units::Au"* %to_ref265.i, !dbg !155278, !noalias !155280
%2543 = bitcast %"33.app_units::Au"* %to_ref265.i to i32*, !dbg !155278
%2544 = load i32, i32* %2543, align 4, !dbg !155278, !noalias !155280
%2545 = invoke i32 @_ZN4core3cmp3max17h4d16c1c86924533bE(i32 %2541, i32 %2544)
to label %normal-return266.i unwind label %unwind_ast_4428_241.i, !dbg !155397, !noalias !155287
normal-return266.i: ; preds = %normal-return263.i
store i32 %2545, i32* %abi_cast267.i, !dbg !155278, !noalias !155280
%2546 = bitcast %"33.app_units::Au"* %180 to i8*, !dbg !155278
%2547 = bitcast i32* %abi_cast267.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2546, i8* %2547, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2548 = load %"33.app_units::Au", %"33.app_units::Au"* %180, !dbg !155397, !noalias !155280
store %"33.app_units::Au" %2548, %"33.app_units::Au"* %block_size.i, !dbg !155397, !noalias !155280
br label %next-block268.i, !dbg !155278
next-block268.i: ; preds = %normal-return266.i, %then-block-5032-.i
%2549 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155398, !noalias !155280, !nonnull !2274
%2550 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2549, i32 0, i32 1, !dbg !155278
%2551 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2550, i32 0, i32 3, !dbg !155278
%2552 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %2551, i32 0, i32 1, !dbg !155278
%2553 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %2552, i32 0, i32 1, !dbg !155278
%2554 = bitcast %"33.app_units::Au"* %block_size.i to i8*, !dbg !155398
%2555 = bitcast %"33.app_units::Au"* %2553 to i8*, !dbg !155398
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2555, i8* %2554, i64 4, i32 4, i1 false), !dbg !155398, !noalias !155287
br label %next-block269.i, !dbg !155278
next-block269.i: ; preds = %next-block268.i, %normal-return256.i
%2556 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155036, !noalias !155280, !nonnull !2274
%2557 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2556, i32 0, i32 0, !dbg !155278
invoke void @_ZN6layout4flow8BaseFlow14child_iter_mut17hb71153856274a84eE(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %182, %"flow::BaseFlow"* dereferenceable(376) %2557)
to label %normal-return271.i unwind label %unwind_ast_4428_241.i, !dbg !155036, !noalias !155287
normal-return271.i: ; preds = %next-block269.i
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf27956c5e5fad03eE"(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %181, %"flow_list::MutFlowListIterator"* noalias nocapture dereferenceable(32) %182)
to label %normal-return272.i unwind label %unwind_ast_4428_241.i, !dbg !155036, !noalias !155287
normal-return272.i: ; preds = %normal-return271.i
store %"flow_list::MutFlowListIterator"* %181, %"flow_list::MutFlowListIterator"** %iter274.i, !dbg !155278, !noalias !155280
%2558 = load %"flow_list::MutFlowListIterator"*, %"flow_list::MutFlowListIterator"** %iter274.i, !dbg !155278, !noalias !155280
br label %loop_body276.i, !dbg !155037
loop_body276.i: ; preds = %_ZN6layout8fragment8Fragment5style17hadd4fbd3f949ae98E.exit.i, %normal-return272.i
invoke void @"_ZN103_$LT$layout..flow_list..MutFlowListIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h377cab92137b0b04E"(%"2.core::option::Option<&mut flow::Flow>"* noalias nocapture sret dereferenceable(16) %183, %"flow_list::MutFlowListIterator"* dereferenceable(32) %2558)
to label %normal-return277.i unwind label %unwind_ast_4428_241.i, !dbg !155399, !noalias !155287
normal-return277.i: ; preds = %loop_body276.i
%2559 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %183, i32 0, i32 0, i32 0, !dbg !155278
%2560 = load i8*, i8** %2559, !dbg !155278, !noalias !155280
%2561 = icmp ne i8* %2560, null, !dbg !155278
switch i1 %2561, label %match_else281.i [
i1 true, label %match_case282.i
i1 false, label %match_case283.i
], !dbg !155278
match_else281.i: ; preds = %normal-return277.i
unreachable, !dbg !155278
match_case282.i: ; preds = %normal-return277.i
%2562 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %183, i32 0, i32 0, !dbg !155278
store { i8*, void (i8*)** }* %2562, { i8*, void (i8*)** }** %kid279.i, !dbg !155278, !noalias !155280
%2563 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %kid279.i, !dbg !155278, !noalias !155280
%2564 = getelementptr inbounds %"flow::EarlyAbsolutePositionInfo", %"flow::EarlyAbsolutePositionInfo"* %184, i32 0, i32 0, !dbg !155278
%2565 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155400, !noalias !155280, !nonnull !2274
%2566 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2565, i32 0, i32 1, !dbg !155278
invoke void @_ZN6layout8fragment8Fragment11content_box17h19b5db0dce9a172fE(%"112.style::logical_geometry::LogicalRect<app_units::Au>"* noalias nocapture sret dereferenceable(28) %185, %"fragment::Fragment"* noalias readonly dereferenceable(160) %2566)
to label %normal-return284.i unwind label %unwind_ast_4428_241.i, !dbg !155400, !noalias !155287
match_case283.i: ; preds = %normal-return277.i
%2567 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155401, !noalias !155280, !nonnull !2274
%2568 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2567, i32 0, i32 0, !dbg !155278
%2569 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2568, i32 0, i32 22, !dbg !155278
%2570 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155401, !noalias !155287
store %"flow::FlowFlags" %2570, %"flow::FlowFlags"* %to_ref291.i, !dbg !155278, !noalias !155280
%2571 = bitcast %"flow::FlowFlags"* %to_ref291.i to i32*, !dbg !155278
%2572 = load i32, i32* %2571, align 4, !dbg !155278, !noalias !155280
%2573 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2569, i32 %2572)
to label %normal-return292.i unwind label %unwind_ast_4428_241.i, !dbg !155401, !noalias !155287
normal-return284.i: ; preds = %match_case282.i
%2574 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %185, i32 0, i32 1, !dbg !155278
%2575 = bitcast %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %2574 to i8*, !dbg !155400
%2576 = bitcast %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %2564 to i8*, !dbg !155400
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2576, i8* %2575, i64 12, i32 4, i1 false), !dbg !155400, !noalias !155280
%2577 = getelementptr inbounds %"flow::EarlyAbsolutePositionInfo", %"flow::EarlyAbsolutePositionInfo"* %184, i32 0, i32 1, !dbg !155278
%2578 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155402, !noalias !155280, !nonnull !2274
%2579 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2578, i32 0, i32 1, !dbg !155278
store %"fragment::Fragment"* %2579, %"fragment::Fragment"** %self.i.i, !dbg !155402, !noalias !155403
%2580 = load %"fragment::Fragment"*, %"fragment::Fragment"** %self.i.i, !dbg !155406, !noalias !155403, !nonnull !2274
%2581 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2580, i32 0, i32 1, !dbg !155402
%2582 = invoke dereferenceable(168) %"112.style::properties::ComputedValues"* @"_ZN61_$LT$alloc..arc..Arc$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h6fd28c1d7e0ef117E"(%"5.std::sync::Arc<style::properties::ComputedValues>"* noalias readonly dereferenceable(8) %2581)
to label %_ZN6layout8fragment8Fragment5style17hadd4fbd3f949ae98E.exit.i unwind label %unwind_ast_4428_241.i, !dbg !155406, !noalias !155287
_ZN6layout8fragment8Fragment5style17hadd4fbd3f949ae98E.exit.i: ; preds = %normal-return284.i
store %"112.style::properties::ComputedValues"* %2582, %"112.style::properties::ComputedValues"** %overloaded_deref.i.i, !dbg !155402, !noalias !155403
%2583 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %overloaded_deref.i.i, !dbg !155406, !noalias !155403, !nonnull !2274
store %"112.style::properties::ComputedValues"* %2583, %"112.style::properties::ComputedValues"** %186, !dbg !155278, !noalias !155280
%2584 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %186, !dbg !155402, !noalias !155280, !nonnull !2274
store %"112.style::properties::ComputedValues"* %2584, %"112.style::properties::ComputedValues"** %auto_deref286.i, !dbg !155278, !noalias !155280
%2585 = load %"112.style::properties::ComputedValues"*, %"112.style::properties::ComputedValues"** %auto_deref286.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2586 = getelementptr inbounds %"112.style::properties::ComputedValues", %"112.style::properties::ComputedValues"* %2585, i32 0, i32 21, !dbg !155278
%2587 = bitcast %"112.style::logical_geometry::WritingMode"* %2586 to i8*, !dbg !155278
%2588 = bitcast %"112.style::logical_geometry::WritingMode"* %2577 to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2588, i8* %2587, i64 1, i32 1, i1 false), !dbg !155278, !noalias !155287
%2589 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2563, i32 0, i32 0, !dbg !155407
%2590 = load i8*, i8** %2589, !dbg !155407, !noalias !155287
%2591 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2563, i32 0, i32 1, !dbg !155407
%2592 = load void (i8*)**, void (i8*)*** %2591, !dbg !155407, !noalias !155287
%2593 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i434.i, i32 0, i32 0, !dbg !155407
store i8* %2590, i8** %2593, !dbg !155407, !noalias !155280
%2594 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %this.i434.i, i32 0, i32 1, !dbg !155407
store void (i8*)** %2592, void (i8*)*** %2594, !dbg !155407, !noalias !155280
%2595 = bitcast { i8*, void (i8*)** }* %this.i434.i to %"2.core::raw::TraitObject"*, !dbg !154940
store %"2.core::raw::TraitObject"* %2595, %"2.core::raw::TraitObject"** %obj.i435.i, !dbg !154940, !noalias !155280
%2596 = load %"2.core::raw::TraitObject"*, %"2.core::raw::TraitObject"** %obj.i435.i, !dbg !155408, !noalias !155280, !nonnull !2274
%2597 = getelementptr inbounds %"2.core::raw::TraitObject", %"2.core::raw::TraitObject"* %2596, i32 0, i32 0, !dbg !155407
%2598 = load {}*, {}** %2597, !dbg !155408, !noalias !155287
%2599 = bitcast {}* %2598 to %"flow::BaseFlow"*, !dbg !155408
store %"flow::BaseFlow"* %2599, %"flow::BaseFlow"** %187, !dbg !155278, !noalias !155280
%2600 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %187, !dbg !155407, !noalias !155280, !nonnull !2274
store %"flow::BaseFlow"* %2600, %"flow::BaseFlow"** %auto_deref288.i, !dbg !155278, !noalias !155280
%2601 = load %"flow::BaseFlow"*, %"flow::BaseFlow"** %auto_deref288.i, !dbg !155278, !noalias !155280, !nonnull !2274
%2602 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2601, i32 0, i32 16, !dbg !155278
%2603 = bitcast %"flow::EarlyAbsolutePositionInfo"* %184 to i8*, !dbg !155278
%2604 = bitcast %"flow::EarlyAbsolutePositionInfo"* %2602 to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2604, i8* %2603, i64 16, i32 4, i1 false), !dbg !155278, !noalias !155287
br label %loop_body276.i, !dbg !155278
normal-return292.i: ; preds = %match_case283.i
%2605 = zext i1 %2573 to i8, !dbg !155278
store i8 %2605, i8* %188, !dbg !155278, !noalias !155280
%2606 = load i8, i8* %188, !dbg !155401, !range !58629, !noalias !155280
%2607 = trunc i8 %2606 to i1, !dbg !155401
br i1 %2607, label %then-block-5093-.i, label %next-block295.i, !dbg !155401
then-block-5093-.i: ; preds = %normal-return292.i
%2608 = bitcast %"2.core::option::Option<std::sync::Arc<flow::Flow>>"* %0 to { { { { { i8*, void (i8*)** } }, {} } } }*, !dbg !155409
%2609 = bitcast { { { { { i8*, void (i8*)** } }, {} } } }* %2608 to i8*, !dbg !155409
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2609, i8* bitcast ({ { { { { i8*, void (i8*)** } }, {} } } }* @const41463 to i8*), i64 16, i32 8, i1 false), !dbg !155409, !noalias !155410
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i), !dbg !155309, !noalias !155287
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i), !dbg !155295, !noalias !155287
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope.i), !dbg !155295, !noalias !155287
br label %_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit, !dbg !155278
next-block295.i: ; preds = %normal-return292.i
%2610 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155411, !noalias !155280, !nonnull !2274
%2611 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2610, i32 0, i32 1, !dbg !155278
%2612 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155412, !noalias !155280, !nonnull !2274
%2613 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2612, i32 0, i32 0, !dbg !155278
%2614 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2613, i32 0, i32 14, !dbg !155278
%2615 = load %"2.core::option::Option<app_units::Au>", %"2.core::option::Option<app_units::Au>"* %2614, !dbg !155412, !noalias !155287
store %"2.core::option::Option<app_units::Au>" %2615, %"2.core::option::Option<app_units::Au>"* %to_ref296.i, !dbg !155278, !noalias !155280
%2616 = bitcast %"2.core::option::Option<app_units::Au>"* %to_ref296.i to i64*, !dbg !155278
%2617 = load i64, i64* %2616, align 4, !dbg !155278, !noalias !155280
invoke void @_ZN6layout5block22CandidateBSizeIterator3new17h2ea3f797331e6dc2E(%"block::CandidateBSizeIterator"* noalias nocapture sret dereferenceable(28) %candidate_block_size_iterator.i, %"fragment::Fragment"* noalias readonly dereferenceable(160) %2611, i64 %2617)
to label %normal-return297.i unwind label %unwind_ast_4428_241.i, !dbg !155039, !noalias !155287
normal-return297.i: ; preds = %next-block295.i
br label %loop_body299.i, !dbg !155413
loop_body299.i: ; preds = %join314.i, %normal-return297.i
invoke void @"_ZN88_$LT$layout..block..CandidateBSizeIterator$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h791e6d681164f44aE"(%"2.core::option::Option<model::MaybeAuto>"* noalias nocapture sret dereferenceable(12) %189, %"block::CandidateBSizeIterator"* dereferenceable(28) %candidate_block_size_iterator.i)
to label %normal-return300.i unwind label %unwind_ast_4428_301.i, !dbg !155414, !noalias !155287
normal-return300.i: ; preds = %loop_body299.i
%2618 = getelementptr inbounds %"2.core::option::Option<model::MaybeAuto>", %"2.core::option::Option<model::MaybeAuto>"* %189, i32 0, i32 0, !dbg !155278
%2619 = load i32, i32* %2618, !dbg !155278, !range !64827, !noalias !155280
%cond35 = icmp eq i32 %2619, 1, !dbg !155278
br i1 %cond35, label %match_case307.i, label %match_else306.i, !dbg !155278
unwind_ast_4428_301.i: ; preds = %normal-return319.i, %loop_body299.i, %match_else306.i
%2620 = landingpad { i8*, i32 }
cleanup, !dbg !155414
store { i8*, i32 } %2620, { i8*, i32 }* %114, !dbg !155414, !noalias !155280
br label %clean_ast_4428_302.i, !dbg !155278
clean_ast_4428_302.i: ; preds = %clean_ast_4428_328.i, %unwind_ast_4428_301.i
br label %clean_ast_4428_242.i, !dbg !155278
match_else306.i: ; preds = %normal-return300.i
%2621 = getelementptr inbounds %"block::CandidateBSizeIterator", %"block::CandidateBSizeIterator"* %candidate_block_size_iterator.i, i32 0, i32 3, !dbg !155278
%2622 = bitcast %"33.app_units::Au"* %2621 to i8*, !dbg !155415
%2623 = bitcast %"33.app_units::Au"* %block_size.i to i8*, !dbg !155415
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2623, i8* %2622, i64 4, i32 4, i1 false), !dbg !155415, !noalias !155280
%2624 = load %"33.app_units::Au", %"33.app_units::Au"* %cur_b.i, !dbg !155042, !noalias !155280
store %"33.app_units::Au" %2624, %"33.app_units::Au"* %to_ref317.i, !dbg !155278, !noalias !155280
%2625 = bitcast %"33.app_units::Au"* %to_ref317.i to i32*, !dbg !155278
%2626 = load i32, i32* %2625, align 4, !dbg !155278, !noalias !155280
%2627 = load %"33.app_units::Au", %"33.app_units::Au"* %block_start_offset.i, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %2627, %"33.app_units::Au"* %to_ref318.i, !dbg !155278, !noalias !155280
%2628 = bitcast %"33.app_units::Au"* %to_ref318.i to i32*, !dbg !155278
%2629 = load i32, i32* %2628, align 4, !dbg !155278, !noalias !155280
%2630 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %2626, i32 %2629)
to label %normal-return319.i unwind label %unwind_ast_4428_301.i, !dbg !155042, !noalias !155287
match_case307.i: ; preds = %normal-return300.i
%2631 = bitcast %"2.core::option::Option<model::MaybeAuto>"* %189 to { i32, %"model::MaybeAuto" }*, !dbg !155278
%2632 = getelementptr inbounds { i32, %"model::MaybeAuto" }, { i32, %"model::MaybeAuto" }* %2631, i32 0, i32 1, !dbg !155278
store %"model::MaybeAuto"* %2632, %"model::MaybeAuto"** %__llmatch304.i, !dbg !155278, !noalias !155280
%2633 = load %"model::MaybeAuto"*, %"model::MaybeAuto"** %__llmatch304.i, !dbg !155278, !noalias !155280
%2634 = bitcast %"model::MaybeAuto"* %2633 to i8*, !dbg !155278
%2635 = bitcast %"model::MaybeAuto"* %candidate_block_size.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2635, i8* %2634, i64 8, i32 4, i1 false), !dbg !155278, !noalias !155287
%2636 = getelementptr inbounds %"model::MaybeAuto", %"model::MaybeAuto"* %candidate_block_size.i, i32 0, i32 0, !dbg !155278
%2637 = load i32, i32* %2636, !dbg !155278, !range !64827, !noalias !155280
switch i32 %2637, label %match_else311.i [
i32 0, label %match_case312.i
i32 1, label %match_case313.i
], !dbg !155278
match_else311.i: ; preds = %match_case307.i
unreachable, !dbg !155278
match_case312.i: ; preds = %match_case307.i
%2638 = bitcast %"33.app_units::Au"* %block_size.i to i8*, !dbg !155416
%2639 = bitcast %"33.app_units::Au"* %190 to i8*, !dbg !155416
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2639, i8* %2638, i64 4, i32 4, i1 false), !dbg !155416, !noalias !155280
br label %join314.i, !dbg !155278
match_case313.i: ; preds = %match_case307.i
%2640 = bitcast %"model::MaybeAuto"* %candidate_block_size.i to { i32, %"33.app_units::Au" }*, !dbg !155278
%2641 = getelementptr inbounds { i32, %"33.app_units::Au" }, { i32, %"33.app_units::Au" }* %2640, i32 0, i32 1, !dbg !155278
store %"33.app_units::Au"* %2641, %"33.app_units::Au"** %__llmatch310.i, !dbg !155278, !noalias !155280
%2642 = load %"33.app_units::Au"*, %"33.app_units::Au"** %__llmatch310.i, !dbg !155416, !noalias !155280
%2643 = bitcast %"33.app_units::Au"* %2642 to i8*, !dbg !155416
%2644 = bitcast %"33.app_units::Au"* %value.i to i8*, !dbg !155416
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2644, i8* %2643, i64 4, i32 4, i1 false), !dbg !155416, !noalias !155287
%2645 = bitcast %"33.app_units::Au"* %value.i to i8*, !dbg !155041
%2646 = bitcast %"33.app_units::Au"* %190 to i8*, !dbg !155041
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2646, i8* %2645, i64 4, i32 4, i1 false), !dbg !155041, !noalias !155280
br label %join314.i, !dbg !155278
join314.i: ; preds = %match_case313.i, %match_case312.i
%2647 = load %"33.app_units::Au", %"33.app_units::Au"* %190, !dbg !155278, !noalias !155280
%2648 = getelementptr inbounds %"block::CandidateBSizeIterator", %"block::CandidateBSizeIterator"* %candidate_block_size_iterator.i, i32 0, i32 3, !dbg !155278
store %"33.app_units::Au" %2647, %"33.app_units::Au"* %2648, !dbg !155417, !noalias !155280
br label %loop_body299.i, !dbg !155278
normal-return319.i: ; preds = %match_else306.i
store i32 %2630, i32* %abi_cast320.i, !dbg !155278, !noalias !155280
%2649 = bitcast %"33.app_units::Au"* %191 to i8*, !dbg !155278
%2650 = bitcast i32* %abi_cast320.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2649, i8* %2650, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2651 = load %"33.app_units::Au", %"33.app_units::Au"* %191, !dbg !155042, !noalias !155280
%2652 = load %"33.app_units::Au", %"33.app_units::Au"* %block_size.i, !dbg !155042, !noalias !155280
store %"33.app_units::Au" %2652, %"33.app_units::Au"* %to_ref321.i, !dbg !155278, !noalias !155280
%2653 = bitcast %"33.app_units::Au"* %to_ref321.i to i32*, !dbg !155278
%2654 = load i32, i32* %2653, align 4, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %2651, %"33.app_units::Au"* %to_ref322.i, !dbg !155278, !noalias !155280
%2655 = bitcast %"33.app_units::Au"* %to_ref322.i to i32*, !dbg !155278
%2656 = load i32, i32* %2655, align 4, !dbg !155278, !noalias !155280
%2657 = invoke i32 @"_ZN58_$LT$app_units..app_unit..Au$u20$as$u20$core..ops..Sub$GT$3sub17h87bb6c4774e05496E"(i32 %2654, i32 %2656)
to label %normal-return323.i unwind label %unwind_ast_4428_301.i, !dbg !155042, !noalias !155287
normal-return323.i: ; preds = %normal-return319.i
store i32 %2657, i32* %abi_cast324.i, !dbg !155278, !noalias !155280
%2658 = bitcast %"33.app_units::Au"* %delta316.i to i8*, !dbg !155278
%2659 = bitcast i32* %abi_cast324.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2658, i8* %2659, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2660 = load %"33.app_units::Au", %"33.app_units::Au"* %delta316.i, !dbg !155418, !noalias !155280
store %"33.app_units::Au" %2660, %"33.app_units::Au"* %to_ref325.i, !dbg !155278, !noalias !155280
%2661 = bitcast %"33.app_units::Au"* %to_ref325.i to i32*, !dbg !155278
%2662 = load i32, i32* %2661, align 4, !dbg !155278, !noalias !155280
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i, i32 %2662, %"floats::Floats"* dereferenceable(40) %floats.i)
to label %normal-return326.i unwind label %unwind_ast_4428_327.i, !dbg !155418, !noalias !155287
normal-return326.i: ; preds = %normal-return323.i
%2663 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155043, !noalias !155280, !nonnull !2274
%2664 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2663, i32 0, i32 1, !dbg !155278
%2665 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2664, i32 0, i32 4, !dbg !155278
%2666 = getelementptr inbounds %"112.style::logical_geometry::LogicalMargin<app_units::Au>", %"112.style::logical_geometry::LogicalMargin<app_units::Au>"* %2665, i32 0, i32 2, !dbg !155278
%2667 = bitcast %"33.app_units::Au"* %2666 to i8*, !dbg !155043
%2668 = bitcast %"33.app_units::Au"* %block_end_offset.i to i8*, !dbg !155043
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2668, i8* %2667, i64 4, i32 4, i1 false), !dbg !155043, !noalias !155287
%2669 = load %"33.app_units::Au", %"33.app_units::Au"* %block_end_offset.i, !dbg !155419, !noalias !155280
store %"33.app_units::Au" %2669, %"33.app_units::Au"* %to_ref329.i, !dbg !155278, !noalias !155280
%2670 = bitcast %"33.app_units::Au"* %to_ref329.i to i32*, !dbg !155278
%2671 = load i32, i32* %2670, align 4, !dbg !155278, !noalias !155280
invoke void @_ZN6layout5block26translate_including_floats17hd5c667c7acb0ce0aE(%"33.app_units::Au"* dereferenceable(4) %cur_b.i, i32 %2671, %"floats::Floats"* dereferenceable(40) %floats.i)
to label %normal-return330.i unwind label %unwind_ast_4428_331.i, !dbg !155419, !noalias !155287
unwind_ast_4428_327.i: ; preds = %normal-return323.i
%2672 = landingpad { i8*, i32 }
cleanup, !dbg !155418
store { i8*, i32 } %2672, { i8*, i32 }* %114, !dbg !155418, !noalias !155280
br label %clean_ast_4428_328.i, !dbg !155278
clean_ast_4428_328.i: ; preds = %unwind_ast_4428_331.i, %unwind_ast_4428_327.i
br label %clean_ast_4428_302.i, !dbg !155278
normal-return330.i: ; preds = %normal-return326.i
%2673 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155420, !noalias !155280, !nonnull !2274
%2674 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2673, i32 0, i32 1, !dbg !155278
%2675 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2674, i32 0, i32 3, !dbg !155278
%2676 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %2675, i32 0, i32 1, !dbg !155278
%2677 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %2676, i32 0, i32 1, !dbg !155278
%2678 = bitcast %"33.app_units::Au"* %cur_b.i to i8*, !dbg !155420
%2679 = bitcast %"33.app_units::Au"* %2677 to i8*, !dbg !155420
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2679, i8* %2678, i64 4, i32 4, i1 false), !dbg !155420, !noalias !155287
%2680 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155421, !noalias !155280, !nonnull !2274
%2681 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2680, i32 0, i32 1, !dbg !155278
%2682 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2681, i32 0, i32 3, !dbg !155278
%2683 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %2682, i32 0, i32 0, !dbg !155278
%2684 = getelementptr inbounds %"112.style::logical_geometry::LogicalPoint<app_units::Au>", %"112.style::logical_geometry::LogicalPoint<app_units::Au>"* %2683, i32 0, i32 1, !dbg !155278
store %"33.app_units::Au" zeroinitializer, %"33.app_units::Au"* %2684, !dbg !155421, !noalias !155287
%2685 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155422, !noalias !155280, !nonnull !2274
%2686 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2685, i32 0, i32 0, !dbg !155278
%2687 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2686, i32 0, i32 22, !dbg !155278
%2688 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155422, !noalias !155287
store %"flow::FlowFlags" %2688, %"flow::FlowFlags"* %to_ref333.i, !dbg !155278, !noalias !155280
%2689 = bitcast %"flow::FlowFlags"* %to_ref333.i to i32*, !dbg !155278
%2690 = load i32, i32* %2689, align 4, !dbg !155278, !noalias !155280
%2691 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2687, i32 %2690)
to label %normal-return334.i unwind label %unwind_ast_4428_331.i, !dbg !155422, !noalias !155287
unwind_ast_4428_331.i: ; preds = %normal-return344.i, %normal-return343.i, %normal-return342.i, %normal-return341.i, %normal-return337.i, %next-block335.i, %normal-return330.i, %normal-return326.i
%2692 = landingpad { i8*, i32 }
cleanup, !dbg !155419
store { i8*, i32 } %2692, { i8*, i32 }* %114, !dbg !155419, !noalias !155280
br label %clean_ast_4428_328.i, !dbg !155278
normal-return334.i: ; preds = %normal-return330.i
%2693 = zext i1 %2691 to i8, !dbg !155278
store i8 %2693, i8* %192, !dbg !155278, !noalias !155280
%2694 = load i8, i8* %192, !dbg !155422, !range !58629, !noalias !155280
%2695 = trunc i8 %2694 to i1, !dbg !155422
%2696 = xor i1 %2695, true, !dbg !155422
br i1 %2696, label %then-block-5186-.i, label %next-block335.i, !dbg !155422
then-block-5186-.i: ; preds = %normal-return334.i
%2697 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155423, !noalias !155280, !nonnull !2274
%2698 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2697, i32 0, i32 0, !dbg !155278
%2699 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2698, i32 0, i32 3, !dbg !155278
%2700 = getelementptr inbounds %"112.style::logical_geometry::LogicalRect<app_units::Au>", %"112.style::logical_geometry::LogicalRect<app_units::Au>"* %2699, i32 0, i32 1, !dbg !155278
%2701 = getelementptr inbounds %"112.style::logical_geometry::LogicalSize<app_units::Au>", %"112.style::logical_geometry::LogicalSize<app_units::Au>"* %2700, i32 0, i32 1, !dbg !155278
%2702 = bitcast %"33.app_units::Au"* %cur_b.i to i8*, !dbg !155423
%2703 = bitcast %"33.app_units::Au"* %2701 to i8*, !dbg !155423
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2703, i8* %2702, i64 4, i32 4, i1 false), !dbg !155423, !noalias !155287
br label %next-block335.i, !dbg !155278
next-block335.i: ; preds = %then-block-5186-.i, %normal-return334.i
%2704 = load %"112.style::logical_geometry::WritingMode", %"112.style::logical_geometry::WritingMode"* %writing_mode.i, !dbg !155424, !noalias !155280
store %"112.style::logical_geometry::WritingMode" %2704, %"112.style::logical_geometry::WritingMode"* %to_ref336.i, !dbg !155278, !noalias !155280
%2705 = bitcast %"112.style::logical_geometry::WritingMode"* %to_ref336.i to i8*, !dbg !155278
%2706 = load i8, i8* %2705, align 1, !dbg !155278, !noalias !155280
%2707 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155425, !noalias !155280, !nonnull !2274
%2708 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2707, i32 0, i32 1, !dbg !155278
%2709 = invoke i32 @_ZN6layout8fragment8Fragment19inline_start_offset17hc1f292f457137b53E(%"fragment::Fragment"* noalias readonly dereferenceable(160) %2708)
to label %normal-return337.i unwind label %unwind_ast_4428_331.i, !dbg !155425, !noalias !155287
normal-return337.i: ; preds = %next-block335.i
store i32 %2709, i32* %abi_cast338.i, !dbg !155278, !noalias !155280
%2710 = bitcast %"33.app_units::Au"* %194 to i8*, !dbg !155278
%2711 = bitcast i32* %abi_cast338.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2710, i8* %2711, i64 4, i32 4, i1 false), !dbg !155278, !noalias !155280
%2712 = load %"33.app_units::Au", %"33.app_units::Au"* %194, !dbg !155278, !noalias !155280
store %"33.app_units::Au" %2712, %"33.app_units::Au"* %to_ref339.i, !dbg !155278, !noalias !155280
%2713 = bitcast %"33.app_units::Au"* %to_ref339.i to i32*, !dbg !155278
%2714 = load i32, i32* %2713, align 4, !dbg !155278, !noalias !155280
store %"33.app_units::Au" zeroinitializer, %"33.app_units::Au"* %to_ref340.i, !dbg !155278, !noalias !155280
%2715 = bitcast %"33.app_units::Au"* %to_ref340.i to i32*, !dbg !155278
%2716 = load i32, i32* %2715, align 4, !dbg !155278, !noalias !155280
invoke void @"_ZN54_$LT$style..logical_geometry..LogicalSize$LT$T$GT$$GT$3new17hb36ef1825965d48bE"(%"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture sret dereferenceable(12) %193, i8 %2706, i32 %2714, i32 %2716)
to label %normal-return341.i unwind label %unwind_ast_4428_331.i, !dbg !155424, !noalias !155287
normal-return341.i: ; preds = %normal-return337.i
invoke void @_ZN6layout6floats6Floats9translate17hef102276e94fc897E(%"floats::Floats"* dereferenceable(40) %floats.i, %"112.style::logical_geometry::LogicalSize<app_units::Au>"* noalias nocapture dereferenceable(12) %193)
to label %normal-return342.i unwind label %unwind_ast_4428_331.i, !dbg !155424, !noalias !155287
normal-return342.i: ; preds = %normal-return341.i
invoke void @"_ZN61_$LT$layout..floats..Floats$u20$as$u20$core..clone..Clone$GT$5clone17h2cc9f534b2900cb5E"(%"floats::Floats"* noalias nocapture sret dereferenceable(40) %195, %"floats::Floats"* noalias readonly dereferenceable(40) %floats.i)
to label %normal-return343.i unwind label %unwind_ast_4428_331.i, !dbg !155426, !noalias !155287
normal-return343.i: ; preds = %normal-return342.i
%2717 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155426, !noalias !155280, !nonnull !2274
%2718 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2717, i32 0, i32 0, !dbg !155278
%2719 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2718, i32 0, i32 6, !dbg !155278
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %2719), !dbg !155426, !noalias !155287
%2720 = bitcast %"floats::Floats"* %195 to i8*, !dbg !155426
%2721 = bitcast %"floats::Floats"* %2719 to i8*, !dbg !155426
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2721, i8* %2720, i64 40, i32 8, i1 false), !dbg !155426, !noalias !155287
%2722 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155427, !noalias !155280, !nonnull !2274
%2723 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i, !dbg !155427, !noalias !155280, !nonnull !2274
%2724 = invoke dereferenceable(128) %"112.style::context::SharedStyleContext"* @"_ZN107_$LT$layout..context..LayoutContext$LT$$u27$a$GT$$u20$as$u20$style..context..StyleContext$LT$$u27$a$GT$$GT$14shared_context17h4dcab760e33ea9daE"(%"context::LayoutContext"* noalias readonly dereferenceable(16) %2723)
to label %normal-return344.i unwind label %unwind_ast_4428_331.i, !dbg !155427, !noalias !155287
normal-return344.i: ; preds = %normal-return343.i
store %"112.style::context::SharedStyleContext"* %2724, %"112.style::context::SharedStyleContext"** %196, !dbg !155278, !noalias !155280
%2725 = load %"112.style::context::SharedStyleContext"*, %"112.style::context::SharedStyleContext"** %196, !dbg !155427, !noalias !155280, !nonnull !2274
invoke void @_ZN6layout5block9BlockFlow46adjust_fragments_for_collapsed_margins_if_root17hb5ac75950926fc22E(%"block::BlockFlow"* dereferenceable(560) %2722, %"112.style::context::SharedStyleContext"* dereferenceable(128) %2725)
to label %normal-return345.i unwind label %unwind_ast_4428_331.i, !dbg !155427, !noalias !155287
normal-return345.i: ; preds = %normal-return344.i
call void @_ZN4drop17hec87d82b707488eeE(%"floats::Floats"* %floats.i), !dbg !155309, !noalias !155287
br label %join364.i, !dbg !155278
else-block.i: ; preds = %normal-return.i
%2726 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155044, !noalias !155280, !nonnull !2274
%2727 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2726, i32 0, i32 0, !dbg !155278
%2728 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2727, i32 0, i32 21, !dbg !155278
%2729 = load i8, i8* %2728, !dbg !155044, !noalias !155287
store i8 %2729, i8* %thread_id346.i, !dbg !155044, !noalias !155280
%2730 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155045, !noalias !155280, !nonnull !2274
%2731 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2730, i32 0, i32 0, !dbg !155278
invoke void @_ZN6layout4flow8BaseFlow14child_iter_mut17hb71153856274a84eE(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %198, %"flow::BaseFlow"* dereferenceable(376) %2731)
to label %normal-return348.i unwind label %unwind_ast_4374_.i, !dbg !155045, !noalias !155287
normal-return348.i: ; preds = %else-block.i
invoke void @"_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17hf27956c5e5fad03eE"(%"flow_list::MutFlowListIterator"* noalias nocapture sret dereferenceable(32) %197, %"flow_list::MutFlowListIterator"* noalias nocapture dereferenceable(32) %198)
to label %normal-return349.i unwind label %unwind_ast_4374_.i, !dbg !155045, !noalias !155287
normal-return349.i: ; preds = %normal-return348.i
store %"flow_list::MutFlowListIterator"* %197, %"flow_list::MutFlowListIterator"** %iter351.i, !dbg !155278, !noalias !155280
%2732 = load %"flow_list::MutFlowListIterator"*, %"flow_list::MutFlowListIterator"** %iter351.i, !dbg !155278, !noalias !155280
br label %loop_body353.i, !dbg !155046
loop_body353.i: ; preds = %normal-return361.i, %normal-return349.i
invoke void @"_ZN103_$LT$layout..flow_list..MutFlowListIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h377cab92137b0b04E"(%"2.core::option::Option<&mut flow::Flow>"* noalias nocapture sret dereferenceable(16) %199, %"flow_list::MutFlowListIterator"* dereferenceable(32) %2732)
to label %normal-return354.i unwind label %unwind_ast_4374_.i, !dbg !155428, !noalias !155287
normal-return354.i: ; preds = %loop_body353.i
%2733 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %199, i32 0, i32 0, i32 0, !dbg !155278
%2734 = load i8*, i8** %2733, !dbg !155278, !noalias !155280
%2735 = icmp ne i8* %2734, null, !dbg !155278
switch i1 %2735, label %match_else358.i [
i1 true, label %match_case359.i
i1 false, label %match_case360.i
], !dbg !155278
match_else358.i: ; preds = %normal-return354.i
unreachable, !dbg !155278
match_case359.i: ; preds = %normal-return354.i
%2736 = getelementptr inbounds %"2.core::option::Option<&mut flow::Flow>", %"2.core::option::Option<&mut flow::Flow>"* %199, i32 0, i32 0, !dbg !155278
store { i8*, void (i8*)** }* %2736, { i8*, void (i8*)** }** %kid356.i, !dbg !155278, !noalias !155280
%2737 = load { i8*, void (i8*)** }*, { i8*, void (i8*)** }** %kid356.i, !dbg !155278, !noalias !155280
%2738 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2737, i32 0, i32 0, !dbg !155429
%2739 = load i8*, i8** %2738, !dbg !155429, !noalias !155287
%2740 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %2737, i32 0, i32 1, !dbg !155429
%2741 = load void (i8*)**, void (i8*)*** %2740, !dbg !155429, !noalias !155287
%2742 = getelementptr inbounds void (i8*)*, void (i8*)** %2741, i32 29, !dbg !155429
%2743 = load void (i8*)*, void (i8*)** %2742, !dbg !155429, !noalias !155287
%2744 = bitcast void (i8*)* %2743 to i1 (i8*, %"context::LayoutContext"*, i8)*, !dbg !155429
%2745 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i, !dbg !155429, !noalias !155280, !nonnull !2274
%2746 = load i8, i8* %thread_id346.i, !dbg !155429, !noalias !155280
%2747 = invoke zeroext i1 %2744(i8* nonnull %2739, %"context::LayoutContext"* noalias readonly dereferenceable(16) %2745, i8 %2746)
to label %normal-return361.i unwind label %unwind_ast_4374_.i, !dbg !155429, !noalias !155287
match_case360.i: ; preds = %normal-return354.i
br label %join364.i, !dbg !155278
normal-return361.i: ; preds = %match_case359.i
br label %loop_body353.i, !dbg !155278
join364.i: ; preds = %match_case360.i, %normal-return345.i
%2748 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155430, !noalias !155280, !nonnull !2274
%2749 = bitcast %"block::BlockFlow"* %2748 to i8*, !dbg !155278
%2750 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target365.i, i32 0, i32 0, !dbg !155278
store i8* %2749, i8** %2750, !dbg !155278, !noalias !155280
%2751 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target365.i, i32 0, i32 1, !dbg !155278
store void (i8*)** bitcast ({ void (%"block::BlockFlow"*)*, i64, i64, i8 (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table_colgroup::TableColGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_caption::TableCaptionFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"multicol::MulticolFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnIntrinsicInlineSize>"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnComputedInlineSize>"* (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"112.style::context::SharedStyleContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"2.core::option::Option<std::sync::Arc<flow::Flow>>"*, %"block::BlockFlow"*, %"context::LayoutContext"*, %"2.core::option::Option<flow::FragmentationContext>"*)*, i64 (%"block::BlockFlow"*, i64, %"3.std::vec::Vec<Box<gfx::display_list::StackingContext>>"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*, %"context::LayoutContext"*, i8)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"display_list_builder::DisplayListBuildState"*)*, void (%"fragment::Overflow"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**, i32, %"35.euclid::Point2D<app_units::Au>"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*, %"model::MarginCollapseInfo"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i8 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i32)*, void (%"block::BlockFlow"*, i32)*, void (%"112.style::logical_geometry::LogicalSize<app_units::Au>"*, %"block::BlockFlow"*, i64)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"5.std::sync::Arc<style::properties::ComputedValues>"*)*, void (%"block::BlockFlow"*, %"58.gfx_traits::print_tree::PrintTree"*)*, i8 (%"block::BlockFlow"*, %"2.core::fmt::Formatter"*)* }* @vtable42764 to void (i8*)**), void (i8*)*** %2751, !dbg !155278, !noalias !155280
%2752 = invoke zeroext i1 @"_ZN112_$LT$$RF$$u27$a$u20$layout..flow..Flow$u20$$u2b$$u20$$u27$static$u20$as$u20$layout..flow..ImmutableFlowUtils$GT$36contains_roots_of_absolute_flow_tree17heec5046c5c1d642eE"({ i8*, void (i8*)** }* noalias readonly dereferenceable(16) %__coerce_target365.i)
to label %normal-return366.i unwind label %unwind_ast_4374_.i, !dbg !155430, !noalias !155287
normal-return366.i: ; preds = %join364.i
%2753 = zext i1 %2752 to i8, !dbg !155278
store i8 %2753, i8* %200, !dbg !155278, !noalias !155280
%2754 = load i8, i8* %200, !dbg !155430, !range !58629, !noalias !155280
%2755 = trunc i8 %2754 to i1, !dbg !155430
br i1 %2755, label %then-block-5248-.i, label %next-block371.i, !dbg !155430
then-block-5248-.i: ; preds = %normal-return366.i
%2756 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155431, !noalias !155280, !nonnull !2274
%2757 = bitcast %"block::BlockFlow"* %2756 to i8*, !dbg !155278
%2758 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target367.i, i32 0, i32 0, !dbg !155278
store i8* %2757, i8** %2758, !dbg !155278, !noalias !155280
%2759 = getelementptr inbounds { i8*, void (i8*)** }, { i8*, void (i8*)** }* %__coerce_target367.i, i32 0, i32 1, !dbg !155278
store void (i8*)** bitcast ({ void (%"block::BlockFlow"*)*, i64, i64, i8 (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"block::BlockFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"inline::InlineFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table_wrapper::TableWrapperFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table::TableFlow"* (%"block::BlockFlow"*)*, %"table_colgroup::TableColGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_rowgroup::TableRowGroupFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_row::TableRowFlow"* (%"block::BlockFlow"*)*, %"table_caption::TableCaptionFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"multicol::MulticolFlow"* (%"block::BlockFlow"*)*, %"table_cell::TableCellFlow"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnIntrinsicInlineSize>"* (%"block::BlockFlow"*)*, %"3.std::vec::Vec<table::ColumnComputedInlineSize>"* (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"112.style::context::SharedStyleContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"2.core::option::Option<std::sync::Arc<flow::Flow>>"*, %"block::BlockFlow"*, %"context::LayoutContext"*, %"2.core::option::Option<flow::FragmentationContext>"*)*, i64 (%"block::BlockFlow"*, i64, %"3.std::vec::Vec<Box<gfx::display_list::StackingContext>>"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*, %"context::LayoutContext"*, i8)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*)*, void (%"block::BlockFlow"*, %"display_list_builder::DisplayListBuildState"*)*, void (%"fragment::Overflow"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**, i32, %"35.euclid::Point2D<app_units::Au>"*)*, void (%"block::BlockFlow"*, i8*, void (i8*)**)*, void (%"block::BlockFlow"*, %"context::LayoutContext"*, %"model::MarginCollapseInfo"*)*, void (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i8 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, i1 (%"block::BlockFlow"*)*, void (%"block::BlockFlow"*, i32)*, void (%"block::BlockFlow"*, i32)*, void (%"112.style::logical_geometry::LogicalSize<app_units::Au>"*, %"block::BlockFlow"*, i64)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"58.gfx_traits::LayerId"*, %"block::BlockFlow"*)*, void (%"block::BlockFlow"*, %"5.std::sync::Arc<style::properties::ComputedValues>"*)*, void (%"block::BlockFlow"*, %"58.gfx_traits::print_tree::PrintTree"*)*, i8 (%"block::BlockFlow"*, %"2.core::fmt::Formatter"*)* }* @vtable42764 to void (i8*)**), void (i8*)*** %2759, !dbg !155278, !noalias !155280
%2760 = getelementptr inbounds %"block::AbsoluteAssignBSizesTraversal", %"block::AbsoluteAssignBSizesTraversal"* %201, i32 0, i32 0, !dbg !155278
%2761 = load %"context::LayoutContext"*, %"context::LayoutContext"** %layout_context.i, !dbg !155432, !noalias !155280, !nonnull !2274
%2762 = invoke dereferenceable(128) %"112.style::context::SharedStyleContext"* @"_ZN107_$LT$layout..context..LayoutContext$LT$$u27$a$GT$$u20$as$u20$style..context..StyleContext$LT$$u27$a$GT$$GT$14shared_context17h4dcab760e33ea9daE"(%"context::LayoutContext"* noalias readonly dereferenceable(16) %2761)
to label %normal-return368.i unwind label %unwind_ast_4374_.i, !dbg !155432, !noalias !155287
normal-return368.i: ; preds = %then-block-5248-.i
store %"112.style::context::SharedStyleContext"* %2762, %"112.style::context::SharedStyleContext"** %2760, !dbg !155278, !noalias !155280
%2763 = load %"block::AbsoluteAssignBSizesTraversal", %"block::AbsoluteAssignBSizesTraversal"* %201, !dbg !155432, !noalias !155280
store %"block::AbsoluteAssignBSizesTraversal" %2763, %"block::AbsoluteAssignBSizesTraversal"* %addr_of369.i, !dbg !155278, !noalias !155280
invoke void @"_ZN118_$LT$$RF$$u27$a$u20$mut$u20$layout..flow..Flow$u20$$u2b$$u20$$u27$static$u20$as$u20$layout..flow..MutableFlowUtils$GT$32traverse_preorder_absolute_flows17hfc357d0fe5d6f42aE"({ i8*, void (i8*)** }* dereferenceable(16) %__coerce_target367.i, %"block::AbsoluteAssignBSizesTraversal"* dereferenceable(8) %addr_of369.i)
to label %normal-return370.i unwind label %unwind_ast_4374_.i, !dbg !155431, !noalias !155287
normal-return370.i: ; preds = %normal-return368.i
br label %next-block371.i, !dbg !155278
next-block371.i: ; preds = %normal-return370.i, %normal-return366.i
%2764 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155433, !noalias !155280, !nonnull !2274
%2765 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2764, i32 0, i32 0, !dbg !155278
%2766 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2765, i32 0, i32 22, !dbg !155278
%2767 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8is_float17h3bb4201ef87f884aE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2766)
to label %normal-return372.i unwind label %unwind_ast_4374_.i, !dbg !155433, !noalias !155287
normal-return372.i: ; preds = %next-block371.i
%2768 = zext i1 %2767 to i8, !dbg !155278
store i8 %2768, i8* %202, !dbg !155278, !noalias !155280
%2769 = load i8, i8* %202, !dbg !155433, !range !58629, !noalias !155280
%2770 = trunc i8 %2769 to i1, !dbg !155433
br i1 %2770, label %join373.i, label %before_rhs374.i, !dbg !155278
join373.i: ; preds = %normal-return377.i, %normal-return372.i
%2771 = phi i1 [ %2770, %normal-return372.i ], [ %2778, %normal-return377.i ], !dbg !155278
br i1 %2771, label %before_rhs379.i, label %join378.i, !dbg !155278
before_rhs374.i: ; preds = %normal-return372.i
%2772 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155434, !noalias !155280, !nonnull !2274
%2773 = invoke i8 @_ZN6layout5block9BlockFlow23formatting_context_type17h993ec10343b05d62E(%"block::BlockFlow"* dereferenceable(560) %2772)
to label %normal-return375.i unwind label %unwind_ast_4374_.i, !dbg !155434, !noalias !155287
normal-return375.i: ; preds = %before_rhs374.i
store i8 %2773, i8* %204, !dbg !155278, !noalias !155280
%2774 = load i8, i8* %204, !dbg !155434, !noalias !155280
store i8 %2774, i8* %autoref376.i, !dbg !155278, !noalias !155280
%2775 = invoke zeroext i1 @"_ZN77_$LT$layout..block..FormattingContextType$u20$as$u20$core..cmp..PartialEq$GT$2eq17h25e68d6771356381E"(i8* noalias readonly dereferenceable(1) %autoref376.i, i8* noalias readonly dereferenceable(1) @const40375)
to label %normal-return377.i unwind label %unwind_ast_4374_.i, !dbg !155434, !noalias !155287
normal-return377.i: ; preds = %normal-return375.i
%2776 = zext i1 %2775 to i8, !dbg !155278
store i8 %2776, i8* %203, !dbg !155278, !noalias !155280
%2777 = load i8, i8* %203, !dbg !155434, !range !58629, !noalias !155280
%2778 = trunc i8 %2777 to i1, !dbg !155434
br label %join373.i, !dbg !155278
join378.i: ; preds = %normal-return381.i, %join373.i
%2779 = phi i1 [ %2771, %join373.i ], [ %2790, %normal-return381.i ], !dbg !155278
br i1 %2779, label %then-block-5280-.i, label %next-block394.i, !dbg !155433
before_rhs379.i: ; preds = %join373.i
%2780 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155435, !noalias !155280, !nonnull !2274
%2781 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2780, i32 0, i32 0, !dbg !155278
%2782 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2781, i32 0, i32 22, !dbg !155278
%2783 = load %"flow::FlowFlags", %"flow::FlowFlags"* bitcast ({ i32 }* @const42720 to %"flow::FlowFlags"*), !dbg !155435, !noalias !155287
store %"flow::FlowFlags" %2783, %"flow::FlowFlags"* %to_ref380.i, !dbg !155278, !noalias !155280
%2784 = bitcast %"flow::FlowFlags"* %to_ref380.i to i32*, !dbg !155278
%2785 = load i32, i32* %2784, align 4, !dbg !155278, !noalias !155280
%2786 = invoke zeroext i1 @_ZN6layout4flow9FlowFlags8contains17h82e60ca8c1f0f49fE(%"flow::FlowFlags"* noalias readonly dereferenceable(4) %2782, i32 %2785)
to label %normal-return381.i unwind label %unwind_ast_4374_.i, !dbg !155435, !noalias !155287
normal-return381.i: ; preds = %before_rhs379.i
%2787 = zext i1 %2786 to i8, !dbg !155278
store i8 %2787, i8* %205, !dbg !155278, !noalias !155280
%2788 = load i8, i8* %205, !dbg !155435, !range !58629, !noalias !155280
%2789 = trunc i8 %2788 to i1, !dbg !155435
%2790 = xor i1 %2789, true, !dbg !155435
br label %join378.i, !dbg !155278
then-block-5280-.i: ; preds = %join378.i
%2791 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155436, !noalias !155280, !nonnull !2274
%2792 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2791, i32 0, i32 0, !dbg !155278
%2793 = getelementptr inbounds %"flow::BaseFlow", %"flow::BaseFlow"* %2792, i32 0, i32 0, !dbg !155278
%2794 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42361 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155436, !noalias !155287
%2795 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42723 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155436, !noalias !155287
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %2794, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref382.i, !dbg !155278, !noalias !155280
%2796 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref382.i to i8*, !dbg !155278
%2797 = load i8, i8* %2796, align 1, !dbg !155278, !noalias !155280
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %2795, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref383.i, !dbg !155278, !noalias !155280
%2798 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref383.i to i8*, !dbg !155278
%2799 = load i8, i8* %2798, align 1, !dbg !155278, !noalias !155280
%2800 = invoke i8 @"_ZN91_$LT$script_layout_interface..restyle_damage..RestyleDamage$u20$as$u20$core..ops..BitOr$GT$5bitor17hfd1c2a4b4cafa199E"(i8 %2797, i8 %2799)
to label %normal-return384.i unwind label %unwind_ast_4374_.i, !dbg !155436, !noalias !155287
normal-return384.i: ; preds = %then-block-5280-.i
store i8 %2800, i8* %abi_cast385.i, !dbg !155278, !noalias !155280
%2801 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %206 to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2801, i8* %abi_cast385.i, i64 1, i32 1, i1 false), !dbg !155278, !noalias !155280
%2802 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* %206, !dbg !155436, !noalias !155280
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %2802, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref386.i, !dbg !155278, !noalias !155280
%2803 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref386.i to i8*, !dbg !155278
%2804 = load i8, i8* %2803, align 1, !dbg !155278, !noalias !155280
invoke void @_ZN23script_layout_interface14restyle_damage13RestyleDamage6remove17h84a3d1a3cb2d9194E(%"118.script_layout_interface::restyle_damage::RestyleDamage"* dereferenceable(1) %2793, i8 %2804)
to label %normal-return387.i unwind label %unwind_ast_4374_.i, !dbg !155436, !noalias !155287
normal-return387.i: ; preds = %normal-return384.i
%2805 = load %"block::BlockFlow"*, %"block::BlockFlow"** %self.i, !dbg !155437, !noalias !155280, !nonnull !2274
%2806 = getelementptr inbounds %"block::BlockFlow", %"block::BlockFlow"* %2805, i32 0, i32 1, !dbg !155278
%2807 = getelementptr inbounds %"fragment::Fragment", %"fragment::Fragment"* %2806, i32 0, i32 8, !dbg !155278
%2808 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42361 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155437, !noalias !155287
%2809 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* bitcast ({ i8 }* @const42723 to %"118.script_layout_interface::restyle_damage::RestyleDamage"*), !dbg !155437, !noalias !155287
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %2808, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref388.i, !dbg !155278, !noalias !155280
%2810 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref388.i to i8*, !dbg !155278
%2811 = load i8, i8* %2810, align 1, !dbg !155278, !noalias !155280
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %2809, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref389.i, !dbg !155278, !noalias !155280
%2812 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref389.i to i8*, !dbg !155278
%2813 = load i8, i8* %2812, align 1, !dbg !155278, !noalias !155280
%2814 = invoke i8 @"_ZN91_$LT$script_layout_interface..restyle_damage..RestyleDamage$u20$as$u20$core..ops..BitOr$GT$5bitor17hfd1c2a4b4cafa199E"(i8 %2811, i8 %2813)
to label %normal-return390.i unwind label %unwind_ast_4374_.i, !dbg !155437, !noalias !155287
normal-return390.i: ; preds = %normal-return387.i
store i8 %2814, i8* %abi_cast391.i, !dbg !155278, !noalias !155280
%2815 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %207 to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2815, i8* %abi_cast391.i, i64 1, i32 1, i1 false), !dbg !155278, !noalias !155280
%2816 = load %"118.script_layout_interface::restyle_damage::RestyleDamage", %"118.script_layout_interface::restyle_damage::RestyleDamage"* %207, !dbg !155437, !noalias !155280
store %"118.script_layout_interface::restyle_damage::RestyleDamage" %2816, %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref392.i, !dbg !155278, !noalias !155280
%2817 = bitcast %"118.script_layout_interface::restyle_damage::RestyleDamage"* %to_ref392.i to i8*, !dbg !155278
%2818 = load i8, i8* %2817, align 1, !dbg !155278, !noalias !155280
invoke void @_ZN23script_layout_interface14restyle_damage13RestyleDamage6remove17h84a3d1a3cb2d9194E(%"118.script_layout_interface::restyle_damage::RestyleDamage"* dereferenceable(1) %2807, i8 %2818)
to label %normal-return393.i unwind label %unwind_ast_4374_.i, !dbg !155437, !noalias !155287
normal-return393.i: ; preds = %normal-return390.i
br label %next-block394.i, !dbg !155278
next-block394.i: ; preds = %normal-return393.i, %join378.i
%2819 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i to i8*, !dbg !155278
%2820 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %arg395.i to i8*, !dbg !155278
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2820, i8* %2819, i64 32, i32 8, i1 false), !dbg !155278, !noalias !155280
%2821 = bitcast %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i to i8*, !dbg !155278
call void @llvm.memset.p0i8.i64(i8* %2821, i8 29, i64 32, i32 8, i1 false), !dbg !155278, !noalias !155280
%2822 = getelementptr inbounds %closure.413, %closure.413* %208, i32 0, i32 0, !dbg !155278
store %"block::BlockFlow"** %self.i, %"block::BlockFlow"*** %2822, !dbg !155278, !noalias !155280
%2823 = load %closure.413, %closure.413* %208, !dbg !155278, !noalias !155280
store %closure.413 %2823, %closure.413* %to_ref396.i, !dbg !155278, !noalias !155280
%2824 = bitcast %closure.413* %to_ref396.i to i8**, !dbg !155278
%2825 = load i8*, i8** %2824, align 8, !dbg !155278, !noalias !155280
invoke void @"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$8and_then17h3889e7465fd9c448E"(%"2.core::option::Option<std::sync::Arc<flow::Flow>>"* noalias nocapture sret dereferenceable(16) %0, %"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* noalias nocapture dereferenceable(32) %arg395.i, i8* %2825)
to label %normal-return397.i unwind label %unwind_ast_4374_.i, !dbg !155438, !noalias !155410
normal-return397.i: ; preds = %next-block394.i
call void @_ZN4drop17hdb1e9f4ee1f6a17dE(%"2.core::option::Option<(usize, core::option::Option<std::sync::Arc<flow::Flow>>)>"* %break_at.i), !dbg !155295, !noalias !155287
call void @_ZN4drop17h367b239839bd85c0E(%"layout_debug::Scope"* %_scope.i), !dbg !155295, !noalias !155287
br label %_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit, !dbg !155278
_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit: ; preds = %then-block-5093-.i, %normal-return397.i
br label %join31
join31: ; preds = %_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit, %_ZN6layout5block9BlockFlow28assign_block_size_block_base17hfb54458aa59f45edE.exit497
br label %join32
join32: ; preds = %join31, %next-block
ret void, !dbg !155439
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment