[ARC] DWARF emitting cleanup.
authorClaudiu Zissulescu <claziss@synopsys.com>
Fri, 14 Apr 2017 11:40:54 +0000 (13:40 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Fri, 14 Apr 2017 11:40:54 +0000 (13:40 +0200)
The use of CFA_FRAME_BASE_OFFSET and ARG_POINTER_CFA_OFFSET macros
leads to wrong offset calculation for DW_OP_fbreg constructions.
Remove them.

gcc/
2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
* config/arc/arc.c (arc_decl_pretend_args): Likewise.
* config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
(ARG_POINTER_CFA_OFFSET): Likewise.

From-SVN: r246926

gcc/ChangeLog
gcc/config/arc/arc-protos.h
gcc/config/arc/arc.c
gcc/config/arc/arc.h

index 27cfef5a72e758a17a5376db9f69a9d0646a8df8..312ef8d7ba491d26e3b54d8c80b0e06a2fd990eb 100644 (file)
@@ -1,3 +1,10 @@
+2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
+       * config/arc/arc.c (arc_decl_pretend_args): Likewise.
+       * config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
+       (ARG_POINTER_CFA_OFFSET): Likewise.
+
 2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
 
        * config/arc/arc.c (arc_mode_dependent_address_p): Relax
index 063ca5a4794e772f51635474559835f1a95d4ecf..93a64cfebacd50660c4559706b4251152c016910 100644 (file)
@@ -111,7 +111,6 @@ extern int arc_label_align (rtx_insn *label);
 extern bool arc_need_delay (rtx_insn *insn);
 extern bool arc_text_label (rtx_insn *insn);
 
-extern int arc_decl_pretend_args (tree decl);
 extern bool arc_short_comparison_p (rtx, int);
 extern bool arc_epilogue_uses (int regno);
 extern bool arc_eh_uses (int regno);
index b28c590ed266c8c9e3b662ccefd3a8fb682c708b..c8ffa1aa105552401dcabc6697db90389e495806 100644 (file)
@@ -9338,17 +9338,6 @@ arc_text_label (rtx_insn *label)
   return false;
 }
 
-/* Return the size of the pretend args for DECL.  */
-
-int
-arc_decl_pretend_args (tree decl)
-{
-  /* struct function is in DECL_STRUCT_FUNCTION (decl), but no
-     pretend_args there...  See PR38391.  */
-  gcc_assert (decl == current_function_decl);
-  return crtl->args.pretend_args_size;
-}
-
 /* Without this, gcc.dg/tree-prof/bb-reorg.c fails to assemble
   when compiling with -O2 -freorder-blocks-and-partition -fprofile-use
   -D_PROFILE_USE; delay branch scheduling then follows a crossing jump
index 08644eb7cdd05eb3890cbb057cc54690140631e4..2706a85f023adfb7cf7beb484b392f3829c11343 100644 (file)
@@ -1581,11 +1581,6 @@ extern enum arc_function_type arc_compute_function_type (struct function *);
 
 #define INIT_EXPANDERS arc_init_expanders ()
 
-#define CFA_FRAME_BASE_OFFSET(FUNDECL) (-arc_decl_pretend_args ((FUNDECL)))
-
-#define ARG_POINTER_CFA_OFFSET(FNDECL) \
-  (FIRST_PARM_OFFSET (FNDECL) + arc_decl_pretend_args ((FNDECL)))
-
 enum
 {
   ARC_LRA_PRIORITY_NONE, ARC_LRA_PRIORITY_NONCOMPACT, ARC_LRA_PRIORITY_COMPACT