Example #1
0
void SimpleBinaryOperation::setOperation(Operator _o, Type const& _left, Type const& _right)
{
	List<ValueDefiner*> l = findOperators(_o, _left, _right);
	if (l.size() && (m_symbolCache != l[0] || m_operator != _o))
	{
		m_operator = _o;
		setDependency(m_symbolCache, l[0]);
	}
}
Example #2
0
void doStage(int isFirst, int *stall, int * cycles, int * counter)
{
	if(pipelineInsts[4]->inst!=0){
		if(debug)printf("DEBUG: writing back\n");
		writeback(pipelineInsts[4]);
	}

	if(pipelineInsts[3]->inst!=0){
		if(debug)printf("DEBUG: memorying\n");
		memory(pipelineInsts[3]);
	}
	// if stall is being set, no need to call any of fowllowing functions
	if(!*stall){
		if(debug)printf("DEBUG: no stall...........\n");
		if(pipelineInsts[2]->inst!=0){
			if(debug)printf("DEBUG: executing\n");
			forwardData(pipelineInsts);	// forward data before execute

			if(debug)printf("DEBUG: instruction is about to get executed: %s\n", pipelineInsts[2]->string);
			execute(pipelineInsts[2]);
		}
		if(pipelineInsts[1]->inst!=0){
			if(debug)printf("DEBUG: decoding\n");

			
			decode(pipelineInsts[1]);
			
			setDependency(pipelineInsts, stall);	// set dependencies after decode

			// if cur inst is bge
			if(pipelineInsts[1]->signals.btype != 0){
				if(debug)printf("DEBUG: calling doBranching\n");
				doBranching(pipelineInsts, stall, cycles, counter);
			}
		}
	}
	if(pipelineInsts[0]->inst!=0 || isFirst){
		if(debug)printf("DEBUG: fetching\n");

		fetch(pipelineInsts[0]);
		if(*stall){		// when stall is being set, needs to defetch one instruction
			/*if(pipelineInsts[1]->signals.btype == 2){
				if(pipelineInsts[2]->aluout >= 0)
					pc = pc + pipelineInsts[1]->imm + 1;
			}*/
			defetch(pipelineInsts[0]);
		}
	}
}
Example #3
0
//-------------------------
//object types
//set type of eCopy according to type of eOrig
void PlanRep::setCopyType(edge eCopy, edge eOrig)
{
	OGDF_ASSERT(original(eCopy) == eOrig)
	m_eType[eCopy] = m_pGraphAttributes ? m_pGraphAttributes->type(eOrig) : Graph::association;
	if (eOrig)
	{
		switch (m_pGraphAttributes ? m_pGraphAttributes->type(eOrig) : Graph::association)
		{
			case Graph::generalization: setGeneralization(eCopy); break;
			case Graph::association: setAssociation(eCopy); break;
			case Graph::dependency: setDependency(eCopy); break;
			OGDF_NODEFAULT
		}//switch
	}//if original
}//setCopyType