Ejemplo n.º 1
0
        Registers Liveness::GetSetDiff(Registers& lhs, Registers& rhs)
        {
            struct myTempComp
            {
                bool operator () (myTemp lhs, myTemp rhs)
                { return Temp_getTempNum(lhs) < Temp_getTempNum(rhs); }
            } tempComparator;

            Registers result;
            set_difference(
                lhs.begin(), lhs.end(), rhs.begin(), rhs.end(),
                back_inserter(result),
                tempComparator);
            return result;
        }
Ejemplo n.º 2
0
unsigned int Node::calculateTotalSize(const Registers& regs)const{
	unsigned int acum=0;
	for(Registers::iterator it=regs.begin();it!=regs.end();++it){
		acum+=(*it)->getSize();
	}
	return acum;
}
Ejemplo n.º 3
0
        void Liveness::SortOneRegisters(Registers& regs)
        {
            struct myTempComp
            {
                bool operator () (myTemp lhs, myTemp rhs)
                { return Temp_getTempNum(lhs) < Temp_getTempNum(rhs); }
            } tempComparator;

            sort(regs.begin(), regs.end(), tempComparator);
        }