Méthode | Description | |
---|---|---|
Finish ( ) : void |
Finishes this instance.
|
|
Run ( ) : void |
Méthode | Description | |
---|---|---|
AddOperandUsageToWorkList ( InstructionNode node ) : void |
Adds the all the operands usage and definitions to work list.
|
|
AddOperandUsageToWorkList ( Operand operand ) : void |
Adds the operand usage and definitions to work list.
|
|
AddToWorkList ( InstructionNode node ) : void | ||
ArithmeticSimplificationAdditionAndSubstraction ( InstructionNode node ) : void |
Strength reduction for integer addition when one of the constants is zero
|
|
ArithmeticSimplificationDivision ( InstructionNode node ) : void |
Strength reduction for division when one of the constants is zero or one
|
|
ArithmeticSimplificationLogicalOperators ( InstructionNode node ) : void |
Strength reduction for logical operators
|
|
ArithmeticSimplificationMultiplication ( InstructionNode node ) : void |
Strength reduction for multiplication when one of the constants is zero or one
|
|
ArithmeticSimplificationRemSignedModulus ( InstructionNode node ) : void |
Arithmetics the simplification rem signed modulus.
|
|
ArithmeticSimplificationRemUnsignedModulus ( InstructionNode node ) : void |
Arithmetics the simplification rem unsigned modulus.
|
|
ArithmeticSimplificationShiftOperators ( InstructionNode node ) : void |
Strength reduction shift operators.
|
|
ArithmeticSimplificationSubtraction ( InstructionNode node ) : void |
Simplifies subtraction where both operands are the same
|
|
CanCopyPropagation ( Operand source, Operand destination ) : bool | ||
CanReduceTo32Bit ( Operand local ) : bool | ||
CheckAndClearEmptyBlock ( BasicBlock block ) : void | ||
CombineIntegerCompareBranch ( InstructionNode node ) : void | ||
ConstantFoldingAdditionAndSubstraction ( InstructionNode node ) : void | ||
ConstantFoldingDivision ( InstructionNode node ) : void | ||
ConstantFoldingIntegerCompare ( InstructionNode node ) : void |
Folds the integer compare on constants
|
|
ConstantFoldingIntegerOperations ( InstructionNode node ) : void |
Folds an integer operation on constants
|
|
ConstantFoldingLogicalAnd ( InstructionNode node ) : void | ||
ConstantFoldingLogicalOr ( InstructionNode node ) : void | ||
ConstantFoldingMultiplication ( InstructionNode node ) : void | ||
ConstantFoldingPhi ( InstructionNode node ) : void |
Folds the constant phi instruction.
|
|
ConstantMoveToRight ( InstructionNode node ) : void | ||
ContainsAddressOf ( Operand local ) : bool | ||
CreateTransformationList ( ) : List |
||
DeadCodeElimination ( InstructionNode node ) : void |
Removes the useless move and dead code
|
|
DeadCodeEliminationPhi ( InstructionNode node ) : void | ||
Do ( InstructionNode node ) : void | ||
FoldIntegerCompare ( InstructionNode node ) : void | ||
FoldIntegerCompareBranch ( InstructionNode node ) : void |
Folds integer compare branch.
|
|
FoldLoadStoreOffsets ( InstructionNode node ) : void | ||
GetPowerOfTwo ( ulong n ) : int | ||
IsPowerOfTwo ( ulong n ) : bool | ||
NormalizeConstantTo32Bit ( InstructionNode node ) : void | ||
Optimize ( ) : void | ||
ProcessWorkList ( ) : void | ||
Reduce64BitOperationsTo32Bit ( ) : bool | ||
ReduceTruncationAndExpansion ( InstructionNode node ) : void | ||
ReduceZeroExtendedMove ( InstructionNode node ) : void | ||
RemoveUselessIntegerCompareBranch ( InstructionNode node ) : void |
Removes the unless integer compare branch.
|
|
ReplaceVirtualRegister ( Operand local, Operand replacement ) : void | ||
SimpleConstantPropagation ( InstructionNode node ) : void |
Simple constant propagation.
|
|
SimpleForwardCopyPropagation ( InstructionNode node ) : void |
Simple copy propagation.
|
|
SimplifyExtendedMove ( InstructionNode node ) : void |
Simplifies sign/zero extended move
|
|
SimplifyExtendedMoveWithConstant ( InstructionNode node ) : void |
Simplifies extended moves with a constant
|
|
SimplifyPhi ( InstructionNode node ) : void |
Simplifies the phi.
|
|
Unsign ( MosaType type, long value ) : ulong |