diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2017-12-19 17:50:54 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2017-12-19 17:50:54 +0000 |
commit | 4c9aa2cf8e59317ae73151c53fe84470b30c7ae9 (patch) | |
tree | 4db39b7b2f7ca1c0a167a048b4f1db82856d6091 /gcc | |
parent | afa7c9039c69e4bd5da6caab4df35ea32fd51db5 (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr83422.c | 9 | ||||
-rw-r--r-- | gcc/var-tracking.c | 9 |
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. */ |