Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "LivenessAnalysis.h"
- void livenessAnalysis(Instructions instructions)
- {
- //prolazis kroz listu instrukcija
- for(auto it = instructions.rbegin(); it!= instructions.rend(); it++){
- // out[n] <- U sesucc[n] in[s]
- for(auto it1 = (*it)->succ.begin(); it1 != (*it)->succ.end(); it1++){
- for(auto it2 = (*it1)->in.begin(); it2 != (*it1)->in.end(); it2++){
- (*it)->out.push_back(*it2);
- }
- }
- (*it)->out.sort();
- (*it)->out.unique(); // da ti budu jedinstvene liste, bez duplikata, prvo mora sort
- (*it)->in = (*it)->use;
- for(auto it3 = (*it)->out.begin(); it3 != (*it)->out.end(); it3++){
- if(!variableExists((*it3),(*it)->def)){
- (*it)->in.push_back(*it3);
- }
- }
- (*it)->in.sort();
- (*it)->in.unique();
- }
- }
- //izlaz uporedis sa onom tabelom ukljucujuci prvu kolonu trebalo bi da se poklapa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement