49 #ifndef __CPU_TIMING_EXPR_HH__ 50 #define __CPU_TIMING_EXPR_HH__ 54 #include "enums/TimingExprOp.hh" 55 #include "params/TimingExpr.hh" 56 #include "params/TimingExprBin.hh" 57 #include "params/TimingExprIf.hh" 58 #include "params/TimingExprLet.hh" 59 #include "params/TimingExprLiteral.hh" 60 #include "params/TimingExprReadIntReg.hh" 61 #include "params/TimingExprRef.hh" 62 #include "params/TimingExprSrcReg.hh" 63 #include "params/TimingExprUn.hh" 147 defns(params->defns),
170 Enums::TimingExprOp
op;
185 Enums::TimingExprOp
op;
209 trueExpr(params->trueExpr),
210 falseExpr(params->falseExpr)
TimingExprBin(const TimingExprBinParams *params)
TimingExprEvalContext(const StaticInstPtr &inst_, ThreadContext *thread_, TimingExprLet *let_)
TimingExprUn(const TimingExprUnParams *params)
TimingExprLet(const TimingExprLetParams *params)
Object to gather the visible context for evaluation.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
std::vector< uint64_t > results
TimingExprRef(const TimingExprRefParams *params)
TimingExprLet * let
Context visible as sub expressions.
TimingExprSrcReg(const TimingExprSrcRegParams *params)
std::vector< bool > resultAvailable
const StaticInstPtr & inst
Special visible context.
TimingExprReadIntReg(const TimingExprReadIntRegParams *params)
uint64_t eval(TimingExprEvalContext &context)
TimingExprLiteral(const TimingExprLiteralParams *params)
TimingExprIf(const TimingExprIfParams *params)
TimingExpr(const TimingExprParams *params)
std::vector< TimingExpr * > defns
Abstract superclass for simulation objects.