Begin to expose Pass class.
This commit is contained in:
parent
b22c023301
commit
ff92a05858
6 changed files with 182 additions and 259 deletions
188
llvm/_core.cpp
188
llvm/_core.cpp
|
|
@ -1057,97 +1057,11 @@ _wrap_none2none(LLVMInitializePTXAsmPrinter)
|
|||
/*===----------------------------------------------------------------------===*/
|
||||
/* Passes */
|
||||
/*===----------------------------------------------------------------------===*/
|
||||
/*
|
||||
|
||||
#define _wrap_pass(P) \
|
||||
_wrap_obj2none( LLVMAdd ## P ## Pass, LLVMPassManagerRef)
|
||||
|
||||
_wrap_pass( AAEval )
|
||||
_wrap_pass( AggressiveDCE )
|
||||
_wrap_pass( AliasAnalysisCounter )
|
||||
_wrap_pass( AlwaysInliner )
|
||||
_wrap_pass( ArgumentPromotion )
|
||||
_wrap_pass( BasicAliasAnalysis )
|
||||
_wrap_pass( BlockPlacement )
|
||||
_wrap_pass( BreakCriticalEdges )
|
||||
_wrap_pass( CFGSimplification )
|
||||
_wrap_pass( CodeGenPrepare )
|
||||
_wrap_pass( ConstantMerge )
|
||||
_wrap_pass( ConstantPropagation )
|
||||
_wrap_pass( DbgInfoPrinter )
|
||||
_wrap_pass( DeadArgElimination )
|
||||
_wrap_pass( DeadCodeElimination )
|
||||
_wrap_pass( DeadInstElimination )
|
||||
_wrap_pass( DeadStoreElimination )
|
||||
_wrap_pass( DemoteRegisterToMemory )
|
||||
_wrap_pass( DomOnlyPrinter )
|
||||
_wrap_pass( DomOnlyViewer )
|
||||
_wrap_pass( DomPrinter )
|
||||
_wrap_pass( DomViewer )
|
||||
_wrap_pass( EdgeProfiler )
|
||||
_wrap_pass( FunctionAttrs )
|
||||
_wrap_pass( FunctionInlining )
|
||||
//_wrap_pass( GEPSplitter )
|
||||
_wrap_pass( GlobalDCE )
|
||||
_wrap_pass( GlobalOptimizer )
|
||||
_wrap_pass( GlobalsModRef )
|
||||
_wrap_pass( GVN )
|
||||
_wrap_pass( IndVarSimplify )
|
||||
_wrap_pass( InstCount )
|
||||
_wrap_pass( InstructionCombining )
|
||||
_wrap_pass( InstructionNamer )
|
||||
_wrap_pass( IPConstantPropagation )
|
||||
_wrap_pass( IPSCCP )
|
||||
_wrap_pass( JumpThreading )
|
||||
_wrap_pass( LazyValueInfo )
|
||||
_wrap_pass( LCSSA )
|
||||
_wrap_pass( LICM )
|
||||
//_wrap_pass( LiveValues )
|
||||
_wrap_pass( LoopDeletion )
|
||||
_wrap_pass( LoopDependenceAnalysis )
|
||||
_wrap_pass( LoopExtractor )
|
||||
//_wrap_pass( LoopIndexSplit )
|
||||
_wrap_pass( LoopRotate )
|
||||
_wrap_pass( LoopSimplify )
|
||||
_wrap_pass( LoopStrengthReduce )
|
||||
_wrap_pass( LoopUnroll )
|
||||
_wrap_pass( LoopUnswitch )
|
||||
_wrap_pass( LowerInvoke )
|
||||
_wrap_pass( LowerSwitch )
|
||||
_wrap_pass( MemCpyOpt )
|
||||
_wrap_pass( MergeFunctions )
|
||||
_wrap_pass( NoAA )
|
||||
_wrap_pass( NoProfileInfo )
|
||||
_wrap_pass( OptimalEdgeProfiler )
|
||||
_wrap_pass( PartialInlining )
|
||||
//_wrap_pass( PartialSpecialization )
|
||||
_wrap_pass( PostDomOnlyPrinter )
|
||||
_wrap_pass( PostDomOnlyViewer )
|
||||
_wrap_pass( PostDomPrinter )
|
||||
_wrap_pass( PostDomViewer )
|
||||
_wrap_pass( ProfileEstimator )
|
||||
_wrap_pass( ProfileLoader )
|
||||
_wrap_pass( ProfileVerifier )
|
||||
_wrap_pass( PromoteMemoryToRegister )
|
||||
_wrap_pass( PruneEH )
|
||||
_wrap_pass( Reassociate )
|
||||
_wrap_pass( ScalarEvolutionAliasAnalysis )
|
||||
_wrap_pass( ScalarReplAggregates )
|
||||
_wrap_pass( SCCP )
|
||||
//_wrap_pass( SimplifyHalfPowrLibCalls )
|
||||
_wrap_pass( SimplifyLibCalls )
|
||||
_wrap_pass( SingleLoopExtractor )
|
||||
_wrap_pass( StripDeadPrototypes )
|
||||
_wrap_pass( StripNonDebugSymbols )
|
||||
_wrap_pass( StripSymbols )
|
||||
//_wrap_pass( StructRetPromotion )
|
||||
_wrap_pass( TailCallElimination )
|
||||
//_wrap_pass( TailDuplication )
|
||||
_wrap_pass( UnifyFunctionExitNodes )
|
||||
|
||||
_wrap_pass( Internalize2 )
|
||||
*/
|
||||
|
||||
_wrap_str2obj(LLVMCreatePassByName, LLVMPassRef)
|
||||
_wrap_obj2none(LLVMDisposePass, LLVMPassRef)
|
||||
_wrap_obj2str(LLVMGetPassName, LLVMPassRef)
|
||||
_wrap_objobj2none(LLVMAddPass, LLVMPassManagerRef, LLVMPassRef)
|
||||
|
||||
/*===----------------------------------------------------------------------===*/
|
||||
/* Target Machine */
|
||||
|
|
@ -2040,94 +1954,6 @@ static PyMethodDef core_methods[] = {
|
|||
_method( LLVMInitializePTXAsmPrinter )
|
||||
# endif
|
||||
#endif
|
||||
/* Passes */
|
||||
|
||||
/*
|
||||
_pass( AAEval )
|
||||
_pass( AggressiveDCE )
|
||||
_pass( AliasAnalysisCounter )
|
||||
_pass( AlwaysInliner )
|
||||
_pass( ArgumentPromotion )
|
||||
_pass( BasicAliasAnalysis )
|
||||
_pass( BlockPlacement )
|
||||
_pass( BreakCriticalEdges )
|
||||
_pass( CFGSimplification )
|
||||
_pass( CodeGenPrepare )
|
||||
_pass( ConstantMerge )
|
||||
_pass( ConstantPropagation )
|
||||
_pass( DbgInfoPrinter )
|
||||
_pass( DeadArgElimination )
|
||||
_pass( DeadCodeElimination )
|
||||
_pass( DeadInstElimination )
|
||||
_pass( DeadStoreElimination )
|
||||
_pass( DemoteRegisterToMemory )
|
||||
_pass( DomOnlyPrinter )
|
||||
_pass( DomOnlyViewer )
|
||||
_pass( DomPrinter )
|
||||
_pass( DomViewer )
|
||||
_pass( EdgeProfiler )
|
||||
_pass( FunctionAttrs )
|
||||
_pass( FunctionInlining )
|
||||
//_pass( GEPSplitter )
|
||||
_pass( GlobalDCE )
|
||||
_pass( GlobalOptimizer )
|
||||
_pass( GlobalsModRef )
|
||||
_pass( GVN )
|
||||
_pass( IndVarSimplify )
|
||||
_pass( InstCount )
|
||||
_pass( InstructionCombining )
|
||||
_pass( InstructionNamer )
|
||||
_pass( IPConstantPropagation )
|
||||
_pass( IPSCCP )
|
||||
_pass( JumpThreading )
|
||||
_pass( LazyValueInfo )
|
||||
_pass( LCSSA )
|
||||
_pass( LICM )
|
||||
//_pass( LiveValues )
|
||||
_pass( LoopDeletion )
|
||||
_pass( LoopDependenceAnalysis )
|
||||
_pass( LoopExtractor )
|
||||
//_pass( LoopIndexSplit )
|
||||
_pass( LoopRotate )
|
||||
_pass( LoopSimplify )
|
||||
_pass( LoopStrengthReduce )
|
||||
_pass( LoopUnroll )
|
||||
_pass( LoopUnswitch )
|
||||
_pass( LowerInvoke )
|
||||
_pass( LowerSwitch )
|
||||
_pass( MemCpyOpt )
|
||||
_pass( MergeFunctions )
|
||||
_pass( NoAA )
|
||||
_pass( NoProfileInfo )
|
||||
_pass( OptimalEdgeProfiler )
|
||||
_pass( PartialInlining )
|
||||
//_pass( PartialSpecialization )
|
||||
_pass( PostDomOnlyPrinter )
|
||||
_pass( PostDomOnlyViewer )
|
||||
_pass( PostDomPrinter )
|
||||
_pass( PostDomViewer )
|
||||
_pass( ProfileEstimator )
|
||||
_pass( ProfileLoader )
|
||||
_pass( ProfileVerifier )
|
||||
_pass( PromoteMemoryToRegister )
|
||||
_pass( PruneEH )
|
||||
_pass( Reassociate )
|
||||
_pass( ScalarEvolutionAliasAnalysis )
|
||||
_pass( ScalarReplAggregates )
|
||||
_pass( SCCP )
|
||||
//_pass( SimplifyHalfPowrLibCalls )
|
||||
_pass( SimplifyLibCalls )
|
||||
_pass( SingleLoopExtractor )
|
||||
_pass( StripDeadPrototypes )
|
||||
_pass( StripNonDebugSymbols )
|
||||
_pass( StripSymbols )
|
||||
//_pass( StructRetPromotion )
|
||||
_pass( TailCallElimination )
|
||||
//_pass( TailDuplication )
|
||||
_pass( UnifyFunctionExitNodes )
|
||||
|
||||
_pass( Internalize2 )
|
||||
*/
|
||||
|
||||
/* Target Machine */
|
||||
_method( LLVMTargetMachineFromEngineBuilder )
|
||||
|
|
@ -2194,6 +2020,12 @@ static PyMethodDef core_methods[] = {
|
|||
_method( LLVMGenericValueToPointer )
|
||||
_method( LLVMDisposeGenericValue )
|
||||
|
||||
/* Passes */
|
||||
_method( LLVMCreatePassByName )
|
||||
_method( LLVMDisposePass )
|
||||
_method( LLVMGetPassName )
|
||||
_method( LLVMAddPass )
|
||||
|
||||
/* Misc */
|
||||
_method( LLVMGetIntrinsic )
|
||||
_method( LLVMLoadLibraryPermanently )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue