diff options
author | Maxim Kuvyrkov <maxim@codesourcery.com> | 2010-07-27 19:50:08 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <mkuvyrkov@gcc.gnu.org> | 2010-07-27 19:50:08 +0000 |
commit | ec3728adb8ae667a4507d70e2eecdb38278ece20 (patch) | |
tree | 43bec683adf7f106c395e58bf98b836099d131e6 | |
parent | cad9aa150ba3ff8c1dc34bf428fc7146dce463b0 (diff) | |
download | gcc-ec3728adb8ae667a4507d70e2eecdb38278ece20.zip gcc-ec3728adb8ae667a4507d70e2eecdb38278ece20.tar.gz gcc-ec3728adb8ae667a4507d70e2eecdb38278ece20.tar.bz2 |
arm.c (params.h): Include.
* config/arm/arm.c (params.h): Include.
(arm_override_options): Tune gcse-unrestricted-cost.
* config/arm/t-arm (arm.o): Define dependencies.
From-SVN: r162598
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 9 | ||||
-rw-r--r-- | gcc/config/arm/t-arm | 9 |
3 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c7db8f..b4c3041 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> + * config/arm/arm.c (params.h): Include. + (arm_override_options): Tune gcse-unrestricted-cost. + * config/arm/t-arm (arm.o): Define dependencies. + +2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> + PR target/42495 PR middle-end/42574 * basic-block.h (get_dominated_to_depth): Declare. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 9f00416..b5cc3ed 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -56,6 +56,7 @@ #include "df.h" #include "intl.h" #include "libfuncs.h" +#include "params.h" /* Forward definitions of types. */ typedef struct minipool_node Mnode; @@ -1872,6 +1873,14 @@ arm_override_options (void) flag_reorder_blocks = 1; } + if (!PARAM_SET_P (PARAM_GCSE_UNRESTRICTED_COST) + && flag_pic) + /* Hoisting PIC address calculations more aggressively provides a small, + but measurable, size reduction for PIC code. Therefore, we decrease + the bar for unrestricted expression hoisting to the cost of PIC address + calculation, which is 2 instructions. */ + set_param_value ("gcse-unrestricted-cost", 2); + /* Register global variables with the garbage collector. */ arm_add_gc_roots (); } diff --git a/gcc/config/arm/t-arm b/gcc/config/arm/t-arm index de2bbc4..4879211 100644 --- a/gcc/config/arm/t-arm +++ b/gcc/config/arm/t-arm @@ -45,6 +45,15 @@ $(srcdir)/config/arm/arm-tune.md: $(srcdir)/config/arm/gentune.sh \ $(srcdir)/config/arm/arm-cores.def > \ $(srcdir)/config/arm/arm-tune.md +arm.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ + $(RTL_H) $(TREE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \ + insn-config.h conditions.h output.h \ + $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \ + $(EXPR_H) $(OPTABS_H) toplev.h $(RECOG_H) $(CGRAPH_H) \ + $(GGC_H) except.h $(C_PRAGMA_H) $(INTEGRATE_H) $(TM_P_H) \ + $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \ + intl.h libfuncs.h $(PARAMS_H) + arm-c.o: $(srcdir)/config/arm/arm-c.c $(CONFIG_H) $(SYSTEM_H) \ coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |