GCC Middle and Back End API 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 |
void lra | ( | FILE * | ) |
rtx lra_create_new_reg | ( | enum machine_mode | md_mode, |
rtx | original, | ||
enum reg_class | rclass, | ||
const char * | title | ||
) |
Analogous to the previous function but also inherits value of ORIGINAL.
Referenced by push_insns().
This function is used externally in subsequent passes of GCC. It always does a full elimination of X.
void lra_finish_once | ( | void | ) |
Called once per compiler to finish LRA data which are initialize once.
|
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.
void lra_init | ( | void | ) |
Initialize LRA whenever register-related information is changed.
void lra_init_elimination | ( | void | ) |
Entry function for initialization of elimination once per function.
References lra_dump_file, and print_elim_table().
void lra_init_once | ( | void | ) |
Called once per compiler to initialize LRA data once.
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. rov@ redha t.co 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 split_live_ranges_for_shrink_wrap().