- 29 Jun, 2015 4 commits
-
-
2015-06-29 Richard Biener <rguenther@suse.de> * lto-streamer.h (LTO_major_version): Bump to 5. From-SVN: r225113
Richard Biener committed -
2015-06-29 Richard Biener <rguenther@suse.de> PR tree-optimization/66677 * tree-vect-stmts.c (vect_transform_stmt): Make assert about STMT_VINFO_VEC_STMT clobbering less strict. * gcc.dg/vect/pr66677.c: New testcase. From-SVN: r225112
Richard Biener committed -
From-SVN: r225111
GCC Administrator committed -
gcc/ChangeLog: 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/64130 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned division, compute max and min when value ranges for dividend and divisor are available. gcc/testsuite/ChangeLog: 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/64130 * gcc.dg/tree-ssa/pr64130.c: New test. From-SVN: r225108
Kugan Vivekanandarajah committed
-
- 28 Jun, 2015 4 commits
-
-
From-SVN: r225107
Uros Bizjak committed -
2015-06-28 Chung-Lin Tang <cltang@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * regrename.h (regrename_do_replace): Change to return bool. * regrename.c (rename_chains): Check return value of regname_do_replace. (regrename_do_replace): Re-validate the modified insns and return bool status. * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain): Update to match rename_chains changes. * config/c6x/c6x.c (try_rename_operands): Assert that regrename_do_replace returns true. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r225106
Chung-Lin Tang committed -
* config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode operand 2 here. Use copy_addr_to_reg to copy non-index register operand 2 to a temporary. (<mode>_stx): Ditto for operand 1. (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel. * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here. (ix86_store_bounds): Ditto. From-SVN: r225105
Uros Bizjak committed -
From-SVN: r225103
GCC Administrator committed
-
- 27 Jun, 2015 5 commits
-
-
gcc/ChangeLog: * print-tree.c (print_node) [TREE_VEC]: Print its length. From-SVN: r225100
Patrick Palka committed -
* call.c: Use VECTOR_TYPE_P. * constexpr.c: Likewise. * cvt.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * init.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. From-SVN: r225099
Marek Polacek committed -
* call.c (set_up_extended_ref_temp): Use VAR_P. * class.c: Use VAR_P throughout. * constexpr.c (cxx_eval_constant_expression): Use VAR_P. * cp-array-notation.c (make_triplet_val_inv): Likewise. * decl.c: Use VAR_OR_FUNCTION_DECL_P or VAR_P throughout. * decl2.c: Likewise. * error.c (dump_decl): Use VAR_P. * mangle.c (decl_implicit_alias_p): Likewise. * parser.c: Use VAR_P throughout. * pt.c: Likewise. * semantics.c: Likewise. * vtable-class-hierarchy.c: Likewise. * tree.c (handle_abi_tag_attribute): Use VAR_OR_FUNCTION_DECL_P. From-SVN: r225098
Marek Polacek committed -
From-SVN: r225095
Andreas Schwab committed -
From-SVN: r225093
GCC Administrator committed
-
- 26 Jun, 2015 27 commits
-
-
2015-06-26 Andrew MacLeod <amacleod@redhat.com> * gimple.c (gimple_call_set_fndecl): Remove. * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call build1_loc directly instead of build_fold_addr_expr_loc. From-SVN: r225090
Andrew MacLeod committed -
* c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P or VECTOR_INTEGER_TYPE_P throughout. * c-gimplify.c: Likewise. * c-typeck.c: Use VECTOR_TYPE_P throughout. From-SVN: r225089
Marek Polacek committed -
PR c++/66216 * class.c (finish_struct): Call fixup_attribute_variants. From-SVN: r225087
Jason Merrill committed -
PR c++/66684 * typeck2.c (merge_exception_specifiers): Allow different noexcept-specifiers if we've had errors. From-SVN: r225086
Jason Merrill committed -
PR c++/66255 * pt.c (check_unstripped_args): Split out from... (retrieve_specialization): ...here. Allow typedefs in the type of a non-type argument. From-SVN: r225084
Jason Merrill committed -
re PR c++/66067 (tree check ICE: accessed elt 1 of tree_vec with 0 elts in write_template_args, at cp/mangle.c:2574) PR c++/66067 * mangle.c (write_nested_name): Limit TYPENAME_TYPE handling to TYPE_DECLs. * mangle.c (write_template_args): Handle 0 length TREE_VEC. From-SVN: r225083
Jason Merrill committed -
PR c++/66654 * typeck2.c (digest_init_r): Only expect reshaping if the class is aggregate. From-SVN: r225082
Jason Merrill committed -
* doc/xml/manual/intro.xml: Document LWG 2108 status. * include/bits/alloc_traits.h (allocator_traits::is_always_equal): Define. * include/bits/allocator.h (allocator::is_always_equal): Likewise. * include/bits/forward_list.h (forward_list::operator=(forward_list&&)): Use __bool_constant. (forward_list::swap(forward_list&)): Add noexcept. * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)): Likewise. (_Hashtable::swap(_Hashtable&)): Likewise. * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)): Use _Alloc_traits::is_always_equal. (deque::operator=(deque&&)): Likewise. (deque::_M_move_assign1(deque&&, false_type)): Add comment and use __bool_constant. (swap(deque&, deque&)): Add noexcept. * include/bits/stl_list.h (list::operator=(list&&)): Use __bool_constant. (swap(list&, list&)): Add noexcept. * include/bits/stl_map.h (map::swap(map&)): Include _Compare in noexcept. (swap(map&, map&)): Add noexcept. * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include _Compare in noexcept. (swap(multimap&, multimap&)): Add noexcept. * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include _Compare in noexcept. (swap(multiset&, multiset&)): Add noexcept. * include/bits/stl_set.h (set::swap(set&)): Include _Compare in noexcept. (swap(set&, set&)): Add noexcept. * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include _Compare in noexcept. (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use is_always_equal. * include/bits/stl_vector.h (vector::operator=(vector&&)): Use __bool_constant. (swap(vector&, vector&)): Add noexcept. * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&), swap(unordered_multimap& unordered_multimap&)): Add noexcept. * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&), swap(unordered_multiset& unordered_multiset&)): Add noexcept. * include/ext/alloc_traits.h (__allocator_always_compares_equal): Remove. (__alloc_traits::_S_always_equal()): Use is_always_equal instead of __allocator_always_compares_equal. * include/ext/array_allocator.h (array_allocator::is_always_equal): Define. * include/std/scoped_allocator (__any_of, __propagate_on_copy, __propagate_on_move, __propagate_on_swap): Remove. (scoped_allocator_adaptor::propagate_on_container_copy_assignment, scoped_allocator_adaptor::propagate_on_container_move_assignment, scoped_allocator_adaptor::propagate_on_container_swap): Define with __and_ instead of __any_of. (scoped_allocator_adaptor::is_always_equal): Define. * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New. * testsuite/20_util/scoped_allocator/propagation.cc: Make traits derive from true_type or false_type. * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add is_always_equal member and remove the trait specialization. * testsuite/23_containers/vector/52591.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r225081
Jonathan Wakely committed -
* array-notation-common.c (find_rank): Use INDIRECT_REF_P. * c-common.c (c_fully_fold_internal): Likewise. (c_alignof_expr): Likewise. * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise. * c-ubsan.c (ubsan_instrument_bounds): Likewise. * cilk.c (create_parm_list): Likewise. * c-array-notation.c (fix_builtin_array_notation_fn): Use INDIRECT_REF_P. * c-typeck.c (array_to_pointer_conversion): Likewise. (build_unary_op): Likewise. (c_finish_return): Likewise. From-SVN: r225080
Marek Polacek committed -
* include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept. * include/bits/stl_map.h (map::map()): Likewise. * include/bits/stl_multimap.h (multimap::multimap()): Likewise. * include/bits/stl_multiset.h (multiset::multiset()): Likewise. * include/bits/stl_set.h (set::set()): Likewise. From-SVN: r225024
Jonathan Wakely committed -
hash-map.h (hash_map::traverse): Use the definition of the Key typedef rather than the typedef itself. gcc/ * hash-map.h (hash_map::traverse): Use the definition of the Key typedef rather than the typedef itself. From-SVN: r225021
Richard Sandiford committed -
2015-06-26 Martin Jambor <mjambor@suse.cz> PR debug/66301 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not NULL instead of calling dump_enabled_p. From-SVN: r225019
Martin Jambor committed -
control of fusion and fma-steering gcc/ * config/aarch64/aarch64.opt: (override): New. * doc/invoke.texi (override): Document. * config/aarch64/aarch64.c (aarch64_flag_desc): New (aarch64_fusible_pairs): Likewise. (aarch64_tuning_flags): Likewise. (aarch64_tuning_override_function): Likewise. (aarch64_tuning_override_functions): Likewise. (aarch64_parse_one_option_token): Likewise. (aarch64_parse_boolean_options): Likewise. (aarch64_parse_fuse_string): Likewise. (aarch64_parse_tune_string): Likewise. (aarch64_parse_one_override_token): Likewise. (aarch64_parse_override_string): Likewise. (aarch64_override_options): Parse the -override string if it is present. From-SVN: r225018
James Greenhalgh committed -
2015-06-26 Jiong Wang <jiong.wang@arm.com> gcc/ * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type SYMBOL_SMALL_GOT_28K. * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT relocation modifiers. (unspec): New enum "UNSPEC_GOTMALLPIC28K. (ldr_got_small_28k_<mode>): New. (ldr_got_small_28k_sidi): New. * config/aarch64/iterators.md (got_modifier): New mode iterator. * config/aarch64/aarch64-otps.h (aarch64_code_model): New model. * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support SYMBOL_SMALL_GOT_28K. (aarch64_rtx_costs): Add costs for new instruction sequences. (initialize_aarch64_code_model): Initialize new model. (aarch64_classify_symbol): Recognize new model and new symbol classification. (aarch64_asm_preferred_eh_data_format): Support new model. (aarch64_load_symref_appropriately): Generate new instruction sequences for -fpic. (TARGET_USE_PSEUDO_PIC_REG): New definition. (aarch64_use_pseudo_pic_reg): New function. gcc/testsuite/ * gcc.target/aarch64/pic-small.c: New testcase. From-SVN: r225017
Jiong Wang committed -
gcc/ * config/aarch64/aarch64-protos.h (tune_params): Remove const from members. (aarch64_tune_params): Remove const, change to no longer be a pointer. * config/aarch64/aarch64.c (aarch64_tune_params): Remove const, change to no longer be a pointer, initialize to generic_tunings. (aarch64_min_divisions_for_recip_mul): Change dereference of aarch64_tune_params to member access. (aarch64_reassociation_width): Likewise. (aarch64_rtx_mult_cost): Likewise. (aarch64_address_cost): Likewise. (aarch64_branch_cost): Likewise. (aarch64_rtx_costs): Likewise. (aarch64_register_move_cost): Likewise. (aarch64_memory_move_cost): Likewise. (aarch64_sched_issue_rate): Likewise. (aarch64_builtin_vectorization_cost): Likewise. (aarch64_override_options): Take a copy of the selected tuning struct in to aarch64_tune_params, rather than just setting a pointer, change dereferences of aarch64_tune_params to member accesses. (aarch64_override_options_after_change): Change dereferences of aarch64_tune_params to member access. (aarch64_macro_fusion_p): Likewise. (aarch_macro_fusion_pair_p): Likewise. * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise. From-SVN: r225016
James Greenhalgh committed -
[Patch AArch64 2/4] Control the FMA steering pass in tuning structures rather than as core property gcc/ * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete. (aarch64_tune_flags): Likewise. (AARCH64_TUNE_FMA_STEERING): Likewise. * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference to AARCH64_FL_USE_FMA_STEERING_PASS. (cortex-a57.cortex-a53): Likewise. (cortex-a72): Use cortexa72_tunings. (cortex-a72.cortex-a53): Likewise. (exynos-m1): Likewise. * config/aarch64/aarch64-protos.h (tune_params): Add a field: extra_tuning_flags. * config/aarch64/aarch64-tuning-flags.def: New. * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New. (aarch64_extra_tuning_flags): Likewise. (aarch64_tune_params): Declare here. * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags. (cortexa53_tunings): Likewise. (cortexa57_tunings): Likewise. (thunderx_tunings): Likewise. (xgene1_tunings): Likewise. (cortexa72_tunings): New. * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h. (gate): Check against aarch64_tune_params. * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on aarch64-protos.h. From-SVN: r225015
James Greenhalgh committed -
gcc/ * config/aarch64/aarch64-fusion-pairs.def: New. * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New. * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to aarch64_fusion_pairs. (AARCH64_FUSE_MOV_MOVK): Likewise. (AARCH64_FUSE_ADRP_ADD): Likewise. (AARCH64_FUSE_MOVK_MOVK): Likewise. (AARCH64_FUSE_ADRP_LDR): Likewise. (AARCH64_FUSE_CMP_BRANCH): Likewise. From-SVN: r225014
James Greenhalgh committed -
2015-06-26 Jiong Wang <jiong.wang@arm.com> * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G. * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto. (aarch64_expand_mov_immediate): Ditto. (aarch64_print_operand): Ditto. (aarch64_classify_symbol): Ditto. From-SVN: r225013
Jiong Wang committed -
From-SVN: r225009
Nathan Sidwell committed -
PR bootstrap/66638 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if assertion failed. Remove assertion itself. From-SVN: r225008
Bin Cheng committed -
fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B and -A CMP CST -> A CMP -CST which is redundant... 2015-06-26 Richard Biener <rguenther@suse.de> * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B and -A CMP CST -> A CMP -CST which is redundant with a pattern in match.pd. Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y, (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and (X ^ C1) op C2 -> X op (C1 ^ C2) to ... * match.pd: ... patterns here. * gcc.dg/tree-ssa/forwprop-25.c: Adjust. From-SVN: r225007
Richard Biener committed -
From-SVN: r225005
Eric Botcazou committed -
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the at-end procedures. From-SVN: r225004
Eric Botcazou committed -
* gcc-interface/gigi.h (note_types_used_by_globals): Delete. (gnat_write_global_declarations): New prototype. * gcc-interface/utils.c (type_decls): Rename back to... (global_decls): ...this. (gnat_pushdecls): Revert previous change. (create_var_decl): Do not output global variables. (note_types_used_by_globals): Rename back to... (gnat_write_global_declarations): ...this. Output variables on the global_decls vector. * gcc-interface/misc.c (gnat_parse_file): Adjust to above renaming. From-SVN: r225003
Eric Botcazou committed -
* gcc-interface/gigi.h (create_var_decl_1): Rename into... (create_var_decl): ...this. Add default value for last parameter. (create_type_stub_decl): Adjust. (create_type_decl): Likewise. (create_field_decl): Likewise. (create_param_decl): Likewise. (create_label_decl): Likewise. (create_subprog_decl): Likewise. * gcc-interface/utils.c (create_var_decl_1): Rename into... (create_var_decl): ...this. Rename var_name into name and var_init into init, move const_decl_allowed_p last and adjust accordingly. (create_type_stub_decl): Rename type_name into name and adjust. (create_type_decl): Likewise. (create_field_decl): Likewise for field_name and field_type. (create_param_decl): Likewise for param_name and param_type. (create_label_decl): Likewise for label_name. (create_subprog_decl): Likewise for subprog_name and subprog_type. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls to create_var_decl_1. From-SVN: r225002
Eric Botcazou committed -
* match.pd ((x | y) & ~(x & y) -> x ^ y, (x | y) & (~x ^ y) -> x & y): New patterns. * gcc.dg/fold-and-1.c: New test. * gcc.dg/fold-and-2.c: New test. From-SVN: r225001
Marek Polacek committed -
gcc/ * rtl.h (emit): Add an optional boolean parameter to control whether barriers are emitted. * emit-rtl.c (emit): Likewise. * gensupport.c (get_emit_function): Return null rather than "emit". * genemit.c (gen_emit_seq): Handle the null return value. Don't emit barriers after the final instruction in the sequence. * gentarget-def.c (main): Don't emit barriers after the instruction. From-SVN: r225000
Richard Sandiford committed
-