mirror of
https://abf.rosa.ru/djam/gcc.git
synced 2025-02-24 17:12:57 +00:00
59 lines
1.8 KiB
Diff
59 lines
1.8 KiB
Diff
From 839ca2d69157ef03c8df0ab912dacdb991738694 Mon Sep 17 00:00:00 2001
|
|
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
Date: Mon, 15 Jan 2018 11:33:42 +0000
|
|
Subject: [PATCH 3/9] i386: More 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
|
|
* config/i386/i386.c (ix86_expand_prologue): Use reference of
|
|
struct ix86_frame.
|
|
(ix86_expand_epilogue): Likewise.
|
|
|
|
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256695 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
---
|
|
gcc/ChangeLog | 7 +++++++
|
|
gcc/config/i386/i386.c | 6 ++----
|
|
2 files changed, 9 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
|
|
index 397ef7c..986e6d7 100644
|
|
--- a/src/gcc/config/i386/i386.c
|
|
+++ b/src/gcc/config/i386/i386.c
|
|
@@ -13667,7 +13667,6 @@ ix86_expand_prologue (void)
|
|
{
|
|
struct machine_function *m = cfun->machine;
|
|
rtx insn, t;
|
|
- struct ix86_frame frame;
|
|
HOST_WIDE_INT allocate;
|
|
bool int_registers_saved;
|
|
bool sse_registers_saved;
|
|
@@ -13691,7 +13690,7 @@ ix86_expand_prologue (void)
|
|
m->fs.sp_valid = true;
|
|
|
|
ix86_compute_frame_layout ();
|
|
- frame = m->frame;
|
|
+ struct ix86_frame &frame = cfun->machine->frame;
|
|
|
|
if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl))
|
|
{
|
|
@@ -14354,13 +14353,12 @@ ix86_expand_epilogue (int style)
|
|
{
|
|
struct machine_function *m = cfun->machine;
|
|
struct machine_frame_state frame_state_save = m->fs;
|
|
- struct ix86_frame frame;
|
|
bool restore_regs_via_mov;
|
|
bool using_drap;
|
|
|
|
ix86_finalize_stack_realign_flags ();
|
|
ix86_compute_frame_layout ();
|
|
- frame = m->frame;
|
|
+ struct ix86_frame &frame = cfun->machine->frame;
|
|
|
|
m->fs.sp_valid = (!frame_pointer_needed
|
|
|| (crtl->sp_is_unchanging
|
|
--
|
|
2.7.4
|
|
|