aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-05-28-fuse-caller-save - Support in lraTom de Vries6-5/+57
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-fuse-caller-save - Add documentationRadovan Obradovic2-2/+17
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-fuse-caller-save - Enable by default at O2 and higherRadovan Obradovic2-0/+7
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-fuse-caller-save - Use collected register usage informationRadovan Obradovic9-20/+79
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-fuse-caller-save - Collect register usage informationRadovan Obradovic4-1/+139
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-28re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that ↵Georg-Johann Lay8-14/+60
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-282014-05-25 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini1-0/+7
* Fix typo in ChangeLog entry. From-SVN: r211003
2014-05-28re PR target/61044 (Computed goto on AVR fails to use word-addressing)Georg-Johann Lay2-0/+8
PR target/61044 * doc/extend.texi (Local Labels): Note that label differences are not supported for AVR. From-SVN: r210999
2014-05-28rtl.h (set_for_reg_notes): Declare.Richard Sandiford4-25/+60
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-27aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly ↵Andrew Pinski2-5/+14
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-27rx.c (add_vector_labels): New.DJ Delorie3-2/+128
* 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-28Daily bump.GCC Administrator1-1/+1
From-SVN: r210994
2014-05-27libgo/runtime: fix unused-result warningIan Lance Taylor1-1/+2
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* gnat.dg/aliasing1.adb (dg-final): Robustify pattern matching.Eric Botcazou2-1/+5
From-SVN: r210982
2014-05-27double-int.c (div_and_round_double): Use the proper predicate to detect a ↵Eric Botcazou4-1/+29
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-27re PR c/56724 (sub-optimal location in error)Marek Polacek7-68/+164
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-27fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2 to X CMP ↵Eric Botcazou5-57/+83
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-27stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT before printing.Segher Boessenkool2-11/+12
* stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT before printing. From-SVN: r210978
2014-05-27mips.c: Add include of cgraph.h.Steve Ellcey2-0/+5
2014-05-27 Steve Ellcey <sellcey@mips.com> * config/mips/mips.c: Add include of cgraph.h. From-SVN: r210975
2014-05-27vrp92.c: New testcase.Richard Biener2-0/+27
2014-05-27 Richard Biener <rguenther@suse.de> * gcc.dg/tree-ssa/vrp92.c: New testcase. From-SVN: r210974
2014-05-27system.h (__STDC_FORMAT_MACROS): Define as very first thing.Richard Biener2-1/+10
2014-05-27 Richard Biener <rguenther@suse.de> * system.h (__STDC_FORMAT_MACROS): Define as very first thing. From-SVN: r210973
2014-05-27re PR testsuite/61319 (The tests ↵Marek Polacek2-0/+17
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-27re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that ↵Georg-Johann Lay13-24/+52
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-27re PR libstdc++/61329 (#include <regex> and _GLIBCXX_DEBUG causes multiple ↵Jonathan Wakely2-2/+9
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[ARM] Vectorise bswap* in aarch32.Kyrylo Tkachov7-13/+112
* 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-27tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges): Try using ↵Richard Biener2-6/+12
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-27ira.c (commutative_operand): Adjust for change to recog_data.Richard Sandiford2-10/+12
gcc/ * ira.c (commutative_operand): Adjust for change to recog_data. [Missing from previous commit.] From-SVN: r210965
2014-05-27system.h (TEST_BIT): New macro.Richard Sandiford16-87/+187
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-27gencodes.c (main): Make LAST_INSN_CODE higher than any insn code, rather ↵Richard Sandiford2-3/+12
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-27getcwd.c: Include stdlib.h.Uros Bizjak2-2/+7
* intrinsics/getcwd.c: Include stdlib.h. From-SVN: r210962
2014-05-27declare-simd-1.f90: Require vect_simd_clones effective target.Uros Bizjak3-2/+9
* 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-27re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that ↵Georg-Johann Lay3-0/+15
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-27re PR testsuite/61319 (The tests ↵Dominique d'Humieres4-14/+22
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-272014-05-27 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini1-1/+1
* Fix typo in the last ChangeLog entry. From-SVN: r210957
2014-05-27tree.h (decl_comdat_group): Declare.Jan Hubicka4-10/+17
* 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-27Daily bump.GCC Administrator1-1/+1
From-SVN: r210955
2014-05-26* ChangeLog-2013: Correct an old entry.Uros Bizjak1-1/+1
From-SVN: r210951
2014-05-26ssa-fre-40.c: Cleanup fre1 tree dump.Uros Bizjak2-0/+5
* gcc.dg/tree-ssa/ssa-fre-40.c: Cleanup fre1 tree dump. From-SVN: r210950
2014-05-26Introduce xrealloc, use it.Janne Blomqvist5-14/+30
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-26gfortran.texi (Project Status): Fix broken link.Tobias Burnus2-2/+5
2014-05-26 Tobias Burnus <burnus@net-b.de> * gfortran.texi (Project Status): Fix broken link. From-SVN: r210946
2014-05-26re PR rtl-optimization/61222 (ICE on valid code at -O2 and -O3 on ↵Richard Sandiford5-6/+50
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-26pr61191.c: Fix dg-error directives.Uros Bizjak2-4/+8
* c-c++-common/cilk-plus/AN/pr61191.c: Fix dg-error directives. From-SVN: r210944
2014-05-26pr61278_1.c: Remove dg directives.Uros Bizjak2-3/+4
* gcc.dg/lto/pr61278_1.c: Remove dg directives. From-SVN: r210939
2014-05-26PR 61310 Rewrite implementation of CTIME and FDATE intrinsics.Janne Blomqvist4-32/+62
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-26re PR c/61271 (10 * possible coding error with logical not (!))Uros Bizjak2-8/+13
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-26ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on subreg uses.Martin Jambor2-11/+5
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-26re PR fortran/55117 (Programs fails to read namelist (contains derived types ↵Jerry DeLisle2-0/+71
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[multiple changes]Jerry DeLisle4-4/+59
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-26wide-int.h (wi::int_traits <long>, [...]): Provide specializations.Richard Biener2-4/+22
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-26re PR target/61098 (Poor code setting count register for large loops)Alan Modra4-134/+141
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