aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-07-29tree-sra.c (sra_modify_constructor_assign): Change type of stmt parameter to ↵Martin Jambor2-32/+38
gimple. 2014-07-29 Martin Jambor <mjambor@suse.cz> * tree-sra.c (sra_modify_constructor_assign): Change type of stmt parameter to gimple. (sra_modify_assign): Likewise. From-SVN: r213154
2014-07-29re PR middle-end/52478 (-ftrapv calls the wrong functions in libgcc)Richard Biener2-3/+6
2014-07-29 Richard Biener <rguenther@suse.de> PR middle-end/52478 * expr.c (expand_expr_real_2): Revert last change. From-SVN: r213153
2014-07-29cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.Jan Hubicka6-43/+251
* cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data. * cgraph.h (cgraph_indirect_call_info): Add speculative data. * gimple-fold.c (fold_gimple_assign): Fix check for virtual call. * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update (contains_type_p): Forward declare. (polymorphic_call_target_hasher::hash): Hash speculative info. (polymorphic_call_target_hasher::equal): Compare speculative info. (get_class_context): Handle speuclation. (contains_type_p): Update. (get_polymorphic_call_info_for_decl): Update. (walk_ssa_copies): Break out from ... (get_polymorphic_call_info): ... here; set speculative context before giving up. * ipa-prop.c (ipa_write_indirect_edge_info, ipa_read_indirect_edge_info): Stream speculative context. * ipa-utils.h (ipa_polymorphic_call_context): Add speculative info (SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE, SPECULATIVE_MAYBE_DERIVED_TYPE). (possible_polymorphic_call_targets overriders): Update. (dump_possible_polymorphic_call_targets overriders): Update. (dump_possible_polymorphic_call_target_p overriders): Update. From-SVN: r213152
2014-07-29gimple-fold.c (fold_gimple_assign): Fix condition guarding ipa-devirt path; ↵Jan Hubicka2-3/+9
fix thinko there. * gimple-fold.c (fold_gimple_assign): Fix condition guarding ipa-devirt path; fix thinko there. From-SVN: r213150
2014-07-29Daily bump.GCC Administrator1-1/+1
From-SVN: r213145
2014-07-28i386.c (ix86_return_in_memory): replace one ATTRIBUTE_UNUSED where the ↵Trevor Saunders2-1/+6
attribute can actually sometimes be unused. 2014-07-28 Trevor Saunders <tsaunders@mozilla.com> * config/i386/i386.c (ix86_return_in_memory): replace one ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused. From-SVN: r213142
2014-07-28* doc/invoke.texi (-Wno-odr): Fix @item entry. Tweak wording.Marek Polacek2-3/+7
From-SVN: r213136
2014-07-28Import config.sub from upstream. No changes to config.guess.Anthony Green2-2/+11
From-SVN: r213134
2014-07-28Fix typo in ChangeLogAndreas Schwab1-1/+1
From-SVN: r213126
2014-07-28config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.Peter Bergner5-49/+19
* config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file. * config/rs6000/sysv4.h (CC!_SPEC): Undefine it before defining it. * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define. (LINK_GCC_C_SEQUENCE_SPEC): Likewise. (USE_LD_AS_NEEDED): Likewise. (ASM_APP_ON): Likewise. (ASM_APP_OFF): Likewise. (TARGET_POSIX_IO): Likewise. * config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise. (LINK_GCC_C_SEQUENCE_SPEC): Likewise. (USE_LD_AS_NEEDED): Likewise. (ASM_APP_ON): Likewise. (ASM_APP_OFF): Likewise. (TARGET_POSIX_IO): Likewise. From-SVN: r213125
2014-07-28re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)Richard Biener2-1/+6
2014-07-28 Richard Biener <rguenther@suse.de> PR rtl-optimization/61801 * gcc.target/i386/pr61801.c: Fix testcase. From-SVN: r213121
2014-07-28re PR middle-end/61734 (Regression in ABS_EXPR recognition)Eric Botcazou6-3/+30
PR middle-end/61734 * fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for operators other than the equality operators. From-SVN: r213118
2014-07-28re PR middle-end/52478 (-ftrapv calls the wrong functions in libgcc)Richard Biener5-3/+59
2014-07-28 Richard Biener <rguenther@suse.de> PR middle-end/52478 * optabs.c (gen_int_libfunc): For -ftrapv libfuncs make sure to register SImode ones, not only >= word_mode ones. * expr.c (expand_expr_real_2): When expanding -ftrapv binops do not use OPTAB_LIB_WIDEN. * gcc.dg/torture/ftrapv-1.c: New testcase. From-SVN: r213117
2014-07-28re PR middle-end/61919 (FAIL: gfortran.dg/fmt_g0_6.f08 -O2 execution test)Richard Sandiford2-13/+21
gcc/ PR middle-end/61919 * tree-outof-ssa.c (insert_partition_copy_on_edge) (insert_value_copy_on_edge, insert_rtx_to_part_on_edge) (insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before inserting them in the insn stream. From-SVN: r213116
2014-07-28re PR middle-end/61913 (ICE in common_handle_option with -Wodr)Marek Polacek2-1/+6
PR middle-end/61913 * common.opt (Wodr): Add Var. From-SVN: r213115
2014-07-28re PR ipa/61921 (ICE: SIGSEGV in varpool_node::get_constructor(), at ↵Richard Biener4-1/+29
varpool.c:275 with -O2 -fipa-pta) 2014-07-28 Richard Biener <rguenther@suse.de> PR tree-optimization/61921 * tree-ssa-structalias.c (create_variable_info_for_1): Check if there is a varpool node before dereferencing it. * gfortran.dg/pr61921.f90: New testcase. From-SVN: r213114
2014-07-28re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)Richard Biener2-0/+27
2014-07-28 Richard Biener <rguenther@suse.de> PR rtl-optimization/61801 * gcc.target/i386/pr61801.c: New testcase. From-SVN: r213111
2014-07-28[gcc/]Roman Gareev3-0/+41
* graphite-sese-to-poly.c: (new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the id of the pbb), which contains pointer to the pbb1. [gcc/testsuite] * gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase. From-SVN: r213110
2014-07-28[gcc/]Roman Gareev3-1/+85
* graphite-isl-ast-to-gimple.c: (graphite_create_new_guard): New function. (translate_isl_ast_node_if): New function. (translate_isl_ast): Add calling of translate_isl_ast_node_if. [gcc/testsuite] * gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase. From-SVN: r213109
2014-07-28Add missing change from moxiebox patch posted earlier today.Anthony Green1-2/+2
From-SVN: r213108
2014-07-28Daily bump.GCC Administrator1-1/+1
From-SVN: r213107
2014-07-27* MAINTAINERS: Remove my MIPS maintainer entry.Richard Sandiford2-1/+4
From-SVN: r213103
2014-07-27re PR c/61861 (Incorrect column number for -Wdiscarded-qualifiers)Marek Polacek4-4/+56
PR c/61861 * macro.c (builtin_macro): Add location parameter. Set location of builtin macro to the expansion point. (enter_macro_context): Pass location to builtin_macro. * gcc.dg/pr61861.c: New test. From-SVN: r213102
2014-07-27Add moxiebox target.Anthony Green4-0/+62
From-SVN: r213098
2014-07-27re PR libobjc/61920 (libobjc has undefined symbols on powerpc*-linux-gnu)Alan Modra2-0/+8
2014-07-27 Alan Modra <amodra@gmail.com> Matthias Klose <doko@ubuntu.com> PR libobjc/61920 * encoding.c: Define rs6000_special_adjust_field_align_p. Co-Authored-By: Matthias Klose <doko@ubuntu.com> From-SVN: r213097
2014-07-27avx512f-vbroadcastf64x4-2.c: Fix the uninitialized variable problem.Petr Murzin2-1/+6
gcc/testsuite/ * gcc.target/i386/avx512f-vbroadcastf64x4-2.c: Fix the uninitialized variable problem. From-SVN: r213096
2014-07-27re PR rtl-optimization/61926 (const-anchor optimisation is sensitive to ↵Richard Sandiford5-4/+33
ordering) gcc/testsuite/ PR rtl-optimization/61926 * gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c: Reverse argument order. * gcc.target/mips/const-anchor-3.c, gcc.target/mips/const-anchor-4.c: New XFAILed tests that match the original order. From-SVN: r213093
2014-07-27libgcov-driver.c (struct gcov_filename_aux): Rename ...Nathan Sidwell4-120/+112
* libgcov-driver.c (struct gcov_filename_aux): Rename ... (struct gcov_filename): ... here. Include buffer and max length fields. (gcov_max_filename): Remove. (gi_filename): Remove. (gcov_exit_compute_summary): Compute max filename here. (gcov_exit_merge_gcda): Add filename parm, adjust. (gcov_exit_merge_summary): Likewise. (gcov_exit_dump_gcov): Adjust for struct gcov_filename changes. (gcov_exit): Likewise. (__gcov_init): Don't calculate max length here. * libgcov_util.c (max_filename_len): Remove. (read_gcda_file): Don't calculate max length here. (gcov_read_profile_dir): Don't propagate here. * libgcov-driver-system.c (alloc_filename_struct): Adjust for struct gcov_filename changes. (gcov_exit_open_gcda_file): Likewise. From-SVN: r213092
2014-07-26aarch64.md (*extr_insv_lower_reg<mode>): Remove + from the read only register.Andrew Pinski2-1/+6
2014-07-26 Andrew Pinski <apinski@cavium.com> * config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove + from the read only register. From-SVN: r213090
2014-07-27Daily bump.GCC Administrator1-1/+1
From-SVN: r213089
2014-07-26Follow up to r213079.Tobias Burnus3-2/+16
2014-07-26 Tobias Burnus <burnus@net-b.de> PR fortran/61881 PR fortran/61888 PR fortran/57305 * intrinsic.texi (SIZEOF): Document changed behavior for polymorphic arrays. From-SVN: r213085
2014-07-26re PR c/61077 (_Atomic in the return type or argument types of main not ↵Marek Polacek2-2/+7
diagnosed) PR c/61077 * gcc.dg/pr61077.c: Use \[^\n\]* instead of .* in the regexp. From-SVN: r213084
2014-07-26re PR target/47230 (gcc fails to bootstrap on alpha in stage2 with ↵Uros Bizjak5-0/+20
"relocation truncated to fit: GPREL16 against ...") PR target/47230 * configure.ac (alpha*-*-linux*): Use mh-alpha-linux. * configure: Regenerate. config/ChangeLog: PR target/47230 * mh-alpha-linux: New file. From-SVN: r213081
2014-07-26Minor tweaks.Eric Botcazou1-2/+2
From-SVN: r213080
2014-07-26check.c (gfc_check_sizeof): Permit for assumed type if and only if it has an ↵Tobias Burnus9-55/+176
array descriptor. 2014-07-26 Tobias Burnus <burnus@net-b.de> * check.c (gfc_check_sizeof): Permit for assumed type if and only if it has an array descriptor. * intrinsic.c (do_ts29113_check): Permit SIZEOF. (add_functions): SIZEOF is an Inquiry function. * intrinsic.texi (SIZEOF): Add note that only contiguous arrays are permitted. * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed rank. * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle assumed type + array descriptor, CLASS and assumed rank. (gfc_conv_intrinsic_storage_size): Handle class arrays. 2014-07-26 Tobias Burnus <burnus@net-b.de> * gfortran.dg/sizeof_2.f90: Change dg-error. * gfortran.dg/sizeof_4.f90: New. * gfortran.dg/storage_size_1.f08: Correct expected value. From-SVN: r213079
2014-07-26ira-costs.c (find_costs_and_classes): For -O0...Richard Sandiford2-0/+19
gcc/ * ira-costs.c (find_costs_and_classes): For -O0, use the best class as the allocation class if it isn't likely to be spilled. From-SVN: r213078
2014-07-26rtl.h (tls_referenced_p): Declare.Richard Sandiford8-60/+49
gcc/ * rtl.h (tls_referenced_p): Declare. * rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions. * config/mips/mips.c (mips_tls_symbol_ref_1): Delete. (mips_cannot_force_const_mem): Use tls_referenced_p. * config/pa/pa-protos.h (pa_tls_referenced_p): Delete. * config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p instead of pa_tls_referenced_p. * config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem) (pa_emit_move_sequence, pa_emit_move_sequence): Likewise. (pa_legitimate_constant_p): Likewise. (pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete. * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete. (rs6000_cannot_force_const_mem, rs6000_emit_move) (rs6000_address_for_altivec): Use tls_referenced_p instead of rs6000_tls_referenced_p. (rs6000_tls_symbol_ref_1): Delete. From-SVN: r213077
2014-07-26re PR target/44551 ([missed optimization] AVX vextractf128 after vinsertf128)Marc Glisse4-0/+70
2014-07-26 Marc Glisse <marc.glisse@inria.fr> PR target/44551 gcc/ * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>: Optimize inverse of a VEC_CONCAT. gcc/testsuite/ * gcc.target/i386/pr44551-1.c: New file. From-SVN: r213076
2014-07-26Daily bump.GCC Administrator1-1/+1
From-SVN: r213071
2014-07-26Make FDO more tolerant to source changesXinliang David Li12-13/+207
From-SVN: r213068
2014-07-25Implement N4051 - Allow typename in a template template parameterEdward Smith-Rowland7-3/+163
cp/ 2014-07-25 Edward Smith-Rowland <3dw4rd@verizon.net> Implement N4051 - Allow typename in a template template parameter * parser.c (cp_parser_type_parameter_key): New funtion; (cp_parser_token_is_type_parameter_key): Ditto; (cp_parser_type_parameter): Look for type-parameter-key for all versions but pedwarn for less than cxx1z. testsuite/ 2014-07-25 Edward Smith-Rowland <3dw4rd@verizon.net> Implement N4051 - Allow typename in a template template parameter * lib/target-supports.exp (check_effective_target_c++1y): Now means C++1y and up. (check_effective_target_c++1y_down): New. (check_effective_target_c++1z_only): New. (check_effective_target_c++1z): New. * g++.dg/cpp1z/typename-tmpl-tmpl-parm.C: New. * g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C: New. * g++.dg/cpp1z/typename-tmpl-tmpl-parm-.C: New. From-SVN: r213065
2014-07-25simplify.c (gfc_simplify_storage_size): Use proper integer kind for the ↵Tobias Burnus4-3/+54
returned value. 2014-07-25 Tobias Burnus <burnus@net-b.de> * simplify.c (gfc_simplify_storage_size): Use proper integer kind for the returned value. 2014-07-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/storage_size_5.f90: New. From-SVN: r213060
2014-07-25lto-streamer-out.c (struct sccs): Turn to ...Jan Hubicka2-73/+250
* lto-streamer-out.c (struct sccs): Turn to ... (class DFS): ... this one; refactor the DFS walk so it can be re-done on per-SCC basis. (DFS::DFS): New constructor. (DFS::~DFS): New destructor. (hash_tree): Add new MAP argument holding in-SCC hash values; remove POINTER_TYPE hashing hack. (scc_entry_compare): Rename to ... (DFS::scc_entry_compare): ... this one. (hash_scc): Rename to ... (DFS::hash_scc): ... this one; pass output_block instead of streamer_cache; work harder to get unique and stable SCC hashes. (DFS_write_tree): Rename to ... (DFS::DFS_write_tree): ... this one; add SINGLE_P parameter. (lto_output_tree): Update. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r213059
2014-07-25libgcov-driver.c (set_gcov_dump_complete, [...]): Remove global functions ↵Nathan Sidwell3-38/+18
polluting user's namespace. * libgcov-driver.c (set_gcov_dump_complete, reset_gcov_dump_complete, get_gcov_dump_complete): Remove global functions polluting user's namespace. (gcov_exit): Set variable directly. (gcov_clear): Reset variable directly. * libgcov-interface.c (get_gcov_dymp_complete, reset_gov_dump_complete): Remove declarations. (__gcov_reset, __gcov_dump): Don't call them. From-SVN: r213058
2014-07-25Convert lto streamer out hashing to inchashAndi Kleen2-121/+134
No substantial changes, although the hash values will be slightly different. v2: add_flag moved to inchash. Some minor changes. gcc/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * lto-streamer-out.c (hash_tree): Convert to inchash. From-SVN: r213057
2014-07-25Convert the tree.c type hashing over to inchashAndi Kleen5-99/+123
v2: Use commutative interface. Be much nearer to the old code. gcc/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * tree.c (build_type_attribute_qual_variant): Use inchash. (type_hash_list): Dito. (attribute_hash_list): Dito (iterative_hstate_expr): Dito. (iterative_hash_expr): Dito. (build_range_type_1): Dito. (build_array_type_1): Dito. (build_function_type): Dito. (build_method_type_directly): Dito. (build_offset_type): Dito. (build_complex_type): Dito. (make_vector_type): Dito. * tree.h (iterative_hash_expr): Add compat wrapper. (iterative_hstate_expr): Add. gcc/lto/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * lto.c (hash_canonical_type): Call iterative_hstate_expr. From-SVN: r213056
2014-07-25Convert LTO type hashing to the new inchash interfaceAndi Kleen2-26/+33
Should not really change any behavior, it's just a more abstract interface, but uses the same underlying hash functions. gcc/lto/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * lto.c (hash_canonical_type): Convert to inchash. (iterative_hash_canonical_type): Dito. From-SVN: r213055
2014-07-25Add an abstract incremental hash data typeAndi Kleen15-54/+237
Some files in gcc, like lto or tree, do large scale incremential hashing. The current jhash implementation of this could be likely improved by using an incremential hash that does not do a full rehashing for every new value added. This patch adds a new "inchash" class that abstracts the internal state of the hash. This makes it easier to plug in new hashes and also cleans up the code a bit. Right now it is just implemented in the same way as the old iterative hash in tree.c. The previous iterative hash code from tree.c moved into a new separate file. Also I fixed up all users to include the new header. It should not really significantly change any hashing by itself, it's mostly a cleanup at this point. v2: Remove begin. Add commutative interface. Add merge hash interface. Add add_flag. gcc/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * Makefile.in (OBJS): Add inchash.o. (PLUGIN_HEADERS): Add inchash.h. * ipa-devirt.c: Include inchash.h. * lto-streamer-out.c: Dito. * tree-ssa-dom.c: Dito. * tree-ssa-pre.c: Dito. * tree-ssa-sccvn.c: Dito. * tree-ssa-tail-merge.c: Dito. * asan.c: Dito. * tree.c (iterative_hash_hashval_t): Move to ... (iterative_hash_host_wide_int): Move to ... * inchash.c: Here. New file. * tree.h (iterative_hash_hashval_t): Move to ... (iterative_hash_host_wide_int): Move to ... * inchash.h: Here. New file. gcc/lto/: 2014-07-25 Andi Kleen <ak@linux.intel.com> * lto.c: Include inchash.h From-SVN: r213054
2014-07-25ffi.c: Do not include stdlib.h.Uros Bizjak2-2/+6
* src/alpha/ffi.c: Do not include stdlib.h. (ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort. From-SVN: r213049
2014-07-25re PR middle-end/61762 (failure to optimize memcpy from constant string)Richard Biener8-73/+211
2014-07-25 Richard Biener <rguenther@suse.de> PR middle-end/61762 PR middle-end/61894 * fold-const.c (native_encode_int): Add and handle offset parameter to do partial encodings of expr. (native_encode_fixed): Likewise. (native_encode_real): Likewise. (native_encode_complex): Likewise. (native_encode_vector): Likewise. (native_encode_string): Likewise. (native_encode_expr): Likewise. * fold-const.c (native_encode_expr): Add offset parameter defaulting to -1. * gimple-fold.c (fold_string_cst_ctor_reference): Remove. (fold_ctor_reference): Handle all reads from tcc_constant ctors. * gcc.dg/pr61762.c: New testcase. * gcc.dg/fold-cstring.c: Likewise. * gcc.dg/fold-cvect.c: Likewise. From-SVN: r213045