Caml1999T037{7Y V&C(LivenessР$Mach$Mach3asmcomp/liveness.mlSS@@ 3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A頰=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A󠰠  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@@@A3@@@S@@@3@@@&DomainmAUU@JA@БA+!t!BVV@@;@@@A#Reg#Set!t@@@ +@@@@VV@@@@FA@@Aг#RegVV@VV@@V@ @@$3@I/;@@@A7@@@ 0@@@@@%@@@"@@$@@&@@&%@3@U@@@ఠ#botjWW@ GA@@#Reg#Set!t@@@ 3C@ 23@rXR@@@డO#Set%empty#RegWW@ WW@@"W#W@ @(@@@J@'set.mliM ~ M ~ @@+Stdlib__SetE@ @@2(@A@1W@@@+@ఠ$joink>X?X@QHA@@@H@@@ 9@M@@@ 8P@@@ 7@@ 6@@ 5C@ 43LKKLLLLL@J_X@Y@Z@@@డ#Set%union#RegcXdX@ gXhX@@lXmX@ @@t@@@\@y@@@[|@@@Z@@Y@@X@T_]aU_]w@@SI@@@>1@A@X@@@4@ఠ)lessequallYY @IA@@@@@@ ?@@@@ >$boolE@@@ =@@ <@@ ;C@ :3@Vng@h@i@@@డ#Set&subset#RegYY@ YY@@YY@ @@@@@@@@@/@@@@@@@@((() @@f@@@A1@A@Y@@@4@*$A@@8@VO@P@Q@@3@>Y@@UZ @3@R@@@@U@@(AnalyzerxC\")\"1@ KA@гР(Dataflow(Backward(Dataflow \"4 \"<@  \"=\"E@@@!Dq(Dataflow&DOMAIN'analyzer*exnhandler&optionL@!t@@@ V!t@@@ U@@ T@@@ S)exnescape!t@@@ R@@@ Q(transfer@$Mach+instruction@@@ P$next+!t@@@ O#exn4!t@@@ N9!t@@@ M@@ L@@ K@@ J@!+instruction@@@ I@J!t@@@ E@@#intA@@@ HY!t@@@ G@@ F@@ D@@ C@@ B@@ A@@ @@4asmcomp/dataflow.mli^~b>_@@wL@@@3@@A@F@a@@@@@@@Р&Domain\"F\"L@@A@Y@t@$@@@@\"M@w@"@@@ &@@@ @@ @@@ 0@@@ @@@ @@@@ ?@@@ E@@@ I~@@@ @@ @@ @@ @}|@@@ @W{@@@ @@z@@@ bw@@@ @@ @@ @@ @@ @@ @@ @v@r@@q@@\""S@T@t@ఠ(transfery^OS^O[@#LA@@@$Mach+instruction@@@ JE@ $next#Reg#Set!t@@@ #E@ #exn>!t@@@ EE@ E@ @@ E@ @@ E@ @@ E@ 3=<<=====@R@@@@FO@@@࣠@!i{AS^O\T^O]@fMA@@?3RQQRRRRR@L[^OO\A M n@@@@@  @::|A>f^O_g^Oc@yNA@@B3eddeeeee@ U@@@@@@n^O^@99}A=w^Oex^Oh@OA@@A3vuuvvvvv@V@@@@@@^Od@@ఐ@@@ =K@ CK@ @@@O@@ E@ $E@ E@ E@ E@ E@ E@ E@ <'@@@(@Ġ#Iop@cAc@)ఠ"op~IcJc@\PA@@1@@@ @@@@@@@@ @@@@@ @@@డ"&&beflcefn@@$boolE@@@K@@@@J @@@I@@H@@G(%sequandBA @@@@*stdlib.mli@@&Stdlib]@"!@@@@@@ J@@@@ I@@@ H@@ G@@ F3@NG@H@I@@@@డ1operation_is_pured"+d"<@@@@@$boolE@@@@@@qppqp@@@@@@@@@ Z@@@ Y@@ X*@@ఐ|"opd"=d"?@4@@@@@ aL@ cL@ b>@@0 @@m@@@ V@ dL@ `F@@డ 2disjoint_set_array#Regefoefr@ efsef@@@!t@@@K@@@@J@@@I$boolE@@@H@@G@@F@WGGWGw@@m@$@@@@@@ k@.@@@ j@@@ i@@@ h@@ g@@ f@@ఐ $next&ef'ef@@@@@ఐ堐!i5ef6ef@˰@@ @#res@@@=,@@@<@@;@@:@UU@@k@!@@@@@@ @@@@ @@@ B@@@ @@ @@ @@@ఐ$nextkBkkBo@o@@M@@ఐ!ikBpkBq@@@\@#reskBrkBu@B @@H#@@@ @@@ L@ L@ n@@a@@to@A@kBJ@@@ఠ&acrosslyly@.RA@@#@@@ K@ 3@@@@@@డ53operation_can_raise2r3r@@@@@@@@@@@ww@@#@@@@)@@@ @@@ @@ '@@ఐ "opUrVr@İ@@@@@@ L@ L@ ;@@. @@ @@@ L@ A@డ#Set%union#Regvsws @ zs {s @@s s @ @ @@@@@@ @@@@ @@@ @@ @@ l@@ఐ'across1s s @v@@@@@ L@ L@ @@ఐ9#exns s @@@w@@<@@@ఐ%'across1t  't  .@@@K@ @r@@@A@ly@@ ఐ~!iu 2 :u 2 ;@d@@3@@@@@@$liveu 2 <u 2 @@ఐƠ&acrossu 2 Du 2 J@@@@@@ K@ @@@&@@@ K@ @డ5-add_set_array#Regv L Tv L W@  v L X v L e@@@@@@9@*(@@@8@@@7!t@@@6@@5@@4@&T'T@@j@!@@@@@@ @@@@@ @@@ @@@ @@ @@ ]@@ఐ&across 8v L f 9v L l@g@@@@@ K@ K@ q@@ఐ!i Nv L m Ov L n@@@9@#arg Uv L o Vv L r@ @@Qx@@@ @@@ K@ K@ @@h@@{  @°@@@@ఐ!i L{   M{  @@@7@#arg S{   T{  @ @@Ov@@@ @@@ K@ K@ @@H@@2K@ @q@@$@Ġ$Iend u|   v|  @;$Iendw@@@@BG@AS  S  @@@_v@@@  @@@@@ @@@Ġ&Icatch |   |  @;&Icatch@#Cmm(rec_flag@@@U$listK@@@@X@@@@Y@@W@@@V@@@Z@CCBG@A X p r X p @@@{@@ |   |  @@+@@@ .@@@'@$@@@ @@@@ @@ @@@ @@@@@@@ E@@@K@@8@@@ I@@I@@d @@<@@@ M@Ġ%Iexit |   |  @;%Iexit@2@@@[@ADBG@AFY  GY  @@@|@@ |   |  @@@@@ k@@@@@^@@@ o@@o@@ @@b@@@ s@Ġ(Itrywith |   |  @;(Itrywith @@@@\@@@]@BEBG@AoZ  pZ  @@@}@@ |   |  @@@@@ @@@ @@@ @@@ @@@@@ @@@@@@@@@ @@@ ఐ렐!i ;}   <}  @Ѱ@@&@$live B}   C}  @eఐ砐$next K}   L}  @а@@&@@@@@@ &K@ %@ఐ$next [~  # \~  '@@@6@$@@@Ġ&Iraise i ( , j ( 2@;&Iraisek@&Lambda*raise_kind@@@^@AFBG@A[  [  @@@\~@@ ~ ( 3  ( 4@@@@@ !@@@@@@@@ "@@@@@ #@@@ ఐE!i @ 8 > @ 8 ?@+@@ @$live @ 8 @ @ 8 D@ఐ0#exn @ 8 H @ 8 K@@@n@@@@@@ 0K@ /@డ -add_set_array#Reg A M S A M V@  A M W A M d@@@@@@@@ 7@@@@ 6@@@ 5@@@ 4@@ 3@@ 2E@@ఐi#exn A M e A M h@O@@R@@ఐ!i A M i A M j@@@a@#arg A M k@H @@@@@ D@@@ CK@ KK@ Hr@@G@@K@ Bu@p@@v@@@A _km@@@A@E@ @A@@@ɠ@ఠ*exnhandler C p t C p ~@ )UA@@@ "@@@!E@  '@@@ E@ @@E@ 3 # " " # # # # #@@@@@@࣠@.before_handlerA 6C p  7C p @ IVA@@3 5 4 4 5 5 5 5 5@) >C p p ?D  @@@@@  @@డ #Set&remove#Reg SD   TD  @  WD   XD  @@ \D   ]D  @ @@ d#elt@@@W@ k@@@V n@@@U@@T@@S@ FY 5 9 GY 5 R@@ EH@!@@@@A@@$@#@@@ @@@ @@@@@@@3        @O[m@R@S@@@@డ$Proc.loc_exn_bucket$Proc D   D  @  D   D  @@#Reg!t@@@@0asmcomp/proc.mlidd@@$ProcQ@@@R@ATZ@A\@@G@@@"G@G@@@G@>@@ఐ.before_handler D  @G@@J@@@@K@A@E@@A@@@@ఠ'fundecl F   F  @ WA@@@'fundecl@@@E@-@@@ZE@@@E@3        @@@@@@࣠@!fA F   F  @ XA@@3        @+ F   N J O@@@@@  @@@@ఠ.initially_live G   G  @ 1YA@@  @@@G@3 # " " # # # # #@!-A@$@%@@@@@ /G   0G  @@@ @@@  @@@@@G@@@ =G   >G  @@@!@@@@డ Y'analyze(Analyzer RH   SH  @  VH   WH  @@ 8 6@  2@@@  1@@@@@@@@ 0 F  .@@@@@@ -@ + (@@@ '  %@@@ $  "@@@  !@@@@@@@@@@  @@@@r@@@Π@@ @@@h@@@@@@@@@@@@@@@@ @ RM@@  @J@@@I@AK   @ @6@5@@@@@@@  Q@@@@@@ }@P@@@ vO@@@ rN@@@M@AO'@@I@H@@@@@@@@@S@@@@@@@堠@@ n@@@@@@@@@@@@@@@@@@@ Ӑภ$Some ; A T Q@@W@ CA@AA@A @@ Cఐ*exnhandler H   H  @@@@ @@@= @@@<@@;@@ @ l @@@E@ ภ$None ; m&@@@@AA@A @@ l@ @ @@@G@@@F@ ఐ &(transfer6H  7H  @@@@@@@" @A@A@@\H@[@@H@XH@W@@! @A@@ZH@Y@@ @@@@@@H@Q8@@ఐk!flH  mH  @D@@G@(fun_bodysH  tH  &@3(fun_body@@@j `@@@c@@B3(fun_name  @@@`@@@@A ^  # ^  4@@ i@3(fun_args ۠ c!t@@@b@@@a@@A@A _ 5 9 _ 5 O@@ z@$33fun_codegen_options$.codegen_option@@@e@@@d@@C)@A a k o a k @@ @3'fun_dbg5 !t@@@f@@D5@A b   b  @@ @3(fun_pollAJ.poll_attribute@@@g@@EA@A c   c  @@ @33fun_num_stack_slotsM @@@i@@@h@@FP@A %d   &d @@ @@A )` P T *` P j@@ @jb@@L@@@H@`H@^@@j@@@ @@@aH@@A@G  t@@@ఠ*wrong_liveJ s yJ s @ZA@@ @@@rG@b3@@@@@@డ E#Set$diff#RegJ s J s @ J s J s @@J s J s @ @@ @@@k@ %@@@j (@@@i@@h@@g@ i(, i(A@@ L@@@@ 2@@@h@ 7@@@g :@@@f@@e@@d@@@ఐ'.initially_liveEJ s FJ s @J@@$@A&@@xH@w@@uW@@డ ,set_of_array#RegbJ s cJ s @ fJ s gJ s @@ @@@  @@@}@@@| @@@{@@z{@@ఐ!fJ s J s @Z@@@(fun_argsJ s J s @ @@  @@@@@@I@I@@@J s J s @@ @@@s@I@@@ @@@A@J s u @@డ#notK  K  @@ M@@@F Q@@@E@@D(%boolnotAA E@@@ CLL DLt@@ B\@@@@@@@@@@@@3@@@@@@@డ#Set(is_empty#RegK  K  @ K  K  @@K  K  @ @@ @@@ V@@@@@@ '$'( '$'?@@ b@@@@@@@@@@@@:@@ఐ*wrong_liveK  K  @D@@@@@H@H@N@@K  K  @@n@@@@H@X@@w @@@@@G@^@డ$Misc,fatal_errorf$Misc:L  ;L  @ >L  ?L  @@@&Stdlib'format4!a@5&Format)formatter@@@A$unitF@@@B!b@9@@@@@@?@.utils/misc.mli\DD\D@@$MiscA@2-@@@*@@*@@@F@@#Reg#Set!t@@@WF@F@7@@@F@@@@@F@@F@@@F@@@F@K@@@G@@@ F@@Aa9 ,'format6?@@@@@A8CamlinternalFormatBasics'format6X@2@1@4@7@6@@@@8@@@@l@@@@ภ8CamlinternalFormatBasics&FormatL  L  'A;&Format8CamlinternalFormatBasics'format6!a@!b@!c@!d@!e@!f@@@@@'#fmt$ @@@Ӡ&stringQ@@@@B@@A@A*@@@r@ภU(Open_boxW;(Open_box%!a@!b@!c@!d@!e@!f@@@@@"@@@@AA@BAAH Q SI  @@@O@ภ&Format֠ภ-End_of_format;-End_of_format!f@!b@!c@!e@@@@@@@@AYAA.../!@@@y@@@ؠH@7F@F@"G@3G@DsF@G@#G@4G@E H@;H@<@@@FG@Q<@ %@%@@@@GG@TG@SH@@,@)H@'(!"#H@+H@,@@@5G@CW@@;@ H@5./2F@dG@-G@@@@$G@2h@ภV .String_literalU;.String_literal+!a@!b@!c@!d@!e@!f@@@@B@A@@@CR'#@@@D@BKAYAAI$}$}J$%@@@k@1Liveness.fundecl:@@@@@eG@hG@g@ภX.Formatting_litZ;.Formatting_litw!a@e!b@f!c@g!d@h!e@i!f@j@@@^@.formatting_lit@@@_($ @@@`@BQAYAA)()())@@@q@ภ-Force_newline;-Force_newline@@@@@@CGC@A~ E G~ E V@@@B@@@)@@@yG@~ @ภ%Alpha;%AlphaР@@!b@U@!x@Q!c@T@@X@@W@ !a@P@@V@@U !d@V!e@W!f@X@@@T@+"@@@Y@AOAYAA''(.(j@@@.o@ภB@ภJ)Close_boxI;)Close_boxg@@@@GC@A z z @@@F~@@P@@@@G@q@ภ_|]{@]@3H@_F@cF@wF@H@,F@xF@H@H@ H@H@@@@G@@@}@S F@H@H@H@@@@G@@@@c H@j,$QH@m'H@o@@@zG@@@@sH@V:^aH@YaH@[@@@fG@v@@@hoH@@@@%G@b@@@7H@ H@@@@G@!@9@[Liveness.fundecl:@ %a@]@@@@@G@G@@@@@}SJ6#@A"]G@XG@FG@7G@@A2qG@lG@ZG@]G@`G@OG@@@G@/@G@@@G@ )@@డ)Printmach®set)PrintmachM ( .M ( 7@  M ( 8 M ( >@@@&Stdlib&Format)formatter@@@@@@@$unitF@@@@@@@@5asmcomp/printmach.mliVV@@)PrintmachB@&!@@F@Ta@@ఐF*wrong_live8M ( ?9M ( I@k@@G@Yp@@>K  2@@r@@@K  4@@t@5@@G@\6@@@@7A@^E@\>@A@;@;:@Q@@b@`@@Z@@KT@@C%@?Y@un@o@p@@3ONNOOOOO@_x@@@t(LivenessF@AʱCC@AFB@AhIA@AL@@@ H************************************************************************jA@@kA@L@ H pBMMqBM@ H OCaml vCwC@ H |D}D3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt E44E4@ 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@ 5 This operation is dead code. Ignore its arguments. gg@ . 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. mq@ B Sanity check: only function parameters can be live at entrypoint I * ,I * r@@*./ocamlopt)-nostdlib"-I(./stdlib"-I1otherlibs/dynlink"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I'asmcomp"-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(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events2-function-sections"-c ! S/home/teraram/ci/builds/workspace/parallel-build/flambda/true/label/ocaml-manycores ?>3210/.-,+*)('&%$#"! @@0g>˨i!`~K3:99:::::@8@@$Arch0;:1-K^1ʹ*}(Asttypes0>n{T8cئ+Backend_var0G}afTd5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Cmi_format0Aڙ% C<#Cmm0rhmsT4u%{*Data_types0I'Ue`wq]Ѡh05!bv)Debuginfo0PtJ=^w/#Env0H/]0K+G*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`(Interval0DہX9`&Lambda0z1x]&ZT0W;T[m;)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc0( C'~A̠$Misc0[@@Pc+zD+Outcometree0euWS~d栠)Parsetree0Uҩ=p>*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠0m1TaW XF 10t8R'2q젠#Reg0dfǝhO%Shape0oNՄBH&Stdlib0Lku]8_٠+Stdlib__Arg0اp2/٠r)w.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0Bj|5s)ڠ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ɢb tLir/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0s)Targetint0!2JTI ϝ.Type_immediacy0A^abOhՠ%Types0xH+}q)Unit_info0ڀh%((Warnings0mJɒkgr