Tom de Vries
b8c6a45ab7
-fuse-caller-save - Support in lra
...
2014-05-28 Tom de Vries <tom@codesourcery.com>
* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
* lra.c (initialize_lra_reg_info_element): Add init of
actual_call_used_reg_set field.
(lra): Call lra_create_live_ranges before lra_inheritance for
-fuse-caller-save.
* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
-fuse-caller-save.
* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
instead of call_used_reg_set for -fuse-caller-save.
* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
From-SVN: r211010
2014-05-28 09:43:52 +00:00
Radovan Obradovic
dbe7d9e3ff
-fuse-caller-save - Add documentation
...
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save to
gccoptlist.
(@item -fuse-caller-save): New item.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211009
2014-05-28 09:43:41 +00:00
Radovan Obradovic
5c989bbf87
-fuse-caller-save - Enable by default at O2 and higher
...
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
OPT_fuse_caller_save.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211008
2014-05-28 09:43:32 +00:00
Radovan Obradovic
c2ba7e7a62
-fuse-caller-save - Use collected register usage information
...
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
* caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
get_call_reg_set_usage.
* resource.c (mark_set_resources, mark_target_live_regs): Use
get_call_reg_set_usage.
* ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
field.
(ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
* ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
* ira-build.c (ira_create_allocno): Init
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
(create_cap_allocno, propagate_allocno_info)
(propagate_some_info_from_allocno)
(copy_info_to_removed_store_destinations): Handle
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
* ira-costs.c (ira_tune_allocno_costs): Use
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211007
2014-05-28 09:43:21 +00:00
Radovan Obradovic
27c07cc5d0
-fuse-caller-save - Collect register usage information
...
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* cgraph.h (struct cgraph_rtl_info): Add function_used_regs
and function_used_regs_valid fields.
* final.c: Move include of hard-reg-set.h to before rtl.h to declare
find_all_hard_reg_sets.
(collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
(get_call_reg_set_usage): New function.
(rest_of_handle_final): Use collect_fn_hard_reg_usage.
* regs.h (get_call_reg_set_usage): Declare.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211006
2014-05-28 09:43:11 +00:00
Georg-Johann Lay
ca48e5efae
re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
...
gcc/
PR libgcc/61152
* config/dbx.h (License): Add Runtime Library Exception.
* config/newlib-stdint.h (License): Same.
* config/rtems.h (License): Same
* config/initfini-array.h (License): Same
* config/v850/v850.h (License): Same.
* config/v850/v850-opts.h (License): Same
* config/v850/rtems.h (License): Same.
From-SVN: r211004
2014-05-28 09:33:04 +00:00
Paolo Carlini
171fa27eb3
2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
...
* Fix typo in ChangeLog entry.
From-SVN: r211003
2014-05-28 08:59:32 +00:00
Georg-Johann Lay
92747f7d22
re PR target/61044 (Computed goto on AVR fails to use word-addressing)
...
PR target/61044
* doc/extend.texi (Local Labels): Note that label differences are
not supported for AVR.
From-SVN: r210999
2014-05-28 08:42:25 +00:00
Richard Sandiford
c8912e539b
rtl.h (set_for_reg_notes): Declare.
...
2014-05-26 Richard Sandiford <rdsandiford@googlemail.com>
Olivier Hainque <hainque@adacore.com>
* rtl.h (set_for_reg_notes): Declare.
* emit-rtl.c (set_for_reg_notes): New function.
(set_unique_reg_note): Use it.
* optabs.c (add_equal_note): Likewise
Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r210998
2014-05-28 08:41:27 +00:00
Andrew Pinski
9c6ab05f6a
aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly template.
...
2014-05-27 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.md (stack_protect_set_<mode>):
Use <w> for the register in assembly template.
(stack_protect_test): Use the mode of operands[0] for the
result.
(stack_protect_test_<mode>): Use <w> for the register
in assembly template.
From-SVN: r210996
2014-05-27 18:24:53 -07:00
DJ Delorie
69c7a374a1
rx.c (add_vector_labels): New.
...
* config/rx/rx.c (add_vector_labels): New.
(rx_output_function_prologue): Call it.
(rx_handle_func_attribute): Don't require empty arguments.
(rx_handle_vector_attribute): New.
(rx_attribute_table): Add "vector" attribute.
* doc/extend.texi (interrupt, vector): Document new/changed
RX-specific attributes.
* config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
From-SVN: r210995
2014-05-27 20:37:00 -04:00
GCC Administrator
fa07538edf
Daily bump.
...
From-SVN: r210994
2014-05-28 00:17:19 +00:00
Ian Lance Taylor
25e4b0497b
libgo/runtime: fix unused-result warning
...
Result of runtime_write is ignored, causing
an unused-result result warning (error in my
case, with -Werror=unused-result).
From-SVN: r210987
2014-05-27 22:01:21 +00:00
Eric Botcazou
b8aac16d88
* gnat.dg/aliasing1.adb (dg-final): Robustify pattern matching.
...
From-SVN: r210982
2014-05-27 20:37:09 +00:00
Eric Botcazou
5e67547dd5
double-int.c (div_and_round_double): Use the proper predicate to detect a negative quotient.
...
* double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
predicate to detect a negative quotient.
From-SVN: r210981
2014-05-27 20:30:18 +00:00
Marek Polacek
5c1bc275f4
re PR c/56724 (sub-optimal location in error)
...
PR c/56724
* c-typeck.c (convert_arguments): Get location of a parameter. Change
error and warning calls to error_at and warning_at. Pass location of
a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
(convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
WARN_FOR_QUALIFIERS. Pass expr_loc to those.
* gcc.dg/pr56724-1.c: New test.
* gcc.dg/pr56724-2.c: New test.
* gcc.dg/wtr-conversion-1.c: Use -Wtraditional-conversion instead of
-Wtraditional.
* gcc.dg/dfp/wtr-conversion-1.c: Likewise.
From-SVN: r210980
2014-05-27 20:14:22 +00:00
Eric Botcazou
d378c07ebb
fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2 to X CMP C2 -+ C1 transformation to...
...
* fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
Add X - Y CMP 0 to X CMP Y transformation.
(fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
From-SVN: r210979
2014-05-27 19:54:46 +00:00
Segher Boessenkool
3ce6c71537
stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT before printing.
...
* stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
before printing.
From-SVN: r210978
2014-05-27 20:33:57 +02:00
Steve Ellcey
112372291b
mips.c: Add include of cgraph.h.
...
2014-05-27 Steve Ellcey <sellcey@mips.com>
* config/mips/mips.c: Add include of cgraph.h.
From-SVN: r210975
2014-05-27 15:59:31 +00:00
Richard Biener
4dd3be8165
vrp92.c: New testcase.
...
2014-05-27 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/vrp92.c: New testcase.
From-SVN: r210974
2014-05-27 15:00:29 +00:00
Richard Biener
7ea7f668fc
system.h (__STDC_FORMAT_MACROS): Define as very first thing.
...
2014-05-27 Richard Biener <rguenther@suse.de>
* system.h (__STDC_FORMAT_MACROS): Define as very first thing.
From-SVN: r210973
2014-05-27 13:36:29 +00:00
Marek Polacek
2ef321b15a
re PR testsuite/61319 (The tests c-c++-common/ubsan/float-cast-overflow-(1|2|4).c fail on x86_64-apple-darwin*)
...
PR testsuite/61319
* c-c++-common/ubsan/float-cast.h: Conditionally define LLONG_MAX,
LLONG_MIN, and ULLONG_MAX.
From-SVN: r210970
2014-05-27 11:41:45 +00:00
Georg-Johann Lay
c7eca9fe8a
re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
...
PR libgcc/61152
* config/arm/arm.h (License): Add note to COPYING.RUNTIME.
* config/arm/arm-cores.def (License): Same.
* config/arm/arm-opts.h (License): Same.
* config/arm/aout.h (License): Same.
* config/arm/bpabi.h (License): Same.
* config/arm/elf.h (License): Same.
* config/arm/linux-elf.h (License): Same.
* config/arm/linux-gas.h (License): Same.
* config/arm/netbsd-elf.h (License): Same.
* config/arm/uclinux-eabi.h (License): Same.
* config/arm/uclinux-elf.h (License): Same.
* config/arm/vxworks.h (License): Same.
From-SVN: r210969
2014-05-27 11:37:49 +00:00
Jonathan Wakely
ecb249ddf2
re PR libstdc++/61329 (#include <regex> and _GLIBCXX_DEBUG causes multiple symbol definition.)
...
PR libstdc++/61329
* include/bits/regex_automaton.tcc (_State_base::_M_print): Add
inline specifier.
(_State_base::_M_dot): Likewise.
From-SVN: r210968
2014-05-27 12:14:17 +01:00
Kyrylo Tkachov
7a10ea9f10
[ARM] Vectorise bswap* in aarch32.
...
* config/arm/neon.md (neon_bswap<mode>): New pattern.
* config/arm/arm.c (neon_itype): Add NEON_BSWAP.
(arm_init_neon_builtins): Handle NEON_BSWAP.
Define required type nodes.
(arm_expand_neon_builtin): Handle NEON_BSWAP.
(arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
* config/arm/arm_neon_builtins.def (bswap): Define builtins.
* config/arm/iterators.md (VDQHSD): New mode iterator.
* lib/target-supports.exp (check_effective_target_vect_bswap):
Specify arm*-*-* support.
From-SVN: r210967
2014-05-27 10:56:25 +00:00
Richard Biener
597f59975c
tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges): Try using literal operands when comparing value-ranges failed.
...
2014-05-27 Richard Biener <rguenther@suse.de>
* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
Try using literal operands when comparing value-ranges failed.
From-SVN: r210966
2014-05-27 10:32:39 +00:00
Richard Sandiford
f571b63f52
ira.c (commutative_operand): Adjust for change to recog_data.
...
gcc/
* ira.c (commutative_operand): Adjust for change to recog_data.
[Missing from previous commit.]
From-SVN: r210965
2014-05-27 10:23:20 +00:00
Richard Sandiford
4cc8d9d2df
system.h (TEST_BIT): New macro.
...
gcc/
* system.h (TEST_BIT): New macro.
* recog.h (alternative_mask): New type.
(ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
(recog_data_d): Replace alternative_enabled_p array with
enabled_alternatives.
(target_recog): New structure.
(default_target_recog, this_target_recog): Declare.
(get_enabled_alternatives, recog_init): Likewise.
* recog.c (default_target_recog, this_target_recog): New variables.
(get_enabled_alternatives): New function.
(extract_insn): Use it.
(recog_init): New function.
(preprocess_constraints, constrain_operands): Adjust for change to
recog_data.
* postreload.c (reload_cse_simplify_operands): Likewise.
* reload.c (find_reloads): Likewise.
* ira-costs.c (record_reg_classes): Likewise.
* ira-lives.c (single_reg_class): Likewise. Fix bug in which
all alternatives after a disabled one would be skipped.
(ira_implicitly_set_insn_hard_regs): Likewise.
* ira.c (ira_setup_alts): Adjust for change to recog_data.
* lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
with enabled_alternatives.
* lra.c (free_insn_recog_data): Update accordingly.
(lra_update_insn_recog_data): Likewise.
(lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
* lra-constraints.c (process_alt_operands): Likewise. Handle
only_alternative as part of the enabled mask.
* target-globals.h (this_target_recog): Declare.
(target_globals): Add a recog field.
(restore_target_globals): Restore this_target_recog.
* target-globals.c: Include recog.h.
(default_target_globals): Initialize recog field.
(save_target_globals): Likewise.
* reginfo.c (reinit_regs): Call recog_init.
* toplev.c (backend_init_target): Likewise.
From-SVN: r210964
2014-05-27 10:06:22 +00:00
Richard Sandiford
9921417d94
gencodes.c (main): Make LAST_INSN_CODE higher than any insn code, rather than any named insn's code.
...
gcc/
* gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
rather than any named insn's code.
From-SVN: r210963
2014-05-27 10:05:55 +00:00
Uros Bizjak
d9f99ec416
getcwd.c: Include stdlib.h.
...
* intrinsics/getcwd.c: Include stdlib.h.
From-SVN: r210962
2014-05-27 11:15:52 +02:00
Uros Bizjak
0389fbb55b
declare-simd-1.f90: Require vect_simd_clones effective target.
...
* testsuite/libgomp.fortran/declare-simd-1.f90: Require
vect_simd_clones effective target.
* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
From-SVN: r210961
2014-05-27 11:14:53 +02:00
Georg-Johann Lay
a5024e01c1
re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
...
PR libgcc/61152
* config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
* config/arm/arm-cores.def (License): Same.
From-SVN: r210959
2014-05-27 08:41:24 +00:00
Dominique d'Humieres
8e90d1866d
re PR testsuite/61319 (The tests c-c++-common/ubsan/float-cast-overflow-(1|2|4).c fail on x86_64-apple-darwin*)
...
2014-05-27 Dominique d'Humieres <dominiq@lps.ens.fr>
PR testsuite/61319
* c-c++-common/ubsan/float-cast-overflow-1.c: Make the sign of
-nan optional.
* c-c++-common/ubsan/float-cast-overflow-2.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-4.c: Likewise.
From-SVN: r210958
2014-05-27 10:36:37 +02:00
Paolo Carlini
ce76275442
2014-05-27 Paolo Carlini <paolo.carlini@oracle.com>
...
* Fix typo in the last ChangeLog entry.
From-SVN: r210957
2014-05-27 08:02:01 +00:00
Jan Hubicka
50efcce1d5
tree.h (decl_comdat_group): Declare.
...
* tree.h (decl_comdat_group): Declare.
* cgraph.h (symtab_in_same_comdat_p): Move offline to ...
* tree.c (decl_comdat_group): Here.
From-SVN: r210956
2014-05-27 04:18:38 +00:00
GCC Administrator
48f5146b1a
Daily bump.
...
From-SVN: r210955
2014-05-27 00:17:17 +00:00
Uros Bizjak
68c1d586fa
* ChangeLog-2013: Correct an old entry.
...
From-SVN: r210951
2014-05-26 23:49:19 +02:00
Uros Bizjak
d7a660468a
ssa-fre-40.c: Cleanup fre1 tree dump.
...
* gcc.dg/tree-ssa/ssa-fre-40.c: Cleanup fre1 tree dump.
From-SVN: r210950
2014-05-26 23:07:58 +02:00
Janne Blomqvist
d74fd3c72b
Introduce xrealloc, use it.
...
2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
* libgfortran.h (xrealloc): New prototype.
* runtime/memory.c (xrealloc): New function.
* io/fbuf.c (fbuf_alloc): Use xrealloc.
* io/list_read.c (push_char_default): Likewise.
(push_char4): Likewise.
From-SVN: r210948
2014-05-26 23:56:45 +03:00
Tobias Burnus
b4fb1c2135
gfortran.texi (Project Status): Fix broken link.
...
2014-05-26 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (Project Status): Fix broken link.
From-SVN: r210946
2014-05-26 21:03:17 +02:00
Richard Sandiford
3e26c8f609
re PR rtl-optimization/61222 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu in decompose, at rtl.h:1456)
...
gcc/
PR rtl-optimization/61222
* combine.c (simplify_shift_const_1): When moving a PLUS outside
the shift, truncate the PLUS operand to the result mode.
gcc/testsuite/
PR rtl-optimization/61222
* gcc.c-torture/compile/pr61222-1.c: New test.
* gcc.c-torture/compile/pr61222-2.c: Likewise.
From-SVN: r210945
2014-05-26 18:50:55 +00:00
Uros Bizjak
cf0ff174cd
pr61191.c: Fix dg-error directives.
...
* c-c++-common/cilk-plus/AN/pr61191.c: Fix dg-error directives.
From-SVN: r210944
2014-05-26 20:44:18 +02:00
Uros Bizjak
06a5ec8310
pr61278_1.c: Remove dg directives.
...
* gcc.dg/lto/pr61278_1.c: Remove dg directives.
From-SVN: r210939
2014-05-26 20:23:36 +02:00
Janne Blomqvist
ab75303f7d
PR 61310 Rewrite implementation of CTIME and FDATE intrinsics.
...
2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/61310
* intrinsics.texi (CTIME): Remove mention of locale-dependent
behavior.
2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/61310
* intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
instead of strftime.
(fdate): Use gf_ctime.
(fdate_sub): Likewise.
(ctime): Likewise.
(ctime_sub): Likewise.
From-SVN: r210938
2014-05-26 21:17:13 +03:00
Uros Bizjak
b8140cd629
re PR c/61271 (10 * possible coding error with logical not (!))
...
PR target/61271
* config/i386/i386.c (ix86_rtx_costs)
<case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
Fix condition.
From-SVN: r210937
2014-05-26 19:33:09 +02:00
Martin Jambor
acea91c901
ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on subreg uses.
...
2014-05-26 Martin Jambor <mjambor@suse.cz>
* ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
subreg uses.
From-SVN: r210936
2014-05-26 17:36:00 +02:00
Jerry DeLisle
1387b266a9
re PR fortran/55117 (Programs fails to read namelist (contains derived types objects))
...
2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/55117
* gfortran.dg/namelist_85.f90: New test.
From-SVN: r210935
2014-05-26 15:32:33 +00:00
Jerry DeLisle
3b111bd757
[multiple changes]
...
2014-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/55117
* trans-io.c (nml_full_name, transfer_namelist_element): Insert
a '+' rather then '%' to differentiate namelist variable names
that are based on extended derived types.
2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/55117
* io/list_read.c (extended_look_ahead): New helper function to
scan the namelist name and look for matches with the new '+'
extended type parent indicator. (str_comp_extended): New
helper function to compare the namelist name with the varname
namelist. (find_nml_name): Use the new helper functions to match
the extended type varnames.
From-SVN: r210934
2014-05-26 15:19:36 +00:00
Richard Biener
d93461f724
wide-int.h (wi::int_traits <long>, [...]): Provide specializations.
...
2014-05-26 Richard Biener <rguenther@suse.de>
* wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
wi::int_traits <long long>, wi::int_traits <unsigned long long>):
Provide specializations.
(wi::int_traits <HOST_WIDE_INT>,
wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
From-SVN: r210933
2014-05-26 14:07:42 +00:00
Alan Modra
bfe51f424a
re PR target/61098 (Poor code setting count register for large loops)
...
PR target/61098
* config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
params and return a bool. Remove dead code. Update comment.
Assert we have a const_int source. Remove bogus code from
32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
handling of constants > 2G and reg_equal note, from..
(rs6000_emit_set_long_const): ..here. Remove unneeded param and
return value. Update comment. If we can, use a new pseudo
for intermediate calculations.
* config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
prototype.
* config/rs6000/rs6000.md (movsi_internal1_single+1): Update
call to rs6000_emit_set_const in splitter.
(movdi_internal64+2, +3): Likewise.
From-SVN: r210932
2014-05-26 22:39:48 +09:30