Advertisement
Guest User

Untitled

a guest
May 28th, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. #include "LivenessAnalysis.h"
  2.  
  3.  
  4. void livenessAnalysis(Instructions instructions)
  5. {
  6. //prolazis kroz listu instrukcija
  7. for(auto it = instructions.rbegin(); it!= instructions.rend(); it++){
  8.  
  9. // out[n] <- U sesucc[n] in[s]
  10. for(auto it1 = (*it)->succ.begin(); it1 != (*it)->succ.end(); it1++){
  11. for(auto it2 = (*it1)->in.begin(); it2 != (*it1)->in.end(); it2++){
  12. (*it)->out.push_back(*it2);
  13. }
  14.  
  15. }
  16.  
  17. (*it)->out.sort();
  18. (*it)->out.unique(); // da ti budu jedinstvene liste, bez duplikata, prvo mora sort
  19.  
  20. (*it)->in = (*it)->use;
  21.  
  22. for(auto it3 = (*it)->out.begin(); it3 != (*it)->out.end(); it3++){
  23. if(!variableExists((*it3),(*it)->def)){
  24. (*it)->in.push_back(*it3);
  25. }
  26. }
  27.  
  28. (*it)->in.sort();
  29. (*it)->in.unique();
  30. }
  31. }
  32.  
  33. //izlaz uporedis sa onom tabelom ukljucujuci prvu kolonu trebalo bi da se poklapa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement