aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2017-12-19 17:50:54 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2017-12-19 17:50:54 +0000
commit4c9aa2cf8e59317ae73151c53fe84470b30c7ae9 (patch)
tree4db39b7b2f7ca1c0a167a048b4f1db82856d6091 /gcc
parentafa7c9039c69e4bd5da6caab4df35ea32fd51db5 (diff)
downloadgcc-4c9aa2cf8e59317ae73151c53fe84470b30c7ae9.zip
gcc-4c9aa2cf8e59317ae73151c53fe84470b30c7ae9.tar.gz
gcc-4c9aa2cf8e59317ae73151c53fe84470b30c7ae9.tar.bz2
SFN: don't drop markers for skipping var-tracking
Although debug markers are more useful when bind stmts are placed among them, there is value in keeping them even when VTA limits are exceeded. for gcc/ChangeLog PR debug/83422 * var-tracking.c (vt_debug_insns_local): Do not drop markers. (variable_tracking_main_1): Keep markers even when VTA fails. for gcc/testsuite/ChangeLog PR debug/83422 * gcc.dg/pr83422.c: New. From-SVN: r255834
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr83422.c9
-rw-r--r--gcc/var-tracking.c9
4 files changed, 20 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0552a93..328ce28 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2017-12-19 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/83422
+ * var-tracking.c (vt_debug_insns_local): Do not drop markers.
+ (variable_tracking_main_1): Keep markers even when VTA fails.
+
PR bootstrap/83396
* cfgexpand.c (expand_gimple_basic_block): Expand label first,
even if there are markers before it.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index aabbe56..81f96c6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/83422
+ * gcc.dg/pr83422.c: New.
+
2017-12-19 Jakub Jelinek <jakub@redhat.com>
PR testsuite/83454
diff --git a/gcc/testsuite/gcc.dg/pr83422.c b/gcc/testsuite/gcc.dg/pr83422.c
new file mode 100644
index 0000000..adbf759
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr83422.c
@@ -0,0 +1,9 @@
+/* PR debug/83422 */
+/* { dg-do compile } */
+/* { dg-options "-O -g --param=max-vartrack-size=1" } */
+
+int
+foo(int i, int j, int k)
+{
+ return i + j + k;
+}
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index aa8a605..4a96a03 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -10338,12 +10338,9 @@ delete_vta_debug_insns (void)
handled as well.. */
static void
-vt_debug_insns_local (bool skipped)
+vt_debug_insns_local (bool skipped ATTRIBUTE_UNUSED)
{
- /* ??? Just skip it all for now. If we skipped the global pass,
- arrange for stmt markers to be dropped as well. */
- if (skipped)
- cfun->debug_nonbind_markers = 0;
+ /* ??? Just skip it all for now. */
delete_vta_debug_insns ();
}
@@ -10445,8 +10442,6 @@ variable_tracking_main_1 (void)
{
vt_finalize ();
- cfun->debug_nonbind_markers = 0;
-
delete_vta_debug_insns ();
/* This is later restored by our caller. */