diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 315beb5dff127862a38b1cf21a81ce846a07807a..5f3b8ae527c6dda8b563a13d3001cd8d436b1e58 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2013-07-22  Chang  <pchang9@cs.wisc.edu>
+
+	* df-problems.c (can_move_insns_across): Exit loop once we
+	find a non-fixed, non-global register.
+
+	* ipa-pure-const.c (propagate_nothrow): Exit loop after
+	setting can_throw.
+
+	* omega.c (omega_eliminate_red): Break after setting red_found.
+	(omega_problem_has_red_equations): Similarly after setting found.
+	(omega_query_variable): Similarly after setting coupled.
+
 2013-07-22  Marek Polacek  <polacek@redhat.com>
 
 	* gimplify.c: Don't include gimple.h twice.
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index dad0ae7cd88cd87b5464178c12b83492ee808119..e647b5ad0a07a2bffc7c2fbdd437f5e1c026f59a 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -4040,7 +4040,10 @@ can_move_insns_across (rtx from, rtx to, rtx across_from, rtx across_to,
 	  if (i < FIRST_PSEUDO_REGISTER
 	      && ! fixed_regs[i]
 	      && ! global_regs[i])
-	    fail = 1;
+	    {
+	      fail = 1;
+	      break;
+	    }
 	}
     }
 
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 412e963206f1cabc024aa8f2acd572441ca3483a..4ea5d2ee99d7988f269a46e645f38ff4152a4972 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2013-07-22  Chang  <pchang9@cs.wisc.edu>
+
+	* trans-decl.c (gfc_build_dummy_array_decl): Exit loop after
+	setting PACKED_PARTIAL.
+
 2013-07-22  Tobias Burnus  <burnus@net-b.de>
 
 	* trans-array.c (gfc_array_allocate): Correct memory-leak patch.
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 0d7d9c577c1e20d5a44f41ac246716bfe1e36037..2916b4cc52e5d98f578724823350806a7cbac84b 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -975,7 +975,10 @@ gfc_build_dummy_array_decl (gfc_symbol * sym, tree dummy)
 			&& as->lower[n]
 			&& as->upper[n]->expr_type == EXPR_CONSTANT
 			&& as->lower[n]->expr_type == EXPR_CONSTANT))
-		    packed = PACKED_PARTIAL;
+		    {
+		      packed = PACKED_PARTIAL;
+		      break;
+		    }
 		}
 	    }
 	  else
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 5492349b4e1f3f603ea7ef91a2b378155faaee68..b00ae2374a3a6c460fb0aa16bdcddc7b849d1667 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -1431,7 +1431,10 @@ propagate_nothrow (void)
 	    }
           for (ie = node->indirect_calls; ie; ie = ie->next_callee)
 	    if (ie->can_throw_external)
-	      can_throw = true;
+	      {
+		can_throw = true;
+		break;
+	      }
 	  w_info = (struct ipa_dfs_info *) w->symbol.aux;
 	  w = w_info->next_cycle;
 	}
diff --git a/gcc/omega.c b/gcc/omega.c
index 8829a71a91db5e9cf85414311637d8c87df89e29..2443ecb0307182fed38469297a82da7a383fa2dc 100644
--- a/gcc/omega.c
+++ b/gcc/omega.c
@@ -2591,7 +2591,10 @@ omega_eliminate_red (omega_pb pb, bool eliminate_all)
 
   for (red_found = 0, e = pb->num_geqs - 1; e >= 0; e--)
     if (pb->geqs[e].color == omega_red)
-      red_found = 1;
+      {
+	red_found = 1;
+	break;
+      }
 
   if (!red_found)
     {
@@ -4853,7 +4856,10 @@ omega_problem_has_red_equations (omega_pb pb)
 
   for (e = pb->num_geqs - 1; e >= 0; e--)
     if (pb->geqs[e].color == omega_red)
-      result = true;
+      {
+	result = true;
+	break;
+      }
 
   if (!result)
     return false;
@@ -4906,7 +4912,10 @@ omega_problem_has_red_equations (omega_pb pb)
 
   for (e = pb->num_geqs - 1; e >= 0; e--)
     if (pb->geqs[e].color == omega_red)
-      result = true;
+      {
+	result = true;
+	break;
+      }
 
   if (dump_file && (dump_flags & TDF_DETAILS))
     {
@@ -5251,7 +5260,10 @@ omega_query_variable (omega_pb pb, int i, int *lower_bound, int *upper_bound)
 
   for (e = pb->num_subs - 1; e >= 0; e--)
     if (pb->subs[e].coef[i] != 0)
-      coupled = true;
+      {
+	coupled = true;
+	break;
+      }
 
   for (e = pb->num_eqs - 1; e >= 0; e--)
     if (pb->eqs[e].coef[i] != 0)