&A      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                 ! " # $ % & ' ( ) * + , -./0123456789:;<=>?@[ Safe-Inferred &*+234<EABABAB Safe-Inferred&*+234<ECAdoes the constructor for this pass require a TargetMachine objectD@Translate a Haskell name (used in the public Haskell interface, typically not abbreviated) | for a pass into the (sometimes obscure, sometimes abbreviated) name used in the LLVM C interface. | This translation includes, by choice of prefix, whether the C interface implementation is found in | the LLVM distribution (LLVMh prefix) or either not available or broken there and so implemented | as part of this Haskell package ( LLVM_General_ prefix).CDCDCD Safe-Inferred &*+2346<EEFGEFEFG Safe-Inferred &*+234<EH)a blind type to correspond to LLVMContextI Whttp://llvm.org/doxygen/group__LLVMCCoreContext.html#ga9cf8b0fb4a546d4cdb6f64b8055f5f57J Whttp://llvm.org/doxygen/group__LLVMCCoreContext.html#ga0055cde9a9b2497b332d639d8844a810K Whttp://llvm.org/doxygen/group__LLVMCCoreContext.html#gaac4f39a2d0b9735e64ac7681ab543b4cHIJKHIJKHIJK Safe-Inferred &*+234<ELMLMLM Safe-Inferred&*+234<ENretrieve a sequence of objects which form a linked list, given an action to | retrieve the first member and an action to proceed through the listNNNNone  &*+23468<EO .http://llvm.org/doxygen/classllvm_1_1Type.htmlP 3http://llvm.org/doxygen/classllvm_1_1InlineAsm.htmlQ 5http://llvm.org/doxygen/classllvm_1_1NamedMDNode.htmlR 2http://llvm.org/doxygen/classllvm_1_1MDString.htmlS 0http://llvm.org/doxygen/classllvm_1_1MDNode.htmlT .http://llvm.org/doxygen/classllvm_1_1User.htmlU 8http://llvm.org/doxygen/classllvm_1_1BinaryOperator.htmlV 5http://llvm.org/doxygen/classllvm_1_1Instruction.htmlW 2http://llvm.org/doxygen/classllvm_1_1Argument.htmlX 4http://llvm.org/doxygen/classllvm_1_1BasicBlock.htmlY 2http://llvm.org/doxygen/classllvm_1_1Function.htmlZ 5http://llvm.org/doxygen/classllvm_1_1GlobalAlias.html[ 8http://llvm.org/doxygen/classllvm_1_1GlobalVariable.html\ 5http://llvm.org/doxygen/classllvm_1_1GlobalValue.html] 2http://llvm.org/doxygen/classllvm_1_1Constant.html^ /http://llvm.org/doxygen/classllvm_1_1Value.html_6a class to represent direct parent-child relationships`ca class to represent safe casting of pointers to objects of descendant-classes to ancestor-classes.aMancestor-descentant relationships are build out of parent-child relationshipsb trivial casts"OPQRSTUVWXYZ[\]^_`cdefghijklmnopabOPQRSTUVWXYZ[\]^_`c!OPQRSTUVWXYZ[\]^_`cdefghijklmnopabNone &*+2346<Eq `http://llvm.org/doxygen/group__LLVMCCoreValueInstruction.html#ga1b4c3bd197e86e8bffdda247ddf8ec5er _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#gaa0bb2c95802d06bf94f4c55e61fc3477s _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#ga9baf824cd325ad211027b23fce8a7494t _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#ga754e45f69f4b784b658d9e379943f354u _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#gab57c996ff697ef40966432055ae47a4eqrstuqrstuqrstuNone  &*+2346<Ev'a blind type to correspond to llvm::Usew Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUser.html#ga799d58a361054323cb457945071cbfdbx Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUser.html#ga2ad633a6afc7906f1afe329f244240f6y Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUses.html#ga6ea72661bcca2b77bea57173317ec942z Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUses.html#ga66a226d3d06ffada5c929656f4d97d35{ test if a ^ is a Tvwxyz{vwxyz{vwxyz{None  &*+2346<E|&set the constant aliased by this alias}&get the constant aliased by this alias~ test if a ^ is a Z|}~|}~|}~None &*+234<BEM      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~M      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None  &*+2346<E   None  &*+2346<E**)None &*+234<E Phttp://llvm.org/doxygen/classllvm_1_1Type.html#a28fdf240b8220065bc60d6d1b1a2f174 Yhttp://llvm.org/doxygen/group__LLVMCCoreTypeFloat.html#gac2491184fc3d8631c7b264c067f2f761 Yhttp://llvm.org/doxygen/group__LLVMCCoreTypeFloat.html#ga1c02fb08f9ae12a719ed42099d42ccd8 Yhttp://llvm.org/doxygen/group__LLVMCCoreTypeFloat.html#ga24f77b84b625ed3dd516b52480606093 Yhttp://llvm.org/doxygen/group__LLVMCCoreTypeFloat.html#ga200527010747eab31b73d3e3f6d94935 Yhttp://llvm.org/doxygen/group__LLVMCCoreTypeFloat.html#ga529c83a8a5461e5beac19eb867216e3c Yhttp://llvm.org/doxygen/group__LLVMCCoreTypeFloat.html#ga3a5332a1d075602bccad7576d1a8e36f Yhttp://llvm.org/doxygen/group__LLVMCCoreTypeOther.html#ga1c78ca6d7bf279330b9195fa52f23828 what  ^http://llvm.org/doxygen/group__LLVMCCoreTypeSequential.html#ga02dc08041a12265cb700ee469497df63+ | would be if it supported 64 bit lengths  ^http://llvm.org/doxygen/group__LLVMCCoreTypeSequential.html#gafb88a5ebd2a8062e105854910dc7ca17  Zhttp://llvm.org/doxygen/group__LLVMCCoreTypeStruct.html#gaf32e6d6bcec38b786efbef689b0dddf7  Zhttp://llvm.org/doxygen/group__LLVMCCoreTypeStruct.html#ga3e940e660375ae0cbdde81c0d8ec91e3  Zhttp://llvm.org/doxygen/group__LLVMCCoreTypeStruct.html#gaff2af74740a22f7d18701f0d8c3e5a6fwhat  ^http://llvm.org/doxygen/group__LLVMCCoreTypeSequential.html#gabd1666e080f693e1af0b4018005cd927F | would be if it supported 64-bit array sizes, as the C++ type does. ^http://llvm.org/doxygen/group__LLVMCCoreTypeSequential.html#ga5ec731adf74fb40bc3b401956d0c6ff2 ^http://llvm.org/doxygen/group__LLVMCCoreTypeSequential.html#ga124b162b69b5def41dde2fda3668cbd9 _http://llvm.org/doxygen/group__LLVMCCoreTypeSequential.html#ga299fe6147083678d0494b1b875f542fae \http://llvm.org/doxygen/group__LLVMCCoreTypeFunction.html#ga8b0c32e7322e5c6c1bf7eb95b0961707 Whttp://llvm.org/doxygen/group__LLVMCCoreTypeInt.html#ga2e5db8cbc30daa156083f2c42989138d ^http://llvm.org/doxygen/group__LLVMCCoreTypeSequential.html#ga0b03e26a2d254530a9b5c279cdf52257 \http://llvm.org/doxygen/group__LLVMCCoreTypeFunction.html#ga83dd3a49a0f3f017f4233fc0d667bda2 \http://llvm.org/doxygen/group__LLVMCCoreTypeFunction.html#ga44fa41d22ed1f589b8202272f54aad77 \http://llvm.org/doxygen/group__LLVMCCoreTypeFunction.html#gacfa4594cbff421733add602a413cae9f \http://llvm.org/doxygen/group__LLVMCCoreTypeFunction.html#ga2970f0f4d9ee8a0f811f762fb2fa7f82 Whttp://llvm.org/doxygen/group__LLVMCCoreTypeInt.html#gadfb8ba2f605f0860a4bf2e3c480ab6a2 Thttp://llvm.org/doxygen/group__LLVMCCoreType.html#ga112756467f0988613faa6043d674d843%     !" #$%%     !" #$%$     !" #$%None  &*+2346<E&FThis function exposes the ID returned by llvm::Value::getValueID() |  Qhttp://llvm.org/doxygen/classllvm_1_1Value.html#a2983b7b4998ef5b9f51b18c01588af3c. ' \http://llvm.org/doxygen/group__LLVMCCoreValueGeneral.html#gac1f61f74d83d218d4943c018e8fd8d13( \http://llvm.org/doxygen/group__LLVMCCoreValueGeneral.html#ga70948786725c43968d15225dd584e5a9) \http://llvm.org/doxygen/group__LLVMCCoreValueGeneral.html#ga12179f46b79de8436852a4189d4451e0*+,&'()*+,&'()*+,&'()None  &*+2346<E-./01-./01-./01 None &*+234<E234523452345!None &*+234<E6allocate an SMDiagnostic object 789:;<=>6 789:;<=>6 789:;<=>6"None &*+234<E?@ABCDEFGHIJKLMNOPQRSTUVWXYZ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ#None &*+234<E[\]^_`abcdefghijklmn[\]^_`abcdefghijklmn[\]^_`abcdefghijklmn$None &*+2346<Eopqrstuvwxyz{|}~opqrstuvwxyz{|}~opqrstuvwxyz{|}~%None &*+234<E&None&*+234<E  'None &*+234<E(None &*+234<E)None &*+234<E*None  &*+2346<E+None &*+234<E,None &*+234<EELLVM's serializer to generate a string of llvm assembly from a moduleWUse LLVM's parser to parse a string of llvm assembly in a memory buffer to get a module-None &*+234<E.None &*+234<BE"""/None &*+234<E0None &*+234<EThe LLVM C-API for instructions with boolean flags (e.g. nsw) and is weak, so they get separated out for different handling. This check is an accurate but crude test for whether an instruction needs such handling.1None  &*+2346<EC      !"#$%&'()*+,-./C      !"#$%&'()*+,-./C      !"#$%&'()*+,-./2None  &*+234<Ee0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~e0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~e0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3None &*+234<E4None &*+2346<BE Why does the Exceptable module exist? The present llvm general design is around the use of the ExceptT transformer, first defined in transformers 0.4.0Well, the goal of this module is to allow LLVM-General to be compatible with GHC 7.8 apis, and GHC 7.8 comes bundled with transformers 0.3. Thus LLVM-General must be compatible with transformers 0.3 (via the use of transformers-compat) in order to be usable in conjunction with usage of GHC as a library.At some future point where the active "power users" base of LLVM-General no longer needs to support GHC 7.8 heavily, removing this Module and reverting other changes elsewhere to using ExceptT / Except will be a good idea.A good "signpost" for reverting will be around GHC 7.12's release, because then there will be >=2 GHC major version releases that come bundled with Transformers >= 0.4FConstructor for computations in the exception monad. (The inverse of  runExcept).DExtractor for computations in the exception monad. (The inverse of ).7Map the unwrapped computation using the given function.  runExcept ( mapExcept f m) = f ( runExcept m)bTransform any exceptions thrown by the computation using the given function (a specialization of  withExceptT).7Map the unwrapped computation using the given function.  runExceptT ( mapExceptT f m) = f ( runExceptT m)MTransform any exceptions thrown by the computation using the given function.Signal an exception value e.  runExceptT ( e) =  ( e)  e >>= m =  eHandle an exception.  h ( m) =  m  h ( e) = h eLift a callCC operation to the new monad.Lift a listen operation to the new monad.Lift a pass operation to the new monad.the inner computation2a handler for exceptions in the inner computationF5 Safe-Inferred &*+234<EHM  6None &*+2346<EHM7None &*+2346<E 8None &*+23468<E      !"            !"9None &*+2346<E#$%&'#$%&':None &*+2346<E((;None &*+2346<E)*)*<None &*+2346<E++=None &*+2346<E,,>None &*+2346<E--?None &*+2346<E./0123456789:;./0 ./0123456789:;@None &*+2346<BE<=>?@ABCDEFGHIJKLMNOPQRSTUV<=>?@ABCDEFGHIJKLMNOPQRSTU<=>? @ABCDEFGHIJKLMNOPQRSTUVANone&*+234<EWWWBNone &*+2346<E XYZ[\]^_`aXYZ[\]X[Y\]Z^_`aCNone&*+234<Ebcbcbc Safe-Inferred&*+234<E See  >http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/gcov-io.h?view=markup. 1http://llvm.org/docs/Passes.html#transform-passes0 A few passes can make use of information in a  D if one is provided to E. .http://llvm.org/doxygen/classllvm_1_1Pass.html[ can use a  Dw can use a  DzDefaults for the  pass{Defaults for the  pass - copied from the C++ code to keep these defaults constant. (The C++ defaults are modifiable through global objects used for command-line processing, in a design apparently oblivious to uses of LLVM besides the standard command-line tools).| Defaults for .} Defaults for .~ Defaults for  . Defaults for  . Defaults for  . Defaults for .  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~yxwvutsrqpnmlkjihgfed`^][ZYXWVTNMLKJIGFEDBA?>=<;:9875 oabc_\UOPQRSHC@6 !"#$%&'()*+,-./01234 z{|}~ |yxwvutsrqpnmlkjihgfed`^][ZYXWVTNMLKJIGFEDBA?>=<;:9875 oabc_\UOPQRSHC@6 !"#$%&'()*+,-./01234 z{|}~FNone &*+234<Edefghijklmnopqrstuvwxyz{|}~defghijklmnopqrstuvwxyz{|}~defghijklmnopqrstuvwxyz{|}~GNone&*+234<E^Set the multithreading mode of LLVM. If it is disabled (as by default) locks are not enforced.*Check if multithreading is enabled in LLVMNone&*+234<E Safe-Inferred&*+234<EThe options of a  H 7http://llvm.org/doxygen/classllvm_1_1TargetOptions.html Zhttp://llvm.org/doxygen/namespacellvm_1_1FPOpFusion.html#a9c71bae9f02af273833fde586d529fc5 Xhttp://llvm.org/doxygen/namespacellvm_1_1FloatABI.html#aea077c52d84934aabf9445cef9eab2e2INone &*+2346<E Whttp://llvm.org/doxygen/namespacellvm_1_1LibFunc.html#abf8f6830387f338fed0bce2e65108c6f:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      None&*+234<E8      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!       Safe-Inferred&*+234<E 3http://llvm.org/doxygen/namespacellvm_1_1Reloc.html Safe-Inferred&*+234<EA . described a problem during parsing of LLVM IR0What kind of problem does a diagnostic describe? Convert a  to a printable form.   JNone &*+2346<EK Safe-Inferred&*+234<Ea Context object holds the state the of LLVM system needs for one thread of | LLVM compilation. Once upon a time, in early versions of LLVM, this state was global. | Then it got packed up in this object to allow multiple threads to compile at once.TCreate a Context, run an action (to which it is provided), then destroy the Context.LNone &*+2346<BE!      !"#$%&'      !"#$%      !"#$%&'MNone &*+2346<E()*()*NNone &*+2346<E +,-./01234+,./0123 +,-./01234ONone &*+2346<E 56789:;<=56789 56789:;<=PNone &*+2346<EM>?@>>?@QNone &*+2346<EAAARNone&*+234<EBCDEFGBCDEFGBCDEFGSNone &*+2346<EHIJKHIJKTNone &*+2346<ELMNOLLMNOUNone &*+2346<EPQRSTUVWPPQRSTUVWVNone  &*+2346<E XYZ[\]^_`XYZ XYZ[\]^_`WNone&*+234<Eababab Safe-Inferred&*+234<EXNone&*+234<E Rhttp://llvm.org/doxygen/namespacellvm_1_1cl.html#a992a39dae9eb8d4e54ffee5467902803 Sadly, there is occasionally some configuration one would like to control in LLVM which are accessible only as command line flags setting global state, as if the command line tools were the only use of LLVM. Very sad.None&*+234<E  Safe-Inferred&*+234<E 7http://llvm.org/doxygen/namespacellvm_1_1CodeModel.html  Safe-Inferred&*+234<E 8http://llvm.org/doxygen/namespacellvm_1_1CodeGenOpt.htmlYNone &*+2346<E Ehttp://llvm.org/docs/doxygen/html/classllvm_1_1TargetLibraryInfo.html 8http://llvm.org/doxygen/classllvm_1_1TargetLowering.html 7http://llvm.org/doxygen/classllvm_1_1TargetMachine.html 7http://llvm.org/doxygen/classllvm_1_1TargetOptions.html!e.g. an instruction set extension 0http://llvm.org/doxygen/classllvm_1_1Target.htmlFind a - given an architecture and/or a "triple". |  [http://llvm.org/doxygen/structllvm_1_1TargetRegistry.html#a3105b45e546c9cc3cf78d0f2ec18ad89 | Be sure to run either  or  O before expecting this to succeed, depending on what target(s) you want to use.&bracket creation and destruction of a  objectset all target optionsget all target options&bracket creation and destruction of a get the  of a  pInitialize the native target. This function is called automatically in these Haskell bindings when creating an  ZQ which will require it, and so it should not be necessary to call it separately. Kthe default target triple that LLVM has been configured to produce code for Ba target triple suitable for loading code into the current process the LLVM name for the host CPU Fa space-separated list of LLVM feature names supported by the host CPUc to use for the given /Initialize all targets so they can be found by &Bracket creation and destruction of a  configured for the host Look up a  by its standard name+Get a the current name to be emitted for a PSet the name of the function on the target platform that corresponds to funcNameMlook up information about the library functions available on a given platform%defghijklarch("triple" - e.g. x86_64-unknown-linux-gnutriplecpufeatures     The function name to be emittedtriplemnohijkl     defghijkl     mno[None &*+2346<EMBA newtype to distinguish strings used for paths from other strings 0http://llvm.org/doxygen/classllvm_1_1Module.htmlflink LLVM modules - move or copy parts of a source module into a destination module. Note that this operation is not commutative - not only concretely (e.g. the destination module is modified, becoming the result) but abstractly (e.g. unused private globals in the source module do not appear in the result, but similar globals in the destination remain).parse  from LLVM assemblygenerate LLVM assembly from a write LLVM assembly for a  to a fileparse  from LLVM bitcodegenerate LLVM bitcode from a write LLVM bitcode from a  into a file3write target-specific assembly directly into a file &produce target-specific assembly as a p!)produce target-specific object code as a  ByteString"6write target-specific object code directly into a file#Build an LLVM.General. from a LLVM.General.AST.\]4 - i.e. lower an AST from Haskell into C++ objects.$Get an LLVM.General.AST.\] from a LLVM.General./ - i.e. raise C++ objects into an Haskell AST.#qrstuv[True to leave the right module unmodified, False to cannibalize it (for efficiency's sake).The module into which to link:The module to link into the other (and cannibalize or not)wxy !"z{|}#$~qstuvwxy !"z{|}#$qrstuvwxy !"z{|}#$~^None &*+23468<EHM% /http://llvm.org/doxygen/classllvm_1_1MCJIT.html  :http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.htmlk N.B. - the LLVM MCJIT does not current support adding multiple modules to any one instance of the MCJIT.& -http://llvm.org/doxygen/classllvm_1_1JIT.html' 9http://llvm.org/doxygen/classllvm_1_1ExecutionEngine.html*a * e represents a  which is currently "in" an '0, and so the functions of which may be executed.+*bracket the creation and destruction of a &,+bracket the creation and destruction of an %%&'()*+optimization level,optimization level)True to disable frame pointer eliminationkTrue to enable fast instruction selection -> Maybe MemoryManager -- llvm-general doesn't support this yet%&'()*+, %&'()*+, None&*+234<E%&'()*+,'()*&+%,_None &*+2346<E-"There are different ways to get a ;. This type embodies them..This type is a high-level specification of a set of passes. It uses the same collection of passes chosen by the LLVM team in the command line tool opt`. The fields of this spec are much like typical compiler command-line flags - e.g. -O<n>, etc.6a - is a lower-level, detailed specification of a set of passes. It allows fine-grained control of what passes are to be run when, and the specification of passes not available through ..; 5http://llvm.org/doxygen/classllvm_1_1PassManager.html Note: a PassManager does substantive behind-the-scenes work, arranging for the results of various analyses to be available as needed by transform passes, shared as possible.<Helper to make a curated -= an empty ->bracket the creation of a ;?run the passes in a ; on a , modifying the .-./0123456789:;<=>?-./0123456789:;<=>?-6.789:/01234589:;<=>?None&*+234<E-./0123456789:;<=>?;-6.789:/01234589:=<>? None&*+234<E          `None&*+234<E@Run basic sanity checks on a . Note that the same checks will trigger assertions within LLVM if LLVM was built with them turned on, before this function can be is called.@@@None&*+234<E@@ None&*+234<E !"#$#$ !"aNone&*+234<E !"#$bbcdefghijklmnopqrstuvwxyz{|}~GGIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;I<I=I>I?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:;<=>?@@ABCDEFGHIJKKLKMXN ; O P Q R S ? T U ? V WYXYYYDYHYZYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYfYgYhYiYjYkYlYm[n[n[][o[p[q[r[s[t[u[v[w[x[y[z[{^|^}^Z^~^^^^___________________`LNGG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMMNOPQRSTUVWXYZ[\]^_`ab c d e f!g!h!i!j!k!l!m!n!o"p"p"]"o"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""##Z##################$$$$$$$$$$$$$$$$%%%%%%%&&&&&&&&&&&&&''''''(((((())))))))))))))))))))*******+++++++,,--.X.Y.D.H.[.h......g.f.e.d.c.a................\.b///0001 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222234444444444444444444444444    5 5 5 5555555556666666666 6!6"6#6$6%6&6'6(7)7*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H9I9J9K9L9M:N;O;P<Q=R>S?T?T?U?V?W?X?Y?Z?[?\?]?^?_?`@a@a@b@c@c@d@e@f@g@h@i@j@k@l@m@n@o@p@Y@q@r@s@t@u@v@w@xAyBzBnB{B|B}B~BZBBBCCFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F F F F FFFFFFFFFFFFFGIIJJJ KLL!L!L"L#L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;L<L=L>L?M@MAMBNNNCNNNNNNNDOEOFOGOHOIOJOKOLOMPNPOPPQZRQRRRSRTRRSUSVSWSXTYTZT[T\U]U^UZU_U`UaUbUcVdVeVfVgVhViVjVkVlWWmnocYpYqYrYsYXYYYDYHY[YtYuYvw[][x[y[z[{[|[[}[~[[[[[[[[[[^|^^^^}^^^^^^__E_llvm-general-3.4.4.3LLVM.General.TransformsLLVM.General.ThreadingLLVM.General.Target.Options#LLVM.General.Target.LibraryFunctionLLVM.General.RelocationLLVM.General.DiagnosticLLVM.General.ContextLLVM.General.CommandLineLLVM.General.CodeModelLLVM.General.CodeGenOptLLVM.General.TargetLLVM.General.ModuleLLVM.General.ExecutionEngineLLVM.General.PassManagerLLVM.General.Analysis+LLVM.General.Internal.FFI.ByteRangeCallback$LLVM.General.Internal.FFI.TransformsLLVM.General.Internal.Inject!LLVM.General.Internal.FFI.Context%LLVM.General.Internal.FFI.CommandLine!LLVM.General.Internal.FFI.Iterate&LLVM.General.Internal.FFI.PtrHierarchy$LLVM.General.Internal.FFI.BasicBlockLLVM.General.Internal.FFI.User%LLVM.General.Internal.FFI.GlobalAlias$LLVM.General.Internal.FFI.LLVMCTypes%LLVM.General.Internal.FFI.GlobalValue%LLVM.General.Internal.FFI.InstructionLLVM.General.Internal.FFI.TypeLLVM.General.Internal.FFI.Value(LLVM.General.Internal.FFI.BinaryOperator$LLVM.General.Internal.FFI.DataLayout&LLVM.General.Internal.FFI.SMDiagnostic LLVM.General.Internal.FFI.Module)LLVM.General.Internal.FFI.ExecutionEngine"LLVM.General.Internal.FFI.Function(LLVM.General.Internal.FFI.InlineAssembly)LLVM.General.Internal.FFI.InstructionDefs%LLVM.General.Internal.InstructionDefs&LLVM.General.Internal.FFI.MemoryBuffer"LLVM.General.Internal.FFI.Metadata(LLVM.General.Internal.FFI.GlobalVariable$LLVM.General.Internal.FFI.RawOStream"LLVM.General.Internal.FFI.Assembly!LLVM.General.Internal.FFI.Bitcode LLVM.General.Internal.FFI.Target#LLVM.General.Internal.FFI.Threading!LLVM.General.Internal.FFI.Cleanup"LLVM.General.Internal.FFI.Constant!LLVM.General.Internal.FFI.Builder"LLVM.General.Internal.FFI.AnalysisControl.Monad.ExceptableControl.Monad.Trans.AnyContControl.Monad.AnyCont.ClassControl.Monad.AnyContLLVM.General.Internal.CodingLLVM.General.Internal.AtomicityLLVM.General.Internal.Attribute'LLVM.General.Internal.CallingConvention&LLVM.General.Internal.IntegerPredicate,LLVM.General.Internal.FloatingPointPredicate"LLVM.General.Internal.RMWOperationLLVM.General.Internal.StringLLVM.General.Internal.DecodeAST LLVM.General.Internal.DataLayout"LLVM.General.Internal.MemoryBuffer LLVM.General.Internal.RawOStream TargetMachinecreatePassManager%LLVM.General.Internal.FFI.PassManagerLLVM.General.Internal.Threading TargetOptions%LLVM.General.Internal.LibraryFunction LLVM.General.Internal.DiagnosticLLVM.General.Internal.ContextLLVM.General.Internal.EncodeAST#LLVM.General.Internal.FastMathFlagsLLVM.General.Internal.GlobalLLVM.General.Internal.TypeLLVM.General.Internal.ConstantLLVM.General.Internal.ValueLLVM.General.Internal.Function$LLVM.General.Internal.InlineAssemblyLLVM.General.Internal.MetadataLLVM.General.Internal.Operand!LLVM.General.Internal.Instruction LLVM.General.Internal.BasicBlock!LLVM.General.Internal.CommandLineLLVM.General.Internal.TargetExecutionEngineLLVM.General.Internal.ModuleLLVM.General.ASTModule%LLVM.General.Internal.ExecutionEngine!LLVM.General.Internal.PassManagerLLVM.General.Internal.Analysis LLVM.General GCOVVersionPassDebugExistingIRDebugGeneratedIRhideDebugIntrinsicshideDebugMetadatafileName directoryBoundsCheckingThreadSanitizerMemorySanitizer trackOriginsAddressSanitizerModuleAddressSanitizercheckInitOrdercheckUseAfterReturn checkLifetime blackListFilezeroBaseShadow GCOVProfiler emitNotesemitDataversionuseCfgChecksum noRedZonefunctionNamesInData"SuperwordLevelParallelismVectorize LoopVectorize noUnrollingBasicBlockVectorize vectorBitsvectorizeBools vectorizeIntsvectorizeFloatsvectorizePointersvectorizeCasts vectorizeMathvectorizeFusedMultiplyAddvectorizeSelect vectorizeCmpvectorizeGetElementPtrvectorizeMemoryOperations alignedOnlyrequiredChainDepth searchLimitmaxCandidatePairsForCycleChecksplatBreaksChainmaxInstructions maxIterationspowerOfTwoLengthsOnlynoMemoryOperationBoostfastDependencyAnalysis StripSymbols onlyDebugInfoStripNonDebugSymbolsStripDebugDeclareStripDeadDebugInfoPruneExceptionHandlingPartialInliningMergeFunctions3InterproceduralSparseConditionalConstantPropagation"InterproceduralConstantPropagationInternalizeFunctions exportListGlobalDeadCodeEliminationFunctionInliningfunctionInliningThresholdFunctionAttributes ConstantMergeArgumentPromotion AlwaysInlineinsertLifetimeTailCallEliminationSinkingSimplifyControlFlowGraphSimplifyLibCalls$SparseConditionalConstantPropagation OldScalarReplacementOfAggregates)oldScalarReplacementOfAggregatesThresholduseDominatorTreestructMemberThresholdarrayElementThresholdscalarLoadThresholdScalarReplacementOfAggregatesrequiresDominatorTree ReassociatePromoteMemoryToRegisterMemcpyOptimizationLowerExpectIntrinsic LowerSwitch LowerInvoke$useExpensiveExceptionHandlingSupport LowerAtomic LoopUnswitchoptimizeForSize LoopUnrollloopUnrollThresholdcount allowPartialLoopStrengthReduce LoopRotateLoopInstructionSimplify LoopIdiom LoopDeletionLoopInvariantCodeMotion LoopClosedSingleStaticAssignment JumpThreadingInstructionCombiningInductionVariableSimplifyGlobalValueNumberingnoLoads#EarlyCommonSubexpressionEliminationDemoteRegisterToMemoryDeadStoreEliminationDeadInstructionEliminationDeadCodeEliminationCorrelatedValuePropagationConstantPropagationCodeGenPrepareBreakCriticalEdgesAggressiveDeadCodeEliminationdefaultLoopVectorizedefaultVectorizeBasicBlocksdefaultGCOVProfilerdefaultAddressSanitizerdefaultAddressSanitizerModuledefaultMemorySanitizerdefaultThreadSanitizerdefaultDebugGeneratedIRsetMultithreadedisMultithreadedOptionsprintMachineCodenoFramePointerElimination)lessPreciseFloatingPointMultiplyAddOptionunsafeFloatingPointMathnoInfinitiesFloatingPointMathnoNaNsFloatingPointMath1honorSignDependentRoundingFloatingPointMathOption useSoftFloat noZerosInBSSjITEmitDebugInfojITEmitDebugInfoToDiskguaranteedTailCallOptimizationdisableTailCallsenableFastInstructionSelectionpositionIndependentExecutableenableSegmentedStacks useInitArraystackAlignmentOverridetrapFunctionName floatABIType!allowFloatingPointOperationFusion FloatingPointOperationFusionMode"FloatingPointOperationFusionStrict$FloatingPointOperationFusionStandard FloatingPointOperationFusionFastFloatABI FloatABIHard FloatABISoftFloatABIDefaultLibraryFunction LF__write LF__vsscanf LF__vsprintf LF__vsnprintf LF__vscanf LF__vprintf LF__vfscanf LF__vfprintf LF__valloc LF__utimes LF__utime LF__unsetenv LF__unlink LF__ungetc LF__uname LF__truncl LF__truncf LF__trunc LF__toascii LF__tmpfile64 LF__tmpfile LF__timesLF__tanl LF__tanhl LF__tanhfLF__tanhLF__tanfLF__tan LF__system LF__strxfrm LF__strtoull LF__strtoul LF__strtoll LF__strtold LF__strtol LF__strtok_r LF__strtok LF__strtof LF__strtod LF__strstr LF__strspn LF__strrchr LF__strpbrk LF__strnlen LF__strndup LF__strncpy LF__strncmp LF__strncatLF__strncasecmp LF__strlen LF__strdup LF__strcspn LF__strcpy LF__strcoll LF__strcmp LF__strchr LF__strcatLF__strcasecmp LF__stpncpy LF__stpcpy LF__statvfs64 LF__statvfs LF__stat64LF__stat LF__sscanf LF__sqrtl LF__sqrtfLF__sqrt LF__sprintf LF__snprintf LF__siprintfLF__sinl LF__sinhl LF__sinhfLF__sinhLF__sinfLF__sin LF__setvbuf LF__setitimer LF__setbuf LF__scanf LF__roundl LF__roundf LF__round LF__rmdir LF__rintl LF__rintfLF__rint LF__rewind LF__rename LF__remove LF__realpath LF__reallocf LF__realloc LF__readlinkLF__read LF__qsort LF__pwriteLF__puts LF__putcharLF__putc LF__printf LF__preadLF__powlLF__powfLF__powLF__posix_memalign LF__popen LF__perror LF__pclose LF__opendir LF__open64LF__open LF__ntohs LF__ntohlLF__nearbyintlLF__nearbyintf LF__nearbyint LF__modfl LF__modffLF__modf LF__mktime LF__mkdirLF__memset_pattern16 LF__memset LF__memrchr LF__memmove LF__memcpy LF__memcmp LF__memchr LF__memccpy LF__memalign LF__malloc LF__lstat64 LF__lstatLF__loglLF__logf LF__logbl LF__logbfLF__logb LF__log2l LF__log2fLF__log2 LF__log1pl LF__log1pf LF__log1p LF__log10l LF__log10f LF__log10LF__log LF__llabs LF__lchownLF__labs LF__isdigit LF__isascii LF__iprintf LF__htons LF__htonlLF__gettimeofdayLF__gets LF__getpwnamLF__getlogin_r LF__getitimer LF__getenv LF__getcharLF__getc_unlockedLF__getc LF__fwriteLF__funlockfileLF__ftrylockfile LF__ftello64 LF__ftello LF__ftellLF__fstatvfs64 LF__fstatvfs LF__fstat64 LF__fstat LF__fsetpos LF__fseeko64 LF__fseeko LF__fseek LF__fscanf LF__frexpl LF__frexpf LF__frexpLF__free LF__fread LF__fputs LF__fputc LF__fprintf LF__fopen64 LF__fopen LF__fmodl LF__fmodfLF__fmod LF__floorl LF__floorf LF__floor LF__flockfile LF__fiprintf LF__fileno LF__fgets LF__fgetpos LF__fgetc LF__ffsllLF__ffslLF__ffs LF__fflush LF__ferrorLF__feof LF__fdopen LF__fclose LF__fabsl LF__fabsfLF__fabs LF__expm1l LF__expm1f LF__expm1LF__explLF__expf LF__exp2l LF__exp2fLF__exp2 LF__exp10l LF__exp10f LF__exp10LF__exp LF__ctermidLF__cosl LF__coshl LF__coshfLF__coshLF__cosfLF__cos LF__copysignl LF__copysignf LF__copysign LF__closedir LF__clearerr LF__chown LF__chmod LF__ceill LF__ceilfLF__ceil LF__cbrtl LF__cbrtfLF__cbrt LF__calloc LF__bzero LF__bcopyLF__bcmp LF__atollLF__atolLF__atoiLF__atof LF__atanl LF__atanhl LF__atanhf LF__atanh LF__atanf LF__atan2l LF__atan2f LF__atan2LF__atan LF__asinl LF__asinhl LF__asinhf LF__asinh LF__asinfLF__asin LF__acosl LF__acoshl LF__acoshf LF__acosh LF__acosfLF__acos LF__accessLF__absLF__dunder_strtok_rLF__dunder_strndupLF__dunder_strdupLF__sqrtl_finiteLF__sqrtf_finiteLF__sqrt_finite LF__sinpif LF__sinpiLF__sincospi_stretfLF__sincospi_stretLF__memcpy_chkLF__dunder_isoc99_sscanfLF__dunder_isoc99_scanfLF__cxa_guard_releaseLF__cxa_guard_acquireLF__cxa_guard_abortLF__cxa_atexit LF__cospif LF__cospiLF__ZnwmRKSt9nothrow_tLF__ZnwmLF__ZnwjRKSt9nothrow_tLF__ZnwjLF__ZnamRKSt9nothrow_tLF__ZnamLF__ZnajRKSt9nothrow_tLF__ZnajLF__ZdlPvRKSt9nothrow_t LF__ZdlPvLF__ZdaPvRKSt9nothrow_t LF__ZdaPvLF__under_IO_putcLF__under_IO_getcModel DynamicNoPICPICStaticDefault Diagnostic lineNumber columnNumberdiagnosticKindfilenamemessage lineContentsDiagnosticKindNoteKind WarningKind ErrorKinddiagnosticDisplayContext withContextparseCommandLineOptionsLargeMediumKernelSmall JITDefaultLevel AggressiveLessNoneTargetLibraryInfoTargetLowering CPUFeatureTarget lookupTargetwithTargetOptionspokeTargetOptionspeekTargetOptionswithTargetMachinegetTargetLoweringinitializeNativeTargetgetDefaultTargetTriplegetProcessTargetTriplegetHostCPUNamegetHostCPUFeaturesgetTargetMachineDataLayoutinitializeAllTargetswithDefaultTargetMachinegetLibraryFunctiongetLibraryFunctionName#setLibraryFunctionAvailableWithNamewithTargetLibraryInfoFile linkModuleswithModuleFromLLVMAssemblymoduleLLVMAssemblywriteLLVMAssemblyToFilewithModuleFromBitcode moduleBitcodewriteBitcodeToFilewriteTargetAssemblyToFilemoduleTargetAssembly moduleObjectwriteObjectToFilewithModuleFromAST moduleASTMCJITJITwithModuleInEngine getFunctionExecutableModulewithJIT withMCJIT PassSetSpecCuratedPassSetSpecoptLevel sizeLevel unitAtATimesimplifyLibCalls loopVectorize"superwordLevelParallelismVectorizeuseInlinerWithThreshold transforms dataLayouttargetLibraryInfo targetMachine PassManagerdefaultCuratedPassSetSpecdefaultPassSetSpecwithPassManagerrunPassManagerverifyByteRangeCallbackwrapByteRangeCallbackneedsTargetMachinecNameInjectinject $fInjectaacontextDisposegetGlobalContext contextCreateparseCommandLineOptions'getXsType InlineAsm NamedMetadataMDStringMDNodeUserBinaryOperator Instruction Parameter BasicBlockFunction GlobalAliasGlobalVariable GlobalValueConstantValueChildOf DescendentOf$fDescendentOfac$fDescendentOfaaupCast$fChildOfValueInlineAsm$fChildOfValueMDString$fChildOfValueMDNode$fChildOfValueUser"$fChildOfInstructionBinaryOperator$fChildOfUserInstruction$fChildOfValueParameter$fChildOfValueBasicBlock$fChildOfGlobalValueFunction$fChildOfGlobalValueGlobalAlias"$fChildOfGlobalValueGlobalVariable$fChildOfConstantGlobalValue$fChildOfUserConstantgetNextInstructiongetLastInstructiongetFirstInstructiongetBasicBlockTerminator isABasicBlockUse getOperandgetNumOperands getNextUse getFirstUseisAUser setAliasee getAliaseeisAGlobalAliasLibFunc LinkerModeVerifierFailureActionFloatSemantics FunctionAttr ParamAttrTypeKindTargetOptionFlagFPOpFusionMode FloatABITypeCodeGenFileTypeCodeGenOptLevel CodeModel RelocModel RMWOperation AsmDialectValueSubclassIdCallConv VisibilityLinkageMemoryOrdering FastMathFlagsMDKindID FCmpPredicate ICmpPredicate CPPOpcodeNothingAsEmptyStringNothingAsMinusOneOwnerTransferedLLVMBool iCmpPredEQ iCmpPredNE iCmpPredUGT iCmpPredUGE iCmpPredULT iCmpPredULE iCmpPredSGT iCmpPredSGE iCmpPredSLT iCmpPredSLE fCmpPredFalse fCmpPredOEQ fCmpPredOGT fCmpPredOGE fCmpPredOLT fCmpPredOLE fCmpPredONE fCmpPredORD fCmpPredUNO fCmpPredUEQ fCmpPredUGT fCmpPredUGE fCmpPredULT fCmpPredULE fCmpPredUNE fcmpPredTruefastMathFlagsUnsafeAlgebrafastMathFlagsNoNaNsfastMathFlagsNoInfsfastMathFlagsNoSignedZerosfastMathFlagsAllowReciprocalfastMathFlagsPmemoryOrderingNotAtomicmemoryOrderingUnorderedmemoryOrderingMonotonicmemoryOrderingAcquirememoryOrderingReleasememoryOrderingAcquireRelease$memoryOrderingSequentiallyConsistentmemoryOrderingPlinkageExternallinkageAvailableExternallylinkageLinkOnceAnylinkageLinkOnceODRlinkageLinkOnceODRAutoHidelinkageWeakAnylinkageWeakODRlinkageAppendinglinkageInternallinkagePrivatelinkageDLLImportlinkageDLLExportlinkageExternalWeak linkageGhost linkageCommonlinkageLinkerPrivatelinkageLinkerPrivateWeaklinkagePvisibilityDefaultvisibilityHiddenvisibilityProtected visibilityP callConvC callConvFast callConvCold callConvPvalueSubclassIdArgumentvalueSubclassIdBasicBlockvalueSubclassIdFunctionvalueSubclassIdGlobalAliasvalueSubclassIdGlobalVariablevalueSubclassIdUndefValuevalueSubclassIdBlockAddressvalueSubclassIdConstantExpr$valueSubclassIdConstantAggregateZero valueSubclassIdConstantDataArray!valueSubclassIdConstantDataVectorvalueSubclassIdConstantIntvalueSubclassIdConstantFPvalueSubclassIdConstantArrayvalueSubclassIdConstantStructvalueSubclassIdConstantVector"valueSubclassIdConstantPointerNullvalueSubclassIdMDNodevalueSubclassIdMDStringvalueSubclassIdInlineAsm valueSubclassIdPseudoSourceValue*valueSubclassIdFixedStackPseudoSourceValuevalueSubclassIdInstructionvalueSubclassIdPdiagnosticKindErrordiagnosticKindWarningdiagnosticKindNotediagnosticKindP asmDialectATTasmDialectIntel asmDialectPrmwOperationXchgrmwOperationAddrmwOperationSubrmwOperationAndrmwOperationNandrmwOperationOrrmwOperationXorrmwOperationMaxrmwOperationMinrmwOperationUMaxrmwOperationUMin rmwOperationPrelocModelDefaultrelocModelStatic relocModelPICrelocModelDynamicNoPic relocModelPcodeModelDefaultcodeModelJITDefaultcodeModelSmallcodeModelKernelcodeModelMediumcodeModelLarge codeModelPcodeGenOptLevelNonecodeGenOptLevelLesscodeGenOptLevelDefaultcodeGenOptLevelAggressivecodeGenOptLevelPcodeGenFileTypeAssemblycodeGenFileTypeObjectcodeGenFileTypePfloatABIDefault floatABISoft floatABIHard floatABIPfpOpFusionModeFastfpOpFusionModeStandardfpOpFusionModeStrictfpOpFusionModeP targetOptionFlagPrintMachineCode"targetOptionFlagNoFramePointerElim&targetOptionFlagLessPreciseFPMADOptiontargetOptionFlagUnsafeFPMathtargetOptionFlagNoInfsFPMathtargetOptionFlagNoNaNsFPMath6targetOptionFlagHonorSignDependentRoundingFPMathOptiontargetOptionFlagUseSoftFloattargetOptionFlagNoZerosInBSS targetOptionFlagJITEmitDebugInfo&targetOptionFlagJITEmitDebugInfoToDisk%targetOptionFlagGuaranteedTailCallOpt targetOptionFlagDisableTailCallstargetOptionFlagEnableFastISel-targetOptionFlagPositionIndependentExecutable%targetOptionFlagEnableSegmentedStackstargetOptionFlagUseInitArraytargetOptionFlagP typeKindVoid typeKindHalf typeKindFloattypeKindDoubletypeKindX86_FP80 typeKindFP128typeKindPPC_FP128 typeKindLabeltypeKindIntegertypeKindFunctiontypeKindStruct typeKindArraytypeKindPointertypeKindVectortypeKindMetadatatypeKindX86_MMX typeKindP paramAttrZExt paramAttrSExtparamAttrInRegparamAttrStructRetparamAttrNoAliasparamAttrByValparamAttrNoCapture paramAttrNest paramAttrPfunctionAttrNoReturnfunctionAttrNoUnwindfunctionAttrReadNonefunctionAttrReadOnlyfunctionAttrNoInlinefunctionAttrAlwaysInlinefunctionAttrOptimizeForSizefunctionAttrStackProtectfunctionAttrStackProtectReqfunctionAttrAlignmentfunctionAttrNoRedZonefunctionAttrNoImplicitFloatfunctionAttrNakedfunctionAttrInlineHintfunctionAttrStackAlignmentfunctionAttrReturnsTwicefunctionAttrUWTablefunctionAttrNonLazyBind functionAttrPfloatSemanticsIEEEhalffloatSemanticsIEEEsinglefloatSemanticsIEEEdoublefloatSemanticsIEEEquadfloatSemanticsPPCDoubleDoublefloatSemanticsx87DoubleExtendedfloatSemanticsBogusfloatSemanticsP!verifierFailureActionAbortProcess!verifierFailureActionPrintMessage!verifierFailureActionReturnStatusverifierFailureActionPlinkerModeDestroySourcelinkerModePreserveSource linkerModePlibFunc__under_IO_getclibFunc__under_IO_putclibFunc__ZdaPvlibFunc__ZdaPvRKSt9nothrow_tlibFunc__ZdlPvlibFunc__ZdlPvRKSt9nothrow_t libFunc__ZnajlibFunc__ZnajRKSt9nothrow_t libFunc__ZnamlibFunc__ZnamRKSt9nothrow_t libFunc__ZnwjlibFunc__ZnwjRKSt9nothrow_t libFunc__ZnwmlibFunc__ZnwmRKSt9nothrow_tlibFunc__cospilibFunc__cospiflibFunc__cxa_atexitlibFunc__cxa_guard_abortlibFunc__cxa_guard_acquirelibFunc__cxa_guard_releaselibFunc__dunder_isoc99_scanflibFunc__dunder_isoc99_sscanflibFunc__memcpy_chklibFunc__sincospi_stretlibFunc__sincospi_stretflibFunc__sinpilibFunc__sinpiflibFunc__sqrt_finitelibFunc__sqrtf_finitelibFunc__sqrtl_finitelibFunc__dunder_strduplibFunc__dunder_strnduplibFunc__dunder_strtok_r libFunc__abslibFunc__access libFunc__acoslibFunc__acosflibFunc__acoshlibFunc__acoshflibFunc__acoshllibFunc__acosl libFunc__asinlibFunc__asinflibFunc__asinhlibFunc__asinhflibFunc__asinhllibFunc__asinl libFunc__atanlibFunc__atan2libFunc__atan2flibFunc__atan2llibFunc__atanflibFunc__atanhlibFunc__atanhflibFunc__atanhllibFunc__atanl libFunc__atof libFunc__atoi libFunc__atollibFunc__atoll libFunc__bcmplibFunc__bcopylibFunc__bzerolibFunc__calloc libFunc__cbrtlibFunc__cbrtflibFunc__cbrtl libFunc__ceillibFunc__ceilflibFunc__ceilllibFunc__chmodlibFunc__chownlibFunc__clearerrlibFunc__closedirlibFunc__copysignlibFunc__copysignflibFunc__copysignl libFunc__cos libFunc__cosf libFunc__coshlibFunc__coshflibFunc__coshl libFunc__cosllibFunc__ctermid libFunc__explibFunc__exp10libFunc__exp10flibFunc__exp10l libFunc__exp2libFunc__exp2flibFunc__exp2l libFunc__expf libFunc__expllibFunc__expm1libFunc__expm1flibFunc__expm1l libFunc__fabslibFunc__fabsflibFunc__fabsllibFunc__fcloselibFunc__fdopen libFunc__feoflibFunc__ferrorlibFunc__fflush libFunc__ffs libFunc__ffsllibFunc__ffslllibFunc__fgetclibFunc__fgetposlibFunc__fgetslibFunc__filenolibFunc__fiprintflibFunc__flockfilelibFunc__floorlibFunc__floorflibFunc__floorl libFunc__fmodlibFunc__fmodflibFunc__fmodllibFunc__fopenlibFunc__fopen64libFunc__fprintflibFunc__fputclibFunc__fputslibFunc__fread libFunc__freelibFunc__frexplibFunc__frexpflibFunc__frexpllibFunc__fscanflibFunc__fseeklibFunc__fseekolibFunc__fseeko64libFunc__fsetposlibFunc__fstatlibFunc__fstat64libFunc__fstatvfslibFunc__fstatvfs64libFunc__ftelllibFunc__ftellolibFunc__ftello64libFunc__ftrylockfilelibFunc__funlockfilelibFunc__fwrite libFunc__getclibFunc__getc_unlockedlibFunc__getcharlibFunc__getenvlibFunc__getitimerlibFunc__getlogin_rlibFunc__getpwnam libFunc__getslibFunc__gettimeofdaylibFunc__htonllibFunc__htonslibFunc__iprintflibFunc__isasciilibFunc__isdigit libFunc__labslibFunc__lchownlibFunc__llabs libFunc__loglibFunc__log10libFunc__log10flibFunc__log10llibFunc__log1plibFunc__log1pflibFunc__log1pl libFunc__log2libFunc__log2flibFunc__log2l libFunc__logblibFunc__logbflibFunc__logbl libFunc__logf libFunc__logllibFunc__lstatlibFunc__lstat64libFunc__malloclibFunc__memalignlibFunc__memccpylibFunc__memchrlibFunc__memcmplibFunc__memcpylibFunc__memmovelibFunc__memrchrlibFunc__memsetlibFunc__memset_pattern16libFunc__mkdirlibFunc__mktime libFunc__modflibFunc__modfflibFunc__modfllibFunc__nearbyintlibFunc__nearbyintflibFunc__nearbyintllibFunc__ntohllibFunc__ntohs libFunc__openlibFunc__open64libFunc__opendirlibFunc__pcloselibFunc__perrorlibFunc__popenlibFunc__posix_memalign libFunc__pow libFunc__powf libFunc__powllibFunc__preadlibFunc__printf libFunc__putclibFunc__putchar libFunc__putslibFunc__pwritelibFunc__qsort libFunc__readlibFunc__readlinklibFunc__realloclibFunc__reallocflibFunc__realpathlibFunc__removelibFunc__renamelibFunc__rewind libFunc__rintlibFunc__rintflibFunc__rintllibFunc__rmdirlibFunc__roundlibFunc__roundflibFunc__roundllibFunc__scanflibFunc__setbuflibFunc__setitimerlibFunc__setvbuf libFunc__sin libFunc__sinf libFunc__sinhlibFunc__sinhflibFunc__sinhl libFunc__sinllibFunc__siprintflibFunc__snprintflibFunc__sprintf libFunc__sqrtlibFunc__sqrtflibFunc__sqrtllibFunc__sscanf libFunc__statlibFunc__stat64libFunc__statvfslibFunc__statvfs64libFunc__stpcpylibFunc__stpncpylibFunc__strcasecmplibFunc__strcatlibFunc__strchrlibFunc__strcmplibFunc__strcolllibFunc__strcpylibFunc__strcspnlibFunc__strduplibFunc__strlenlibFunc__strncasecmplibFunc__strncatlibFunc__strncmplibFunc__strncpylibFunc__strnduplibFunc__strnlenlibFunc__strpbrklibFunc__strrchrlibFunc__strspnlibFunc__strstrlibFunc__strtodlibFunc__strtoflibFunc__strtoklibFunc__strtok_rlibFunc__strtollibFunc__strtoldlibFunc__strtolllibFunc__strtoullibFunc__strtoulllibFunc__strxfrmlibFunc__system libFunc__tan libFunc__tanf libFunc__tanhlibFunc__tanhflibFunc__tanhl libFunc__tanllibFunc__timeslibFunc__tmpfilelibFunc__tmpfile64libFunc__toasciilibFunc__trunclibFunc__truncflibFunc__truncllibFunc__unamelibFunc__ungetclibFunc__unlinklibFunc__unsetenvlibFunc__utimelibFunc__utimeslibFunc__valloclibFunc__vfprintflibFunc__vfscanflibFunc__vprintflibFunc__vscanflibFunc__vsnprintflibFunc__vsprintflibFunc__vsscanflibFunc__write libFunc__PsetUnnamedAddrhasUnnamedAddr setAlignment getAlignment setVisibility getVisibility setSection getSection setLinkage getLinkageisAGlobalValueCOpcode getMetadata setMetadata isCleanup setCleanup addClausegetInstStructureIndicescountInstStructureIndicesgetAtomicRMWBinOp getInBounds getVolatilegetSynchronizationScopegetAtomicOrderinggetAllocatedTypegetAllocaNumElementssetInstrAlignmentgetInstrAlignmentgetIndirectBrDestsaddDestinationgetSwitchCasesaddCasegetIncomingBlockgetIncomingValue countIncoming addIncoming'addCallInstAttrgetCallInstAttraddCallInstFunctionAttrgetCallInstFunctionAttrgetCallInstCalledValue setTailCall isTailCallsetInstructionCallConvgetInstructionCallConvgetFCmpPredicategetICmpPredicategetInstructionDefOpcodegetInstructionOpcodeisAInstruction addIncoming getAtomicitymetadataTypeInContextppcFP128TypeInContextfP128TypeInContextx86FP80TypeInContextdoubleTypeInContextfloatTypeInContexthalfTypeInContextvoidTypeInContextgetArrayLength getVectorSizecountStructElementTypesisPackedStructstructTypeInContext' arrayType vectorTypegetPointerAddressSpace pointerType functionType'intTypeInContextgetElementType getParamTypescountParamTypes getReturnTypeisFunctionVarArggetIntTypeWidth getTypeKind AddrSpacestructSetBody'getStructElementTypesstructIsOpaquestructIsLiteral getStructNamestructCreateNamed functionTypestructTypeInContext structSetBodygetValueSubclassId setValueName getValueNametypeOf dumpValuecreateArgumentreplaceAllUsesWithgetFastMathFlagsisExacthasNoUnsignedWraphasNoSignedWrapisABinaryOperator DataLayoutdataLayoutToStringdisposeDataLayoutcreateDataLayoutcreateSMDiagnostic SMDiagnosticgetSMDiagnosticLineContentsgetSMDiagnosticMessagegetSMDiagnosticFilenamegetSMDiagnosticColumnNogetSMDiagnosticLineNogetSMDiagnosticKinddisposeSMDiagnostic ModuleAsmmoduleGetInlineAsmmoduleAppendInlineAsm'getOrAddNamedMetadatagetNamedFunction addFunction justAddAliasaddGlobalInAddressSpacegetNextNamedMetadatagetFirstNamedMetadatagetNextFunctiongetFirstFunction getNextAlias getFirstAlias getNextGlobalgetFirstGlobalgetModuleIdentifiersetTargetTriplegetTargetTriple setDataLayout getDataLayout disposeModulegetModuleContextmoduleCreateWithNameInContextmoduleAppendInlineAsmMCJITCompilerOptions%setMCJITCompilerOptionsEnableFastISel)setMCJITCompilerOptionsNoFramePointerElim setMCJITCompilerOptionsCodeModelsetMCJITCompilerOptionsOptLevelinitializeMCJITCompilerOptionsgetMCJITCompilerOptionsSize linkInMCJIT linkInJITlinkInInterpretergetPointerToGlobal findFunction removeModule addModuledisposeExecutionEnginecreateMCJITCompilerForModulecreateJITCompilerForModulecreateInterpreterForModulecreateExecutionEngineForModulesetGCgetGCaddFunctionRetAttrgetFunctionRetAttr addAttribute getAttribute getParams countParamsappendBasicBlockInContextgetNextBasicBlockgetLastBasicBlockgetFirstBasicBlockgetFunctionAttraddFunctionAttrsetFunctionCallConvgetFunctionCallConvgetInlineAsmDialectinlineAsmIsAlignStackinlineAsmHasSideEffectsgetInlineAsmConstraintStringgetInlineAsmAssemblyStringcreateInlineAsm isAInlineAsmInstructionDef cppOpcodecAPIName cAPIClassNameinstructionKindInstructionKindOtherCastMemoryBinary TerminatorinstructionDefsastConstantRecsastInstructionRecs innerJoin outerJoininstrP MemoryBufferdisposeMemoryBuffer getBufferSizegetBufferStart!createMemoryBufferWithMemoryRange$createMemoryBufferWithContentsOfFilenamedMetadataAddOperands'getNamedMetadataOperandsgetNamedMetadataNumOperandsgetNamedMetadataNamemdNodeIsFunctionLocalgetMDNodeOperandsgetMDNodeNumOperandsdestroyTemporaryMDNodecreateTemporaryMDNodeInContextcreateMDNodeInContext' getMDStringmdStringInContext'getMDKindNamesgetMDKindIDInContext' isAMDNode isAMDStringgetMDKindIDInContextmdStringInContextcreateMDNodeInContextnamedMetadataAddOperandssetThreadLocal isThreadLocalsetInitializergetInitializersetGlobalConstantisGlobalConstantisAGlobalVariableRawOStreamCallback RawOStreamwithBufferRawOStream'withFileRawOStream'wrapRawOStreamCallbackwithFileRawOStreamwithBufferRawOStreamwriteLLVMAssemblyparseLLVMAssembly writeBitcode parseBitcodedisposeTargetLibraryInfolibFuncSetAvailableWithNamelibFuncGetName getLibFunccreateTargetLibraryInfotargetMachineEmitdisposeTargetMachinecreateTargetMachinedisposeTargetOptionsgetAllowFPOpFusionsetAllowFPOpFusiongetFloatABITypesetFloatABITypegetTrapFuncNamesetTrapFuncNamegetStackAlignmentOverridesetStackAlignmentOverridegetTargetOptionsFlagsetTargetOptionFlagcreateTargetOptionsstopMultithreadedstartMultithreadedhasFlags foreignDecl typeMappingconstantBinaryOperator constantCastconstantArray' constantNullconstantVector'getConstantFloatWords!constantFloatOfArbitraryPrecision constantIntOfArbitraryPrecision'*getConstantDataSequentialElementAsConstantconstNamedStruct'constStructInContext'constFloatFloatValueconstFloatDoubleValuegetConstantIntWordsisAConstantPointerNullgetConstantOperandisAConstantInt isAConstant isConstantconstStructInContextconstNamedStructconstantIntOfArbitraryPrecisionconstantVector constantArraygetBlockAddressBlockgetBlockAddressFunction blockAddress constantUndefgetConstantIndicesgetConstantFCmpPredicategetConstantICmpPredicategetConstantCPPOpcodeconstantInBoundsGetElementPtr'constantGetElementPtr' constantUDiv' constantSub'constantShuffleVector' constantShl'constantSelect' constantSDiv' constantMul' constantLShr'constantInsertValue'constantInsertElement' constantICmp' constantFCmp'constantExtractValue'constantExtractElement' constantAdd' constantAShr' constantAShr constantAddconstantExtractElementconstantExtractValue constantFCmp constantICmpconstantInsertElementconstantInsertValue constantLShr constantMul constantSDivconstantSelect constantShlconstantShuffleVector constantSub constantUDivconstantGetElementPtrBuilderbuildUnreachable buildResume buildInvokebuildIndirectBr buildSwitch buildCondBrbuildBrbuildRetpositionBuilderAtEnddisposeBuildercreateBuilderInContextsetFastMathFlagsbuildLandingPadbuildInsertValuebuildExtractValuebuildShuffleVectorbuildInsertElementbuildExtractElement buildVAArg buildSelect buildCallbuildPhi buildFCmp buildICmpbuildAtomicRMW' buildCmpXchg' buildFence'buildInBoundsGetElementPtr'buildGetElementPtr' buildStore' buildLoad' buildAlloca buildZExt' buildXor' buildURem' buildUIToFP' buildUDiv' buildTrunc' buildSub' buildShl' buildSRem' buildSIToFP' buildSExt' buildSDiv'buildPtrToInt'buildOr' buildMul' buildLShr'buildIntToPtr' buildFSub' buildFRem' buildFPTrunc' buildFPToUI' buildFPToSI' buildFPExt' buildFMul' buildFDiv' buildFAdd' buildBitCast' buildAnd'buildAddrSpaceCast' buildAdd' buildAShr' buildAShrbuildAddbuildAddrSpaceCastbuildAnd buildBitCast buildFAdd buildFDiv buildFMul buildFPExt buildFPToSI buildFPToUI buildFPTrunc buildFRem buildFSub buildIntToPtr buildLShrbuildMulbuildOr buildPtrToInt buildSDiv buildSExt buildSIToFP buildSRembuildShlbuildSub buildTrunc buildUDiv buildUIToFP buildURembuildXor buildZExt buildLoad buildStorebuildGetElementPtr buildFence buildCmpXchgbuildAtomicRMW verifyModule Exceptableexcept runExceptable mapExceptablewithExceptablemapExceptableTwithExceptableTthrowEbaseGHC.Basereturn Data.EitherLeftcatchEtransformers-0.4.1.0Control.Monad.Trans.Classlift liftCallCC liftListenliftPass ExceptableT unExceptableT exceptablerunExceptableTmakeExceptableT$fShow1ExceptableT$fRead1ExceptableT$fShowExceptableT$fReadExceptableT$fTraversableExceptableT$fMonadErroreExceptableT$fMonadStatesExceptableTfail>>=>>fmapControl.Monad.Fixmfix Control.MonadguardliftMjoinMonadFunctorMonadFix MonadPlus Data.FunctionfixmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzero MonadTransControl.Monad.IO.ClassMonadIOliftIO mtl-2.2.1Control.Monad.Error.Class catchError throwError MonadErrorControl.Monad.Trans.ExceptExceptTExceptAnyContT unAnyContT runAnyContTanyContT withAnyContT mapAnyContT$fMonadTransAnyContT$fMonadIOAnyContT$fMonadAnyContT$fApplicativeAnyContT$fFunctorAnyContTMonadTransAnyCont liftAnyCont MonadAnyCont anyContToM ScopeAnyCont scopeAnyCont$fMonadTransAnyContbExceptableT$fMonadTransAnyContbExceptT$fMonadTransAnyContbStateT$fMonadTransAnyContbb$fScopeAnyContExceptableT$fScopeAnyContExceptT$fMonadAnyContbExceptableT$fMonadAnyContbExceptT$fScopeAnyContStateT$fMonadAnyContbStateT$fScopeAnyContAnyContT$fMonadAnyContbAnyContT$fMonadErroreAnyContT$fMonadStatesAnyContTDecodeMdecodeMEncodeMencodeMgenCodingInstance allocaArrayallocapeek peekByteOffpoke pokeByteOff peekArray$fDecodeMmWord64Word64$fEncodeMmWord64Word64$fDecodeMmIntCInt$fDecodeMmInt32CInt$fEncodeMmInt32CInt$fDecodeMmWord64CULong$fDecodeMmWord32CUInt$fEncodeMmWord64CULong$fEncodeMmWord32CUInt$fEncodeMmWordCUInt $fEncodeMmMaybeNothingAsMinusOne!$fEncodeMmMaybeNothingAsMinusOne0$fDecodeMmMaybePtr$fEncodeMmMaybePtr$fDecodeMmBoolLLVMBool$fEncodeMmBoolLLVMBool$fDecodeMm[](,)$fEncodeMm[](,)$fDecodeMmAtomicity(,)$fEncodeMmAtomicity(,)$fDecodeMmMaybe(,)$fEncodeMmMaybe(,)$fEncodeMmMaybeMemoryOrdering$fEncodeMm[]ParamAttr#$fDecodeMmCallingConventionCallConv#$fEncodeMmCallingConventionCallConv'$fEncodeMmIntegerPredicateICmpPredicate-$fEncodeMmFloatingPointPredicateFCmpPredicate"$fEncodeMmRMWOperationRMWOperationUTF8ByteString utf8Bytes#$fEncodeMeMaybeNothingAsEmptyString$fDecodeMd[](->)$fDecodeMdByteString(,)$fDecodeMd[](,)$fDecodeMd[]Ptr$fDecodeMd[]OwnerTransfered$fDecodeMd[]Ptr0$fEncodeMe[](,)$fEncodeMe[]Ptr$fDecodeMd[]UTF8ByteString$fEncodeMe[]UTF8ByteString DecodeAST unDecodeAST DecodeState globalVarNum localVarNumlocalNameCounter namedTypeNum typesToDefinemetadataNodesToDefine metadataNodes metadataKindsNameMap initialDecode runDecodeAST localScopegetName getLocalName getGlobalName getTypeName saveNamedTypegetMetadataNodeIDtakeTypeToDefinetakeMetadataNodeToDefine$fDecodeMDecodeASTNamePtrwithFFIDataLayout SpecificationpathNameBytesnamecontent$fDecodeMdByteStringPtr$fEncodeMmSpecificationPtr&$fEncodeMmSpecificationOwnerTransferedaddTargetLibraryInfoPass'addAnalysisPassesaddDataLayoutPass'finalizeFunctionPassManagerrunFunctionPassManagerinitializeFunctionPassManager"createFunctionPassManagerForModuledisposePassManageraddDataLayoutPassaddTargetLibraryInfoPassPassManagerBuilder7passManagerBuilderSetSuperwordLevelParallelismVectorize"passManagerBuilderSetLoopVectorize passManagerBuilderSetLibraryInfo(passManagerBuilderPopulateLTOPassManager+passManagerBuilderPopulateModulePassManager-passManagerBuilderPopulateFunctionPassManager)passManagerBuilderUseInlinerWithThreshold,passManagerBuilderSetDisableSimplifyLibCalls'passManagerBuilderSetDisableUnrollLoops'passManagerBuilderSetDisableUnitAtATimepassManagerBuilderSetSizeLevelpassManagerBuilderSetOptLevelpassManagerBuilderDisposepassManagerBuilderCreateaddDebugExistingIRPass'addDebugGeneratedIRPass'addBoundsCheckingPass'addThreadSanitizerPass'addMemorySanitizerPass'addAddressSanitizerModulePass'addAddressSanitizerPass'addGCOVProfilerPass'*addSuperwordLevelParallelismVectorizePass'addLoopVectorizePass'addBasicBlockVectorizePass'addStripSymbolsPass'addStripNonDebugSymbolsPass'addStripDebugDeclarePass'addStripDeadDebugInfoPass'addPruneExceptionHandlingPass'addPartialInliningPass'addMergeFunctionsPass';addInterproceduralSparseConditionalConstantPropagationPass'*addInterproceduralConstantPropagationPass'addInternalizeFunctionsPass'!addGlobalDeadCodeEliminationPass'addFunctionInliningPass'addFunctionAttributesPass'addConstantMergePass'addArgumentPromotionPass'addAlwaysInlinePass'addTailCallEliminationPass'addSinkingPass' addSimplifyControlFlowGraphPass'addSimplifyLibCallsPass',addSparseConditionalConstantPropagationPass'(addOldScalarReplacementOfAggregatesPass'%addScalarReplacementOfAggregatesPass'addReassociatePass'addPromoteMemoryToRegisterPass'addMemcpyOptimizationPass'addLowerExpectIntrinsicPass'addLowerSwitchPass'addLowerInvokePass'addLowerAtomicPass'addLoopUnswitchPass'addLoopUnrollPass'addLoopStrengthReducePass'addLoopRotatePass'addLoopInstructionSimplifyPass'addLoopIdiomPass'addLoopDeletionPass'addLoopInvariantCodeMotionPass'(addLoopClosedSingleStaticAssignmentPass'addJumpThreadingPass'addInstructionCombiningPass'!addInductionVariableSimplifyPass'addGlobalValueNumberingPass'+addEarlyCommonSubexpressionEliminationPass'addDemoteRegisterToMemoryPass'addDeadStoreEliminationPass'"addDeadInstructionEliminationPass'addDeadCodeEliminationPass'"addCorrelatedValuePropagationPass'addConstantPropagationPass'addCodeGenPreparePass'addBreakCriticalEdgesPass'%addAggressiveDeadCodeEliminationPass'$addAggressiveDeadCodeEliminationPassaddBreakCriticalEdgesPassaddCodeGenPreparePassaddConstantPropagationPass!addCorrelatedValuePropagationPassaddDeadCodeEliminationPass!addDeadInstructionEliminationPassaddDeadStoreEliminationPassaddDemoteRegisterToMemoryPass*addEarlyCommonSubexpressionEliminationPassaddGlobalValueNumberingPass addInductionVariableSimplifyPassaddInstructionCombiningPassaddJumpThreadingPass'addLoopClosedSingleStaticAssignmentPassaddLoopInvariantCodeMotionPassaddLoopDeletionPassaddLoopIdiomPassaddLoopInstructionSimplifyPassaddLoopRotatePassaddLoopStrengthReducePassaddLoopUnrollPassaddLoopUnswitchPassaddLowerAtomicPassaddLowerInvokePassaddLowerSwitchPassaddLowerExpectIntrinsicPassaddMemcpyOptimizationPassaddPromoteMemoryToRegisterPassaddReassociatePass$addScalarReplacementOfAggregatesPass'addOldScalarReplacementOfAggregatesPass+addSparseConditionalConstantPropagationPassaddSimplifyLibCallsPassaddSimplifyControlFlowGraphPassaddSinkingPassaddTailCallEliminationPassaddAlwaysInlinePassaddArgumentPromotionPassaddConstantMergePassaddFunctionAttributesPassaddFunctionInliningPass addGlobalDeadCodeEliminationPassaddInternalizeFunctionsPass)addInterproceduralConstantPropagationPass:addInterproceduralSparseConditionalConstantPropagationPassaddMergeFunctionsPassaddPartialInliningPassaddPruneExceptionHandlingPassaddStripDeadDebugInfoPassaddStripDebugDeclarePassaddStripNonDebugSymbolsPassaddStripSymbolsPassaddBasicBlockVectorizePassaddLoopVectorizePass)addSuperwordLevelParallelismVectorizePassaddGCOVProfilerPassaddAddressSanitizerPassaddAddressSanitizerModulePassaddMemorySanitizerPassaddThreadSanitizerPassaddBoundsCheckingPassaddDebugGeneratedIRPassaddDebugExistingIRPasslock $fDecodeMmLibraryFunctionLibFunc $fEncodeMmLibraryFunctionLibFuncwithSMDiagnostic getDiagnostic&$fEncodeMmDiagnosticKindDiagnosticKind EncodeAST unEncodeAST EncodeStateencodeStateBuilderencodeStateContextencodeStateLocalsencodeStateGlobalsencodeStateAllBlocksencodeStateBlocksencodeStateMDNodesencodeStateNamedTypes LocalValue DefinedValue ForwardValuelookupNamedType defineType runEncodeASTwithNamephase defineLocal defineGlobal defineMDNodereferundefinedReference referOrThrow referGlobal referMDNodedefineBasicBlockgetBlockForAddress$fEncodeMEncodeASTNamePtr$fEncodeMmNamePtr$$fDecodeMmFastMathFlagsFastMathFlags!$fEncodeMEncodeASTFastMathFlags()%$fEncodeMIOFastMathFlagsFastMathFlags$fEncodeMmLinkageLinkage$fEncodeMmVisibilityVisibility getStructuregetStructDefinitions isArrayTypecreateNamedType setNamedType$fDecodeMDecodeASTTypePtr$fEncodeMEncodeASTTypePtr$fDecodeMmAddrSpaceAddrSpace$fEncodeMmAddrSpaceAddrSpace allocaWords$fDecodeMDecodeASTConstantPtr$fEncodeMEncodeASTConstantPtrgetFunctionAttrssetFunctionAttrsgetParameterAttrs getParameters$fDecodeMDecodeAST[]ModuleAsm#$fDecodeMDecodeASTInlineAssemblyPtr#$fEncodeMEncodeASTInlineAssemblyPtr$fEncodeMmDialectAsmDialectgetMetadataKindNames$fDecodeMDecodeAST[]Ptr$fDecodeMDecodeAST[]MDKindID$fEncodeMEncodeAST[]MDKindIDgetMetadataDefinitions!$fDecodeMDecodeASTMetadataNodePtr!$fEncodeMEncodeASTMetadataNodePtr$fEncodeMEncodeASTEitherPtr$fEncodeMEncodeASTOperandPtr$fDecodeMDecodeASTEitherPtr$fDecodeMDecodeASTOperandPtr callInstAttrmetasetMD$fEncodeMEncodeASTTerminatorPtr$fDecodeMDecodeASTTerminatorPtr $fEncodeMEncodeASTNamedEncodeAST$fEncodeMEncodeASTNamedPtr$fDecodeMDecodeASTDecodeASTPtr $fDecodeMDecodeASTInstructionPtrgetNamedInstructionsllvm-general-pure-3.4.4.1LLVM.General.AST.DataLayout$fEncodeMmModelRelocModel$fEncodeMmModelCodeModel$fEncodeMmLevelCodeGenOptLevel$fEncodeMmFloatABIFloatABIType$fDecodeMdSetes$fEncodeMeSetes8$fEncodeMmFloatingPointOperationFusionModeFPOpFusionModeString$fInject[]Either BitcodeInputbitcodeMemoryBufferLLVMAssemblyInputllvmAssemblyMemoryBuffer emitToFileemitToByteString$fBitcodeInputFile$fBitcodeInput(,)$fLLVMAssemblyInputFile$fLLVMAssemblyInput[]$fLLVMAssemblyInput(,)$fEncodeMmBoolLinkerMode MCJITState ConstructedDeferredwithExecutionEngine$fExecutionEngineMCJITFunPtr$fExecutionEngineJITFunPtr$fExecutionEnginePtrFunPtr$fEncodeMmGCOVVersionPtr