5cef6135da
Copy Alpine's gcc6 aport to temp. They don't have it built for aarch64 and armhf at the moment. Due to dependency checks, this means we can't build the kernels that need gcc6, even when cross compiling with gcc6-armhf etc. See #138 for details.
69 lines
2.3 KiB
Diff
69 lines
2.3 KiB
Diff
From b1fc91cda7c15264116f3dde6944ead149123653 Mon Sep 17 00:00:00 2001
|
|
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
Date: Mon, 15 Jan 2018 11:28:44 +0000
|
|
Subject: [PATCH 02/13] i386: Use reference of struct ix86_frame to avoid copy
|
|
|
|
When there is no need to make a copy of ix86_frame, we can use reference
|
|
of struct ix86_frame to avoid copy.
|
|
|
|
Backport from mainline
|
|
2017-11-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
* config/i386/i386.c (ix86_can_use_return_insn_p): Use reference
|
|
of struct ix86_frame.
|
|
(ix86_initial_elimination_offset): Likewise.
|
|
(ix86_expand_split_stack_prologue): Likewise.
|
|
---
|
|
gcc/config/i386/i386.c | 8 +++-----
|
|
1 file changed, 3 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
|
|
index a1ff32b648b..13ebf107e90 100644
|
|
--- a/gcc/config/i386/i386.c
|
|
+++ b/gcc/config/i386/i386.c
|
|
@@ -10887,7 +10887,6 @@ symbolic_reference_mentioned_p (rtx op)
|
|
bool
|
|
ix86_can_use_return_insn_p (void)
|
|
{
|
|
- struct ix86_frame frame;
|
|
|
|
if (! reload_completed || frame_pointer_needed)
|
|
return 0;
|
|
@@ -10898,7 +10897,7 @@ ix86_can_use_return_insn_p (void)
|
|
return 0;
|
|
|
|
ix86_compute_frame_layout ();
|
|
- frame = cfun->machine->frame;
|
|
+ struct ix86_frame &frame = cfun->machine->frame;
|
|
return (frame.stack_pointer_offset == UNITS_PER_WORD
|
|
&& (frame.nregs + frame.nsseregs) == 0);
|
|
}
|
|
@@ -11310,7 +11309,7 @@ HOST_WIDE_INT
|
|
ix86_initial_elimination_offset (int from, int to)
|
|
{
|
|
ix86_compute_frame_layout ();
|
|
- struct ix86_frame frame = cfun->machine->frame;
|
|
+ struct ix86_frame &frame = cfun->machine->frame;
|
|
|
|
if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM)
|
|
return frame.hard_frame_pointer_offset;
|
|
@@ -13821,7 +13820,6 @@ static GTY(()) rtx split_stack_fn_large;
|
|
void
|
|
ix86_expand_split_stack_prologue (void)
|
|
{
|
|
- struct ix86_frame frame;
|
|
HOST_WIDE_INT allocate;
|
|
unsigned HOST_WIDE_INT args_size;
|
|
rtx_code_label *label;
|
|
@@ -13834,7 +13832,7 @@ ix86_expand_split_stack_prologue (void)
|
|
|
|
ix86_finalize_stack_realign_flags ();
|
|
ix86_compute_frame_layout ();
|
|
- frame = cfun->machine->frame;
|
|
+ struct ix86_frame &frame = cfun->machine->frame;
|
|
allocate = frame.stack_pointer_offset - INCOMING_FRAME_SP_OFFSET;
|
|
|
|
/* This is the label we will branch to if we have enough stack
|
|
--
|
|
2.16.3
|
|
|