Commit 213c9bf1 by Claudiu Zissulescu Committed by Claudiu Zissulescu

[ARC] DWARF emitting cleanup.

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
parent 1fccdd40
2017-04-14 Claudiu Zissulescu <claziss@synopsys.com> 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 * config/arc/arc.c (arc_mode_dependent_address_p): Relax
conditions to take advantage of various optimizations. conditions to take advantage of various optimizations.
......
...@@ -111,7 +111,6 @@ extern int arc_label_align (rtx_insn *label); ...@@ -111,7 +111,6 @@ extern int arc_label_align (rtx_insn *label);
extern bool arc_need_delay (rtx_insn *insn); extern bool arc_need_delay (rtx_insn *insn);
extern bool arc_text_label (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_short_comparison_p (rtx, int);
extern bool arc_epilogue_uses (int regno); extern bool arc_epilogue_uses (int regno);
extern bool arc_eh_uses (int regno); extern bool arc_eh_uses (int regno);
......
...@@ -9338,17 +9338,6 @@ arc_text_label (rtx_insn *label) ...@@ -9338,17 +9338,6 @@ arc_text_label (rtx_insn *label)
return false; 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 /* Without this, gcc.dg/tree-prof/bb-reorg.c fails to assemble
when compiling with -O2 -freorder-blocks-and-partition -fprofile-use when compiling with -O2 -freorder-blocks-and-partition -fprofile-use
-D_PROFILE_USE; delay branch scheduling then follows a crossing jump -D_PROFILE_USE; delay branch scheduling then follows a crossing jump
......
...@@ -1581,11 +1581,6 @@ extern enum arc_function_type arc_compute_function_type (struct function *); ...@@ -1581,11 +1581,6 @@ extern enum arc_function_type arc_compute_function_type (struct function *);
#define INIT_EXPANDERS arc_init_expanders () #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 enum
{ {
ARC_LRA_PRIORITY_NONE, ARC_LRA_PRIORITY_NONCOMPACT, ARC_LRA_PRIORITY_COMPACT ARC_LRA_PRIORITY_NONE, ARC_LRA_PRIORITY_NONCOMPACT, ARC_LRA_PRIORITY_COMPACT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment