diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea83a9e6ab5b..6df0f7fc9914 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-15  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR tree-optimization/37950
+	* tree-flow-inline.h (memory_partition): Return NULL when aliases were
+	not computed for the current function.
+
 2008-11-15  Jakub Jelinek  <jakub@redhat.com>
 
 	PR target/38123
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index eefc983190eb..aeba17204f9e 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -644,6 +644,12 @@ memory_partition (tree sym)
     return sym;
 
   gcc_assert (!is_gimple_reg (sym));
+  /* Autoparallelization moves statements from the original function (which has
+     aliases computed) to the new one (which does not).  When rebuilding
+     operands for the statement in the new function, we do not want to
+     record the memory partition tags of the original function.  */
+  if (!gimple_aliases_computed_p (cfun))
+    return NULL_TREE;
   tag = get_var_ann (sym)->mpt;
 
 #if defined ENABLE_CHECKING