diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-10-26 04:52:09 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2013-11-27 11:01:54 -0800 |
commit | 5ccfe0491fb7c267f9be7199ac54ac1853f895ef (patch) | |
tree | 2c3151dfd215207b831732fc71b075085598a7ef | |
parent | 2d83f118485d2ab2a50ffa91adda253b28fd2a6e (diff) | |
download | gcc-hjl/lra.tar.gz |
Add -mno-lra to x86 backendhjl/lra
-rw-r--r-- | gcc/config/i386/i386.c | 9 | ||||
-rw-r--r-- | gcc/config/i386/i386.opt | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 6d2fd69350d..22b28c92478 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -34526,6 +34526,13 @@ ix86_free_from_memory (enum machine_mode mode) } } +/* Return true if we use LRA instead of reload pass. */ +static bool +ix86_lra_p (void) +{ + return ix86_no_lra == 0 && true; +} + /* Return a register priority for hard reg REGNO. */ static int ix86_register_priority (int hard_regno) @@ -44322,7 +44329,7 @@ ix86_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update) #define TARGET_LEGITIMATE_ADDRESS_P ix86_legitimate_address_p #undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_true +#define TARGET_LRA_P ix86_lra_p #undef TARGET_REGISTER_PRIORITY #define TARGET_REGISTER_PRIORITY ix86_register_priority diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt index c4f9c8cb28e..ccfd869f9ba 100644 --- a/gcc/config/i386/i386.opt +++ b/gcc/config/i386/i386.opt @@ -637,6 +637,9 @@ msse2avx Target Report Var(ix86_sse2avx) Encode SSE instructions with VEX prefix +mno-lra +Target RejectNegative Var(ix86_no_lra) Undocumented + mfsgsbase Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) Save Support FSGSBASE built-in functions and code generation |