aboutsummaryrefslogtreecommitdiff
path: root/gcc/reg-notes.def
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-03-10 19:17:10 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-03-10 19:17:10 +0100
commit23f39b378852d679e5d24bbc204ec4ca8fefbd8c (patch)
treedacbe9fcddf5ad20226ea333141629bbab53dd47 /gcc/reg-notes.def
parent8bb025f55a97aec05b9aaff2147b2df6009e90ad (diff)
downloadgcc-23f39b378852d679e5d24bbc204ec4ca8fefbd8c.zip
gcc-23f39b378852d679e5d24bbc204ec4ca8fefbd8c.tar.gz
gcc-23f39b378852d679e5d24bbc204ec4ca8fefbd8c.tar.bz2
re PR debug/43290 (ICE in dwarf2out_frame_debug_expr)
PR debug/43290 * reg-notes.def (REG_CFA_SET_VDRAP): New note. * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting of fde->vdrap_reg. (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note. (based_loc_descr): Only express drap or vdrap regno based expressions using DW_OP_fbreg when not optimizing. * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing, make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add REG_CFA_SET_VDRAP note. PR debug/36728 * gcc.dg/guality/pr36728-1.c: New test. * gcc.dg/guality/pr36728-2.c: New test. From-SVN: r157363
Diffstat (limited to 'gcc/reg-notes.def')
-rw-r--r--gcc/reg-notes.def8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/reg-notes.def b/gcc/reg-notes.def
index 90b5fde..aa2daea 100644
--- a/gcc/reg-notes.def
+++ b/gcc/reg-notes.def
@@ -1,5 +1,6 @@
/* Register note definitions.
- Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -153,6 +154,11 @@ REG_NOTE (CFA_REGISTER)
first pattern is the register to be restored. */
REG_NOTE (CFA_RESTORE)
+/* Attached to insn that is RTX_FRAME_RELATED_P, marks insn that sets
+ vDRAP from DRAP. If vDRAP is a register, vdrap_reg is initalized
+ to the argument, if it is a MEM, it is ignored. */
+REG_NOTE (CFA_SET_VDRAP)
+
/* Indicates that REG holds the exception context for the function.
This context is shared by inline functions, so the code to acquire
the real exception context is delayed until after inlining. */