diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 32f98f309bbdf20a15ed3386d2164789ba987188..4863acc6929e32657ebf6e2e25333a35a9c8e432 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-19  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-pre.c (insert_into_set): Don't put
+	is_gimple_min_invariant values into the set.
+
 2004-09-19  Andreas Jaeger  <aj@suse.de>
 
 	* tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index cbaba2c2117914f29230212b143e6cab41c51277..43257bc1093816fcd0fae01731c88385cf84bc5a 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -522,6 +522,9 @@ insert_into_set (value_set_t set, tree expr)
   value_set_node_t newnode = pool_alloc (value_set_node_pool);
   tree val = get_value_handle (expr);
   gcc_assert (val);
+  
+  if (is_gimple_min_invariant (val))
+    return;
 
   /* For indexed sets, insert the value into the set value bitmap.
      For all sets, add it to the linked list and increment the list