+2014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ PR target/61633
+ * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
+ Add alternative; make early clobber. Adjust both split patterns
+ to use operand 0 as the working register.
+
+2014-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * ira-build.c (sort_conflict_id_map): Don't call
+ qsort if num is 0, as ira_object_id_map might be NULL, or 1.
+
+2014-06-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ * loop-invariant.c (get_inv_cost): Handle register class.
+ (gain_for_invariant): Check the register pressure of the inv
+ and its overlapped register class, other than all.
+
+2014-06-30 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (Optimize Options): Fix descriptions of
+ ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
+
+2014-06-29 David Wohlferd <dw@LimeGreenSocks.com>
+
+ * doc/extend.texi (Function Attributes): Update 'naked' attribute
+ documentation.
+
+2014-06-29 Tobias Grosser <tobias@grosser.es>
+
+ PR bootstrap/61650
+ * graphite-isl-ast-to-gimple.c: Add missing guards.
+
+2014-06-29 Roman Gareev <gareevroman@gmail.com>
+
+ * Makefile.in:
+ Add the compilation of graphite-isl-ast-to-gimple.o.
+ * common.opt:
+ Add new switch fgraphite-code-generator=[isl|cloog].
+ * flag-types.h:
+ Add new enum fgraphite_generator.
+ * graphite-isl-ast-to-gimple.c: New.
+ * graphite-isl-ast-to-gimple.h: New.
+ * graphite.c (graphite_transform_loops):
+ Add choice of Graphite code generator,
+ which depends on flag_graphite_code_gen.
+
+ testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c:
+ New testcase that checks that the dump is generated.
+
+2014-06-29 Roman Gareev <gareevroman@gmail.com>
+
+ * graphite-dependences.c (subtract_commutative_associative_deps):
+ Add NULL checking of the following variables: must_raw_no_source,
+ may_raw_no_source, must_war_no_source, may_war_no_source,
+ must_waw_no_source, may_waw_no_source, must_raw, may_raw,
+ must_war, may_war, must_waw, may_waw
+
+ testsuite/gfortran.dg/graphite/pr59586.f: New testcase.
+
+2014-06-29 Roman Gareev <gareevroman@gmail.com>
+
+ * graphite-clast-to-gimple.c:
+ gloog is renamed to graphite_regenerate_ast_cloog.
+ gloog_error is renamed to graphite_regenerate_error.
+ * graphite-clast-to-gimple.h:
+ The definition of the struct bb_pbb_def is moved to graphite-htab.h.
+ Add inclusion of the hash-table.h.
+ * graphite-htab.h:
+ The declaration of the function gloog is moved
+ to graphite-clast-to-gimple.h and renamed to
+ graphite_regenerate_ast_cloog.
+ * graphite.c (graphite_transform_loops):
+ gloog is renamed to graphite_regenerate_ast_cloog.
+
+2014-06-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
+ is complete.
+ (write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
+ types; do not stream duplicated fields for variants; sanity check that variant
+ and type match.
+ (write_ts_type_non_common_tree_pointers): Likewise.
+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
+ type is complete.
+ (lto_input_ts_type_common_tree_pointers): Do same changes as in
+ write_ts_type_common_tree_pointers
+ (lto_input_ts_type_non_common_tree_pointers): Likewise.
+
+2014-06-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
+
+2014-06-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * tree-inline.c (remap_type_1): Do not duplicate fields
+ that are shared in between type and its main variant.
+
+2014-06-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
+ of the type.
+ (ipa_set_ancestor_jf) Likewise.
+ (check_stmt_for_type_change): Check that we work on main variant.
+ (detect_type_change): Look into main variant.
+ (compute_known_type_jump_func): Check that main variant has BINFO.
+
+2014-06-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-devirt.c (set_type_binfo): New function.
+ (add_type_duplicate): Use it.
+ (get_odr_type): Sanity check that binfos points to main variants.
+ (get_class_context): Be sure the context's outer_type is main variant.
+ (contains_type_p): Walk main variant.
+ (get_polymorphic_call_info_for_decl): Set outer_type to be main variant.
+ (get_polymorphic_call_info): Likewise.
+ (possible_polymorphic_call_targets): Sanity check that we operate on main
+ variant.
+
+2014-06-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * stor-layout.c (finish_builtin_struct): Copy fields into
+ the variants.
+
+2014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
+ accidental change due to wide-int branch merge.
+
+2014-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_compress_debug): Check for assembler
+ compressed debug support.
+ (gcc_cv_ld_compress_debug): Check for linker compressed debug
+ support.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * common.opt (compressed_debug_sections): New enum.
+ (gz, gz=): New options.
+ * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC):
+ Define.
+ (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
+ (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
+ LINK_COMPRESS_DEBUG_SPEC.
+ * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
+ * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
+ * doc/invoke.texi (Option Summary, Debugging Options): Add
+ -gz[=type].
+ (Debugging Options): Document -gz[=type].
+
+2014-06-27 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/61160
+ * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
+ args_to_skip, use those from node instead. Copy args_to_skip and
+ combined_args_to_skip from node to the new thunk.
+ (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
+ (cgraph_create_virtual_clone): Moved computation of
+ combined_args_to_skip...
+ (cgraph_clone_node): ...here, simplify it to bitmap_ior..
+
+2014-06-27 trevor Saunders <tsaunders@mozilla.com>
+
+ * config/i386/winnt.c (i386_pe_section_type_flags): Remove
+ redundant diagnostic machinary.
+
+2014-06-27 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-math-opts.c (bswap_replace): Fix
+ SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
+
+2014-06-27 Martin Liska <mliska@suse.cz>
+
+ * gimple.h (gimple_location_safe): New function introduced.
+ * cgraphunit.c (walk_polymorphic_call_targets): Usage
+ of gimple_location_safe replaces gimple_location.
+ (gimple_fold_call): Likewise.
+ * ipa-devirt.c (ipa_devirt): Likewise.
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
+ * ipa.c (walk_polymorphic_call_targets): Likewise.
+ * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
+
+2014-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/57233
+ PR tree-optimization/61299
+ * tree-vect-generic.c (get_compute_type, count_type_subparts): New
+ functions.
+ (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
+ would be lowered to scalar shifts, check if corresponding
+ shifts and vector BIT_IOR_EXPR are supported and don't lower
+ or lower just to narrower vector type in that case.
+ * expmed.c (expand_shift_1): Fix up handling of vector
+ shifts and rotates.
+
+2014-06-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/61586
+ * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
+
+2014-06-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * doc/invoke.texi (-fsemantic-interposition): Document.
+ * common.opt (fsemantic-interposition): New flag.
+ * varasm.c (decl_replaceable_p): Use it.
+
+2014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/61542
+ * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
+ extraction other than index 3.
+
+2014-06-26 Teresa Johnson <tejohnson@google.com>
+
+ * c-family/c-common.h (get_dump_info): Declare.
+ * c-family/c-gimplify.c (c_genericize): Use saved dump files.
+ * c-family/c-opts.c (c_common_parse_file): Begin and end dumps
+ once around parsing invocation.
+ (get_dump_info): New function.
+ * cp/class.c (dump_class_hierarchy): Use saved dump files.
+ (dump_vtable): Ditto.
+ (dump_vtt): Ditto.
+
+2014-06-26 Teresa Johnson <tejohnson@google.com>
+
+ * doc/invoke.texi: Fix typo.
+ * dumpfile.c: Add support for documented -fdump-* options
+ optimized/missed/note/optall.
+
+2014-06-26 Martin Jambor <mjambor@suse.cz>
+
+ * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
+ (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
+ (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
+ (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
+ * opts.c (default_options_optimization): Set
+ PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
+ * doc/invoke.texi (allow-load-data-races)
+ (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
+ (allow-store-data-races): Document the new default.
+
+2014-06-26 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
+ renamed to ipa_impossible_devirt_target. Fix typo.
+ * ipa-prop.h (ipa_impossible_devirt_target): Declare.
+ * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
+ ipa_impossible_devirt_target.
+
+2014-06-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/61607
+ * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
+ explaining why we restrict copies on loop depth.
+ * tree-ssa-dom.c (cprop_operand): Remove restriction on
+ on loop depth.
+ (record_equivalences_from_phis): Instead add it here.
+
+2014-06-26 Bernd Schmidt <bernds@codesourcery.com>
+
+ * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
+ (LTO_WRAPPER_OBJS): New variable.
+ (lto-wrapper$(exeext)): Use it.
+ * collect2.c: Include "collect-utils.h".
+ (verbose, debug): Remove variables.
+ (at_file_supplied): No longer static.
+ (tool_name): New variable.
+ (do_wait, fork_execute, maybe_unlink): Don't declare.
+ (tool_cleanup): No longer static.
+ (notice): Remove function.
+ (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
+ fork_execute calls.
+ (collect_wait, do_wait, collect_execute): Remove functions.
+ (maybe_unlink): No longer static.
+ * collect2.h (verbose, debug): Don't declare.
+ (at_file_supplied): Declare.
+ * collect-utils.c (utils_cleanup): New arg from_signal. All callers
+ changed.
+ (collect_execute): Replace with implementation from collect2, plus a
+ new arg use_atfile. All callers changed.
+ (collect_wait): Replace with implementation from collect2.
+ (maybe_unlink_file): Remove function.
+ (fork_execute): Replace with implementation from collect2, plus a
+ new arg use_atfile. All callers changed.
+ (do_wait): Add call to utils_cleanup to the error path.
+ * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
+ (tool_cleanup): Adjust declarations.
+ * lto-wrapper.c (tool_cleanup): Add unused bool argument.
+ * tlink.c: Include "collect-utils.h".
+ (tlink_execute): New arg use_atfile. All callers changed.
+ (tlink_init, tlink_execute): Remove declarations.
+
+ * collect-utils.c (save_temps): New variable.
+ (do_wait): Use it instead of debug. Use fatal_error.
+ * collect-utils.h (save_temps): Declare.
+ * collect2.c (verbose): Rename from vflag. All uses changed.
+ (tool_cleanup): New function, copied from collect_atexit.
+ (collect_atexit, handler): Just call it.
+ * collect2.h (verbose): Declaration renamed from vflag.
+ * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
+ debug.
+
+ * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
+ (lto-wrapper$(exeext)): Link with collect-utils.o.
+ * collect-utils.c: New file.
+ * collect-utils.h: New file.
+ * lto-wrapper.c: Include "collect-utils.h".
+ (args_name): Delete variable.
+ (tool_name): New variable.
+ (tool_cleanup): New function.
+ (maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
+ (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
+ (fork_execute): Remove functions.
+
2014-06-26 Nick Clifton <nickc@redhat.com>
+ * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
+
* doc/extend.texi (Function Attributes): Fix typo in description
of RX vector attribute.
2014-06-25 Jan Hubicka <hubicka@ucw.cz>
- * toplev.c (backend_init_target): Move init_emit_regs and init_regs to...
+ * toplev.c (backend_init_target): Move init_emit_regs and
+ init_regs to...
(backend_init) ... here; skip ira_init_once and backend_init_target.
- (target_reinit) ... and here; clear this_target_rtl->lang_dependent_initialized.
- (lang_dependent_init_target): Clear this_target_rtl->lang_dependent_initialized;
+ (target_reinit) ... and here; clear
+ this_target_rtl->lang_dependent_initialized.
+ (lang_dependent_init_target): Clear
+ this_target_rtl->lang_dependent_initialized;
break out rtl initialization to ...
- (initialize_rtl): ... here; call also backend_init_target and ira_init_once.
+ (initialize_rtl): ... here; call also backend_init_target
+ and ira_init_once.
* toplev.h (initialize_rtl): New function.
* function.c: Include toplev.h
(init_function_start): Call initialize_rtl.
(set_writeonly_bit): Likewise.
* lto-cgraph.c: Implementation of new symtab_node member functions
that uses new IPA REF functions.
- * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF function used.
+ * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
+ function used.
* lto-streamer-out.c (output_symbol_p): Likewise.
* lto-streamer.h (referenced_from_this_partition_p): Argument type
changed.
- * lto/lto-partition.c (add_references_to_partition): New IPA REF function
- used.
- (add_symbol_to_partition_1): Likewise.
- (lto_balanced_map): Likewise.
- * lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
* symtab.c: Implementation of new IPA REF API.
* trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
(ipa_tm_create_version): Likewise.
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
-tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
-tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
-vtable-verify.c, vtable-verify.h: Adjust.
+ tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
+ tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
+ vtable-verify.c, vtable-verify.h: Adjust.
2014-06-24 Richard Biener <rguenther@suse.de>
* varpool.c (dump_varpool_node): Dump used_by_single_function.
* tree-pass.h (make_pass_ipa_single_use): New pass.
* cgraph.h (used_by_single_function): New flag.
- * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
- it.
+ * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
+ Stream it.
* passes.def (pass_ipa_single_use): Scedule.
* ipa.c (BOTTOM): New macro.
(meet): New function
2014-06-23 Kai Tietz <ktietz@redhat.com>
PR target/39284
- * passes.def (peephole2): Move peephole2 pass before
- before sched2 pass.
- * config/i386/i386.md (peehole2): Combine memories
- and indirect jumps.
+ * passes.def (peephole2): Move peephole2 pass before sched2 pass.
+ * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
2014-06-23 Richard Biener <rguenther@suse.de>
* tree-vrp.c (remove_range_assertions): Do not set is_unreachable
to zero on debug statements.
-2014-06-19 Alan Lawrence <alan.lawrence@arm.com>
+2014-06-23 Alan Lawrence <alan.lawrence@arm.com>
PR target/60825
* config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
Fix type signature; remove cast.
-2014-06-19 Alan Lawrence <alan.lawrence@arm.com>
+2014-06-23 Alan Lawrence <alan.lawrence@arm.com>
PR target/60825
* config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
variant but not df.
(vreinterpretv1df*, vreinterpret*v1df): New.
(vreinterpretdf*, vreinterpret*df): Remove.
- * config/aarch64/aarch64-simd.md (aarch64_create, aarch64_reinterpret*):
- Generate V1DFmode pattern not DFmode.
+ * config/aarch64/aarch64-simd.md (aarch64_create,
+ aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
* config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
(VD1): New.
* config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
2014-06-23 Jan Hubicka <hubicka@ucw.cz>
- * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
- directly.
+ * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
+ priority directly.
2014-06-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
expand variant and aarch64_emit_call_insn.
2014-06-18 Radovan Obradovic <robradovic@mips.com>
- Tom de Vries <tom@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
* config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
* config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):