Caml1999I037,(S6Branch_relaxation_intf!Sy(distancez;@@@A#intA@@@@@@@ "asmcomp/branch_relaxation_intf.mliTT'@@A@@@A@Ӡ+Cond_branch{@!t;@@@A@@@@@YY@@@@*A@A@#all$listK@@@@@@@%\&\@@>B@@0max_displacement@@@@A@@@@@@7b8b)@@PC@@.classify_instr@&Linear0instruction_desc@@@&optionL0@@@@@@@@@Tr  Ur  @@mF@@@@XV)+Ys  @qG@@@3offset_pc_at_branch|.@@@@dx  ex  @@}H@@*instr_size}@-'fundecl@@@@50instruction_desc@@@J@@@@@@@@{  {  X@@I@@0relax_allocation~)num_bytes@@@'dbginfo)Debuginfo-alloc_dbginfo@@@[0instruction_desc@@@@@@@@@ 1 3C  @@J@@*relax_poll,return_labelf#Cmm%label@@@@@@{0instruction_desc@@@@@@E  G  @@P@@6relax_intop_checkbound@$unitF@@@0instruction_desc@@@@@@I  K # A@@Q@@:relax_intop_imm_checkbound%bound@@@0instruction_desc@@@@@@L B DN t @@ R@@1relax_specific_op@$Arch2specific_operation@@@0instruction_desc@@@@@@ O   O  @@#S@@@@QP  @'T@@@R6Branch_relaxation_intf0dՀȢҝz'X86_ast058ߺ<%RӠ(Warnings0mJɒkgrs-Stdlib__Uchar056uf4[_+Stdlib__Sys0 -ռ鱦s5/.Stdlib__String0Vê>$Mach0( C'~A̠)Longident0s `7mɕc(Location0a7cK_H%9)Load_path0I@18 ~&Linear0{L:ա;&Lambda0z1x]&ZT,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ#Env0zV L{YWI)Debuginfo0PtJ=^w/*Data_types0I'Ue`wq]Ѡ#Cmm0rhmsT4u%{*Cmi_format0c˯7͗ԩmݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs+Backend_var0G}afTd(Asttypes0>n{T8cئ$Arch0;:1-K^1ʹ*}@@@Caml1999T0370$C6Branch_relaxation_intf!SkD "asmcomp/branch_relaxation_intf.mliQQ@T@БA+(distanceATT!@@;@@@A#intA@@@@@@@TT'@@A@+@@@@Aг #int'T$ @@3@@@@@@6;@@@A@@@@@&_none_@@A@A@;$charB;@@A@@@@@@A@&stringQ;@@ A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@@$trued@@#@@@A@@@@@$@A@$unitF;@@"()e@@.@@@A@@@@@/@A@ #exnG;@@@A@@@@@3@@@#effH;@@O@A@A@@@@@@<@@@,continuationI;@@Q@@P@B@A@nY@@@@@@K@@@%arrayJ;@@R@A@A@@@@@@U@@@ $listK;@@S@A"[]f@@b@"::g@@@T@@o@ @@A@Y@@@@@r@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.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@@A54@)Not_foundZ#O@@@A =<@-Out_of_memoryW#W@@@AED@.Stack_overflow^#_@@@AML@.Sys_blocked_io_#g@@@A$U'T'@)Sys_error[#o@j@@A-^0]0@:Undefined_recursive_modulea#x@@w@s@u@@h@@A>oAnA@:Continuation_already_takenb#@@@AFwIvI@&Stdlib;@@@A@@@@@@@@@@@@A@@@@3@}@A@+Cond_branchBV)2V)=@G@@БA+!tCYY@@;@@A@@@@@Y@@@@A@@@A@@@3@@A@#all\\@г2$list\ \@г$!t\\ @@ @@@3@$/)@A@@@ @@@ @@@\@@B@@@@ 0max_displacementb b@б@гI!t b b@@ @@@3@&C@A@@г (distanceb!b)@@ @@@@@@@@@@@&b @@3C@@ @@.classify_instr1r  2r  @б@г&Linear0instruction_desc&LinearBr  Cr  @ Fr  Gr  @@@@@@ 3$##$$$$$@<Q*@A @@г&optionVr  Wr  @г!t`r  ar  @@ @@@!@@@@@@# @@@$@@$!,@@@pr  @@}F@@@@'@A@@|U@N @@3SRRSSSSS@0P@A 3VUUVVVVV@@AV)@s  @@@V)+@@3offset_pc_at_branch x  x  @г(distancex  x  @@ @@@%3srrsssss@@A@@@z9@@@%@A@@@x  @@H@@@@*instr_size!{  {  @б@г'fundecl&Linear{  #{  )@ {  *{  1@@@@@@&3@4G(@A @@б@г0instruction_desc&Linear{  5{  ;@ {  <{  L@@@@@@' @@гߠ(distance{  P{  X@@ @@@('@@@@@)*@@@0@@*-8 @@@{  @@ I@@@@30relax_allocation0 @ 1 7 @ 1 G@б)num_bytesг#intA H YA H \@@ @@@+3@Nl!@A@@б'dbginfoг)Debuginfo-alloc_dbginfo)Debuginfo/B ] l0B ] u@ 3B ] v4B ] @@@@@@ @@г0instruction_desc&LinearEC  FC  @ IC  JC  @@@@@@4 @@2@@7SB ] d @@I>@@;WA H O@@@Z@ 1 3@@gJ@@@@B*relax_pollUeE  fE  @б,return_labelг&optionrF  sF  @г#Cmm%label#CmmF  F  @ F  F  @@@@@@/3dccddddd@r6@A @@@$ @@@1!@@г_0instruction_desc&LinearG  G  @ G  G  @@@@@@2 @@C@@3 F   @@@E   @@P@@@@'6relax_intop_checkboundVI  I  @б@гL$unitJ  J  "@@ @@@43@@l@A@@г0instruction_desc&LinearK # *K # 0@ K # 1K # A@@@@@@5 @@@@@6! @@@I   @@Q@@@@!:relax_intop_imm_checkboundWL B HL B b@б%boundг䠐#intM c pM c s@@ @@@73@<Q!@A@@г0instruction_desc&LinearN t {N t @ N t N t @@@@@@8 @@)@@9"M c j @@@%L B D @@2R@@@@"1relax_specific_opj0O  1O  @б@г$Arch2specific_operation$ArchAO  BO  @ EO  FO  @@@@@@3#""#####@F]*@A @@г0instruction_desc&LinearYO  ZO  @ ]O  ^O  @@@@@@ @@@@@& @@@iO   @@vS@@@@!@a[A@@@@@@y@r@@@Z@S@@3WVVWWWWW@5U@A3ZYYZZZZZ@W@AQP  @@@Q@3`__`````@]@A@@ @@@3feefffff@dA@@A@@{@t3@@@@@@@O@H@@@H@@@)@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt E44E4@ H Mark Shinwell, Jane Street Europe FF@ H GG@ H Copyright 2015 Institut National de Recherche en Informatique et HHg@ H en Automatique. IhhIh@ H JJ@ H All rights reserved. This file is distributed under the terms of KKN@ H the GNU Lesser General Public License version 2.1, with the LOOLO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@ s The distance between two instructions, in arbitrary units (typically the natural word size of instructions).  RS@ b The various types of conditional branches for a given target that may require relaxation. WDHX@ 6 All values of type [t] that the emitter may produce. [[@ If [max_displacement branch] is [n] then [branch] is assumed to reach any address in the range [pc - n, pc + n] (inclusive), after the [pc] of the branch has been adjusted by [offset_pc_at_branch] (see below). ^ a@  Which variety of conditional branch may be produced by the emitter for a given instruction description. For the moment we assume that only one such variety per instruction description is needed. N.B. The only instructions supported are the following: - Lop (Ialloc _) - Lop (Ipoll _) - Lop (Iintop Icheckbound) - Lop (Iintop_imm (Icheckbound, _)) - Lop (Ispecific _) - Lcondbranch (_, _) - Lcondbranch3 (_, _, _) [classify_instr] is expected to return [None] when called on any instruction not in this list. %d+/&q  @ The value to be added to the program counter (in [distance] units) when it is at a branch instruction, prior to calculating the distance to a branch target. +u  ,w  @ * The maximum size of a given instruction. 1z  2z  @ Insertion of target-specific code to relax operations that cannot be relaxed generically. It is assumed that these rewrites do not change the size of out-of-line code (cf. branch_relaxation.mli). 7} Z \8  0@@-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-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_events"-ctu J/home/ci/builds/workspace/precheck/flambda/false/label/ocaml-ubuntu-latest >10/.-,+*)('&%$#"! @@0uzF`Cx3jiijjjjj@g@@$Arch0;:1-K^1ʹ*}(Asttypes0>n{T8cئ+Backend_var0G}afTd0dՀȢҝz5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Cmi_format0c˯7͗ԩmݠ#Cmm0rhmsT4u%{*Data_types0I'Ue`wq]Ѡ)Debuginfo0PtJ=^w/#Env0zV L{YWI*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`&Lambda0z1x]&ZT0{L:ա;)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Mach0( C'~A̠$Misc0ob]6>Vê>+Outcometree0kX%d5Q/+)Parsetree0T鿁ۘ7Qu$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠#Reg0dfǝhO%Shape0oNՄBH&Stdlib0Lku]8_٠+Stdlib__Arg0اp2/٠r)w.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0:M;׉<O$Ġ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ܚ#G7m|/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ՠ%Types0^Y~# )Unit_info0ڀh%((Warnings0mJɒkgr