Ejemplo n.º 1
0
Func insertTimers(Func func) {
  Var timeStartVar = InsertTimers::getInstance().getTimeVar();
  Func timerFunc = Func(func, Block::make(VarDecl::make(timeStartVar), 
        func.getBody()));
  timerFunc = InsertTimers::getInstance().rewrite(timerFunc);
  return timerFunc;
}
Ejemplo n.º 2
0
Func rewriteVarDecls(Func func) {
  LiftVarDecls rewriter;
  Func out = rewriter.rewrite(func);
  if (rewriter.varDecls.size() > 0) {
    return Func(out, Block::make(Block::make(
        rewriter.varDecls), out.getBody()));
  }
  else {
    return out;
  }
}
Ejemplo n.º 3
0
Func::Func(const Func& func, const Environment& environment)
    : Func(func.getName(), func.getArguments(), func.getResults(),
           func.getBody(), environment, func.getKind()) {
}