FreeBASIC  0.91.0
ast-optimize.bas File Reference
#include "fb.bi"
#include "fbint.bi"
#include "ir.bi"
#include "rtl.bi"
#include "ast.bi"
#include "hlp.bi"
Include dependency graph for ast-optimize.bas:

Go to the source code of this file.

Functions

private sub hOptConstRemNeg (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hConstAccumADDSUB (byval_as_ASTNODE_ptr n, byref_as_ASTNODE_ptr accumval, byval_as_integer sign)
 
private function_as_ASTNODE_ptr hConstAccumMUL (byval_as_ASTNODE_ptr n, byref_as_ASTNODE_ptr accumval)
 
private function_as_ASTNODE_ptr hOptConstAccum1 (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptConstAccum2 (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hConstDistMUL (byval_as_ASTNODE_ptr n, byref_as_ASTNODE_ptr accumval)
 
private function_as_ASTNODE_ptr hOptConstDistMUL (byval_as_ASTNODE_ptr n)
 
private sub hOptConstIdxMult (byval_as_ASTNODE_ptr n)
 
private function_as_integer astIncOffset (byval_as_ASTNODE_ptr n, byval_as_longint ofs)
 
private function_as_ASTNODE_ptr hOptDerefAddr (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptConstIDX (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hMergeNestedFIELDs (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptAssocADD (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptAssocMUL (byval_as_ASTNODE_ptr n)
 
private sub hDivToShift_Signed (byval_as_ASTNODE_ptr n, byval_as_integer const_val)
 
private function_as_integer hToPow2 (byval_as_ulongint v)
 
private sub hOptToShift (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptNullOp (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptLogic (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hDoOptRemConv (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptStrMultConcat (byval_as_ASTNODE_ptr lnk, byval_as_ASTNODE_ptr dst, byval_as_ASTNODE_ptr n, byval_as_integer is_wstr)
 
private function_as_integer hIsMultStrConcat (byval_as_ASTNODE_ptr l, byval_as_ASTNODE_ptr r)
 
private function_as_ASTNODE_ptr hOptStrAssignment (byval_as_ASTNODE_ptr n, byval_as_ASTNODE_ptr l, byval_as_ASTNODE_ptr r)
 
function_as_ASTNODE_ptr astOptAssignment (byval_as_ASTNODE_ptr n)
 
function_as_ASTNODE_ptr hOptSelfAssign (byval_as_ASTNODE_ptr n)
 
function_as_ASTNODE_ptr hOptSelfCompare (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hOptReciprocal (byval_as_ASTNODE_ptr n)
 
function_as_ASTNODE_ptr astOptimizeTree (byval_as_ASTNODE_ptr n)
 

Function Documentation

private function_as_integer astIncOffset ( byval_as_ASTNODE_ptr  n,
byval_as_longint  ofs 
)

Definition at line 465 of file ast-optimize.bas.

Here is the caller graph for this function:

function_as_ASTNODE_ptr astOptAssignment ( byval_as_ASTNODE_ptr  n)

Definition at line 1613 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_ASTNODE_ptr astOptimizeTree ( byval_as_ASTNODE_ptr  n)

Definition at line 1873 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hConstAccumADDSUB ( byval_as_ASTNODE_ptr  n,
byref_as_ASTNODE_ptr  accumval,
byval_as_integer  sign 
)

Definition at line 61 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hConstAccumMUL ( byval_as_ASTNODE_ptr  n,
byref_as_ASTNODE_ptr  accumval 
)

Definition at line 130 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hConstDistMUL ( byval_as_ASTNODE_ptr  n,
byref_as_ASTNODE_ptr  accumval 
)

Definition at line 263 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hDivToShift_Signed ( byval_as_ASTNODE_ptr  n,
byval_as_integer  const_val 
)

Definition at line 851 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hDoOptRemConv ( byval_as_ASTNODE_ptr  n)

Definition at line 1322 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hIsMultStrConcat ( byval_as_ASTNODE_ptr  l,
byval_as_ASTNODE_ptr  r 
)

Definition at line 1490 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hMergeNestedFIELDs ( byval_as_ASTNODE_ptr  n)

Definition at line 621 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptAssocADD ( byval_as_ASTNODE_ptr  n)

Definition at line 731 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptAssocMUL ( byval_as_ASTNODE_ptr  n)

Definition at line 805 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptConstAccum1 ( byval_as_ASTNODE_ptr  n)

Definition at line 169 of file ast-optimize.bas.

Here is the call graph for this function:

private function_as_ASTNODE_ptr hOptConstAccum2 ( byval_as_ASTNODE_ptr  n)

Definition at line 217 of file ast-optimize.bas.

Here is the call graph for this function:

private function_as_ASTNODE_ptr hOptConstDistMUL ( byval_as_ASTNODE_ptr  n)

Definition at line 300 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptConstIDX ( byval_as_ASTNODE_ptr  n)

Definition at line 562 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hOptConstIdxMult ( byval_as_ASTNODE_ptr  n)

Definition at line 392 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hOptConstRemNeg ( byval_as_ASTNODE_ptr  n)

Definition at line 18 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptDerefAddr ( byval_as_ASTNODE_ptr  n)

Definition at line 519 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptLogic ( byval_as_ASTNODE_ptr  n)

Definition at line 1165 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptNullOp ( byval_as_ASTNODE_ptr  n)

Definition at line 1004 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptReciprocal ( byval_as_ASTNODE_ptr  n)

Definition at line 1824 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_ASTNODE_ptr hOptSelfAssign ( byval_as_ASTNODE_ptr  n)

Definition at line 1743 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_ASTNODE_ptr hOptSelfCompare ( byval_as_ASTNODE_ptr  n)

Definition at line 1780 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptStrAssignment ( byval_as_ASTNODE_ptr  n,
byval_as_ASTNODE_ptr  l,
byval_as_ASTNODE_ptr  r 
)

Definition at line 1526 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hOptStrMultConcat ( byval_as_ASTNODE_ptr  lnk,
byval_as_ASTNODE_ptr  dst,
byval_as_ASTNODE_ptr  n,
byval_as_integer  is_wstr 
)

Definition at line 1401 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hOptToShift ( byval_as_ASTNODE_ptr  n)

Definition at line 914 of file ast-optimize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hToPow2 ( byval_as_ulongint  v)

Definition at line 903 of file ast-optimize.bas.