diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e5cc18a211868b0fe7f5c61b4a7abc4beac3e581..7ba6c45b10e67428af5183ff4fc7db47d98f7498 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-06-30  Kazu Hirata  <kazu@codesourcery.com>
+
+	* cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
+	comment typos.
+
 2006-06-29  Jason Merrill  <jason@redhat.com>
 
 	PR c++/26905
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 1f43a32d77e9811d52f47c2c228612d61fffdd9f..630a82a28a5c9fd29c9cab777faec031b8c824db 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -1626,7 +1626,7 @@ tree_expand_cfg (void)
   init_block = construct_init_block ();
 
   /* Clear EDGE_EXECUTABLE on the entry edge(s).  It is cleaned from the
-     remainining edges in expand_gimple_basic_block.  */
+     remaining edges in expand_gimple_basic_block.  */
   FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR->succs)
     e->flags &= ~EDGE_EXECUTABLE;
 
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 6c8e1a7e66e51962671c9078f1d4b8976d3f584f..958bd613aa8081df096f88ab21439b32a3fa06b0 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -68,7 +68,7 @@ Boston, MA 02110-1301, USA.  */
 #define COSTS_N_BYTES(N) ((N) * 2)
 
 static const
-struct processor_costs size_cost = {	/* costs for tunning for size */
+struct processor_costs size_cost = {	/* costs for tuning for size */
   COSTS_N_BYTES (2),			/* cost of an add instruction */
   COSTS_N_BYTES (3),			/* cost of a lea instruction */
   COSTS_N_BYTES (2),			/* variable shift costs */
diff --git a/gcc/genpreds.c b/gcc/genpreds.c
index 655c4e6529329456073438a36e26782747bdee5a..adc3e48372b0ef198534319a763539137ea2dc18 100644
--- a/gcc/genpreds.c
+++ b/gcc/genpreds.c
@@ -373,7 +373,7 @@ add_mode_tests (struct pred_data *p)
 	case AND:
 	  /* The switch code generation in write_predicate_stmts prefers
 	     rtx code tests to be at the top of the expression tree.  So
-	     push this AND down into the second operand of an exisiting
+	     push this AND down into the second operand of an existing
 	     AND expression.  */
 	  if (generate_switch_p (XEXP (subexp, 0)))
 	    pos = &XEXP (subexp, 1);
@@ -563,7 +563,7 @@ write_match_code_switch (rtx exp)
     }
 }
 
-/* Given a predictate expression EXP, write out a sequence of stmts
+/* Given a predicate expression EXP, write out a sequence of stmts
    to evaluate it.  This is similar to write_predicate_expr but can
    generate efficient switch statements.  */
 
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 6dbb7d367e1e7f4df83edb899bc532a6132bfd02..82adabda06313dec2b777796670919794ea0947d 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3121,7 +3121,7 @@ reinstall_phi_args (edge new_edge, edge old_edge)
   PENDING_STMT (old_edge) = NULL;
 }
 
-/* Returns the basic block after that the new basic block created
+/* Returns the basic block after which the new basic block created
    by splitting edge EDGE_IN should be placed.  Tries to keep the new block
    near its "logical" location.  This is of most help to humans looking
    at debugging dumps.  */