diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 96bfe42a4f073cca965c58221f3864728527050a..7c3c1d47a0c87ce9514ff3202c764dbe2aabcbc5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-alias-common.c (gate_pta): New function.
+	(pass_build_pta): Use it.
+	(pass_del_pta): Use it.
+	(delete_alias_vars): Don't check flag_tree_points_to.
+
 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
 
 	* config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added 
diff --git a/gcc/tree-alias-common.c b/gcc/tree-alias-common.c
index d1a8568a44e2953df0afbf4502e32758cb5ef375..eac77463c401881b978f887998e7e0d29db24b2a 100644
--- a/gcc/tree-alias-common.c
+++ b/gcc/tree-alias-common.c
@@ -1029,10 +1029,20 @@ create_alias_vars (void)
   pta_global_var = NULL_TREE;
 }
 
+static bool
+gate_pta (void)
+{
+#ifdef HAVE_BANSHEE
+  return flag_tree_points_to != PTA_NONE;
+#else
+  return false;
+#endif
+}
+
 struct tree_opt_pass pass_build_pta = 
 {
   "pta",				/* name */
-  NULL,					/* gate */
+  gate_pta,				/* gate */
   create_alias_vars,			/* execute */
   NULL,					/* sub */
   NULL,					/* next */
@@ -1053,9 +1063,6 @@ delete_alias_vars (void)
 {
   size_t i;
 
-  if (flag_tree_points_to != PTA_ANDERSEN)
-    return;
-
   for (i = 0; i < VARRAY_ACTIVE_SIZE (local_alias_vars); i++)
     {
       tree key = VARRAY_TREE (local_alias_vars, i);
@@ -1080,7 +1087,7 @@ delete_alias_vars (void)
 struct tree_opt_pass pass_del_pta = 
 {
   "pta",				/* name */
-  NULL,					/* gate */
+  gate_pta,				/* gate */
   delete_alias_vars,			/* execute */
   NULL,					/* sub */
   NULL,					/* next */