- 29 Apr, 2014 4 commits
-
-
2014-04-29 Patrick Palka <patrick@parcs.ath.cx> * doc/invoke.texi: Fix typo. * tree-vrp.c: Fix typos. * gimple.c (infer_nonnull_range): Reorder operands of an && condition. From-SVN: r209891
Patrick Palka committed -
2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org> * config/aarch64/aarch64.md (mov<mode>cc): New for GPF. 2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org> * gcc.target/aarch64/fcsel_1.c: New test case. From-SVN: r209889
Zhenqiang Chen committed -
2014-04-28 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/60810 * gfortran.dg/arrayio_13.f90: New test. From-SVN: r209888
Jerry DeLisle committed -
From-SVN: r209887
GCC Administrator committed
-
- 28 Apr, 2014 18 commits
-
-
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_types_storestruct_lane_qualifiers): New. (TYPES_STORESTRUCT_LANE): Likewise. * config/aarch64/aarch64-simd-builtins.def (st2_lane): New. (st3_lane): Likewise. (st4_lane): Likewise. * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New. (vec_store_lanesci_lane<mode>): Likewise. (vec_store_lanesxi_lane<mode>): Likewise. (aarch64_st2_lane<VQ:mode>): Likewise. (aarch64_st3_lane<VQ:mode>): Likewise. (aarch64_st4_lane<VQ:mode>): Likewise. * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE. * config/aarch64/arm_neon.h (__ST2_LANE_FUNC): Rewrite using builtins, update use points to use new macro arguments. (__ST3_LANE_FUNC): Likewise. (__ST4_LANE_FUNC): Likewise. * config/aarch64/iterators.md (V_TWO_ELEM): New. (V_THREE_ELEM): Likewise. (V_FOUR_ELEM): Likewise. From-SVN: r209880
James Greenhalgh committed -
2014-04-28 David Malcolm <dmalcolm@redhat.com> * doc/gimple.texi: Replace the description of the now-defunct union gimple_statement_d with a diagram showing the gimple_statement_base class hierarchy and its relationships to the GSS_ and GIMPLE_ enums. From-SVN: r209879
David Malcolm committed -
gcc/ * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New. * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Weaken conditions. (aarch64_modes_tieable_p): New. * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it. From-SVN: r209878
James Greenhalgh committed -
* config/rs6000/sync.md (AINT mode_iterator): Move definition. (loadsync_<mode>): Change mode. (load_quadpti, store_quadpti): New. (atomic_load<mode>, atomic_store<mode>): Add support for TI mode. * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ. From-SVN: r209873
Pat Haugen committed -
* gcc-interface/Makefile.in: Support aarch64-linux. From-SVN: r209871
Richard Henderson committed -
tree-sra.c (sra_modify_expr): Generate new memory accesses with same alias type as the original statement. 2014-04-28 Martin Jambor <mjambor@suse.cz> * tree-sra.c (sra_modify_expr): Generate new memory accesses with same alias type as the original statement. (subreplacement_assignment_data): New type. (handle_unscalarized_data_in_subtree): New type of parameter, generate new memory accesses with same alias type as the original statement. (load_assign_lhs_subreplacements): Likewise. (sra_modify_constructor_assign): Generate new memory accesses with same alias type as the original statement. testsuite/ * gcc.dg/tree-ssa/sra-14.c: New test. From-SVN: r209868
Martin Jambor committed -
exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix, add 'Suffix' parameter and adjust comment. * exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix, add 'Suffix' parameter and adjust comment. (Get_External_Name_With_Suffix): Delete. * exp_dbug.adb (Get_External_Name_With_Suffix): Merge into... (Get_External_Name): ...here. Add 'False' default to Has_Suffix, add 'Suffix' parameter. (Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name. Call Get_External_Name instead of Get_External_Name_With_Suffix. (Get_Secondary_DT_External_Name): Likewise. * exp_cg.adb (Write_Call_Info): Likewise. * exp_disp.adb (Export_DT): Likewise. (Import_DT): Likewise. * comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC parameter with False default. * comperr.adb (Compiler_Abort): Likewise. Adjust accordingly. * types.h (Fat_Pointer): Rename into... (String_Pointer): ...this. Add comment on interfacing rules. * fe.h (Compiler_Abort): Adjust for above renaming. (Error_Msg_N): Likewise. (Error_Msg_NE): Likewise. (Get_External_Name): Likewise. Add third parameter. (Get_External_Name_With_Suffix): Delete. * gcc-interface/decl.c (STDCALL_PREFIX): Define. (create_concat_name): Adjust call to Get_External_Name, remove call to Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming. * gcc-interface/trans.c (post_error): Likewise. (post_error_ne): Likewise. * gcc-interface/misc.c (internal_error_function): Likewise. From-SVN: r209866
Eric Botcazou committed -
2014-04-28 Richard Biener <rguenther@suse.de> * tree-pass.h (TODO_verify_il): Define. (TODO_verify_all): Complete properly. * passes.c (execute_function_todo): Move existing loop-closed SSA verification under TODO_verify_il. (execute_one_pass): Trigger TODO_verify_il at todo-after time. * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Fix tree sharing issue. From-SVN: r209865
Richard Biener committed -
2014-04-28 Richard Biener <rguenther@suse.de> PR middle-end/60092 * builtins.def (DEF_C11_BUILTIN): Add. (BUILT_IN_ALIGNED_ALLOC): Likewise. * coretypes.h (enum function_class): Add function_c11_misc. * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC. (call_may_clobber_ref_p_1): Likewise. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. (mark_all_reaching_defs_necessary_1): Likewise. (propagate_necessity): Likewise. (eliminate_unnecessary_stmts): Likewise. * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC. ada/ * gcc-interface/utils.c: Define flag_isoc11. lto/ * lto-lang.c: Define flag_isoc11. * gcc.dg/tree-ssa/alias-32.c: New testcase. * gcc.dg/vect/pr60092.c: Likewise. From-SVN: r209863
Richard Biener committed -
2014-04-28 Richard Biener <rguenther@suse.de> * tree-vrp.c (vrp_var_may_overflow): Remove. (vrp_visit_phi_node): Rather than bumping to +-INF possibly with overflow immediately bump to one before that value and let iteration figure out overflow status. * gcc.dg/tree-ssa/vrp91.c: New testcase. * gcc.dg/Wstrict-overflow-14.c: XFAIL. * gcc.dg/Wstrict-overflow-15.c: Likewise. * gcc.dg/Wstrict-overflow-18.c: Remove XFAIL. From-SVN: r209862
Richard Biener committed -
2014-04-28 Richard Biener <rguenther@suse.de> * configure.ac: Do valgrind header checks unconditionally. Add --enable-valgrind-annotations. * system.h: Guard valgrind header inclusion with ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING. * alloc-pool.c (pool_alloc, pool_free): Use ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING to guard possibly dead code. * config.in: Regenerated. * configure: Likewise. From-SVN: r209861
Richard Biener committed -
PR tree-optimization/60902 * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Only iterate over real defs when invalidating outputs from statements that do not produce useful outputs for threading. From-SVN: r209860
Jeff Law committed -
re PR tree-optimization/60979 (ICE: in gimple_redirect_edge_and_branch_force, at tree-cfg.c:5544, w/ -O -ftree-loop-linear or -fgraphite-identity) 2014-04-28 Richard Biener <rguenther@suse.de> PR tree-optimization/60979 * graphite-scop-detection.c (scopdet_basic_block_info): Reject SCOPs that end in a block with a successor with abnormal predecessors. * gcc.dg/graphite/pr60979.c: New testcase. From-SVN: r209859
Richard Biener committed -
PR c/60983 * gcc.dg/pr60114.c: Use signed chars. From-SVN: r209858
Kyrylo Tkachov committed -
/cp 2014-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59120 * parser.c (cp_parser_alias_declaration): Check return value of cp_parser_require. /testsuite 2014-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59120 * g++.dg/cpp0x/alias-decl-43.C: New. From-SVN: r209857
Paolo Carlini committed -
2014-04-28 Richard Biener <rguenther@suse.de> * tree-pass.h (execute_pass_list): Adjust prototype. * passes.c (pass_manager::execute_early_local_passes): Adjust. (do_per_function): Change callback signature, push all actual work to the callbals. (do_per_function_toporder): Likewise. (execute_function_dump): Adjust. (execute_function_todo): Likewise. (clear_last_verified): Likewise. (verify_curr_properties): Likewise. (update_properties_after_pass): Likewise. (execute_pass_list_1): Split out from ... (execute_pass_list): ... here. Adjust. (execute_ipa_pass_list): Likewise. * cgraphunit.c (cgraph_add_new_function): Adjust. (analyze_function): Likewise. (expand_function): Likewise. * cgraph.c (release_function_body): Free dominance info here instead of asserting it was magically freed elsewhere. From-SVN: r209856
Richard Biener committed -
* configure.ac: Tweak GAS check for LEON instructions on SPARC. * configure: Regenerate. * config/sparc/sparc.opt (muser-mode): New option. * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable for LEON3. (atomic_compare_and_swap_leon3_1): New instruction for LEON3. * doc/invoke.texi (SPARC options): Document -muser-mode. From-SVN: r209850
Eric Botcazou committed -
From-SVN: r209848
GCC Administrator committed
-
- 27 Apr, 2014 4 commits
-
-
regex_automaton.h (_NFA<>::_M_insert_repeat): Add _S_opcode_repeat support to distingush a loop from _S_opcode_alternative. 2014-04-27 Tim Shen <timshen91@gmail.com> * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat): Add _S_opcode_repeat support to distingush a loop from _S_opcode_alternative. * include/bits/regex_automaton.tcc (_State_base::_M_print, _State_base::_M_dot, _NFA<>::_M_eliminate_dummy, _StateSeq<>::_M_clone): Likewise. * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): Likewise. * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise. * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma): Uglify local variable __i. * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache): Use size_t instead of int to compare with vector::size(). 2014-04-27 Tim Shen <timshen91@gmail.com> * include/bits/regex_executor.h: Add _M_rep_count to track how many times this repeat node are visited. * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more, _Executor<>::_M_dfs): Use _M_rep_count to prevent entering infinite loop. 2014-04-27 Tim Shen <timshen91@gmail.com> * include/bits/regex.tcc (__regex_algo_impl<>): Remove _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use _GLIBCXX_REGEX_USE_THOMPSON_NFA instead. * include/bits/regex_automaton.h: Remove quantifier counting variable. * include/bits/regex_automaton.tcc (_State_base::_M_dot): Adjust debug NFA dump. From-SVN: r209844
Tim Shen committed -
gcc/ * cselib.c (find_slot_memmode): Delete. (cselib_hasher): Change compare_type to a struct. (cselib_hasher::equal): Update accordingly. Don't expect wrapped constants. (preserve_constants_and_equivs): Adjust for new compare_type. (cselib_find_slot): Likewise. Take the mode of the rtx as argument. (wrap_constant): Delete. (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot. From-SVN: r209843
Richard Sandiford committed -
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/59604 PR fortran/58003 * gfortran.h (gfc_convert_mpz_to_signed): Add prototype. * arith.c (gfc_int2int): Convert number to signed if arithmetic overflow is not checked. * simplify.c (convert_mpz_to_unsigned): Only trigger assert for size if range checking is in force. (convert_mpz_to_signed): Make non-static, rename to (gfc_convert_mpz_to_signed). (simplify_dshift): Use gfc_convert_mpz_to_signed. (gfc_simplify_ibclr): Likewise. (gfc_simplify_ibits): Likewise. (gfc_simplify_ibset): Likewise. (simplify_shift): Likewise. (gfc_simplify_ishiftc): Likewise. (gfc_simplify_maskr): Likewise. (gfc_simplify_maskl): Likewise. 2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/59604 PR fortran/58003 * gfortran.dg/no_range_check_3.f90: New test. From-SVN: r209836
Thomas Koenig committed -
From-SVN: r209835
GCC Administrator committed
-
- 26 Apr, 2014 8 commits
-
-
From-SVN: r209830
Eric Botcazou committed -
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write) 2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/52539 * gfortran.dg/namelist_utf8.f90: New test. From-SVN: r209829
Jerry DeLisle committed -
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write) 2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/52539 * io/list_read.c: Add uchar typedef. (push_char4): New function to save kind=4 character. (next_char_utf8): New function to read a single UTF-8 encoded character value. (read_chracter): Update to use the new functions for reading UTF-8 strings. (list_formatted_read_scalar): Update to handle list directed reads of UTF-8 strings. (nml_read_obj): Likewise update for UTF-8 strings in namelists. * io/write.c (nml_write_obj): Add kind=4 character support for namelist writes. From-SVN: r209828
Jerry DeLisle committed -
Parallel profiledbootstrap is supported on all maintained releases. So just remove a misleading outdated sentence, that states the opposite, from doc/install.texi. 2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de> * doc/install.texi (Building with profile feedback): Remove outdated sentence. From-SVN: r209826
Markus Trippelsdorf committed -
2014-04-26 Tom de Vries <tom@codesourcery.com> * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds array accesses. From-SVN: r209824
Tom de Vries committed -
* gcc.dg/tree-ssa/alias-30.c (dg-options): Dump only fre1 details. * gcc.dg/vect/pr60505.c: Cleanup vect tree dump. * g++.dg/ipa/devirt-27.C (dg-options): Remove -fdump-ipa-devirt. From-SVN: r209823
Uros Bizjak committed -
* go-gcc.cc: Include "cgraph.h" and "gimplify.h". (Gcc_backend::return_statement): Push and pop function. (Gcc_backend::label): Likewise. (Gcc_backend::function_defer_statement): Likewise. (Gcc_backend::switch_statement): Add function parameter. (Gcc_backend::block): Don't permit function to be NULL. (Gcc_backend::temporary_variable): Change go_assert to gcc_assert. (Gcc_backend::gc_root_variable): New function. (Gcc_backend::write_global_definitions): New function. From-SVN: r209819
Chris Manghane committed -
From-SVN: r209818
GCC Administrator committed
-
- 25 Apr, 2014 6 commits
-
-
(1) If a function contains a local typedef of an anonymous structure, GCC will generate a typedef DIE in the function, where the typedef DIE points to a structure_type DIE at the top level. That structure_type DIE, if it's a non-POD, can contain ctor and dtor definitions. This causes an assertion in should_move_die_to_comdat to fail, as we have up to now assumed that this could never happen. (2) With --std=c++11, a template parameter can refer to a local type defined within a function. Because that local type doesn't qualify for its own type unit, we copy it as an "unworthy" type into the type unit that refers to it, but we copy too much, leading to a comdat type unit that contains a DIE with subprogram definitions rather than declarations. These DIEs may have DW_AT_low_pc/high_pc or DW_AT_ranges attributes, and consequently can refer to range list entries that don't get emitted because they're not marked when the compile unit is scanned, eventually causing an undefined symbol at link time. (3) When a class template instantiation is moved into a separate type unit, it can bring along a lot of other referenced types into the type unit, especially if the template is derived from another (large) type that does not have an actually have a type definition in a type unit of its own. When there are many instantiations of the same template, we get a lot of duplication, and in the worst case (a template with several parameters, instantiated multiple times along each dimension), GCC can end up taking a long time and exhausting available memory. This combinatorial explosion is being caused by copy_decls_walk, where it finds a type DIE that is referenced by the type unit, but is not itself a type unit, and copies a declaration for that type into the type unit in order to resolve the reference within the type unit. In the process, copy_decls_walk also copies all of the children of that DIE. In the case of a base class with member function templates, every one of the instantiated member functions is copied into every type unit that references the base class. gcc/ PR debug/60929 * dwarf2out.c (should_move_die_to_comdat): A type definition can contain a subprogram definition, but don't move it to a comdat unit. (clone_as_declaration): Copy DW_AT_abstract_origin attribute. (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute from original DIE. (clone_tree_hash): Rename to... (clone_tree_partial): ...this; change callers. Copy DW_TAG_subprogram DIEs as declarations. (copy_decls_walk): Don't copy children of a declaration into a type unit. gcc/testsuite/ PR debug/60929 * g++.dg/debug/dwarf2/dwarf4-nested.C: New test case. * g++.dg/debug/dwarf2/dwarf4-typedef.C: Add -fdebug-types-section flag. From-SVN: r209812
Cary Coutant committed -
PR target/60969 * config/i386/i386.md (*movsf_internal): Set MODE to SI for alternative 12. From-SVN: r209811
H.J. Lu committed -
2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org> PR libstdc++/60710 * include/experimental/optional (operator!=): Implement in terms of operator==. * testsuite/experimental/optional/relops/1.cc: Remove operator!=. * testsuite/experimental/optional/relops/2.cc: Likewise. * testsuite/experimental/optional/relops/3.cc: Likewise. * testsuite/experimental/optional/relops/4.cc: Likewise. * testsuite/experimental/optional/relops/5.cc: Likewise. * testsuite/experimental/optional/relops/6.cc: Likewise. From-SVN: r209810
Lars Gullik Bjønnes committed -
gcc/ * config/arm/predicates.md (call_insn_operand): Add long_call check. * config/arm/arm.md (sibcall, sibcall_value): Force the address to reg for long_call. * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call restriction. gcc/testsuite * gcc.target/arm/tail-long-call.c: New test. From-SVN: r209808
Jiong Wang committed -
re PR libstdc++/60958 (Initialization of arrays in tr1/regex ill-formed or with undefined behaviour) PR libstdc++/60958 * include/tr1/regex (regex_traits::isctype): Comment out broken code. * testsuite/util/testsuite_regex.h (regex_match_debug): Improve comment. From-SVN: r209807
Jonathan Wakely committed -
* config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields. From-SVN: r209806
Kyrylo Tkachov committed
-