#NEWLINE# def codegen( ast , specializer , retty , argtys ) : #NEWLINE# #INDENT# cgen = LLVMEmitter ( specializer , retty , cgen ) #NEWLINE# mod = cgen . visit ( ast ) #NEWLINE# cgen . function . verify ( ) #NEWLINE# tm = le . TargetMachine . new ( opt = 3 , cm = le . CM_JITDEFAULT , features = '' ) #NEWLINE# pms = lp . build_pass_managers ( tm = tm , fpm = False , mod = module , opt = 3 , vectorize = False , loop_vectorize = True ) #NEWLINE# pms . pm . run ( module ) #NEWLINE# debug ( cgen . function ) #NEWLINE# debug ( module . to_native_assembly ( ) ) #NEWLINE# return cgen . function