summaryrefslogtreecommitdiff
path: root/gcc/reg-notes.def
diff options
context:
space:
mode:
authorjiwang <jiwang@138bc75d-0d04-0410-961f-82ee72b054a4>2016-11-03 17:32:03 +0000
committerjiwang <jiwang@138bc75d-0d04-0410-961f-82ee72b054a4>2016-11-03 17:32:03 +0000
commit2276e7e7e2ac6e5051bb2a363c02892b251810a8 (patch)
tree7359844c4ff9a95d3137e3267597a68eb1d23f28 /gcc/reg-notes.def
parent6df23cf103de2671effb6adaf49348409141b462 (diff)
downloadgcc-2276e7e7e2ac6e5051bb2a363c02892b251810a8.tar.gz
[DWARF] Enable DW_CFA_VAL_EXPRESSION support
gcc/ * reg-notes.def (CFA_VAL_EXPRESSION): New entry. * dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function. (dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION. (output_cfa_loc): Support DW_CFA_val_expression. (output_cfa_loc_raw): Likewise. (output_cfi): Likewise. (output_cfi_directive): Likewise. * dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression. (dw_cfi_oprnd2_desc): Likewise. (mem_loc_descriptor): Recognize new pattern generated for value expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241826 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reg-notes.def')
-rw-r--r--gcc/reg-notes.def5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/reg-notes.def b/gcc/reg-notes.def
index 5374169b9a4..962dbb8007e 100644
--- a/gcc/reg-notes.def
+++ b/gcc/reg-notes.def
@@ -149,6 +149,11 @@ REG_NOTE (CFA_REGISTER)
store of a register to an arbitrary (non-validated) memory address. */
REG_NOTE (CFA_EXPRESSION)
+/* Attached to insns that are RTX_FRAME_RELATED_P, but are too complex
+ for FRAME_RELATED_EXPR intuition. The DWARF expression computes the value of
+ the given register. */
+REG_NOTE (CFA_VAL_EXPRESSION)
+
/* Attached to insns that are RTX_FRAME_RELATED_P, with the information
that this is a restore operation, i.e. will result in DW_CFA_restore
or the like. Either the attached rtx, or the destination of the insn's