GCC Middle and Back End API Reference
lra.h File Reference

Go to the source code of this file.

Functions

static enum reg_class lra_get_allocno_class ()
rtx lra_create_new_reg (enum machine_mode, rtx, enum reg_class, const char *)
void lra_init_elimination (void)
rtx lra_eliminate_regs (rtx, enum machine_mode, rtx)
void lra (FILE *)
void lra_init_once (void)
void lra_init (void)
void lra_finish_once (void)

Variables

bool lra_simple_p

Function Documentation

void lra ( FILE *  )
rtx lra_create_new_reg ( enum machine_mode  md_mode,
rtx  original,
enum reg_class  rclass,
const char *  title 
)
rtx lra_eliminate_regs ( rtx  x,
enum machine_mode  mem_mode,
rtx  insn 
)
This function is used externally in subsequent passes of GCC.  It
   always does a full elimination of X.   

References lra_eliminate_regs_1().

Referenced by based_loc_descr(), and compute_frame_pointer_to_fb_displacement().

void lra_finish_once ( void  )
Called once per compiler to finish LRA data which are initialize
   once.   

References finish_insn_code_data_once().

Referenced by ira_finish_once().

static enum reg_class lra_get_allocno_class ( )
inlinestatic
Return the allocno reg class of REGNO.  If it is a reload pseudo,
   the pseudo should finally get hard register of the allocno
   class.   

References reg_allocno_class(), and resize_reg_info().

Referenced by assign_spill_hard_regs(), get_reg_class(), get_reload_reg(), get_try_hard_regno(), inherit_in_ebb(), inherit_reload_reg(), lra_assign(), process_address(), and split_reg().

void lra_init ( void  )
Initialize LRA whenever register-related information is changed.   

References init_op_alt_data().

Referenced by ira_init().

void lra_init_elimination ( void  )
Entry function for initialization of elimination once per
   function.   

References init_elim_table(), mark_not_eliminable(), and setup_elimination_map().

Referenced by ira_setup_eliminable_regset().

void lra_init_once ( void  )
Called once per compiler to initialize LRA data once.   

References init_insn_code_data_once().

Referenced by ira_init_once().


Variable Documentation

bool lra_simple_p
@verbatim Communication between the Local Register Allocator (LRA) and

the rest of the compiler. Copyright (C) 2010-2013 Free Software Foundation, Inc. Contributed by Vladimir Makarov vmaka.nosp@m.rov@.nosp@m.redha.nosp@m.t.co.nosp@m.m.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.

True if the current function is too big to use regular algorithms
   in LRA. In other words, we should use simpler and faster algorithms
   in LRA.  It also means we should not worry about generation code
   for caller saves.  The value is set up in IRA.   

Referenced by assign_by_spills(), curr_insn_transform(), ira(), and lra().