summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2013-02-08 13:03:52 -0700
committerJeff Law <law@gcc.gnu.org>2013-02-08 13:03:52 -0700
commita698cc0308468029029e0501815747284194e407 (patch)
treea991da3f3350280432395c213f19731541c363b9 /gcc/emit-rtl.c
parente1122ddda6332ca3a430b3944053ad8ecf11fb20 (diff)
downloadgcc-a698cc0308468029029e0501815747284194e407.tar.gz
re PR debug/53948 (Assignment line missing for -O0 -g)
PR debug/53948 * emit-rtl.c (reg_is_parm_p): New function. * regs.h (reg_is_parm_p): New prototype. * ira-conflicts.c (ira_build_conflicts): Allow parameters in callee-clobbered registers. PR debug/53948 * gcc.dg/debug/dwarf2/pr53948.c: New test. From-SVN: r195900
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index f997e5d319b..2c70fb1841d 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -919,6 +919,18 @@ gen_reg_rtx (enum machine_mode mode)
return val;
}
+/* Return TRUE if REG is a PARM_DECL, FALSE otherwise. */
+
+bool
+reg_is_parm_p (rtx reg)
+{
+ tree decl;
+
+ gcc_assert (REG_P (reg));
+ decl = REG_EXPR (reg);
+ return (decl && TREE_CODE (decl) == PARM_DECL);
+}
+
/* Update NEW with the same attributes as REG, but with OFFSET added
to the REG_OFFSET. */