From f6f4350e9f520ab5fa785a7422333a11f77d1562 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 26 Mar 2008 02:50:58 +0000 Subject: [PATCH] fixed other small issues --- Robust/src/Analysis/Prefetch/LoopExit.java | 8 ++++++-- Robust/src/Analysis/Prefetch/PrefetchAnalysis.java | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Robust/src/Analysis/Prefetch/LoopExit.java b/Robust/src/Analysis/Prefetch/LoopExit.java index 7876a2c3..2b1099b6 100644 --- a/Robust/src/Analysis/Prefetch/LoopExit.java +++ b/Robust/src/Analysis/Prefetch/LoopExit.java @@ -66,8 +66,12 @@ public class LoopExit { if (table.containsKey(fn)) { if (!table.containsKey(fnnext)) table.put(fnnext, new HashSet()); - if(!table.get(fnnext).containsAll(table.get(fn))) { - table.get(fnnext).addAll(table.get(fn)); + HashSet toadd=new HashSet(); + toadd.addAll(table.get(fn)); + if (toadd.contains(fnnext)) //can't propagate back to node + toadd.remove(fnnext); + if(!table.get(fnnext).containsAll(toadd)) { + table.get(fnnext).addAll(toadd); enqueuechange=true; } } diff --git a/Robust/src/Analysis/Prefetch/PrefetchAnalysis.java b/Robust/src/Analysis/Prefetch/PrefetchAnalysis.java index 252d210b..1e626660 100644 --- a/Robust/src/Analysis/Prefetch/PrefetchAnalysis.java +++ b/Robust/src/Analysis/Prefetch/PrefetchAnalysis.java @@ -694,6 +694,7 @@ public class PrefetchAnalysis { double newprob=trueprob*fcb.getTrueProb()+falseprob*fcb.getFalseProb(); if (loop.isLoopingBranch(md,fcb)&& newprob