1. 04 May, 2017 21 commits
    • Update .po files. · 928351c3
      	* be.po, da.po, el.po, fi.po, hr.po, id.po, ja.po, nl.po, ru.po,
      	sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update.
      
      From-SVN: r247601
      Joseph Myers committed
    • More global trees. · ad9870f2
      	* cp-tree.h (enum cp_tree_index): Add CPTI_GLOBAL,
      	CPTI_GLOBAL_TYPE, CPTI_GLOBAL_IDENTIFIER, CPTI_ANON_IDENTIFIER,
      	CPTI_INIT_LIST_IDENTIFIER.
      	(global_namespace, global_type_node, global_identifier)
      	anon_identifier, init_list_identifier): New.
      	* decl.c (global_type_node, global_scope_name): Delete.
      	(initialize_predefined_identifiers): Add new identifiers.
      	(cxx_init_decl_processing): Adjust.
      	* name-lookup.h (global_namespace, global_type_node): Delete.
      	* name-lookup.c (global_namespace, anonymous_namespace_name)
      	get_anonymous_namespace_name): Delete.
      	(namespace_scope_ht_size, begin_scope, pushtag_1)
      	push_namespace): Adjust,
      	* call.c (type_has_extended_temps): Use init_list_identifier.
      	* pt.c (listify): Likewise.
      (((--This line, and those below, will be ignored--
      
      M    cp/name-lookup.c
      M    cp/name-lookup.h
      M    cp/ChangeLog
      M    cp/call.c
      M    cp/pt.c
      M    cp/cp-tree.h
      M    cp/decl.c
      
      From-SVN: r247599
      Nathan Sidwell committed
    • ipa-cp.c (perform_estimation_of_a_value): Drop base_time parameter; update use… · 26f1a658
      ipa-cp.c (perform_estimation_of_a_value): Drop base_time parameter; update use of estimate_ipcp_clone_size_and_time.
      
      
      	* ipa-cp.c (perform_estimation_of_a_value): Drop base_time parameter;
      	update use of estimate_ipcp_clone_size_and_time.
      	(estimate_local_effects): Update use of
      	estimate_ipcp_clone_size_and_time and perform_estimation_of_a_value.
      	* ipa-inline.h (estimate_ipcp_clone_size_and_time): Update prototype.
      	* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time):
      	Return nonspecialized time.
      
      	* gcc.dg/ipa/ipcp-2.c: Decrease ipcp threshold
      	* gcc.dg/tree-ssa/ipa-cp-1.c: Likewise.
      
      From-SVN: r247597
      Jan Hubicka committed
    • tree-ssa-alias.c (get_continuation_for_phi): Improve looking for the last VUSE… · 4d147bca
      tree-ssa-alias.c (get_continuation_for_phi): Improve looking for the last VUSE which def dominates the PHI.
      
      2017-05-04  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-alias.c (get_continuation_for_phi): Improve looking
      	for the last VUSE which def dominates the PHI.  Directly call
      	maybe_skip_until.
      	(get_continuation_for_phi_1): Remove.
      
      	* gcc.dg/tree-ssa/ssa-fre-58.c: New testcase.
      
      From-SVN: r247596
      Richard Biener committed
    • name-lookup.c: Reorder functions to make merging from modules branch simpler. · b655c310
      	* name-lookup.c: Reorder functions to make merging from modules
      	branch simpler.
      
      From-SVN: r247592
      Nathan Sidwell committed
    • Cap niter_for_unrolled_loop to upper bound · 3862ef76
      For the reasons explained in PR77536, niter_for_unrolled_loop assumes 5
      iterations in the absence of profiling information, although it doesn't
      increase beyond the estimate for the original loop.  This left a hole in
      which the new estimate could be less than the old one but still greater
      than the limit imposed by CEIL (nb_iterations_upper_bound, unroll factor).
      
      2017-05-04  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): Add commentary
      	to explain the use of truncating division.  Cap the number of
      	iterations to the maximum given by nb_iterations_upper_bound,
      	if defined.
      
      gcc/testsuite/
      	* gcc.dg/vect/vect-profile-1.c: New test.
      
      From-SVN: r247591
      Richard Sandiford committed
    • Fix previous commit · 6d0da573
      From-SVN: r247589
      Richard Sandiford committed
    • configure.ac (--enable-mingw-wildcard): Add new configurable feature. · 446163e2
      2017-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* configure.ac (--enable-mingw-wildcard): Add new configurable feature.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/i386/driver-mingw32.c: new file.
      	* config/i386/x-mingw32: Add rule to build driver-mingw32.o.
      	* config.host: Link driver-mingw32.o on MinGW host.
      	* doc/install.texi: Document new --enable-mingw-wildcard configure
      	option.
      
      From-SVN: r247588
      Thomas Preud'homme committed
    • Remove bogus top-level ChangeLog commit (sorry!) · e1fd9163
      From-SVN: r247587
      Richard Sandiford committed
    • re PR tree-optimization/80612 (ICE in get_range_info, at tree-ssanames.c:375) · c89ffd99
      	PR tree-optimization/80612
      	* calls.c (get_size_range): Check for INTEGRAL_TYPE_P.
      
      	* gcc.dg/torture/pr80612.c: New test.
      
      From-SVN: r247586
      Marek Polacek committed
    • [ARM] Enable Purecode for ARMv8-M Baseline · 261ce1e5
      This patch adds support for purecode to ARMv8-M Baseline, in addition to
      the existing support for ARMv7-M and ARMv8-M Mainline.
      
      2017-05-04  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
                  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
      
          gcc/
          * config/arm/arm.md (movsi): Change TARGET_32BIT to TARGET_HAVE_MOVT.
          (movt splitter): Likewise.
          * config/arm/arm.c (arm_option_check_internal): Change arm_arch_thumb2
          to TARGET_HAVE_MOVT, and merge with -mslow-flash-data check.
          (const_ok_for_arm): Change else to else if (TARGET_THUMB2) and add else
          block for Thumb-1 with MOVT.
          (thumb2_legitimate_address_p): Move code block ...
          (can_avoid_literal_pool_for_label_p): ... into this new function.
          (thumb1_legitimate_address_p): Add check for TARGET_HAVE_MOVT and
          literal pool.
          (thumb_legitimate_constant_p): Add conditional on TARGET_HAVE_MOVT
          * doc/invoke.texi (-mpure-code): Change "ARMv7-M targets" for
          "M-profile targets with the MOVT instruction".
      
          gcc/testsuite/
          * gcc.target/arm/pure-code/pure-code.exp: Add conditional for
          check_effective_target_arm_thumb1_movt_ok.
      
      Co-Authored-By: Andre Vieira <andre.simoesdiasvieira@arm.com>
      
      From-SVN: r247585
      Prakhar Bahuguna committed
    • [ARM] Rename FPSCR builtins to correct names · 556cf088
      The GCC documentation in section 6.60.8 ARM Floating Point Status and
      Control Intrinsics states that the FPSCR register can be read and
      written to using the intrinsics __builtin_arm_get_fpscr and
      __builtin_arm_set_fpscr. However, these are misnamed within GCC itself
      and these intrinsic names are not recognised.
      
      This patch corrects the intrinsic names to match the documentation, and
      adds tests to verify these intrinsics generate the correct
      instructions.
      
      2017-05-04  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
      
          gcc/
          * gcc/config/arm/arm-builtins.c (arm_init_builtins): Rename
          __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
          __builtin_arm_stfscr to __builtin_arm_set_fpscr.
      
          gcc/testsuite/
          * gcc.target/arm/fpscr.c: New file.
      
      From-SVN: r247584
      Prakhar Bahuguna committed
    • Remove an unused variable. · cd09e219
      2017-05-04  Martin Liska  <mliska@suse.cz>
      
      	* tree-vrp.c (simplify_cond_using_ranges_2): Remove unused
      	variable cond_code.
      
      From-SVN: r247583
      Martin Liska committed
    • Require c99_runtime for pr78622.c · 010b1cc0
      2017-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      gcc/testsuite/
          * gcc.c-torture/execute/pr78622.c: Require c99_runtime effective
          target.
      
      From-SVN: r247582
      Thomas Preud'homme committed
    • tree.c (array_at_struct_end_p): Handle arrays at struct end with flexarrays more conservatively. · c3e46927
      2017-05-04  Richard Biener  <rguenther@suse.de>
      
      	* tree.c (array_at_struct_end_p): Handle arrays at struct
      	end with flexarrays more conservatively.  Refactor and treat
      	arrays of arrays or aggregates more strict.  Fix
      	VIEW_CONVERT_EXPR handling.  Remove allow_compref argument.
      	* tree.c (array_at_struct_end_p): Adjust prototype.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust.
      	* gimple-fold.c (get_range_strlen): Likewise.
      	* tree-chkp.c (chkp_may_narrow_to_field): Likewise.
      
      From-SVN: r247581
      Richard Biener committed
    • Replace absolute line numbers in g++.dg/warn · 99b68476
      2017-05-04  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80557
      	* g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: Replace absolute
      	line numbers.
      	* g++.dg/warn/miss-format-1.C: Same.
      	* g++.dg/warn/overflow-warn-1.C: Same.
      	* g++.dg/warn/overflow-warn-3.C: Same.
      	* g++.dg/warn/overflow-warn-4.C: Same.
      
      From-SVN: r247580
      Tom de Vries committed
    • Replace absolute line numbers in gcc.target/i386 · 09177a4b
      2017-05-04  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/80557
      	* gcc.target/i386/pr57655.c: Replace absolute line numbers.
      	* gcc.target/i386/pr68657.c: Same.
      	* gcc.target/i386/pr69255-1.c: Same.
      	* gcc.target/i386/pr69255-2.c: Same.
      	* gcc.target/i386/pr69255-3.c: Same.
      
      From-SVN: r247579
      Tom de Vries committed
    • re PR tree-optimization/31130 (VRP no longer derives range for division after negation) · 02c64149
      2017-05-04  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/31130
      	* tree-vrp.c (needs_overflow_infinity): Remove as always returning
      	false.
      	(supports_overflow_infinity): Likewise.
      	(is_negative_overflow_infinity): Likewise.
      	(is_positive_overflow_infinity): Likewise.
      	(is_overflow_infinity): Likewise.
      	(stmt_overflow_infinity): Likewise.
      	(overflow_infinity_range_p): Likewise.
      	(usable_range_p): Remove as always returning true.
      	(make_overflow_infinity): Remove.
      	(negative_overflow_infinity): Likewise.
      	(positive_overflow_infinity): Likewise.
      	(avoid_overflow_infinity): Likewise.
      	(set_value_range): Adjust accordingly.
      	(set_value_range_to_nonnegative): Likewise, remove now unused
      	overflow_infinity arg.
      	(vrp_operand_equal_p): Adjust.
      	(update_value_range): Likewise.
      	(range_int_cst_singleton_p): Likewise.
      	(operand_less_p): Likewise.
      	(compare_values_warnv): Likewise.
      	(extract_range_for_var_from_comparison_expr): Likewise.
      	(vrp_int_const_binop): Likewise.
      	(zero_nonzero_bits_from_vr): Likewise.
      	(extract_range_from_multiplicative_op_1): Likewise.
      	(extract_range_from_binary_expr_1): Likewise.
      	(extract_range_from_unary_expr): Likewise.
      	(extract_range_from_comparison): Likewise.
      	(extract_range_basic): Likewise.
      	(adjust_range_with_scev): Likewise.
      	(compare_ranges): Likewise.
      	(compare_range_with_value): Likewise.
      	(dump_value_range): Likewise.
      	(test_for_singularity): Likewise, remove strict_overflow_p parameter
      	never used.
      	(simplify_cond_using_ranges): Adjust.
      
      	* gcc.dg/Wstrict-overflow-12.c: XFAIL.
      	* gcc.dg/Wstrict-overflow-13.c: Likewise.
      	* gcc.dg/Wstrict-overflow-21.c: Likewise.
      	* gcc.dg/pr52904.c: Remove XFAIL.
      	* gcc.dg/tree-ssa/vrp114.c: New testcase.
      
      From-SVN: r247578
      Richard Biener committed
    • Removed accidentally committed conflict marker. · 2b451410
      From-SVN: r247577
      Pekka Jääskeläinen committed
    • Minor BRIG/HSAIL frontend updates and bug fixes: · c6e334cd
      * brig-builtins.def: Added a builtin for class_f64.
      * builtin-types.def: Added a builtin type needed by class_f64.
      * brigfrontend/brig-code-entry-handler.cc
       (brig_code_entry_handler::build_address_operand): Fix a bug
       with reg+offset addressing on 32b segments. In large mode,
       the offset is treated as 32bits unless it's global, readonly or
       kernarg address space.
      * rt/workitems.c: Removed a leftover comment.
      * rt/arithmetic.c (__hsail_class_f32, __hsail_class_f64): Fix the
       check for signaling/non-signalling NaN. Add class_f64 default
       implementation.
      
      From-SVN: r247576
      Pekka Jääskeläinen committed
    • Daily bump. · 1738af60
      From-SVN: r247575
      GCC Administrator committed
  2. 03 May, 2017 19 commits
    • * de.po: Update. · 17addff8
      From-SVN: r247570
      Joseph Myers committed
    • invoke.texi: Note that -faligned-new is on by default for C++17. · 0cb222fc
      	* doc/invoke.texi: Note that -faligned-new is on by default
      	for C++17.
      
      From-SVN: r247564
      Jason Merrill committed
    • timevar.def: Add TV_CONSTEXPR. · 8108ea30
      	* timevar.def: Add TV_CONSTEXPR.
      
      	* constexpr.c (cxx_eval_outermost_constant_expr): Use TV_CONSTEXPR.
      
      From-SVN: r247563
      Jason Merrill committed
    • Fix typo in common.opt · 8135a004
      gcc/ChangeLog:
      	* common.opt (fdiagnostics-parseable-fixits): Fix typo.
      
      From-SVN: r247562
      David Malcolm committed
    • Remove ipa_update_after_lto_read · 44abeaaa
      2017-05-03  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.c (ipa_update_after_lto_read): Removed.
      	* ipa-prop.h (ipa_update_after_lto_read): Remove declaration.
      	* ipa-cp.c (ipcp_propagate_stage): Do not call
      	ipa_update_after_lto_read.
      	* ipa-inline.c (ipa_inline): Likewise.
      
      From-SVN: r247559
      Martin Jambor committed
    • Use call_summary in ipa-prop and ipa-cp · 6fe906a3
      2017-05-03  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (ipa_edge_args): Make a class.  Mark with for_user GTY
      	tag.  Added a default constructor and a destructor.
      	(ipa_edge_args_sum_t): New class;
      	(ipa_edge_args_sum): Declare.
      	(ipa_edge_args_vector): Remove declaration.
      	(IPA_EDGE_REF): Use ipa_edge_args_sum.
      	(ipa_free_edge_args_substructures): Remove declaration.
      	(ipa_check_create_edge_args): Use ipa_edge_args_sum.
      	(ipa_edge_args_info_available_for_edge_p): Likewise.
      	* ipa-prop.c (ipa_edge_args_vector): Removed.
      	(edge_removal_hook_holder): Likewise.
      	(edge_duplication_hook_holder): Likewise.
      	(ipa_edge_args_sum): New variable.
      	(ipa_propagate_indirect_call_infos): Test ipa_edge_args_sum instead of
      	ipa_edge_args_vector.
      	(ipa_free_edge_args_substructures): Likewise.
      	(ipa_free_all_edge_args): Free ipa_edge_args_sum instead of
      	ipa_edge_args_vector.
      	(ipa_edge_removal_hook): Turned into method
      	ipa_edge_args_sum_t::remove.
      	(ipa_edge_duplication_hook): Turned into method
      	ipa_edge_args_sum_t::duplicate.
      	(ipa_register_cgraph_hooks): Create ipa_edge_args_sum instead of
      	registering edge hooks.
      	(ipa_unregister_cgraph_hooks): Do not unregister edge hooks.
      	* ipa-inline-analysis.c (estimate_function_body_sizes): Test
      	ipa_edge_args_sum instead of ipa_edge_args_vector.
      	* ipa-profile.c (ipa_profile): Likewise.
      
      From-SVN: r247558
      Martin Jambor committed
    • call_summary to keep info about cgraph_edges · 57e563ac
      2017-05-03  Martin Jambor  <mjambor@suse.cz>
      
      	* symbol-summary.h (function_summary): New method exists.
      	(function_summary::symtab_removal): Deallocate through release.
      	(call_summary): New class.
      	(gt_ggc_mx): New overload.
      	(gt_pch_nx): Likewise.
      	(gt_pch_nx): Likewise.
      
      From-SVN: r247557
      Martin Jambor committed
    • re PR tree-optimization/78496 (Missed opportunities for jump threading) · 9a26dfc8
      	PR tree-optimization/78496
      	* tree-vrp.c (simplify_cond_using_ranges_1): Renamed
      	from simplify_cond_using_ranges.  Split off code to walk
      	backwards through casts into ...
      	(simplify_cond_using_ranges_2): New function.
      	(simplify_stmt_using_ranges): Call simplify_cond_using_ranges_1.
      	(execute_vrp): After identifying jump threads, call
      	simplify_cond_using_ranges_2.
      
      	PR tree-optimization/78496
      	* gcc.dg/tree-ssa/ssa-thread-15.c: New test.
      
      From-SVN: r247556
      Jeff Law committed
    • re PR ipa/80609 (crash_signal in reset_inline_summary on ia64 bootstrap) · 5386abe0
      
      	PR bootstrap/80609
      	* ipa-inline.h (inline_summary): Add ctor.
      	(create_ggc): Do not use ggc_cleared_alloc.
      
      From-SVN: r247555
      Jan Hubicka committed
    • config-list.mk (am33_2.0-linux): Remove from list of targets to build. · f47337ae
      2007-05-03  Jeff Law  <law@redhat.com>
      
      	* config-list.mk (am33_2.0-linux): Remove from list of targets
      	to build.
      
      From-SVN: r247553
      Jeff Law committed
    • Support escaping special characters in specs · 31c83050
      2017-05-03  Jeff Downs  <heydowns@somuchpressure.net>
      	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	* gcc.c (handle_braces): Support escaping in switch matching
      	text.
      	* doc/invoke.texi (Spec Files): Document it.
      	Remove superfluous @code markup in items.
      
      Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
      
      From-SVN: r247552
      Jeff Downs committed
    • pr79671_0.C (foo): Fix asm constraints. · 4d0e904f
      	* g++.dg/lto/pr79671_0.C (foo): Fix asm constraints.
      
      From-SVN: r247550
      Uros Bizjak committed
    • New fix-it printer · d1b5f5cc
      The existing fix-it printer can lead to difficult-to-read output
      when fix-it hints are near each other.  For example, in a recent
      patch to add fix-it hints to the C++ frontend's -Wold-style-cast,
      e.g. for:
      
        foo *f = (foo *)ptr->field;
                             ^~~~~
      
      the fix-it hints:
       replace the open paren with "const_cast<"
       replace the close paren with "> ("
       insert ")" after the "ptr->field"
      
      would be printed in this odd-looking way:
      
        foo *f = (foo *)ptr->field;
                             ^~~~~
                 -
                 const_cast<
                       -
                       > (        )
      
      class rich_location consolidates adjacent fix-it hints, which helps
      somewhat, but the underlying problem is that the existing printer
      simply walks through the list of hints printing them, starting newlines
      as necessary.
      
      This patch reimplements fix-it printing by introducing a planning
      stage: a new class line_corrections "plans" how to print the
      fix-it hints affecting a line, generating a vec of "correction"
      instances.  Hints that are sufficiently close to each other are
      consolidated at this stage.
      
      This leads to the much more reasonable output for the above case:
      
        foo *f = (foo *)ptr->field;
                             ^~~~~
                 -----------------
                 const_cast<foo *> (ptr->field);
      
      where the 3 hints are consolidated into one "correction" at printing.
      
      gcc/ChangeLog:
      	* diagnostic-show-locus.c (struct column_range): New struct.
      	(get_affected_columns): New function.
      	(get_printed_columns): New function.
      	(struct correction): New struct.
      	(correction::ensure_capacity): New function.
      	(correction::ensure_terminated): New function.
      	(struct line_corrections): New struct.
      	(line_corrections::~line_corrections): New dtor.
      	(line_corrections::add_hint): New function.
      	(layout::print_trailing_fixits): Reimplement in terms of the new
      	classes.
      	(selftest::test_overlapped_fixit_printing): New function.
      	(selftest::diagnostic_show_locus_c_tests): Call it.
      
      From-SVN: r247548
      David Malcolm committed
    • cp-tree.h (enum cp_tree_index, [...]): Move earlier, along with #defines, to… · 5bb64c41
      cp-tree.h (enum cp_tree_index, [...]): Move earlier, along with #defines, to before name-lookup include.
      
      	* cp-tree.h (enum cp_tree_index, cp_global_trees): Move earlier,
      	along with #defines, to before name-lookup include.
      
      From-SVN: r247547
      Nathan Sidwell committed
    • Canonicalize canonical type hashing · 6fe63fb4
      	Canonicalize canonical type hashing
      	gcc/
      	* tree.h (type_hash_canon_hash): Declare.
      	* tree.c (type_hash_list, attribute_hash_list): Move into
      	type_hash_canon_hash.
      	(build_type_attribute_qual_variant): Break out hash code calc into
      	type_hash_canon_hash.
      	(type_hash_canon_hash): New.  Generic type hash computation.
      	(build_range_type_1, build_array_type_1, build_function_type)
      	build_method_type_directly, build_offset_type, build_complex_type,
      	make_vector_type): Call it.
      	gcc/c-family/
      	* c-common.c (complete_array_type): Use type_hash_canon.
      (--This line, and those below, will be ignored--
      
      M    gcc/tree.c
      M    gcc/tree.h
      M    gcc/c-family/ChangeLog
      M    gcc/c-family/c-common.c
      M    gcc/ChangeLog
      
      From-SVN: r247546
      Nathan Sidwell committed
    • tree-vect-data-refs.c (vect_enhance_data_refs_alignment): When all DRs have… · 49ab4621
      tree-vect-data-refs.c (vect_enhance_data_refs_alignment): When all DRs have unknown misaligned do not always peel when...
      
      2017-05-03  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
      	When all DRs have unknown misaligned do not always peel
      	when there is a store but apply the same costing model as if
      	there were only loads.
      
      	* gcc.dg/vect/costmodel/x86_64/costmodel-alignpeel.c: New testcase.
      
      From-SVN: r247544
      Richard Biener committed
    • revert: re PR tree-optimization/80492 (Wrong code when unrolling a loop with… · 8d5f521a
      revert: re PR tree-optimization/80492 (Wrong code when unrolling a loop with inline asm and local regs)
      
      2017-05-03  Richard Biener  <rguenther@suse.de>
      
      	Revert
      	PR tree-optimization/80492
      	* tree-ssa-alias.c (decl_refs_may_alias_p): Handle
      	compare_base_decls returning dont-know properly.
      
      From-SVN: r247543
      Richard Biener committed
    • [ARM] Set mode for success result of atomic compare and swap · 3cff0135
      2017-05-03  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      gcc/
          * config/arm/iterators.md (CCSI): New mode iterator.
          (arch): New mode attribute.
          * config/arm/sync.md (atomic_compare_and_swap<mode>_1): Rename into ...
          (atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1): This and ...
          (atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1): This.  Use CCSI
          code iterator for success result mode.
          * config/arm/arm.c (arm_expand_compare_and_swap): Adapt code to use
          the corresponding new insn generators.
      
      From-SVN: r247542
      Thomas Preud'homme committed
    • Revert r247509 2017-05-02 Bin Cheng <bin.cheng@arm.com> · 0ec5af39
      	Revert r247509
      	2017-05-02  Bin Cheng  <bin.cheng@arm.com>
      	* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
      
      From-SVN: r247541
      Bin Cheng committed