46 #define kMaxCategory 32
75 Loop(
Loop* encl,
const string& size);
78 bool hasRecDependencyIn(
Tree S);
80 void addPreCode (
const string& str);
81 void addExecCode (
const string& str);
82 void addPostCode (
const string& str);
83 void println (
int n, ostream& fout);
84 void printParLoopln(
int n, ostream& fout);
86 void printoneln (
int n, ostream& fout);
Loop *const fEnclosingLoop
Loop from which this one originated.
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
list< string > fPostCode
code to execute at the end of the loop
int fUseCount
how many loops depend on this one
const bool fIsRecursive
recursive loops can't be SIMDed
Tree fRecSymbolSet
recursive loops define a set of recursive symbol
int fPrinted
true when loop has been printed (to track multi-print errors)
list< string > fExecCode
code to execute in the loop
list< Loop * > fExtraLoops
extra loops that where in sequences
Tree concat(Tree l, Tree q)
int fOrder
used during topological sort
const string fSize
number of iterations of the loop
list< string > fPreCode
code to execute at the begin of the loop
int fIndex
used during scheduler mode code generation
set< Loop * > fBackwardLoopDependencies
Loops that must be computed before this one.
set< Loop * > fForwardLoopDependencies
Loops that will be computed after this one.