Caml1999T031vUXU<(LivenessР$Mach$Mach3asmcomp/liveness.mlSS@@ 0@@@@@@%arrayH8@@M@A@A@@@@@@&_none_@@A@@@ $boolE8@@%false^@@ @$true_@@@@@A@@@@@@A@$charB8@@@A@@@@@@A@#exnG8@@AA@@@@@@@@5extension_constructorP8@@@A@@@@@ @@@%floatD8@@@A@@@@@$@@@*floatarrayQ8@@@A@@@@@(@@@#intA8@@@A@@@@@,@A@%int32L8@@@A@@@@@0@@@%int64M8@@@A@@@@@4@@@&lazy_tN8@@O@A@A@Y@@@@@=@@@$listI8@@P@A"[]a@@J@"::b@@@Q@@W@ @@A@Y@@@@@Z@@@)nativeintK8@@@A@@@@@^@@@&optionJ8@@S@A$Nonec@@k@$Somed@@r@@@A@Y@@@@@u@@@&stringO8@@@A@@@@@y@@@$unitF8@@"()`@@@@@A@@@@@@A@ .Assert_failure\ p@@@@Jm@@@@@@V@@A=ocaml.warn_on_literal_pattern@@0Division_by_zeroY @@@A  @+End_of_fileX !@@@A@'FailureU )@%@@A@0Invalid_argumentT 2@.@@A$#@-Match_failureR ;@:67@@\@@Aʠ21@ )Not_foundV I@@@AҠ:9@-Out_of_memoryS Q@@@AڠBA@.Stack_overflowZ Y@@@A⠰JI@.Sys_blocked_io[ a@@@A꠰RQ@)Sys_errorW i@e@@A󠰠[Z@:Undefined_recursive_module] r@qmn@@c@@Aih@ %bytesC8@@@A@@@@@@@@&Stdlib@@@@A054455555@4C@@=S<@@=@0:99:::::@8@@&DomaineAJUKU@@БA(!tBXVYV@@8@@@A#Reg#Set!t@@@ #@@@@gVhV@@@@zE@@Aг#RegsV @@0onnooooo@;"8@@@A)@@C@ $C@@@@@@@@@@ @@@@@0{zz{{{{{@F@@@ࠠ#botbWW@@@#Reg#Set!t@@@ ,C@ +0@bIC@@@డA#Set%empty#RegWW@@@@F@'set.mliJ c gJ c s@@+Stdlib__SetE  @@&@@W@@@@ࠠ$joincXX@@@@;@@@ 2@@@@@ 1C@@@ 0@@ /@@ .C@ -0@=QK@L@F@@@డ#Set%union#RegXX@@\@@@`@a@@@_d@@@^@@]@@\@HbIb@@GK@@3&@@X@@@)@ࠠ)lessequald Y Y @@@@@@@ 8@@@@ 7$boolE@@@ 6@@ 5@@ 4C@ 30@Ja[@\@4G@@@డ#Set&subset#Reg1Y2Y@@@@@~@@@@}$@@@|@@{@@z@xMQxMk@@Q@@6&@@GY@@@)@A@t@-@JD@E@cH@@0NMMNNNNN@4N@@VUWZ @0TSSTTTTT@@@@@[U@@(AnalyzerpCg\")h\"1@@гР(Dataflow(Backward(Datafloww\"4x\"E@@!Di(Dataflow&DOMAIN'analyzej*exnhandler&optionJ@!t@@@ O!t@@@ N@@ M@@@ L)exnescape!t@@@ K@@@ J(transfer@$Mach+instruction@@@ I$next+!t@@@ H#exn4!t@@@ G9!t@@@ F@@ E@@ D@@ C@!+instruction@@@ BI!t@@@ >@#intA@@@ AW!t@@@ @@@ ?@@ =@@ <@@ ;@@ :@@ 9@4asmcomp/dataflow.mli^~b>_@@uK@@0@@A@x'@A@@@@I@@@Рà&Domain \"F \"L@@A@;@U@@@ @@\"M@o@"@@@ &@@@ @@ @@@ 0@@@ @@@ @@@@ ?@@@ E~@@@ I}@@@ @@ @@ @@ @|{@@@ Vz@@@ @y@@@ `v@@@ @@ @@ @@ @@ @@ @@ @u@q@@p@@i\""Q@R@s@ࠠ(transferqv^OSw^O[@@@@$Mach+instruction@@@ gE@ $next!t@@@ 5E@ #exn !t@@@ bE@ E@ @@ E@ @@ E@ @@ E@ 0@C@@@@AJ@@@@!is^O\^O]@@@:0@F^OOC  @@@@@44t9^O_^Oc@@@<0@O@@L@@@@77u<^Oe^Oh@@@?0@O@@M@@@@ఐ8!i_ks_kt@@@n0@T@@N@@@$desc_ku_ky@,$descx@@@K{0instruction_desc@@@C@@ ,$next @@@D@A@A0asmcomp/mach.mliD M QD M c@@a,#arg%arrayH#Reg!t@@@F@@@E@B@AE d hE d y@@b,#res*!t@@@H@@@G@C-@A'F z ~(F z @@c,#dbg;)Debuginfo!t@@@I@D;@A5G  6G  @@d,$liveI/#Set!t@@@JAEI@ACH  DH  @@e@AGC 1 5HC 1 L@@`i]@@W@@@ i@Ġ'Ireturnb`c`@8'Ireturnl@@@^@@@ABG@AeN  fN  @@@h@@  @@u@@J@ 0mllmmmmm@@@@@@Ġ#Iop{`|`@8#Iop@)operation@@@L@A@BG@AM  M  @@@gĠ-Itailcall_ind``@8-Itailcall_ind@@@8@@@DNN@Ap')p'8@@@i@@"`@@@@J@ 0@@@(@@@@J@ 4@@4@@E @@@@I@ 8@Ġ#Iop``@7Ġ-Itailcall_imm``@8-Itailcall_imm*@A@@@@@ADNN@Aq9;q9`@@8@@$funcV@&stringO@@@#q9Pq9^@@Uj@DA@@@@@@@@CXk@``@@!@@I@ r@@@2`@@f@@I@ w@@@8@@@@I@ {@@{@@ @@@@H@ @@ఐL!iaa@3@@@$liveaa@డ#Set%empty#Regaa@h@@@@H@ $H@ &H@ %@! @@z@@F@ )G@ '@డ,set_of_array#Reg/b0b @@%arrayH!t@@@O@@@N@@@M@@L@/asmcomp/reg.mliXxxXx@@m@@@@@F@ .@@F@ -@@F@ ,@F@ +@@ఐ!iabbb@@@@#arghbib@` @@;8@@G@ 7@@G@ 6G@ $boolE@@@ =@@ <@0asmcomp/proc.mli{  {  @@$Proc]! @@@@@J@ V@@J@ U@@J@ T@J@ SZ@@ఐ!i7f8f@n@@i@#arg>f?f@6 @@B?@@K@ _@@K@ ^K@ dK@ a{@@MfNf@@@@J@ J@ gK@ ]@@ @@@@I@ I@ iJ@ @@డ/#notjg kg @@@@@@I@ m@@I@ l@I@ k@@డ1regs_are_volatile$Procgg$@@@@@@J@ y@@J@ x~@@J@ w@J@ v@@ఐ!ig%g&@ְ@@%@#resg'g*@ @@@@K@ @@K@ K@ K@ @@g g+@@@@J@ tJ@ K@ @@U @@@@I@ I@ J@ s@@@@@@H@ qH@ I@ @@@@$@@G@ PG@ H@ p@@!@@@@F@ G@ O @ఐ8!ijj@@@n@$livejj@ఐ5$nextjj@@@n*@@@@@F@ G@ 0@ఐE$nextk k@/@@~:@ hKV l@@=@@ࠠ'across1mm@@@!t@@@ G@ 0@R@@@డ.diff_set_array#Reg0m1m@@!t@@@?@@@@>@@@=&@@@<@@;@@:@UU@@j@@@@@G@ @@@G@ @@G@ <@@G@ @G@ @G@ :@@ఐ$nextgmhm@@@G@@ఐƠ!ivmwm@@@V@#res}m~m @` @@HM@@H@ @@H@ H@ H@ h@@\@@ni@@m@@@ࠠ&acrossnn!@@@ @@@ G@ 0@@@P@@@డ3operation_can_raiset a nt a @@4@@@@@@@@@qq@@;@@@B@@G@ @@G@ @G@ (@@ఐE"opt a t a @@@Y@@H@ H@ H@ <@@. @@@@G@ H@ B@డ#Set%union#Regu  u  @ @@@e@@G@ @j@@G@ m@@G@ @G@ @G@ a@@ఐ'across1 u   u  @k@@@@H@ H@ H@ u@@ఐL#exn u   u  @4@@@@2@@@ఐ'across1 +v   ,v  @@@G@ @ 1t a k@@@@ 3n@@ఐ!i ?w   @w  @v@@0 = < < = = = = =@@@ VQ@@@$live Jw   Kw  @ఐ&across Sw   Tw  @@@@@H@ H@ H@ @ @@A@@F@ G@ !@డ-add_set_array#Reg ox   px  @@@@@9@EC@@@8@@@7!t@@@6@@5@@4@CTDT@@i@@@@@F@ @[@@F@ @@F@ @@F@ @F@ @F@ Z@@ఐ&across x   x  @d@@@@G@ G@ G@ n@@ఐ !i x   x  @@@B}@#arg x   x  @ @@Q@@G@ @@G@ G@ G@ @@c@@SE@ =E@ >E@ -E@ .E@ E@ E@ G@ @@@@@@C@ l y  @@@ d"(@@ E@ ?@Ġ+Iifthenelse z   z  "@8+Iifthenelse@{$test@@@M@@@N@@@O@CABG@AO  O  ;@@@i@ z  # z  $@@@@I@ )@@@@@I@ .@@ @@@I@ 3@@@*@@%@@I@ 7@@7@Ġ'Iswitch *{ % ) +{ % 0@8'Iswitch@##intA@@@Q@@@P/@@@S@@@R@BBBG@A?P < >@P < h@@@j@ K{ % 1 L{ % 2@@@@I@ @@I@ i@@ @@@I@ @@I@ r@@@4@@d@@I@ v@@v@@m@@h@@H@ z@@ఐ!i p| 6 < q| 6 =@@@@$live w| 6 > x| 6 B@;ఐ$next | 6 F | 6 J@@@@@@g@@F@ G@ @డ .-add_set_array#Reg } L R } L c@&@@@@@F@ @&h@@F@ @@F@ %@@F@ @F@ @F@ @@ఐ$next } L d } L h@ڰ@@)@@ఐ!i } L i } L j@@@H@#arg } L k } L n@ @@W@@G@ ,@@G@ +G@ 3G@ 0@@C@@KE@ *@k@@E@ @Ġ$Iend ~ o s ~ o w@8$Iend@@@@BG@AL  L  @@@rf@@  @@@@K@ @@@Ġ&Icatch ~ o z ~ o @8&Icatch@#Cmm(rec_flag@@@T$listI@@@W@@@X@@V@@@U@@@Y@CCBG@A"Q i k#Q i @@@k@ .~ o  /~ o @@)@@K@ H@@@%"@@K@ @@K@ @K@ @@K@ X@@@@@K@ ]@@@G@@O@@K@ a@@a@@`@@S@@J@ e@Ġ%Iexit X~ o  Y~ o @8%Iexit@*@@@Z@ADBG@A]R  ^R  @@@l@ i~ o  j~ o @@@@J@ @@@@@u@@J@ @@@@ @@y@@I@ @Ġ(Itrywith ~~ o  ~ o @8(Itrywith@@@@[@@@\@BEBG@AS  S  @@@ m@ ~ o  ~ o @@@@I@ @@@@@I@ @@@ @@@@I@ @@@@@@@@H@ @@ఐ!i      @@@5@$live      @zఐ$next      @@@5@@@@@F@ AG@ ?@ఐ $next @   @  @@@E@$@@FE@ 6@Ġ&Iraise A   A  @8&Iraise|@&Lambda*raise_kind@@@]@AFBG@AT  T  @@@lp@ A   A  @@@@H@  @@@@@@@H@ @@@@ఐW!i B   B  @>@@@$live B   B  @ఐD#exn B   B  @,@@/@@@@@F@ MG@ K5@డ -add_set_array#Reg ,C   -C  @@@@@@F@ T@@@F@ S@@F@ R@@F@ Q@F@ P@F@ OU@@ఐw#exn JC   KC  @_@@b@@ఐ!i YC   ZC  @@@q@#arg `C  @W @@/@@G@ a@@G@ `G@ hG@ e@@B@@E@ _@j@@E@ B@@A t_km@@E@ @@A x^OdA@E@ 0 v u u v v v v v@@@@@A }^O^A@E@ 0 { z z { { { { {@@@@@AA@@ @@0  ~ ~     @@@@@@@㠰@ࠠ*exnhandler E   E  @@@@ @@@E@ @@@E@@@E@0        @  2 ,@ -@ K@@@@.before_handler E   E  #@@@0        @' E   F & Y@@@@@డ _#Set&remove#Reg F & ( F & 6@@ <#elt@@@[@ C@@@Z F@@@Y@@X@@W@ *\   +\  @@ )J@@@@@E@@ U@@E@ X@@E@@E@@E@0        @:FW@=@ U@@@@డ.loc_exn_bucket$Proc F & 7 F & J@!t@@@ +@gg@@Q @@@@@F@ F@ $@@ఐn.before_handler F & Kc@-d@@0@@Ue@@E@3@@AphA@@@@0        @o@@@@m@ml@@ࠠ'fundecl /H [ _ 0H [ f@@@@ 'fundecl@@@E@ @@@ E@@@E@0 = < < = = = = =@@@ VT@@@@!f PH [ g QH [ h@@@0 N M M N N N N N@) WH [ [ XP  @@@@@@ࠠ.initially_live fI k r gI k @@@ g @@@pF@0 j i i j j j j j@)<@ @ W@@@@ vI k  wI k @@@ @@@s { @@@r@@qF@@@ I k q I k @@ @@ @డ .'analyze(Analyzer J   J  @  @  @@@8  @@@7@@6@@@5    @@@4@@@3 @  @@@2   @@@1   @@@0  @@@/@@.@@-@@,@  @@@+i@@@'@ @@@*^@@@)@@(@@&@@%@@$@@#@@"@ @ KJ@@ V T@H@@F@OG@@F@N@F@M@@F@L L bF@@F@K@@F@J H@E@@F@I AD@@F@H =C@@F@GB@@F@F@F@E@F@D@F@C@A@@F@B@@F@>@ 2@@F@A@@F@@@F@?@F@=@F@<@F@;@F@:@F@9@ ภ$Some 8   @@T@ A@AA@A@@ ఐ*exnhandler6J  7J  @@@@ @@G@ @@G@@G@@@ @  @@G@@ ภ$None 8 &@@@@AA@A"@@ @"@ @@G@@@G@@ ఐ 렐(transferaJ  bJ  @@@@@@G@{ @@G@z @@G@y@@G@x@G@w@G@v@G@uG@ @@ఐ8!fJ  J  @@@Q@(fun_bodyJ  J  @,(fun_bodyW@@@j @@@b@B ,(fun_name  @@@_@@@A W   W  -@@ r,(fun_args  !t@@@a@@@`@A@A X . 2 X . H@@ -s$,3fun_codegen_options$.codegen_option@@@d@@@c@C)@A Z d h Z d @@ >u,'fun_dbg5 !t@@@e@D5@A [   [  @@ Jv,(fun_pollA.poll_attribute@@@f@EA@A \   \  @@ Vw,3fun_num_stack_slotsM Р@@@h@@@g@FP@A ]   ]  @@ ex,2fun_contains_calls\ @@@i@GZ@A ^   ^  @@ oy@A Y I M Y I c@@ sttl@@/@@G@tG@G@@@jt@@|F@o@@I k mx@@@ࠠ*wrong_liveL  L  @@@ @@@F@0@@@*X@@@డ #Set$diff#Reg)L  *L  (@@ @@@o@ @@@n @@@m@@l@@k@ l l@@ N@@@ @@F@@ @@F@ @@F@@F@@F@5@@ఐ.initially_liveUL  )VL  7@?@@@@G@E@@డ,set_of_array#RegjL  9kL  I@ ;@@@ ; 8@@G@@@G@ @@G@@G@c@@ఐ9!fL  JL  K@@@Rr@(fun_argsL  LL  T@ @@ _ \@@H@@@H@H@H@@@L  8L  U@@@@G@G@H@@@| @@@@L   @@డw#notM Y ^M Y a@@@@@@E@@@E@@E@0@@@Y@@@@డj#Set(is_empty#RegM Y cM Y s@@G@@@I @@@H@@G@/M  0M  @@.F@@@U@@F@@@F@@F@/@@ఐ蠐*wrong_liveM Y tM Y ~@9@@l@@G@G@G@C@@M Y bM Y @@ 3@@F@F@G@M@@Y @@4@@E@F@S@డ$Misc,fatal_errorf$MiscN  N  @@&Stdlib'format4!a@Y&Format)formatter@@@e$unitF@@@f!b@]@@@d@@c@.utils/misc.mliXX@@$MiscA-,@@@*@@*@@E@E@L@#Reg#Set!t@@E@E@H5@@E@E@K@E@X@E@WE@@E@8E@@E@E@@E@E@J@@E@F@@E@ E@@A`8 'format6>@@@@@A8CamlinternalFormatBasics'format6W@2@1@4@7@6@@@@8@@@E@k@E@@@ภ8CamlinternalFormatBasics&FormatN  N  A8&Format8CamlinternalFormatBasics'format6!a@!b@!c@!d@!e@!f@@@@@'#fmt$ @@@&stringO@@@@B@@A@A*@@@rภ(Open_box8(Open_box"!a@!b@!c@!d@!e@!f@@@@b@"@@@c@AA@BAAH Q SI  @@@Oภ&Format͠ภ-End_of_format8-End_of_format!f@!b@!c@!e@@@@U@@@@AYAA.../!@@@y@@̠pG@qE@E@F@F@ fE@F@F@F@  G@G@@@F@ F@@ @@@@F@ F@F@(@@ @G@(!"#G@G@@@F@F@ 7@@/@G@٠5./2E@)F@-F@@@F@F@H@ภH.String_literalF8.String_literal!a@!b@!c@!d@!e@!f@@@@@2@@@C'#@@@@BKAYAA:$}$};$%@@@sk1Liveness.fundecl:@@@@F@*F@-F@,@ภ.Formatting_lit8.Formatting_lite!a@:!b@;!c@!f@?@@@3@.formatting_lit@@@4($ @@@5@BQAYAA)()())@@@qภ-Force_newline8-Force_newline@@@_@@@CGC@A~ E G~ E V@@@B@@&@@F@>F@C@ภ%Alpha8%Alpha@@!b@*@!x@&!c@)@@-@@,@ !a@%@@+@@* !d@+!e@,!f@-@@@)@+"@@@.@AOAYAA''(.(j@@@oภ(%ภ-)Close_box+8)Close_box^@@@@GC@Az z @@@(~@2@@@F@kF@p?@ภ?g<f@<@G@`JE@(E@F@,F@@F@F@/F@F@{@F@F@@@డ)Printmach®set)PrintmachO  O  @@&Stdlib&Format)formatter@@@@p@@@$unitF@@@@@@@@5asmcomp/printmach.mliVV@@)PrintmachB! @@E@&@@ఐߠ*wrong_liveO  O  @0@@F@5@@M Y @@7@@M Y [@@9@Q@@@@@E@@@AA@@@@"0@@@@@@@@@@@@@@\@@c@|@@@V@@0@@@@$Mach'fundecl@@@%$unitF@@@$@@#@4asmcomp/liveness.mliSS@@(LivenessE@!tk@@@@ T@@@@ S$boolE@@@ R@@ Q@@ P@KWLW@@C"@@@@ Y@@@@ X"@@@ W@@ V@@ U@_V`V@@B,@@@ Z@iUjU@@A@ H************************************************************************dA@@eA@L@ H jBMMkBM@ H OCaml pCqC@ H vDwD3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt |E44}E4@ H FF@ H Copyright 1996 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ S Liveness analysis. Annotate mach code with the set of regs live at each point. P77QM@9 no regs are live across aa@1 no side effects d"Pd"e@< results are not used after efef@8 no stack-like hard reg ff@8 is involved g.gJ@ 5 This operation is dead code. Ignore its arguments. i\di\@ . Operations that can raise an exception (function calls, bounds checks, allocations) can branch to the nearest enclosing try ... with. Hence, everything that must be live at the beginning of the exception handler must also be live across this instr. o$.s  `@ B Sanity check: only function parameters can be live at entrypoint K  K  @@*./ocamlopt"-g)-nostdlib"-I&stdlib"-I1otherlibs/dynlink0-strict-sequence*-principal(-absname"-w>+a-4-9-40-41-42-44-45-48-66-70+-warn-error"+a*-bin-annot,-safe-string/-strict-formats"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel2-function-sections"-c"-I'asmcomp 3/home/barsac/ci/builds/workspace/step-by-step-build 0/$#"! @0mPx4 CcWhS0+**+++++@)@@$Arch0&s= k&1Ǥ(Asttypes0'$O~7+Backend_var0@3AM_{5Build_path_prefix_map0xөvĠ8CamlinternalFormatBasics0cEXy*Su}Ck)Targetint0aDFscgjg .Type_immediacy0dV^25b)̓ԆSj%Types0lm?ƈ(Warnings0zdͦkUe$@@AI@@@@@&@@@@@ @@p^@ @@@. 7@@PO@ @8@@A