FreeBASIC  0.91.0
ast-vectorize.bas File Reference
#include "fb.bi"
#include "fbint.bi"
#include "ast.bi"
Include dependency graph for ast-vectorize.bas:

Go to the source code of this file.

Functions

private function_as_integer hNodesMatch (byval_as_ASTNODE_ptr vn, byval_as_ASTNODE_ptr n)
 
private function_as_integer hAllowedInVectorize (byval_as_ASTNODE_ptr n, byval_as_integer deref)
 
private sub hGetVarDistance (byval_as_ASTNODE_ptr vn, byval_as_integer_ptr vn_ofs, byval_as_ASTNODE_ptr n, byval_as_integer_ptr n_ofs)
 
private function_as_ASTNODE_ptr hSkipNewNodes (byval_as_ASTNODE_ptr n, byval_as_integer doMerge)
 
private function_as_integer hCheckLoad (byval_as_ASTNODE_ptr vn, byval_as_ASTNODE_ptr n, byval_as_integer deref)
 
private sub hInsertSwizzle (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hVectorizeNode (byval_as_ASTNODE_ptr n, byval_as_integer dist)
 
private function_as_integer hCheckDerefVar (byval_as_ASTNODE_ptr n, byval_as_integer_ptr dtype)
 
private function_as_integer hCheckArrayVar (byval_as_ASTNODE_ptr n, byval_as_integer_ptr dtype)
 
private function_as_integer hCheckMemOffset (byval_as_ASTNODE_ptr vectorNode, byval_as_integer offset, byval_as_FB_DATATYPE dtype)
 
private function_as_FB_DATATYPE hGetAssignDataType (byval_as_ASTNODE_ptr n)
 
private function_as_integer hMergeNode (byval_as_ASTNODE_ptr vectorNode, byval_as_ASTNODE_ptr n, byval_as_integer doMerge)
 
private function_as_integer hIsVectorizable (byval_as_ASTNODE_ptr n)
 
private function_as_integer astIntraTreeVectorize (byval_as_ASTNODE_ptr n)
 
private function_as_ASTNODE_ptr hGetNextTree (byval_as_ASTNODE_ptr n)
 
private function_as_integer hCheckLink (byval_as_ASTNODE_ptr n)
 
sub astProcVectorize (byval_as_ASTNODE_ptr p)
 

Variables

integer vectorWidth
 
integer maxVectorWidth
 

Function Documentation

private function_as_integer astIntraTreeVectorize ( byval_as_ASTNODE_ptr  n)

Definition at line 565 of file ast-vectorize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub astProcVectorize ( byval_as_ASTNODE_ptr  p)

Definition at line 665 of file ast-vectorize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hAllowedInVectorize ( byval_as_ASTNODE_ptr  n,
byval_as_integer  deref 
)

Definition at line 49 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_integer hCheckArrayVar ( byval_as_ASTNODE_ptr  n,
byval_as_integer_ptr  dtype 
)

Definition at line 305 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_integer hCheckDerefVar ( byval_as_ASTNODE_ptr  n,
byval_as_integer_ptr  dtype 
)

Definition at line 265 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_integer hCheckLink ( byval_as_ASTNODE_ptr  n)

Definition at line 645 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_integer hCheckLoad ( byval_as_ASTNODE_ptr  vn,
byval_as_ASTNODE_ptr  n,
byval_as_integer  deref 
)

Definition at line 178 of file ast-vectorize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hCheckMemOffset ( byval_as_ASTNODE_ptr  vectorNode,
byval_as_integer  offset,
byval_as_FB_DATATYPE  dtype 
)

Definition at line 326 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_FB_DATATYPE hGetAssignDataType ( byval_as_ASTNODE_ptr  n)

Definition at line 361 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hGetNextTree ( byval_as_ASTNODE_ptr  n)

Definition at line 619 of file ast-vectorize.bas.

Here is the caller graph for this function:

private sub hGetVarDistance ( byval_as_ASTNODE_ptr  vn,
byval_as_integer_ptr  vn_ofs,
byval_as_ASTNODE_ptr  n,
byval_as_integer_ptr  n_ofs 
)

Definition at line 120 of file ast-vectorize.bas.

Here is the caller graph for this function:

private sub hInsertSwizzle ( byval_as_ASTNODE_ptr  n)

Definition at line 214 of file ast-vectorize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hIsVectorizable ( byval_as_ASTNODE_ptr  n)

Definition at line 551 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_integer hMergeNode ( byval_as_ASTNODE_ptr  vectorNode,
byval_as_ASTNODE_ptr  n,
byval_as_integer  doMerge 
)

Definition at line 384 of file ast-vectorize.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hNodesMatch ( byval_as_ASTNODE_ptr  vn,
byval_as_ASTNODE_ptr  n 
)

Definition at line 14 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hSkipNewNodes ( byval_as_ASTNODE_ptr  n,
byval_as_integer  doMerge 
)

Definition at line 149 of file ast-vectorize.bas.

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hVectorizeNode ( byval_as_ASTNODE_ptr  n,
byval_as_integer  dist 
)

Definition at line 238 of file ast-vectorize.bas.

Here is the caller graph for this function:

Variable Documentation

integer maxVectorWidth

Definition at line 11 of file ast-vectorize.bas.

integer vectorWidth

Definition at line 10 of file ast-vectorize.bas.