diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6a2ba3aa7a5a523eac04ab5059c660667eb7530b..b60988c910e45158a6da505d099413887bb7113f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-10-26  Martin Liska  <mliska@suse.cz>
+
+	PR testsuite/86158
+	* ipa-prop.c (struct ipa_vr_ggc_hash_traits): Hash with
+	addr_expr and not with pointers.
+
 2018-10-26  Jan Hubicka  <jh@suse.cz>
 
 	* tree.c (free_lang_data_in_type): Only check main variants.
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 1e40997c92c1d3c0f78e05a319fc27e49a53ce01..4bd0b4b454107986d7519da5667fdfaf62264877 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -115,8 +115,8 @@ struct ipa_vr_ggc_hash_traits : public ggc_cache_remove <value_range *>
     {
       gcc_checking_assert (!p->equiv ());
       inchash::hash hstate (p->kind ());
-      hstate.add_ptr (p->min ());
-      hstate.add_ptr (p->max ());
+      inchash::add_expr (p->min (), hstate);
+      inchash::add_expr (p->max (), hstate);
       return hstate.end ();
     }
   static bool