aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2019-12-21 12:25:05 +0100
committerMartin Jambor <jamborm@gcc.gnu.org>2019-12-21 12:25:05 +0100
commita09ccc22459c565814f79f96586fe4ad083fe4eb (patch)
tree9e8b5559f1eb904b23922771a3ec0c00f5b1ab6c /gcc
parent7ef6cab9b54e828eb4570f7e59c6a72132e4e102 (diff)
downloadgcc-a09ccc22459c565814f79f96586fe4ad083fe4eb.zip
gcc-a09ccc22459c565814f79f96586fe4ad083fe4eb.tar.gz
gcc-a09ccc22459c565814f79f96586fe4ad083fe4eb.tar.bz2
Avoid segfault when doing IPA-VRP but not IPA-CP (PR 93015)
2019-12-21 Martin Jambor <mjambor@suse.cz> PR ipa/93015 * ipa-cp.c (ipcp_store_vr_results): Check that info exists testsuite/ * gcc.dg/lto/pr93015_0.c: New test. From-SVN: r279695
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa-cp.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr93015_0.c6
4 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6afc0177..11a404c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-21 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/93015
+ * ipa-cp.c (ipcp_store_vr_results): Check that info exists
+
2019-12-20 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/predicates.md (cint34_operand): Use
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 126d154..ee72597 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -5728,7 +5728,7 @@ ipcp_store_vr_results (void)
ipa_node_params *info = IPA_NODE_REF (node);
bool found_useful_result = false;
- if (!opt_for_fn (node->decl, flag_ipa_vrp))
+ if (!info || !opt_for_fn (node->decl, flag_ipa_vrp))
{
if (dump_file)
fprintf (dump_file, "Not considering %s for VR discovery "
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a7bffea..8ec9fc2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-21 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/93015
+ * gcc.dg/lto/pr93015_0.c: New test.
+
2019-12-19 Marek Polacek <polacek@redhat.com>
PR c++/92745 - bogus error when initializing array of vectors.
diff --git a/gcc/testsuite/gcc.dg/lto/pr93015_0.c b/gcc/testsuite/gcc.dg/lto/pr93015_0.c
new file mode 100644
index 0000000..d084b5a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr93015_0.c
@@ -0,0 +1,6 @@
+/* { dg-lto-do link } */
+/* { dg-lto-options { { -O0 -fipa-vrp -flto } } } */
+
+int main() {
+
+}