<uG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3456789:;<=>?@ABCDEF]Safe &*+345=FGHGHGHSafe&*+345=FIAdoes the constructor for this pass require a TargetMachine objectJ@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).IJIJIJSafe &*+3457=FKLMKLKLMSafe &*+345=FN)a blind type to correspond to LLVMContextO Whttp://llvm.org/doxygen/group__LLVMCCoreContext.html#ga9cf8b0fb4a546d4cdb6f64b8055f5f57P Whttp://llvm.org/doxygen/group__LLVMCCoreContext.html#ga0055cde9a9b2497b332d639d8844a810Q Whttp://llvm.org/doxygen/group__LLVMCCoreContext.html#gaac4f39a2d0b9735e64ac7681ab543b4cNOPQNOPQNOPQSafe &*+345=FRSRSRSSafe&*+345=FTretrieve a sequence of objects which form a linked list, given an action to | retrieve the first member and an action to proceed through the listTTTNone  &*+34579=FU .http://llvm.org/doxygen/classllvm_1_1Type.htmlV 3http://llvm.org/doxygen/classllvm_1_1InlineAsm.htmlW 5http://llvm.org/doxygen/classllvm_1_1NamedMDNode.htmlX 2http://llvm.org/doxygen/classllvm_1_1MDString.htmlY 0http://llvm.org/doxygen/classllvm_1_1MDNode.htmlZ .http://llvm.org/doxygen/classllvm_1_1User.html[ 8http://llvm.org/doxygen/classllvm_1_1BinaryOperator.html\ 5http://llvm.org/doxygen/classllvm_1_1Instruction.html] 2http://llvm.org/doxygen/classllvm_1_1Argument.html^ 4http://llvm.org/doxygen/classllvm_1_1BasicBlock.html_ 2http://llvm.org/doxygen/classllvm_1_1Function.html` 5http://llvm.org/doxygen/classllvm_1_1GlobalAlias.htmla 8http://llvm.org/doxygen/classllvm_1_1GlobalVariable.htmlb 6http://llvm.org/doxygen/classllvm_1_1GlobalObject.htmlc 5http://llvm.org/doxygen/classllvm_1_1GlobalValue.htmld 2http://llvm.org/doxygen/classllvm_1_1Constant.htmle /http://llvm.org/doxygen/classllvm_1_1Value.htmlf6a class to represent direct parent-child relationshipsgca class to represent safe casting of pointers to objects of descendant-classes to ancestor-classes.hMancestor-descentant relationships are build out of parent-child relationshipsi trivial casts$UVWXYZ[\]^_`abcdefgjklmnopqrstuvwxhiUVWXYZ[\]^_`abcdefgj#UVWXYZ[\]^_`abcdefgjklmnopqrstuvwxhiNone &*+3457=Fy `http://llvm.org/doxygen/group__LLVMCCoreValueInstruction.html#ga1b4c3bd197e86e8bffdda247ddf8ec5ez _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#gaa0bb2c95802d06bf94f4c55e61fc3477{ _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#ga9baf824cd325ad211027b23fce8a7494| _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#ga754e45f69f4b784b658d9e379943f354} _http://llvm.org/doxygen/group__LLVMCCoreValueBasicBlock.html#gab57c996ff697ef40966432055ae47a4eyz{|}yz{|}yz{|}None  &*+3457=F~'a blind type to correspond to llvm::Use Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUser.html#ga799d58a361054323cb457945071cbfdb Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUser.html#ga2ad633a6afc7906f1afe329f244240f6 Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUses.html#ga6ea72661bcca2b77bea57173317ec942 Yhttp://llvm.org/doxygen/group__LLVMCCoreValueUses.html#ga66a226d3d06ffada5c929656f4d97d35 test if a e is a Z~~~None  &*+3457=F&set the constant aliased by this alias&get the constant aliased by this alias test if a e is a `None &*+345=CF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     r      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     None &*+345=F* !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF* !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF* !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFNone  &*+3457=FGHIJKLMNOPQRSTUVWXYZ[GHIJKLMNOPQRSTUVWXYZ[GHIJKLMNOPQRSTUVWXYZ[None  &*+3457=F)\]^_`abcdefghijklmnopqrstuvwxyz{|}~)\]^_`abcdefghijklmnopqrstuvwxyz{|}~(\]^_`abcdefghijklmnopqrstuvwxyz{|}~None &*+345=F 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#ga1c78ca6d7bf279330b9195fa52f23828what  ^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  &*+3457=FFThis 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  &*+3457=F!None &*+345=F"None &*+345=Fallocate an SMDiagnostic object   #None &*+345=F$None &*+345=F%None &*+3457=F&None &*+345=F   'None&*+345=F              (None &*+345=F    )None &*+345=F !" !" !"*None &*+345=F#$%&'()*+,-./0123456#$%&'()*+,-./0123456#$%&'()*+,-./0123456+None  &*+3457=F789:;789:;789:;,None &*+345=F<=>?@AB<=>?@AB<=>?@AB-None &*+345=FCELLVM's serializer to generate a string of llvm assembly from a moduleDWUse LLVM's parser to parse a string of llvm assembly in a memory buffer to get a moduleCDCDCD.None &*+345=FEFEFEF/None &*+345=CF"GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh"GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh"GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh0None &*+345=Fiii1None &*+345=FjThe 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.kjlkjlkjl2None   &*+3457=FCmnopqrstuvwxyz{|}~Cmnopqrstuvwxyz{|}~Cmnopqrstuvwxyz{|}~3None  &*+345=Fe     e     e     4None &*+345=F5None &*+3457=CF 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 =  e Handle an exception.   h (! m) = ! m   h ( e) = h e"Lift 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 computation"#$+,-./012345!6789:;<%&'()* "#$%&'()* "#$+,-./016Safe &*+345=FIN =>?@ABCDEFGH=>?@ABC =>?@ABCDEFGH7None &*+3457=FINIJKLMNOPQRSTUVWXYZIJKLMNIJKLMNOPQRSTUVWXYZ8None &*+3457=F[\ =>?@BCIJKLMN[\9None &*+34579=F]^_`abcdefghijklmnopqrstuvwxyz ]^_`abcdefgh]^_`abcdefghijklmnopqrstuvwxyz:None &*+3457=F{|}~{|}~;None &*+3457=F<None &*+3457=F=None &*+3457=F>None &*+3457=F?None &*+3457=F@None &*+3457=F ANone &*+3457=CF BNone&*+345=FCNone &*+3457=F DNone&*+345=FSafe&*+345=F 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  E if one is provided to F. .http://llvm.org/doxygen/classllvm_1_1Pass.html can use a  EuDefaults for the ^ passvDefaults for the G 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).w Defaults for b.x Defaults for i.y Defaults for j.z Defaults for k.{ Defaults for m.| Defaults for o.}  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}  !"#$%&(./01235678:;=>?@ABCDEG^abijkmnot')*+,-49<FHIJKLMNOPQRSTUVWXYZ[\]_`cdefghlpqrsuvwxyz{| r  !"#$%&(./01235678:;=>?@ABCDEG^abijkmnot')*+,-49<FHIJKLMNOPQRSTUVWXYZ[\]_`cdefghlpqrsuvwxyz{|GNone &*+345=F      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^HNone&*+345=F}*Check if multithreading is enabled in LLVM}}}None&*+345=F~This function used set the multithreading mode of LLVM, but that feature no longer exists. Threading is controlled only at runtime with the configure flag --enable-threads (default is YES). This function will now check that the the compiled-in multithreading support (returned by }) is sufficient to support the requested access, and fail if not, so as to prevent uncontrolled use of a version of LLVM compiled to be capable only of singled threaded use by haskell code requesting multithreading support.~}~~}~Safe&*+345=FThe options of a  I 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#aea077c52d84934aabf9445cef9eab2e2!!!JNone &*+3457=F Whttp://llvm.org/doxygen/namespacellvm_1_1LibFunc.html#abf8f6830387f338fed0bce2e65108c6fC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~_`A      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~_`None&*+345=FA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe&*+345=F 3http://llvm.org/doxygen/namespacellvm_1_1Reloc.htmlSafe&*+345=FA . described a problem during parsing of LLVM IR0What kind of problem does a diagnostic describe? Convert a  to a printable form.   KNone &*+3457=FabcababcLSafe&*+345=Fa 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.dddMNone &*+3457=CF'efghijklmnopqrstuvwxyz{|}~%efghijklmnopqrstuvwxyz{|}~efgh ijklmnopqrstuvwxyz{|}~NNone &*+3457=FIN  ONone &*+3457=FPNone &*+3457=FQNone &*+3457=F  RNone &*+3457=FNSNone &*+3457=FTNone&*+345=FUNone &*+3457=FVNone &*+3457=FWNone &*+3457=FXNone  &*+3457=F  YNone&*+345=FSafe&*+345=FZNone&*+345=F 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&*+345=F Safe&*+345=F 7http://llvm.org/doxygen/namespacellvm_1_1CodeModel.html Safe&*+345=F 8http://llvm.org/doxygen/namespacellvm_1_1CodeGenOpt.html[None &*+3457=F 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.html Find 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  object set all target options get 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  \Q 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 forBa target triple suitable for loading code into the current processthe LLVM name for the host CPUFa space-separated list of LLVM feature names supported by the host CPU 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% arch("triple" - e.g. x86_64-unknown-linux-gnu    triplecpufeaturesThe function name to be emittedtriple          ]None &*+3457=FNBA 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 assembly generate LLVM assembly from a !write LLVM assembly for a  to a file"parse  from LLVM bitcode#generate LLVM bitcode from a $write LLVM bitcode from a  into a file%3write target-specific assembly directly into a file&&produce target-specific assembly as a ')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.#[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) !"#$%&'( )*       !"#$%&'( )* !"#$%&'( )*      `None &*+34579=FIN+ /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.html0a 0 e represents a  which is currently "in" an -0, and so the functions of which may be executed.1*bracket the creation and destruction of a ,2+bracket the creation and destruction of an ++  , -./0  1optimization level2optimization level)True to disable frame pointer eliminationkTrue to enable fast instruction selection -> Maybe MemoryManager -- llvm-general doesn't support this yet   +  , -./0  12 +   , -./0  12    None&*+345=F+,-./012-./0,1+2aNone &*+3457=F3"There are different ways to get a A. This type embodies them.4a 3 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 9.9This 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.A 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.BHelper to make a curated 3C an empty 3Dbracket the creation of a AErun the passes in a A on a , modifying the .3456789:;<=>?@A BC DE 3456789:;<=>?@A BC DE3495678:;<=>?@678A BC DE None&*+345=F3456789:;<=>?@ABCDEA3495678:;<=>?@678CBDE None&*+345=F          bNone&*+345=FFRun 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.FFFNone&*+345=FFF None&*+345=F !"#$%&'()*)* !"#$&%'(cNone&*+345=F !"#$%&'()* ddefghijklmnopqrstuvwxyz{|}~HJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBCDEFGHHIJKLMNOPQRSLTLUZV C D W X Y Z [ \ ] ^ D _[`[a[E[I[b[b[c[d[e[f[g[h[i[j[k[l[m[n[o[p[q[r[s[t[u]v]v]_]w]x]y]z]{]|]}]~]]]]]```\`````aaaaaaaaaaaaaaaaaaabTVOO      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !!!!"""""""""###_#w######################## # $ $\$ $ $$$$$$$$$$$$$$$$%%% %!%"%#%$%%%&%'%(%)%*%+%,&-&.&/&0&1&2&3'4'4'5'6'7'8'9':';'<'='>'?(@(A(?(B(C(D)E)F)G)H)I)J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^+_+`+a+b+c,d,e,f,g,h,i,j-k-l.m.n/`/a/E/I/c/p/o/p/q/r/s/o/n/m/l/k/i/t/u/v/w/x/y/z/{/|/}/~/////d/j0111222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-4.5/505152535455567897:;5<=>?5@5A5B5C5C5D5E5F5G5H5I5J5K5L5M5N7OP7OQ7RS=>T=UV=UWXYZXY[XY\=]^=]_6`6`6a6b6c6d6e6f6g6h6i6j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|8}8~999999999999999999999999999999::::::::;;<=>?@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCCCCCvCCCCCDiDjGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;G<G=G>G?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuJvJwKxKyKzLTM{M{M|M}M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNRNRNNNNNNNNNNNNNNOOOPPPPPPPP~PPPPPP|P}PPPyPxPQQQQQQQQQRRRST*TTT"T!TTUUUUVVVVWWWWWWWWXXXXXXXXXYY[[[[[`[a[E[I[c[[[78]_]]]]]]t]]]]]]]]]]]]```````````aaFa llvmg_JWaCKDl62C34d8EQQdIP3MLLVM.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.Attribute%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.Atomicity'LLVM.General.Internal.CallingConvention&LLVM.General.Internal.IntegerPredicate,LLVM.General.Internal.FloatingPointPredicate"LLVM.General.Internal.RMWOperation"LLVM.General.Internal.TailCallKindLLVM.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.EncodeASTLLVM.General.Internal.Attribute#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 GCOVVersionPassAggressiveDeadCodeEliminationBreakCriticalEdgesCodeGenPrepareConstantPropagationCorrelatedValuePropagationDeadCodeEliminationDeadInstructionEliminationDeadStoreEliminationDemoteRegisterToMemory#EarlyCommonSubexpressionEliminationGlobalValueNumberingnoLoadsInductionVariableSimplifyInstructionCombining JumpThreading LoopClosedSingleStaticAssignmentLoopInvariantCodeMotion LoopDeletion LoopIdiomLoopInstructionSimplify LoopRotateLoopStrengthReduce LoopUnrollloopUnrollThresholdcount allowPartial LoopUnswitchoptimizeForSize LowerAtomic LowerInvoke LowerSwitchLowerExpectIntrinsicMemcpyOptimizationPromoteMemoryToRegister ReassociateScalarReplacementOfAggregatesrequiresDominatorTree OldScalarReplacementOfAggregates)oldScalarReplacementOfAggregatesThresholduseDominatorTreestructMemberThresholdarrayElementThresholdscalarLoadThreshold$SparseConditionalConstantPropagationSimplifyLibCallsSimplifyControlFlowGraphSinkingTailCallElimination AlwaysInlineinsertLifetimeArgumentPromotion ConstantMergeFunctionAttributesFunctionInliningfunctionInliningThresholdGlobalDeadCodeEliminationInternalizeFunctions exportList"InterproceduralConstantPropagation3InterproceduralSparseConditionalConstantPropagationMergeFunctionsPartialInliningPruneExceptionHandlingStripDeadDebugInfoStripDebugDeclareStripNonDebugSymbols StripSymbols onlyDebugInfoBasicBlockVectorize vectorBitsvectorizeBools vectorizeIntsvectorizeFloatsvectorizePointersvectorizeCasts vectorizeMathvectorizeFusedMultiplyAddvectorizeSelect vectorizeCmpvectorizeGetElementPtrvectorizeMemoryOperations alignedOnlyrequiredChainDepth searchLimitmaxCandidatePairsForCycleChecksplatBreaksChainmaxInstructions maxIterationspowerOfTwoLengthsOnlynoMemoryOperationBoostfastDependencyAnalysis LoopVectorize noUnrollingalwaysVectorize"SuperwordLevelParallelismVectorize GCOVProfiler emitNotesemitDataversionuseCfgChecksum noRedZonefunctionNamesInDataAddressSanitizerAddressSanitizerModuleMemorySanitizer trackOriginsThreadSanitizerBoundsCheckingDebugGeneratedIRhideDebugIntrinsicshideDebugMetadatafileName directoryDebugExistingIRdefaultLoopVectorizedefaultVectorizeBasicBlocksdefaultGCOVProfilerdefaultAddressSanitizerdefaultAddressSanitizerModuledefaultMemorySanitizerdefaultThreadSanitizerdefaultDebugGeneratedIRisMultithreadedsetMultithreadedOptionsprintMachineCodenoFramePointerElimination)lessPreciseFloatingPointMultiplyAddOptionunsafeFloatingPointMathnoInfinitiesFloatingPointMathnoNaNsFloatingPointMath1honorSignDependentRoundingFloatingPointMathOption useSoftFloat noZerosInBSSjITEmitDebugInfojITEmitDebugInfoToDiskguaranteedTailCallOptimizationdisableTailCallsenableFastInstructionSelectionpositionIndependentExecutable useInitArraydisableIntegratedAssemblercompressDebugSectionstrapUnreachablestackAlignmentOverridetrapFunctionName floatABIType!allowFloatingPointOperationFusion FloatingPointOperationFusionMode FloatingPointOperationFusionFast$FloatingPointOperationFusionStandard"FloatingPointOperationFusionStrictFloatABIFloatABIDefault FloatABISoft FloatABIHardLibraryFunctionLF__under_IO_getcLF__under_IO_putc LF__ZdaPvLF__ZdaPvRKSt9nothrow_t LF__ZdlPvLF__ZdlPvRKSt9nothrow_tLF__ZnajLF__ZnajRKSt9nothrow_tLF__ZnamLF__ZnamRKSt9nothrow_tLF__ZnwjLF__ZnwjRKSt9nothrow_tLF__ZnwmLF__ZnwmRKSt9nothrow_t LF__cospi LF__cospifLF__cxa_atexitLF__cxa_guard_abortLF__cxa_guard_acquireLF__cxa_guard_releaseLF__dunder_isoc99_scanfLF__dunder_isoc99_sscanfLF__memcpy_chkLF__sincospi_stretLF__sincospif_stret LF__sinpi LF__sinpifLF__sqrt_finiteLF__sqrtf_finiteLF__sqrtl_finiteLF__dunder_strdupLF__dunder_strndupLF__dunder_strtok_rLF__abs LF__accessLF__acos LF__acosf LF__acosh LF__acoshf LF__acoshl LF__acoslLF__asin LF__asinf LF__asinh LF__asinhf LF__asinhl LF__asinlLF__atan LF__atan2 LF__atan2f LF__atan2l LF__atanf LF__atanh LF__atanhf LF__atanhl LF__atanlLF__atofLF__atoiLF__atol LF__atollLF__bcmp LF__bcopy LF__bzero LF__callocLF__cbrt LF__cbrtf LF__cbrtlLF__ceil LF__ceilf LF__ceill LF__chmod LF__chown LF__clearerr LF__closedir LF__copysign LF__copysignf LF__copysignlLF__cosLF__cosfLF__cosh LF__coshf LF__coshlLF__cosl LF__ctermidLF__exp LF__exp10 LF__exp10f LF__exp10lLF__exp2 LF__exp2f LF__exp2lLF__expfLF__expl LF__expm1 LF__expm1f LF__expm1lLF__fabs LF__fabsf LF__fabsl LF__fclose LF__fdopenLF__feof LF__ferror LF__fflushLF__ffsLF__ffsl LF__ffsll LF__fgetc LF__fgetpos LF__fgets LF__fileno LF__fiprintf LF__flockfile LF__floor LF__floorf LF__floorlLF__fmax LF__fmaxf LF__fmaxlLF__fmin LF__fminf LF__fminlLF__fmod LF__fmodf LF__fmodl LF__fopen LF__fopen64 LF__fprintf LF__fputc LF__fputs LF__freadLF__free LF__frexp LF__frexpf LF__frexpl LF__fscanf LF__fseek LF__fseeko LF__fseeko64 LF__fsetpos LF__fstat LF__fstat64 LF__fstatvfsLF__fstatvfs64 LF__ftell LF__ftello LF__ftello64LF__ftrylockfileLF__funlockfile LF__fwriteLF__getcLF__getc_unlocked LF__getchar LF__getenv LF__getitimerLF__getlogin_r LF__getpwnamLF__getsLF__gettimeofday LF__htonl LF__htons LF__iprintf LF__isascii LF__isdigitLF__labs LF__lchown LF__ldexp LF__ldexpf LF__ldexpl LF__llabsLF__log LF__log10 LF__log10f LF__log10l LF__log1p LF__log1pf LF__log1plLF__log2 LF__log2f LF__log2lLF__logb LF__logbf LF__logblLF__logfLF__logl LF__lstat LF__lstat64 LF__malloc LF__memalign LF__memccpy LF__memchr LF__memcmp LF__memcpy LF__memmove LF__memrchr LF__memsetLF__memset_pattern16 LF__mkdir LF__mktimeLF__modf LF__modff LF__modfl LF__nearbyintLF__nearbyintfLF__nearbyintl LF__ntohl LF__ntohsLF__open LF__open64 LF__opendir LF__pclose LF__perror LF__popenLF__posix_memalignLF__powLF__powfLF__powl LF__pread LF__printfLF__putc LF__putcharLF__puts LF__pwrite LF__qsortLF__read LF__readlink LF__realloc LF__reallocf LF__realpath LF__remove LF__rename LF__rewindLF__rint LF__rintf LF__rintl LF__rmdir LF__round LF__roundf LF__roundl LF__scanf LF__setbuf LF__setitimer LF__setvbufLF__sinLF__sinfLF__sinh LF__sinhf LF__sinhlLF__sinl LF__siprintf LF__snprintf LF__sprintfLF__sqrt LF__sqrtf LF__sqrtl LF__sscanfLF__stat LF__stat64 LF__statvfs LF__statvfs64 LF__stpcpy LF__stpncpyLF__strcasecmp LF__strcat LF__strchr LF__strcmp LF__strcoll LF__strcpy LF__strcspn LF__strdup LF__strlenLF__strncasecmp LF__strncat LF__strncmp LF__strncpy LF__strndup LF__strnlen LF__strpbrk LF__strrchr LF__strspn LF__strstr LF__strtod LF__strtof LF__strtok LF__strtok_r LF__strtol LF__strtold LF__strtoll LF__strtoul LF__strtoull LF__strxfrm LF__systemLF__tanLF__tanfLF__tanh LF__tanhf LF__tanhlLF__tanl LF__times LF__tmpfile LF__tmpfile64 LF__toascii LF__trunc LF__truncf LF__truncl LF__uname LF__ungetc LF__unlink LF__unsetenv LF__utime LF__utimes LF__valloc LF__vfprintf LF__vfscanf LF__vprintf LF__vscanf LF__vsnprintf LF__vsprintf LF__vsscanf LF__writeModelDefaultStaticPIC DynamicNoPIC Diagnostic lineNumber columnNumberdiagnosticKindfilenamemessage lineContentsDiagnosticKind ErrorKind WarningKindNoteKinddiagnosticDisplayContext withContextparseCommandLineOptions JITDefaultSmallKernelMediumLargeLevelNoneLess AggressiveTargetLibraryInfoTargetLowering CPUFeatureTarget lookupTargetwithTargetOptionspokeTargetOptionspeekTargetOptionswithTargetMachinegetTargetLoweringinitializeNativeTargetgetDefaultTargetTriplegetProcessTargetTriplegetHostCPUNamegetHostCPUFeaturesgetTargetMachineDataLayoutinitializeAllTargetswithHostTargetMachinegetLibraryFunctiongetLibraryFunctionName#setLibraryFunctionAvailableWithNamewithTargetLibraryInfoFile linkModuleswithModuleFromLLVMAssemblymoduleLLVMAssemblywriteLLVMAssemblyToFilewithModuleFromBitcode moduleBitcodewriteBitcodeToFilewriteTargetAssemblyToFilemoduleTargetAssembly moduleObjectwriteObjectToFilewithModuleFromAST moduleASTMCJITJITwithModuleInEngine getFunctionExecutableModulewithJIT withMCJIT PassSetSpec transforms dataLayouttargetLibraryInfo targetMachineCuratedPassSetSpecoptLevel sizeLevel unitAtATimesimplifyLibCalls loopVectorize"superwordLevelParallelismVectorizeuseInlinerWithThreshold PassManagerdefaultCuratedPassSetSpecdefaultPassSetSpecwithPassManagerrunPassManagerverifyByteRangeCallbackwrapByteRangeCallbackneedsTargetMachinecNameInjectinject $fInjectaacontextDisposegetGlobalContext contextCreateparseCommandLineOptions'getXsType InlineAsm NamedMetadataMDStringMDNodeUserBinaryOperator Instruction Parameter BasicBlockFunction GlobalAliasGlobalVariable GlobalObject GlobalValueConstantValueChildOf DescendentOf$fDescendentOfac$fDescendentOfaaupCast$fChildOfValueInlineAsm$fChildOfValueMDString$fChildOfValueMDNode$fChildOfValueUser"$fChildOfInstructionBinaryOperator$fChildOfUserInstruction$fChildOfValueParameter$fChildOfValueBasicBlock$fChildOfGlobalObjectFunction$fChildOfGlobalValueGlobalAlias#$fChildOfGlobalObjectGlobalVariable $fChildOfGlobalValueGlobalObject$fChildOfConstantGlobalValue$fChildOfUserConstantgetNextInstructiongetLastInstructiongetFirstInstructiongetBasicBlockTerminator isABasicBlockUse getOperandgetNumOperands getNextUse getFirstUseisAUser setAliasee getAliaseeisAGlobalAliasLibFunc LinkerModeVerifierFailureActionFloatSemanticsFunctionAttributeKindParameterAttributeKindTypeKindTargetOptionFlagFPOpFusionMode FloatABITypeCodeGenFileTypeCodeGenOptLevel CodeModel RelocModel RMWOperation AsmDialectValueSubclassIdThreadLocalModeCallingConventionDLLStorageClassCOMDATSelectionKind VisibilityLinkage TailCallKindSynchronizationScopeMemoryOrdering 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$memoryOrderingSequentiallyConsistentmemoryOrderingP synchronizationScopeSingleThreadsynchronizationScopeCrossThreadsynchronizationScopePtailCallKindNonetailCallKindTailtailCallKindMustTail tailCallKindPlinkageExternallinkageAvailableExternallylinkageLinkOnceAnylinkageLinkOnceODRlinkageWeakAnylinkageWeakODRlinkageAppendinglinkageInternallinkagePrivatelinkageExternalWeak linkageCommonlinkagePvisibilityDefaultvisibilityHiddenvisibilityProtected visibilityPcomdatSelectionKindAnycomdatSelectionKindExactMatchcomdatSelectionKindLargestcomdatSelectionKindNoDuplicatescomdatSelectionKindSameSizecomdatSelectionKindPdllStorageClassDefaultdllStorageClassDLLImportdllStorageClassDLLExportdllStorageClassPcallingConventionCcallingConventionFastcallingConventionColdcallingConventionGHCcallingConventionHiPEcallingConventionWebKit_JScallingConventionAnyRegcallingConventionPreserveMostcallingConventionPreserveAllcallingConventionX86_StdCallcallingConventionX86_FastCallcallingConventionARM_APCScallingConventionARM_AAPCScallingConventionARM_AAPCS_VFPcallingConventionMSP430_INTRcallingConventionX86_ThisCallcallingConventionPTX_KernelcallingConventionPTX_DevicecallingConventionSPIR_FUNCcallingConventionSPIR_KERNELcallingConventionIntel_OCL_BIcallingConventionX86_64_SysVcallingConventionX86_64_Win64callingConventionPthreadLocalModeNotThreadLocal%threadLocalModeGeneralDynamicTLSModel#threadLocalModeLocalDynamicTLSModel"threadLocalModeInitialExecTLSModel threadLocalModeLocalExecTLSModelthreadLocalModePvalueSubclassIdArgumentvalueSubclassIdBasicBlockvalueSubclassIdFunctionvalueSubclassIdGlobalAliasvalueSubclassIdGlobalVariablevalueSubclassIdUndefValuevalueSubclassIdBlockAddressvalueSubclassIdConstantExpr$valueSubclassIdConstantAggregateZero valueSubclassIdConstantDataArray!valueSubclassIdConstantDataVectorvalueSubclassIdConstantIntvalueSubclassIdConstantFPvalueSubclassIdConstantArrayvalueSubclassIdConstantStructvalueSubclassIdConstantVector"valueSubclassIdConstantPointerNullvalueSubclassIdMDNodevalueSubclassIdMDStringvalueSubclassIdInlineAsmvalueSubclassIdInstructionvalueSubclassIdPdiagnosticKindErrordiagnosticKindWarningdiagnosticKindNotediagnosticKindP asmDialectATTasmDialectIntel asmDialectPrmwOperationXchgrmwOperationAddrmwOperationSubrmwOperationAndrmwOperationNandrmwOperationOrrmwOperationXorrmwOperationMaxrmwOperationMinrmwOperationUMaxrmwOperationUMin rmwOperationPrelocModelDefaultrelocModelStatic relocModelPICrelocModelDynamicNoPic relocModelPcodeModelDefaultcodeModelJITDefaultcodeModelSmallcodeModelKernelcodeModelMediumcodeModelLarge codeModelPcodeGenOptLevelNonecodeGenOptLevelLesscodeGenOptLevelDefaultcodeGenOptLevelAggressivecodeGenOptLevelPcodeGenFileTypeAssemblycodeGenFileTypeObjectcodeGenFileTypePfloatABIDefault floatABISoft floatABIHard floatABIPfpOpFusionModeFastfpOpFusionModeStandardfpOpFusionModeStrictfpOpFusionModeP targetOptionFlagPrintMachineCode"targetOptionFlagNoFramePointerElim&targetOptionFlagLessPreciseFPMADOptiontargetOptionFlagUnsafeFPMathtargetOptionFlagNoInfsFPMathtargetOptionFlagNoNaNsFPMath6targetOptionFlagHonorSignDependentRoundingFPMathOptiontargetOptionFlagUseSoftFloattargetOptionFlagNoZerosInBSS targetOptionFlagJITEmitDebugInfo&targetOptionFlagJITEmitDebugInfoToDisk%targetOptionFlagGuaranteedTailCallOpt targetOptionFlagDisableTailCallstargetOptionFlagEnableFastISel-targetOptionFlagPositionIndependentExecutabletargetOptionFlagUseInitArray#targetOptionFlagDisableIntegratedAS%targetOptionFlagCompressDebugSectionstargetOptionFlagTrapUnreachabletargetOptionFlagP typeKindVoid typeKindHalf typeKindFloattypeKindDoubletypeKindX86_FP80 typeKindFP128typeKindPPC_FP128 typeKindLabeltypeKindIntegertypeKindFunctiontypeKindStruct typeKindArraytypeKindPointertypeKindVectortypeKindMetadatatypeKindX86_MMX typeKindPparameterAttributeKindAlignmentparameterAttributeKindByValparameterAttributeKindInAllocaparameterAttributeKindInRegparameterAttributeKindNestparameterAttributeKindNoAliasparameterAttributeKindNoCaptureparameterAttributeKindNonNull%parameterAttributeKindDereferenceableparameterAttributeKindReadNoneparameterAttributeKindReadOnlyparameterAttributeKindReturnedparameterAttributeKindSExtparameterAttributeKindStructRetparameterAttributeKindZExtparameterAttributeKindP!functionAttributeKindAlwaysInlinefunctionAttributeKindBuiltinfunctionAttributeKindColdfunctionAttributeKindInlineHintfunctionAttributeKindJumpTablefunctionAttributeKindMinSizefunctionAttributeKindNakedfunctionAttributeKindNoBuiltin functionAttributeKindNoDuplicate$functionAttributeKindNoImplicitFloatfunctionAttributeKindNoInline functionAttributeKindNonLazyBindfunctionAttributeKindNoRedZonefunctionAttributeKindNoReturnfunctionAttributeKindNoUnwind$functionAttributeKindOptimizeForSize!functionAttributeKindOptimizeNonefunctionAttributeKindReadNonefunctionAttributeKindReadOnly!functionAttributeKindReturnsTwice#functionAttributeKindStackAlignment!functionAttributeKindStackProtect$functionAttributeKindStackProtectReq'functionAttributeKindStackProtectStrong$functionAttributeKindSanitizeAddress#functionAttributeKindSanitizeThread#functionAttributeKindSanitizeMemoryfunctionAttributeKindUWTablefunctionAttributeKindPfloatSemanticsIEEEhalffloatSemanticsIEEEsinglefloatSemanticsIEEEdoublefloatSemanticsIEEEquadfloatSemanticsPPCDoubleDoublefloatSemanticsx87DoubleExtendedfloatSemanticsBogusfloatSemanticsP!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__sincospif_stretlibFunc__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__fmaxlibFunc__fmaxflibFunc__fmaxl libFunc__fminlibFunc__fminflibFunc__fminl 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__ldexplibFunc__ldexpflibFunc__ldexpllibFunc__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__PParameterAttrBuilderFunctionAttrBuilder AttrBuilderParameterAttributeSetFunctionAttributeSetMixedAttributeSet AttributeSetParameterAttributeFunctionAttribute AttributeAttributeSetImpl AttributeImplParameterAttributeTypeFunctionAttributeTypeMixedAttributeTypeIntValueSlotIndexattrBuilderAddDereferenceableattrBuilderAddStackAlignmentattrBuilderAddAlignmentattrBuilderAddStringAttribute$attrBuilderAddParameterAttributeKind#attrBuilderAddFunctionAttributeKinddestroyAttrBuilderconstructAttrBuildergetAttrBuilderSizemixAttributeSetsgetAttributeSetattributeSetGetAttributesattributeSetSlotAttributesattributeSetSlotIndexattributeSetNumSlotsattributeValueAsIntattributeValueAsStringattributeKindAsStringisStringAttributefunctionAttributeKindAsEnumparameterAttributeKindAsEnumforgetAttributeType functionIndex returnIndexCOMDATsetThreadLocalModegetThreadLocalModesetUnnamedAddrhasUnnamedAddr setAlignment getAlignmentsetDLLStorageClassgetDLLStorageClass setVisibility getVisibilitysetCOMDATSelectionKindgetCOMDATSelectionKind getCOMDATName setCOMDAT getCOMDAT setSection getSection setLinkage getLinkageisAGlobalValueCOpcode getMetadata setMetadata isCleanup setCleanup addClausegetInstStructureIndicescountInstStructureIndicesgetAtomicRMWBinOp getInBounds getVolatilegetSynchronizationScopegetFailureAtomicOrderinggetAtomicOrderinggetAllocatedTypegetAllocaNumElementssetInstrAlignmentgetInstrAlignmentgetIndirectBrDestsaddDestinationgetSwitchCasesaddCasegetIncomingBlockgetIncomingValue countIncoming addIncoming'setCallSiteAttributeSetgetCallSiteAttributeSetgetCallSiteCalledValuesetTailCallKindgetTailCallKindsetCallSiteCallingConventiongetCallSiteCallingConventiongetFCmpPredicategetICmpPredicategetInstructionDefOpcodegetInstructionOpcodeisAInstruction addIncoming getAtomicitymetadataTypeInContextppcFP128TypeInContextfP128TypeInContextx86FP80TypeInContextdoubleTypeInContextfloatTypeInContexthalfTypeInContextvoidTypeInContextgetArrayLength getVectorSizecountStructElementTypesisPackedStructstructTypeInContext' arrayType vectorTypegetPointerAddressSpace pointerType functionType'intTypeInContextgetElementType getParamTypescountParamTypes getReturnTypeisFunctionVarArggetIntTypeWidth getTypeKind AddrSpacestructSetBody'getStructElementTypesstructIsOpaquestructIsLiteral getStructNamestructCreateNamed functionTypestructTypeInContext structSetBodygetValueSubclassId setValueName getValueNametypeOf dumpValuecreateArgumentreplaceAllUsesWithgetFastMathFlagsisExacthasNoUnsignedWraphasNoSignedWrapisABinaryOperator DataLayoutdataLayoutToStringdisposeDataLayoutcreateDataLayoutcreateSMDiagnostic SMDiagnosticgetSMDiagnosticLineContentsgetSMDiagnosticMessagegetSMDiagnosticFilenamegetSMDiagnosticColumnNogetSMDiagnosticLineNogetSMDiagnosticKinddisposeSMDiagnostic ModuleAsmmoduleGetInlineAsmmoduleAppendInlineAsm'getOrAddNamedMetadatagetNamedFunction addFunction justAddAliasaddGlobalInAddressSpacegetNextNamedMetadatagetFirstNamedMetadatagetNextFunctiongetFirstFunctiongetOrInsertCOMDAT getNextAlias getFirstAlias getNextGlobalgetFirstGlobalgetModuleIdentifiersetTargetTriplegetTargetTriple setDataLayout getDataLayout disposeModulegetModuleContextmoduleCreateWithNameInContextmoduleAppendInlineAsmMCJITCompilerOptions%setMCJITCompilerOptionsEnableFastISel)setMCJITCompilerOptionsNoFramePointerElim setMCJITCompilerOptionsCodeModelsetMCJITCompilerOptionsOptLevelinitializeMCJITCompilerOptionsgetMCJITCompilerOptionsSize linkInMCJIT linkInJITlinkInInterpretergetPointerToGlobal findFunction removeModule addModuledisposeExecutionEnginecreateMCJITCompilerForModulecreateJITCompilerForModulecreateInterpreterForModulecreateExecutionEngineForModule setPrefixData getPrefixData hasPrefixDatasetGCgetGC getParams countParamsappendBasicBlockInContextgetNextBasicBlockgetLastBasicBlockgetFirstBasicBlocksetMixedAttributeSetgetMixedAttributeSetsetFunctionCallingConventiongetFunctionCallingConventiongetInlineAsmDialectinlineAsmIsAlignStackinlineAsmHasSideEffectsgetInlineAsmConstraintStringgetInlineAsmAssemblyStringcreateInlineAsm isAInlineAsmInstructionDef cppOpcodecAPIName cAPIClassNameinstructionKindInstructionKind TerminatorBinaryMemoryCastOtherinstructionDefsastConstantRecsastInstructionRecs innerJoin outerJoininstrP MemoryBufferdisposeMemoryBuffer getBufferSizegetBufferStart!createMemoryBufferWithMemoryRange$createMemoryBufferWithContentsOfFilenamedMetadataAddOperands'getNamedMetadataOperandsgetNamedMetadataNumOperandsgetNamedMetadataNamemdNodeIsFunctionLocalgetMDNodeOperandsgetMDNodeNumOperandsdestroyTemporaryMDNodecreateTemporaryMDNodeInContextcreateMDNodeInContext' getMDStringmdStringInContext'getMDKindNamesgetMDKindIDInContext' isAMDNode isAMDStringgetMDKindIDInContextmdStringInContextcreateMDNodeInContextnamedMetadataAddOperandssetInitializergetInitializersetGlobalConstantisGlobalConstantisAGlobalVariableRawOStreamCallback RawOStreamwithBufferRawOStream'withFileRawOStream'wrapRawOStreamCallbackwithFileRawOStreamwithBufferRawOStreamwriteLLVMAssemblyparseLLVMAssembly writeBitcode parseBitcodedisposeTargetLibraryInfolibFuncSetAvailableWithNamelibFuncGetName getLibFunccreateTargetLibraryInfotargetMachineEmitdisposeTargetMachinecreateTargetMachinedisposeTargetOptionsgetAllowFPOpFusionsetAllowFPOpFusiongetFloatABITypesetFloatABITypegetTrapFuncNamesetTrapFuncNamegetStackAlignmentOverridesetStackAlignmentOverridegetTargetOptionsFlagsetTargetOptionFlagcreateTargetOptionshasFlags 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.EitherLeftcatchEtrans_3eG64VdP2vzGjP6wJiCp5XControl.Monad.Trans.Classlift liftCallCC liftListenliftPass ExceptableT unExceptableT exceptablerunExceptableTmakeExceptableT$fShow1ExceptableT$fRead1ExceptableT$fShowExceptableT$fReadExceptableT$fTraversableExceptableT$fMonadErroreExceptableT$fMonadStatesExceptableTControl.Monad.FixmfixMonadFix Data.Functionfix MonadTransControl.Monad.IO.ClassMonadIOliftIOmtl_KMpng31YRYc5JfMWFZ3FCUControl.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[](,)$fDecodeMmMaybeMemoryOrdering&$fDecodeMmMemoryOrderingMemoryOrdering&$fEncodeMmMemoryOrderingMemoryOrdering$fDecodeMm(,)(,)$fEncodeMm(,)(,)$fDecodeMmMaybe(,)$fEncodeMmMaybe(,)2$fDecodeMmSynchronizationScopeSynchronizationScope,$fDecodeMmCallingConventionCallingConvention,$fEncodeMmCallingConventionCallingConvention'$fDecodeMmIntegerPredicateICmpPredicate-$fDecodeMmFloatingPointPredicateFCmpPredicate"$fDecodeMmRMWOperationRMWOperation$fDecodeMmMaybeTailCallKindUTF8ByteString 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 metadataKindsparameterAttributeSetsfunctionAttributeSetIDscomdatsNameMap initialDecode runDecodeAST localScopegetName getLocalName getGlobalName getTypeName saveNamedTypegetMetadataNodeIDtakeTypeToDefinetakeMetadataNodeToDefinegetAttributeGroupID$fDecodeMDecodeASTNamePtrwithFFIDataLayout SpecificationBytesnamecontentpathName$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)addSuperwordLevelParallelismVectorizePassaddGCOVProfilerPassaddAddressSanitizerPassaddAddressSanitizerModulePassaddMemorySanitizerPassaddThreadSanitizerPassaddBoundsCheckingPassaddDebugGeneratedIRPassaddDebugExistingIRPass $fDecodeMmLibraryFunctionLibFunc $fEncodeMmLibraryFunctionLibFuncwithSMDiagnostic getDiagnostic&$fDecodeMmDiagnosticKindDiagnosticKind EncodeAST unEncodeAST EncodeStateencodeStateBuilderencodeStateContextencodeStateLocalsencodeStateGlobalsencodeStateAllBlocksencodeStateBlocksencodeStateMDNodesencodeStateNamedTypesencodeStateAttributeGroupsencodeStateCOMDATs LocalValue ForwardValue DefinedValuelookupNamedType defineType runEncodeASTwithNamephase defineLocal defineGlobal defineMDNodedefineAttributeGroup defineCOMDATreferundefinedReference referOrThrow referGlobal referMDNodereferAttributeGroup referCOMDATdefineBasicBlockgetBlockForAddress$fEncodeMEncodeASTNamePtr$fEncodeMmNamePtrPreSlotIndirectFunctionAttributesDirectFunctionAttributesReturnAttributesParameterAttributesfunctionAttributesreturnAttributesparameterAttributesallocaAttrBuilder&$fDecodeMDecodeASTMixedAttributeSetPtr&$fEncodeMEncodeASTMixedAttributeSetPtr$fEncodeMEncodeASTPreSlotPtr$fDecodeMDecodeAST[]Ptr$fEncodeMEncodeAST[]Ptr$fEncodeMEncodeAST(,)Ptr&$fDecodeMDecodeASTFunctionAttributePtr'$fDecodeMDecodeASTParameterAttributePtr$fEncodeMmFunctionAttribute(->) $fEncodeMmParameterAttribute(->)$$fDecodeMmFastMathFlagsFastMathFlags!$fEncodeMEncodeASTFastMathFlags()%$fEncodeMIOFastMathFlagsFastMathFlags$fDecodeMmLinkageLinkage$fDecodeMmVisibilityVisibility$fDecodeMmMaybeDLLStorageClass$fDecodeMDecodeAST(,)Ptr*$fDecodeMmSelectionKindCOMDATSelectionKind$fDecodeMmMaybeThreadLocalMode getStructuregetStructDefinitions isArrayTypecreateNamedType setNamedType$fDecodeMDecodeASTTypePtr$fEncodeMEncodeASTTypePtr$fDecodeMmAddrSpaceAddrSpace$fEncodeMmAddrSpaceAddrSpace allocaWords$fDecodeMDecodeASTConstantPtr$fEncodeMEncodeASTConstantPtrsetFunctionAttributes getParameters$fDecodeMDecodeAST[]ModuleAsm#$fDecodeMDecodeASTInlineAssemblyPtr#$fEncodeMEncodeASTInlineAssemblyPtr$fDecodeMmDialectAsmDialectgetMetadataKindNames$fDecodeMDecodeAST[]MDKindID$fEncodeMEncodeAST[]MDKindIDgetMetadataDefinitions!$fDecodeMDecodeASTMetadataNodePtr!$fEncodeMEncodeASTMetadataNodePtr$fEncodeMEncodeASTEitherPtr$fEncodeMEncodeASTOperandPtr$fDecodeMDecodeASTEitherPtr$fDecodeMDecodeASTOperandPtrcallInstAttributeSetmetasetMD$fEncodeMEncodeASTTerminatorPtr$fDecodeMDecodeASTTerminatorPtr $fEncodeMEncodeASTNamedEncodeAST$fEncodeMEncodeASTNamedPtr$fDecodeMDecodeASTDecodeASTPtr $fEncodeMEncodeASTInstruction(,)getNamedInstructionsllvmg_AfWtV9xPTRyE0nnIisuXkQLLVM.General.AST.DataLayout$fDecodeMmModelRelocModel$fDecodeMmModelCodeModel$fDecodeMmLevelCodeGenOptLevel$fDecodeMmFloatABIFloatABIType$fDecodeMdMapes$fEncodeMeMapes8$fDecodeMmFloatingPointOperationFusionModeFPOpFusionModeString$fInject[]Either BitcodeInputbitcodeMemoryBufferLLVMAssemblyInputllvmAssemblyMemoryBuffer emitToFileemitToByteString$fBitcodeInputFile$fBitcodeInput(,)$fLLVMAssemblyInputFile$fLLVMAssemblyInput[]$fLLVMAssemblyInput(,)$fDecodeMmBoolLinkerMode MCJITStateDeferred ConstructedwithExecutionEngine$fExecutionEngineMCJITFunPtr$fExecutionEngineJITFunPtr$fExecutionEnginePtrFunPtr$fEncodeMmGCOVVersionPtr