-2010-05-14 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/44136
- * cfgexpand.c (expand_debug_expr): If non-memory op0
- has BLKmode, return NULL.
-
-2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
-
- * config.gcc: Add support for --with-cpu option for bdver1.
- * config/i386/i386.h (TARGET_BDVER1): New macro.
- (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
- to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
- (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
- to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
- Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
- (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
- (processor_type): Add PROCESSOR_BDVER1.
- * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
- processor_type in config/i386/i386.h.
- Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
- movaps <reg, reg> instead of movapd <reg, reg> when replacing
- movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
- Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
- to emit packed xor instead of packed double/packed integer
- xor for SSE and AVX when moving a zero value.
- * config/i386/sse.md: Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
- to emit movaps instead of movapd/movdqa for SSE and AVX.
- Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single
- logical operations i.e and, or and xor instead of packed double logical
- operations for SSE and AVX.
- * config/i386/i386-c.c:
- (ix86_target_macros_internal): Add PROCESSOR_BDVER1.
- * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
- (has_fma4, has_xop): New.
- * config/i386/i386.c (bdver1_cost): New variable.
- (m_BDVER1): New macro.
- (m_AMD_MULTIPLE): Add m_BDVER1.
- (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
- x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
- x86_tune_use_simode_fiop, x86_tune_promote_qimode,
- x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
- x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
- x86_tune_sse_partial_reg_dependency, x86_tune_sse_unaligned_load_optimal,
- x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
- x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
- x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
- x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
- x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
- Enable/disable for bdver1.
- (processor_target_table): Add bdver1_cost.
- (cpu_names): Add bdver1.
- (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
- processor_alias_table.
- (ix86_expand_vector_move_misalign): Change
- TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
- Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
- Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
- of movupd/movdqu for SSE and AVX.
- (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
- (ix86_tune_adjust_cost): Add code for bdver1.
- (standard_sse_constant_opcode): Add check for
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
- of packed double xor for SSE and AVX.
-
-2010-05-14 Pat Haugen <pthaugen@us.ibm.com>
-
- * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
- result to unsigned.
-
-2010-05-14 Tristan Gingold <gingold@adacore.com>
-
- * toplev.c (default_debug_hooks): Remove this variable.
- (process_options): Remove assignments to default_debug_hooks.
-
-2010-05-14 Martin Jambor <mjambor@suse.cz>
-
- * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
- (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
- * langhooks.h (struct lang_hooks_for_decls): Removed field
- fold_obj_type_ref.
- * tree.c (free_lang_data): Remove assignment to
- lang_hooks.fold_obj_type_ref.
- * tree.def (OBJ_TYPE_REF): Update comment.
-
-2010-05-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/44124
- * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
-
-2010-05-14 Alan Modra <amodra@gmail.com>
-
- PR target/44075
- * config/rs6000/rs6000.c (struct machine_function): Reorder
- fields for better packing. Add lr_save_state.
- (rs6000_ra_ever_killed): Return lr_save_state if set.
- (rs6000_emit_eh_reg_restore): Set lr_save_state.
-
-2010-05-13 Jan Hubicka <jh@suse.cz>
-
- * varpool.c (decide_is_variable_needed): Drop code checking
- TREE_SYMBOL_REFERENCED.
-
-2010-05-13 Jan Hubicka <jh@suse.cz>
-
- * final.c (output_addr_const): Do not call mark_decl_referenced.
- * cgraphunit.c (process_function_and_variable_attributes): Use
- mark_needed_node dirrectly.
- (assemble_thunk): Do not call mark_decl_referenced.
-
-2010-05-13 Anatoly Sokolov <aesok@post.ru>
-
- * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
-
-2010-05-13 Jeff Law <law@redhat.com>
-
- * ira-conflicts.c (print_allocno_conflicts): New function broken out
- from...
- (print_conflicts): Call print_allocno_conflicts.
-
-2010-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/44104
- * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
- if it is NULL.
-
-2010-05-13 Kai Tietz <kai.tietz@onevision.com>
-
- * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
- t-mingw-w64 or t-mingw-w32 for multilib configuration.
- * config/i386/t-mingw-w32: New.
- * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
-
-2010-05-13 Martin Jambor <mjambor@suse.cz>
-
- * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
- gimple-fold.c).
- * gimple-fold.c (get_base_binfo_for_type): New function.
- (gimple_get_relevant_ref_binfo): Likewise.
- (gimple_fold_obj_type_ref_known_binfo): Likewise.
- (gimple_fold_obj_type_ref): Likewise.
- (fold_gimple_call): Simplify condition for folding virtual calls
- and call gimple_fold_obj_type_ref.
- * gimple.h (gimple_get_relevant_ref_binfo): Declare.
- (gimple_fold_obj_type_ref_known_binfo): Likewise.
-
-2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/rs6000/rs6000-protos.h
- (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
- * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
- (rs6000_debug_mode_dependent_address)
- (rs6000_mode_dependent_address_ptr): Likewise.
-
-2010-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43983
- * var-tracking.c (track_expr_p): Allow tracking of variables optimized
- by SRA.
- * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
- * tree-sra.c (create_access_replacement): Call unshare_expr before
- passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from
- it.
- * dwarf2out.c: Include tree-flow.h.
- (struct var_loc_node): Rename var_loc_note field to loc, add comment.
- (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
- Handle DW_OP_bit_piece.
- (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
- construct_piece_list, adjust_piece_list): New functions.
- (add_var_loc_to_decl): Handle SRA optimized variables.
- Adjust for var_loc_note to loc field renaming.
- (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
- in VAR_LOCATION note.
- (new_loc_descr_op_bit_piece): New function.
- (dw_sra_loc_expr): New function.
- (dw_loc_list): Use it. Don't handle the last range after the
- loop, handle it inside of the loop. Adjust for var_loc_note
- to loc field renaming.
- (add_location_or_const_value_attribute): Only special case
- single entry loc lists if loc is NOTE_P. Adjust for
- var_loc_note to loc field renaming.
- (dwarf2out_var_location): Don't set newloc->var_loc_note
- and newloc->next here.
-
-2010-05-12 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
- flag.
- * cgraph.h (cgraph_only_called_directly_p,
- cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
- (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
- * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
- (assemble
- * ipa.c (cgraph_remove_unreachable_nodes): Use
- cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
- flags.
- * tree-inline.c (copy_bb): Check address_taken flag.
- * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
- externally_visible flag.
-
-2010-05-12 Jason Merrill <jason@redhat.com>
-
- PR bootstrap/44048
- PR target/44099
- * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
- * sdbout.c (plain_type_1): Likewise.
- * dwarf2out.c (is_base_type): Likewise.
- (gen_type_die_with_usage): Likewise. Generate
- DW_TAG_unspecified_type for any LANG_TYPE.
-
-2010-05-12 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
- indrect edges too.
- * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
- (cgraph_clone_edge): Update.
- (cgraph_node_remove_callees): Remove indirect calls too.
- * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
- (cgraph_create_indirect_edge): Update prototype.
- * ipa-reference.c (has_proper_scope_for_analysis): Rename to
- is_proper_for_analysis.
- (add_new_function, visited_nodes, function_insertion_hook_holder,
- get_local_reference_vars_info, mark_address_taken, mark_address,
- mark_load, mark_store, check_asm_memory_clobber, check_call,
- scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
- (ipa_init): Do not initialize visited_nodes;
- function_insertion_hook_holder.
- (analyze_variable): Rewrite.
- (analyze_function): Rewrite.
- (copy_local_bitmap): Remove.
- (duplicate_node_dat): Do not duplicate local info.
- (generate_summary): Simplify to only walk cgraph.
- (write_node_summary_p, ipa_reference_write_summary,
- ipa_reference_read_summary): Remove.
- (propagate): Do not remove function insertion;
- generate summary.
- (pass_ipa_reference): NULLify summary handling fields.
- * lto-cgraph.c (lto_output_edge): Output ecf_flags.
- (input_edge): Input ecf_flags.
- * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
- (update_indirect_edges_after_inlining): Ignore edges with unknown
- param.
-
-2010-05-12 Sriraman Tallam <tmsriram@google.com>
-
- * implicit-zee.c: New file.
- * tree-pass.h (pass_implicit_zee): Declare.
- * passes.c (init_optimization_passes): Add zee pass.
- * common.opt (fzee): New flag.
- * timevar.def (TV_ZEE): Define.
- * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
- and beyond.
- * Makefile.in (implicit-zee.o): Add new build file.
-
-2010-05-12 Kazu Hirata <kazu@codesourcery.com>
- Nathan Froyd <froydnj@codesourcery.com>
-
- * c-common.c (sync_resolve_params): Remove write-only variable.
-
-2010-05-12 Anatoly Sokolov <aesok@post.ru>
-
- * target.h (struct gcc_target): Add mode_dependent_address_p field.
- * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
- (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
- * targhooks.c (default_mode_dependent_address_p): New function.
- * targhooks.h (default_mode_dependent_address_p): Declare function.
- * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
- (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
- * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p
- target hook. Change return type to bool.
- * recog.h: (mode_dependent_address_p): Change return type to bool.
-
-2010-05-12 Kazu Hirata <kazu@codesourcery.com>
- Nathan Froyd <froydnj@codesourcery.com>
-
- * tree-mudflap.c (build_function_type_0, build_function_type_1,
- build_function_type_2, build_function_type_3): Remove.
- (mudflap_init): Use build_function_type_list.
-
-2010-05-12 Kazu Hirata <kazu@codesourcery.com>
- Nathan Froyd <froydnj@codesourcery.com>
-
- * coverage.c (build_fn_info_value): Call build_constructor instead of
- build_constructor_from_list.
- (build_ctr_info_value): Likewise.
- (build_gcov_info): Likewise.
-
-2010-05-12 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.c (build_constructor): Compute TREE_CONSTANT for the
- resultant constructor.
- (build_constructor_single): Don't set TREE_CONSTANT.
- (build_constructor_from_list): Don't compute TREE_CONSTANT.
-
-2010-05-12 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (struct varpool_node): Add aux.
- * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
- * varpool.c (varpool_remove_node): Do not remove initializer.
- (varpool_reset_queue): Export.
- (varpool_finalize_decl): Volatile vars are forced to be output.
- * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
- replaced decl.
- * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
- process_references, varpool_can_remove_if_no_refs): New functions.
- (cgraph_remove_unreachable_nodes): Handle variables too.
-
-2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/44088
- * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
-
-2010-05-12 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/44085
- * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
- change value of ORT_TASK.
- (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
- (omp_notice_threadprivate_variable): New function.
- (omp_notice_variable): Call it for threadprivate variables.
- If enclosing ctx is a task, print enclosing task rather than
- enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
- (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
- if task has untied clause.
-
- PR debug/42278
- * dwarf2out.c (base_type_die): Don't add name attribute here.
- (modified_type_die): Instead of sizetype use
- its underlying original type. If a DW_TAG_base_type doesn't
- have name added, add __unknown__.
- (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
- always call force_type_die instead.
-
-2010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
- for __stack_chk_guard.
-
-2010-05-11 Jakub Jelinek <jakub@redhat.com>
-
- * c-opts.c (c_common_parse_file): If start_end_main_source_file,
- don't call start_source_file debug hook here...
- (finish_options): ... but here, after outputting predefined and
- command line defines and undefs.
-
- PR middle-end/44071
- * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
- no fallthru edge.
- * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
- optimizing away empty bb with no successors, move over its
- footer chain to fallthru predecessor.
- * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
- (rtl_split_edge): For asm goto call patch_jump_insn even if
- splitting fallthru edge.
-
- PR c++/44059
- * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
- even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
- * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
- * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
- on DW.ref.* decls.
-
- PR c++/44062
- * c-parser.c (c_parser_expression): Mark LHS of a comma
- expression as read if it is a decl, handled component or
- COMPOUND_EXPR with that on the RHS.
- * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
- if it is a decl or handled component.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_symtab_free): New function.
- * lto-streamer.h (lto_symtab_free): Declare.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
- that if function is needed it is reachable.
- (lto_output_node): See if it the function is reachable or referenced.
- (output_cgraph): Update call of lto_output_node.
- * lto-streamer.h (reachable_from_other_partition_p): Declare.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
- Mark as used.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/44063
- * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
- queue.
- (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
- limits.
- (estimate_function_body_sizes): Compute sizes even when disregarding.
-
-2010-05-11 Kai Tietz <kai.tietz@onevision.com>
-
- * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
- into every boundary.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * matrix-reorg.c (matrix_reorg): Rebuild edges.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer.c (lto_streamer_cache_add_to_node_array,
- lto_streamer_cache_delete): Put nodes into heap.
- * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
- heap.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c (cgraph_rebuild_references): New.
- * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
- out extern inlines.
- * cgraph.h (cgraph_rebuild_references): Declare.
- * tree-inline.c (tree_function_versioning): Use it.
- * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
-
-2010-05-11 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c: Include ipa-utils.h
- (cgraph_create_virtual_clone): Update references.
- * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
-
-2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
-
- * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
- prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
- cache size.
-
-2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
-
- * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
-
-2010-05-11 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c (execute): For -### don't quote arguments that
- contain just alphanumerics and _/-. characters.
- * doc/invoke.texi: Document that change for -###.
-
- PR debug/44023
- * df-problems.c (struct dead_debug): Add to_rescan field.
- (dead_debug_init): Clear to_rescan field.
- (dead_debug_finish): Rescan all debug insns in to_rescan
- bitmap and free the bitmap.
- (dead_debug_insert_before): Instead of rescanning debug insns
- immediately queue their rescanning until dead_debug_finish.
- (df_note_bb_compute): After dead_debug_add do continue instead
- of break.
-
-2010-05-10 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/44028
- * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
- clear also INSN_REG_USE_LIST.
-
-2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
-
-2010-05-10 Jan Hubicka <jh@suse.cz>
-
- * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
- commited change.
-
-2010-05-10 Jan Hubicka <jh@suse.cz>
-
- * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
- Allocate encoders.
- * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
- * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
- (lto_streamer_cache_create): Init alloc pool.
- (lto_streamer_cache_delete): Free alloc pool.
- * lto-streamer.h: Include alloc pool.
- (lto_streamer_cache_d): Use alloc pool.
- * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
-
-2010-05-10 Jan Hubicka <jh@suse.cz>
-
- * Makefile.in (cgraphbuild.o): Add dependency on except.h.
- * cgraphbuild.c: Include except.h
- (record_type_list, record_eh_tables): New function.
- (build_cgraph_edges, rebuild_cgraph_edges): Use it.
-
-2010-05-10 Jan Hubicka <jh@suse.cz>
-
- * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
- __frame_dummy_init_array_entry, force_to_data): Attribute as used
- rather than unused.
-
-2010-05-10 Michael Matz <matz@suse.de>
-
- * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
- (can_reassociate_p): Use FLOAT_TYPE_P.
- * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
- (vect_force_simple_reduction): ... this.
- * tree-parloops.c (gather_scalar_reductions): Use
- vect_force_simple_reduction.
- * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
- vect_is_simple_reduction, add modify argument, if true rewrite
- "a-b" into "a+(-b)".
- (vect_is_simple_reduction, vect_force_simple_reduction): New
- functions.
- (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
-
-2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
- Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/44012
- * ira-build.c (remove_unnecessary_allocnos): Nullify
- regno_allocno_map of the removed allocno.
-
-2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
- to /dev/null.
- * configure: Regenerate.
-
-2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
- unused.
- Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
- * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
- support in Sun ld.
- * configure: Regenerate.
-
-2010-05-10 Richard Guenther <rguenther@suse.de>
-
- * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
- marked if the entry identifier is marked.
-
-2010-05-10 Richard Guenther <rguenther@suse.de>
-
- * c-common.c (struct c_common_attributes): Add fnspec attribute.
- (handle_fnspec_attribute): New function.
- * gimple.h (gimple_call_return_flags): Declare.
- (gimple_call_arg_flags): Likewise.
- * gimple.c (gimple_call_arg_flags): New function.
- (gimple_call_return_flags): Likewise.
- * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
- New argument flags.
- (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
- return value flags.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
- * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
- main work to ...
- (make_heapvar_for): ... this new function.
- (handle_rhs_call): Handle fnspec attribute argument specifiers.
- (handle_lhs_call): Likewise.
- (find_func_aliases): Adjust.
-
-2010-05-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/44050
- * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
-
-2010-05-10 Wei Guozhi <carrot@google.com>
-
- PR target/42879
- * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
-
-2010-05-09 Joseph Myers <joseph@codesourcery.com>
-
- PR c/10676
- * c-typeck.c (lookup_field): Take a type directly. Update
- recursive calls.
- (build_component_ref): Update call to lookup_field.
- (set_init_label): Use lookup_field to find initialized field.
- Handle returned list of fields like a sequence of designators.
-
-2010-05-09 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/44024
- * fold-const.c (tree_single_nonzero_warnv_p): Properly
- handle &FUNCTION_DECL.
-
-2010-05-09 Joseph Myers <joseph@codesourcery.com>
-
- PR c/4784
- * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
- structures and unions recursively.
- (detect_field_duplicates): Move duplicate detection with a hash to
- detect_field_duplicates_hash. Always use a hash if anonymous
- structures or unions are present.
- * doc/extend.texi (Unnamed Fields): Document that duplicate fields
- give errors.
-
-2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/44046
- * config/i386/driver-i386.c (host_detect_local_cpu): Properly
- detect Atom, Core 2 and Core i7.
-
-2010-05-09 Richard Guenther <rguenther@suse.de>
-
- * gcc.c (store_arg): Handle temporary file deletion for
- joined arguments.
-
-2010-05-09 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/44043
- * ipa-inline.c (estimate_function_body_sizes): Return after
- disregarding inline limits.
-
-2010-05-09 Richard Guenther <rguenther@suse.de>
-
- * gcc.c (store_arg): Revert last change.
-
-2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
-
- PR middle-end/28685
- * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
- (optimize_ops_list): Call it.
-
-2010-05-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/44030
- * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
- NECESSARY flag if we propagate from a inserted expression.
-
-2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
- domain types as equal if they are both PLACEHOLDER_EXPRs.
-
-2010-05-08 Richard Guenther <rguenther@suse.de>
-
- * lto-wrapper.c (run_gcc): Remove linker output from
- command line for LTRANS invocation.
-
-2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
- lto-macho as lto_binary_reader.
- * target.h (struct gcc_target): New hooks lto_start and lto_end.
- * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
- * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
- in lto_start and lto_end calls.
- (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
- magic numbers.
- (scan_prog_file): Update is_elf_or_coff call.
- * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
-
- * collect2.c (main): Fix enum comparison.
-
- * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
- Add prototypes.
- * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
- * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
- and TARGET_ASM_LTO_END.
- * darwin.c: Include obstack.h and lto-streamer.h.
- (lto_section_names_offset, lto_section_names_obstack,
- lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
- global variables.
- (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
- (darwin_asm_lto_start): New function. Redirect output to asm_out_file
- to a temporary file.
- (darwin_asm_lto_end): New function. Restore asm_out_file.
- (darwin_asm_named_section): For LTO sections, replace the name with
- the offset of the section name in a string table, and build this
- table.
- (darwin_file_start): Initialize global vars for LTO support.
- (darwin_file_end): If output to asm_out_file was redirected, append it
- to the proper asm_out_file here. Add the section names section.
-
-2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * c-pragma.c (pending_weak_d, pending_weak): New.
- (pending_weaks): Change the type to VEC((pending_weak,gc) *.
- (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
- handle_pragma_weak): Update the uses of pending_weaks.
-
-2010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR documentation/44016
- * doc/standards.texi (Standards): Link to unversioned
- cxx0x_status.html page.
-
-2010-05-07 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/43708
- * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
- in addition to TREE_USED, to avoid "set but unused" warnings.
-
-2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
-
- * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
- (is_loop_prefetching_profitable): Do not insert prefetches
- when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
- times the prefetch ahead distance.
-
-2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
-
- * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
- Account for loop unrolling in the insn-to-prefetch ratio heuristic.
- (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
- the unroll_factor.
-
-2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
-
- * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
- a diagnostic info when the insn-to-mem ratio is too small.
-
-2010-05-07 Richard Guenther <rguenther@suse.de>
-
- * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
- the linker plugin.
- (store_arg): Queue temp_filename for deletion instead of
- the whole argument.
-
-2010-05-07 Richard Guenther <rguenther@suse.de>
-
- * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
- (run_gcc): Handle LTRANS phase invocation.
- * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
-
-2010-05-07 Jakub Jelinek <jakub@redhat.com>
-
- * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
- this is also meaningful on PARM_DECLs and RESULT_DECLs.
-
-2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
-
-2010-05-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/44020
- * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
- code when PRE is not yet initialized.
-
-2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/dbxmdebug.h: Remove.
- * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
-
-2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
-
- * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
- with null pointer and also warn about ordered comparison of zero with
- pointer if -Wextra.
-
-2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
-
- * graphite-blocking.c
- (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
- * graphite-clast-to-gimple.c
- (clast_to_gcc_expression): Same.
- (precision_for_value): Same.
- (precision_for_interval): Same.
- (gcc_type_for_interval): Same.
- (graphite_create_new_guard): Same.
- (compute_bounds_for_level): Same.
- (graphite_create_new_loop_guard): Same.
- * graphite-interchange.c
- (build_linearized_memory_access): Same.
- (pdr_stride_in_loop): Same.
- (memory_strides_in_loop_1): Same.
- (memory_strides_in_loop): Same.
- (extend_scattering): Same.
- (psct_scattering_dim_for_loop_depth): Same.
- (pbb_number_of_iterations): Same.
- * graphite-poly.h
- (debug_iteration_domains): Same.
- * graphite-ppl.c
- (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
- (ppl_set_inhomogeneous_gmp): Same.
- (ppl_strip_loop): Same.
- (ppl_lexico_compare_linear_expressions): Same.
- (ppl_read_polyhedron_matrix): Same.
- (ppl_max_for_le_pointset): Same.
- * graphite-ppl.h
- (ppl_read_polyhedron_matrix): Same.
- (tree_int_to_gmp): Same.
- (gmp_cst_to_tree): Same.
- (ppl_set_inhomogeneous): Same.
- (ppl_set_inhomogeneous_tree): Same.
- (ppl_set_coef): Same.
- (ppl_set_coef_tree): Same.
- * graphite-sese-to-poly.c
- (build_pbb_scattering_polyhedrons): Same.
- (build_scop_scattering): Same.
- (scan_tree_for_params_right_scev): Same.
- (scan_tree_for_params): Same.
- (find_params_in_bb): Same.
- (find_scop_parameters): Same.
- (add_upper_bounds_from_estimated_nit): Same.
- (build_loop_iteration_domains): Same.
- (add_condition_to_domain): Same.
- (pdr_add_memory_accesses): Same.
-
-2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
-
- * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
- CLooG's value_* macros to their respective mpz_* counterparts.
- * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
- (graphite_create_new_loop_guard): Same.
- * graphite-interchange.c (build_linearized_memory_access): Same.
- (pdr_stride_in_loop): Same.
- (memory_strides_in_loop_1): Same.
- (1st_interchange_profitable_p): Same.
- * graphite-poly.c (extend_scattering): Same.
- (psct_scattering_dim_for_loop_depth): Same.
- (pbb_number_of_iterations): Same.
- (pbb_number_of_iterations_at_time): Same.
- * graphite-poly.h (new_1st_loop): Same.
- * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
- (oppose_constraint): Same.
- (insert_constraint_into_matrix): Same.
- (ppl_set_inhomogeneous_gmp): Same.
- (ppl_set_coef_gmp): Same.
- (ppl_strip_loop): Same.
- (ppl_lexico_compare_linear_expressions): Same.
- (ppl_max_for_le_pointset): Same.
- (ppl_min_for_le_pointset): Same.
- (ppl_build_realtion): Same.
- * graphite-ppl.h (gmp_cst_to_tree): Same.
- (ppl_set_inhomogeneous): Same.
- (ppl_set_inhomogeneous_tree): Same.
- (ppl_set_coef): Same.
- (ppl_set_coef_tree): Same.
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
- (build_scop_scattering): Same.
- (add_value_to_dim): Same.
- (scan_tree_for_params_right_scev): Same.
- (scan_tree_for_params_int): Same.
- (scan_tree_for_params): Same.
- (find_params_in_bb): Same.
- (find_scop_parameters): Same.
- (add_upper_bounds_from_estimated_nit): Same.
- (build_loop_iteration_domains): Same.
- (create_linear_expr_from_tree): Same.
- (add_condition_to_domain): Same.
- (pdr_add_memory_accesses): Same.
-
-2010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
- Jason Merrill <jason@redhat.com>
-
- * c-common.c (c_common_reswords): Add nullptr.
- * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
- * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
- (gen_type_die_with_usage): Likewise.
- * dbxout.c (dbxout_type): Likewise.
- * sdbout.c (plain_type_1): Likewise.
-
-2010-05-06 Jason Merrill <jason@redhat.com>
-
- * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
- Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
- ret appropriately.
- (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
-
- * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
- stripping WITH_SIZE_EXPR.
- (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
- change.
-
-2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
- list of obsolete configurations.
- Disabled check for obsolete configurations.
- (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
- Removed support for previous versions.
- * config/mips/iris.h: Removed.
- * config/mips/iris5.h: Removed.
- * config/mips/iris6.h: Merged old iris.h contents.
- (TARGET_IRIX): Removed.
- (DRIVER_SELF_SPECS): Removed mabi=32.
- (IDENT_ASM_OP): Removed undef.
- (STARTFILE_SPEC): Removed mabi=32.
- (ENDFILE_SPEC): Likewise.
- (IRIX_SUBTARGET_LINK_SPEC): Likewise.
- (MACHINE_TYPE): Update for IRIX 6.5.
- * config/mips/mips.c (mips_build_builtin_va_list): Replaced
- TARGET_IRIX by TARGET_IRIX6.
- (mips_file_start): Likewise.
- (mips_output_external): Remove IRIX 5/6 O32 support.
- (mips_output_function_prologue): Likewise.
- * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
- TARGET_IRIX6.
- (TARGET_CPU_CPP_BUILTINS): Likewise.
- (TARGET_IRIX): Removed.
- * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
- (MULTILIB_DIRNAMES): Removed 32.
- (MULTILIB_OSDIRNAMES): Removed ../lib.
- * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
- (Specific, mips-sgi-irix5): Document removal.
- (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
- Remove references to older IRIX 6 releases and the O32 ABI.
-
-2010-05-06 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/43994
- * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
- instead of DF_REF_REAL_REG.
-
-2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/43888
- * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
- handling to still return true for x64 targets.
-
-2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
-
-2010-05-06 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/43791
- * ipa-inline.c (update_caller_keys): Remove bogus
- disregard_inline_limits check.
-
-2010-05-06 Michael Matz <matz@suse.de>
-
- PR tree-optimization/43984
- * tree-ssa-pre.c (inserted_phi_names): Remove.
- (inserted_exprs): Change to bitmap.
- (create_expression_by_pieces): Set bits, don't append to vector.
- (insert_into_preds_of_block): Don't handle inserted_phi_names.
- (eliminate): Don't look at inserted_phi_names, remove deleted
- insns from inserted_exprs.
- (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
- (init_pre, fini_pre): Allocate and free bitmaps.
- (execute_pre): Insert insns on edges before elimination.
-
-2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * tree.c (initializer_zerop): Handle STRING_CST.
-
-2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 40989
- * doc/invoke.texi (Wimplicit): Document as C only.
- * opts.c (common_handle_option): Add argument kind.
- (handle_option): Rename as read_cmdline_option. Factor out code to...
- (handle_option): ... here. New.
- (handle_options): Rename as read_cmdline_options.
- (decode_options): Update call.
- (set_option): Use option index instead of option pointer. Classify
- diagnostics correctly.
- (enable_warning_as_error): Call handle_option.
- * opts.h (set_option): Update declaration.
- (handle_option): Declare.
- * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
- * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
- * c-opts.c (set_Wimplicit): Delete.
- (c_family_lang_mask): New static constant.
- (c_common_handle_option): Add argument kind. Use handle_option
- instead of set_Wimplicit.
- (c_common_post_options): warn_implicit and warn_implicit_int
- are disabled by default.
- * c-common.c (warn_implicit): Do not define here.
- * c-common.h (warn_implicit): Do not declare here.
- (c_common_handle_option): Update declaration.
- * lto-opts.c (lto_reissue_options): Update call to set_option.
-
-2010-05-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43571
- * domwalk.c (walk_dominator_tree): Walk the dominator
- sons in more optimal order.
-
-2010-05-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43934
- * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
- (stmt_cost): Likewise.
- (extract_true_false_args_from_phi): New helper.
- (determine_max_movement): For PHI nodes verify we can hoist them
- and compute their cost.
- (determine_invariantness_stmt): Handle PHI nodes.
- (move_computations_stmt): Likewise. Hoist PHI nodes in
- if-converted form using COND_EXPRs.
- (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
- (tree_ssa_lim): Likewise.
- * tree-flow.h (tree_ssa_lim): Adjust prototype.
- * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
-
-2010-05-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43987
- * tree-ssa-structalias.c (could_have_pointers): For possibly
- address-taken variables force pointers to be recorded.
- (create_variable_info_for_1): Likewise.
- (push_fields_onto_fieldstack): Pass in wheter all fields
- must have pointers.
- (find_func_aliases): Query types instead of vars whether
- they contain pointers where appropriate.
-
-2010-05-06 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c (record_reference_ctx): Add varpool_node.
- (record_reference, mark_address, mark_load, mark_store): Record
- references.
- (record_references_in_initializer): Update call of record_references.
- (rebuild_cgraph_edges): Remove all references before rebuiding.
- * cgraph.c (cgraph_create_node): Clear ref list.
- (cgraph_remove_node): Remove references.
- (dump_cgraph_node): Dump references.
- (cgraph_clone_node): Clone references.
- * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
- (struct cgraph_node, varpool_node): Add ref_lst.
- * ipa-ref.c: New file.
- * ipa-ref.h: New file.
- * ipa-ref-inline.h: New file.
- * lto-cgraph.c (output_varpool): Take cgrag node set argument.
- (referenced_from_other_partition_p): New function.
- (lto_output_varpool_node): Take set arugment; call
- referenced_from_other_partition.
- (lto_output_ref): New.
- (add_references): New.
- (output_refs): New.
- (output_cgraph): Compute boundary based on references; output refs.
- (output_varpool): Accept cgraph_node_set argument.
- (input_ref): New.
- (input_refs): New.
- (input_cgraph): Call input_refs.
- * lto-section-in.c (lto_section_name): Add refs.
- * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
- (ipa-ref.o): New file.
- * varpool.c (varpool_node): Clear ipa ref list.
- (varpool_remove_node): Remove references.
- (dump_varpool_node): Dump references.
- (varpool_assemble_decl): Only compile finalized ones.
- (varpool_extra_name_alias): Initialize ref list.
- * lto-streamer.c (lto-get_section_name): Add .refs section.
- * lto-streamer.h (lto_section_type): Add LTO_section_refs.
- (referenced_from_other_partition_p): Declared.
-
-2010-05-06 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/43901
- * tree-vect-stmts.c (vectorizable_call): Assert that vector
- type is not NULL if it's transformation phase, and return
- FALSE if it's analysis.
- (vectorizable_conversion, vectorizable_operation,
- vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
-
-2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
-
- * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
- Delete.
- * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
- New define.
- * config/mips/mips-protos.h
- (mips_small_register_classes_for_mode_p): Delete prototype.
-
-2010-05-06 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
- * config/arm/arm.c (multiple_operation_profitable_p,
- compute_offset_order): New static functions.
- (load_multiple_sequence, store_multiple_sequence): Use them.
- Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
- memory offsets, not register numbers.
- (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
-
-2010-05-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
- (get_pending_sizes, put_pending_size, put_pending_sizes):
- Update the uses of pending_sizes.
- * c-decl.c (store_parm_decls): Likewise.
- * c-tree.h (struct c_arg_info): Likewise.
- * tree.h: Update the prototype for get_pending_sizes and
- put_pending_sizes.
-
-2010-05-05 Jason Merrill <jason@redhat.com>
-
- PR debug/43370
- * c-common.c (handle_aligned_attribute): Respect
- ATTR_FLAG_TYPE_IN_PLACE.
-
- PR testsuite/43758
- * target.h (struct gcc_target): Add attribute_takes_identifier_p.
- * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
- (TARGET_INITIALIZER): Use it.
- * c-common.c (attribute_takes_identifier_p): Call it.
- * c-common.h: Update prototype.
- * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
- (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
-
-2010-05-05 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43950
- * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
- DW_ID_down_case for Fortran compilation units.
-
-2010-05-05 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
- handle aliases.
-
-2010-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
- a variable-sized RESULT_DECL.
-
-2010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
-
-2010-05-05 Jason Merrill <jason@redhat.com>
-
- PR c++/43787
- * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
- returns GS_OK.
- (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
-
-2010-05-05 Alexandre Oliva <aoliva@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43478
- * df-problems.c (struct dead_debug_use, struct dead_debug): New.
- (dead_debug_init, dead_debug_finish): New functions.
- (dead_debug_add, dead_debug_insert_before): Likewise.
- (df_note_bb_compute): Initialize a dead_debug object, add dead
- debug uses to it, insert debug bind insns before death insns,
- reset debug insns that refer to pending uses at the end.
- * rtl.h (make_debug_expr_from_rtl): New prototype.
- * varasm.c (make_debug_expr_from_rtl): New function.
-
-2010-05-05 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
- (lto_varpool_encoder_new, lto_varpool_encoder_delete,
- lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
- lto_varpool_encoder_deref, lto_varpool_encoder_size,
- lto_varpool_encoder_encode_initializer_p,
- lto_set_varpool_encoder_encode_initializer): New functions.
- (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
- call output_varpool.
- (input_varpool_node): Do not always set analyzed.
- (input_cgraph_1): Return vector of cgraph nodes.
- (input_varpool_1): Return vector of varpools.
- (input_cgraph): Free the vectors.
- * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
- output only initializers needed.
- (lto_output): Only call output_cgraph.
- (produce_asm_for_decls): Call lto_varpool_encoder_delete.
- * lto-section-out.c (lto_new_out_decl_state): Initialize
- state->varpool_node_encoder.
- * lto-streamer.h (lto_varpool_encoder_d): New.
- (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
- (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
- (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
- lto_varpool_encoder_encode, lto_varpool_encoder_delete,
- lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
- Declare.
- (output_varpool, input_varpool): Remove declarations.
-
-2010-05-05 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
- with body can prevail.
-
-2010-05-05 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
- size.
-
-2010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
-
- * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
-
- * gengtype.h (erro_at_line): Constify pos argument.
-
- * gengtype.c: Include hashtab.h.
- (enum gc_used): Document GC_MAYBE_POINTED_TO.
- (error_at_line): Constify pos argument.
- (do_typedef): Initialize p->opt field.
- (get_file_gtfilename): Fix comment typo.
- (struct walk_type_data): Constify line field.
- (get_output_file_for_structure): New function.
- (write_local_func_for_structure): Constify orig_s argument.
- Use get_output_file_for_structure.
- (write_func_for_structure): Use get_output_file_for_structure.
- (INDENT): New define.
- (dump_pair, dump_type, dump_type_list, dump_typekind)
- (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
- (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
- functions.
- (seen_types): New variable.
- (main): New variable do_dump. Process "-d" command line option.
- Call dump_everything if dump requested.
-
-2010-05-05 Jakub Jelinek <jakub@redhat.com>
-
- * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
- in a temporary instead of invoking the macro multiple times.
- (track_expr_p): Likewise.
-
-2010-05-04 Neil Vachharajani <nvachhar@google.com>
-
- * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
- per new semantics.
- * opts.c (decode_options): Enable -Werror=coverage-mismatch.
- * coverage.c (get_coverage_counts): Always emit a warning. Adjust
- conditions for printing notes.
- * common.opt (-Wcoverage-mismatch): Allow negative, default to
- true, update documentation.
- * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
-
-2010-05-04 Jakub Jelinek <jakub@redhat.com>
-
- PR c/43981
- * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
- on dimen.
-
-2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/43799
- * config/i386/i386.md (sse_prologue_save): Clobber CC register.
- (*sse_prologue_save_insn1): Likewise.
- (SSE prologue save splitter): Likewise.
-
-2010-05-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.c (free_lang_data_in_one_sizepos): New inline function.
- (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
- types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
- (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
- all decls. Call it on DECL_FIELD_OFFSET of fields.
- (find_decls_types_r): Follow DECL_VALUE_EXPR.
- (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
-
-2010-05-04 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (build_access_from_expr_1): The first parameter type
- changed to simple tree.
- (build_access_from_expr): Likewise, gsi parameter was eliminated.
- (scan_assign_result): Renamed to assignment_mod_result, enum elements
- renamed as well.
- (build_accesses_from_assign): Removed all parameters except for a
- simple gimple statement. Now returns a simple bool.
- (scan_function): All non-analysis parts moved to separate functions
- sra_modify_function_body and ipa_sra_modify_function_body. Removed all
- parameters and updated both callers.
- (sra_modify_expr): Removed parameter data.
- (sra_modify_function_body): New function.
- (perform_intra_sra): Call sra_modify_function_body to modify the
- function body.
- (replace_removed_params_ssa_names): Parameter data changed into
- adjustments vector.
- (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
- changed the parameter dont_convert to convert with the opposite
- meaning.
- (sra_ipa_modify_assign): Parameter data changed into adjustments
- vector, return value changed to bool.
- (ipa_sra_modify_function_body): New function.
- (sra_ipa_reset_debug_stmts): Updated a comment.
- (modify_function): Use ipa_sra_modify_function_body to modify function
- body.
-
-2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/43671
- * alias.c (true_dependence): Handle the same VALUE in x and mem.
- (canon_true_dependence): Likewise.
- (write_dependence_p): Likewise.
-
-2010-05-04 Jan Hubicka <jh@suse.cz>
-
- * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
- * cgraphbuild.c: Include ipa-utils.h
- (record_reference_ctx): New struct.
- (record_reference): Simplify to work on initializers; not statements.
- (mark_address, mark_load, mark_store): New.
- (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
- walk PHI nodes too.
- (record_references_in_initializer): Update use of record_reference.
- (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
- walk PHI nodes too.
-
-2010-05-04 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
- node will be removed anyway.
- (lto_varpool_replace_node): Allow also unanalyzed nodes;
- relink aliases of node into prevailing node.
- * varpool.c (varpool_remove_node): Remove aliases properly;
- when removing node, remove all its aliases too; remove DECL_INITIAL
- of removed node; ggc_free the varpool node.
-
-2010-05-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43879
- * tree-ssa-structalias.c (alias_get_name): Use
- DECL_ASSEMBLER_NAME if available.
- (create_function_info_for): Return the varinfo node.
- (ipa_pta_execute): Associate same-body aliases and extra names
- with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
-
-2010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
-
-2010-05-04 Mikael Pettersson <mikpe@it.uu.se>
-
- PR bootstrap/43964
- * ira-color.c (assign_hard_reg): Declare rclass and add_cost
- only if HONOR_REG_ALLOC_ORDER is not defined.
-
-2010-05-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43949
- * tree-vrp.c (extract_range_from_binary_expr): Only handle
- TRUNC_MOD_EXPR.
-
-2010-04-26 Jason Merrill <jason@redhat.com>
-
- * c.opt (-fstrict-enums): New.
- * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
-
-2010-05-03 David Ung <davidu@mips.com>
- James E. Wilson <wilson@codesourcery.com>
-
- * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
- emit the trap instruction before the divide for TUNE_74K.
-
-2010-05-03 Steven Bosscher <steven@gcc.gnu.org>
-
- * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
- (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
- based on the above, for new target hook.
-
- * hooks.c (hook_bool_mode_true): New generic hook.
- * hooks.h (hook_bool_mode_true): Add prototype.
-
- * target.h (struct gcc_target): Add small_register_classes_for_mode_p
- target hook.
- * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
- target hook, set to hook_bool_mode_false.
- * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
- * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
- with targetm.small_register_classes_for_mode_p.
- (find_reusable_reload): Likewise.
- (combine_reloads): Likewise.
- * reload1.c (reload_as_needed): Likewise.
- * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
- * ifcvt.c (noce_process_if_block, check_cond_move_block,
- dead_or_predicable): Likewise.
- * regmove.c (optimize_reg_copy_1): Likewise.
- * calls.c (prepare_call_address): Likewise.
- (precompute_register_parameters): Likewise.
-
- * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
- hook definition.
- * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
- implementation of the hook that considers all register classes
- small except for SH64.
- (sh_override_options): Use the new hook.
- * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
- Add prototype.
-
- * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
- hook definition.
- * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
- implementation of the hook that considers all register classes
- small for THUMB1.
- * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
- Add prototype.
-
- * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
- hook definition.
- * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
- implementation of the hook that considers all register classes
- small for MIPS16.
- * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
- Add prototype.
-
- * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
- hook definition.
- * config/m32c/m32c.h: Likewise.
- * config/pdp11/pdp11.h: Likewise.
- * config/avr/avr.h: Likewise.
- * config/xtensa/xtensa.h: Likewise.
- * config/m68hc11/m68hc11.h: Likewise.
- * config/mn10300/mn10300.h: Likewise.
- * config/mcore/mcore.h: Likewise.
- * config/h8300/h8300.h: Likewise.
- * config/bfin/bfin.h: Likewise.
-
- * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
- * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
-
-2010-05-03 Anatoly Sokolov <aesok@post.ru>
-
- * double-int.h (tree_to_double_int): Remove macro.
- (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
- * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
- (tree_to_double_int): New function.
- * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
- Move ...
- * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
-
-2010-05-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43971
- * tree-ssa-structalias.c (get_constraint_for_1): Fix
- constraints in the !flag_delete_null_pointer_checks case.
-
-2010-05-03 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43972
- * config/i386/i386.c (ix86_delegitimize_address): Make sure the
- result mode matches original rtl mode.
-
-2010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/43888
- * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
-
-2010-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
- when processing flag options.
-
-2010-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * gcov-iov.c (main): Change format string placeholder
- from %#08x to 0x%08x.
- * genchecksum.c (dosum): Change format string placeholder
- from %#02x to 0x%02x.
-
-2010-05-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43879
- * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
-
-2010-05-02 Bruno Haible <bruno@clisp.org>
-
- * doc/extend.texi (Function Attributes): Fix a typo.
-
-2010-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- Revert:
- * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
- placeholder from 0x%x to %#x.
- (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
- * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/i386.c (ix86_target_string): Ditto.
- * config/i386/i386.c (output_pic_addr_const): Ditto.
- (print_operand): Ditto.
-
-2010-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
- placeholder from 0x%x to %#x.
- (ASM_OUTPUT_DEBUG_DATA1): Ditto.
- (ASM_OUTPUT_DEBUG_DATA4): Ditto.
- (ASM_OUTPUT_DEBUG_DATA): Ditto.
- (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
- (ASM_OUTPUT_DEBUG_DATA8): Ditto.
- * optc-gen.awk: Ditto.
- * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
- (HOST_WIDE_INT_PRINT_HEX): Ditto.
- (HOST_WIDEST_INT_PRINT_HEX): Ditto.
- (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
-
-2010-05-01 Anatoly Sokolov <aesok@post.ru>
-
- * target.h (struct calls): Add function_value_regno_p field.
- * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
- (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
- * targhooks.c (default_function_value_regno_p): New function.
- * targhooks.h (default_function_value_regno_p): Declare function.
- * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
- * builtins.c. (apply_result_size): (Ditto.).
- * combine.c. (likely_spilled_retval_p): (Ditto.).
- * mode-switching.c. Include 'target.h'.
- (create_pre_exit): Use function_value_regno_p hook.
- * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
- * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
- TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
-
- * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
- * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
- (ix86_function_value_regno_p): Declare as static, change argument
- type to const unsigned int.
- * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
-
-2010-05-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43949
- * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
- types.
- (extract_range_from_binary_expr): Handle *_MOD_EXPR.
-
-2010-05-01 Anatoly Sokolov <aesok@post.ru>
-
- * rtl.h (CONST_DOUBLE_P): Define.
- (rtx_to_double_int): Declare.
- * emit-rtl.c (rtx_to_double_int): New function.
- * dwarf2out.c (insert_double): New function.
- (loc_descriptor, add_const_value_attribute): Clean up, use
- rtx_to_double_int and insert_double functions.
-
-2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/extend.texi (Inline): Add missing return keyword to examples.
- (Function Attributes, Variable Attributes, Pragmas): Hyphenate
- "command-line".
-
-2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
- the variable part of the offset as well. Use highest_pow2_factor for
- all alignment checks.
-
-2010-04-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43879
- * tree-ssa-structalias.c (type_could_have_pointers): Functions
- can have pointers.
-
-2010-04-30 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
- varpool.
- (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
-
-2010-04-30 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
- New.
- * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
- * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
- (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
- cgraph_node_set_needs_ltrans_p): Remove.
-
-2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
-
- * sdbout.c: Include vec.h, do not include varray.h.
- (deferred_global_decls, sdbout_global_decl,
- sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
- * toplev.c: Do not include varray.h.
- (dump_memory_report): Do not dump VARRAY statistics.
- * gengtype.c (open_base_file): Ignore varray.h.
- * Makefile.in: Update for abovementioned changes.
- Remove all traces of varray.c and varray.h.
- * varray.c: Remove file.
- * varray.h: Remove file.
-
-2010-04-30 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
- references.
-
-2010-04-30 Jan Hubicka <jh@suse.cz>
-
- * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
- needed.
-
-2010-04-30 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (get_constraint_for_1): Generate
- constraints for CONSTRUCTOR.
-
-2010-04-30 Richard Guenther <rguenther@suse.de>
-
- PR lto/43946
- * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
- first after all lowering passes.
-
-2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
-
- * toplev.c: Include varray.h for statistics dumping.
- * tree.h: Do not declare varray_head_tag.
- * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
- regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
- c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
- gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
- lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
- tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
- c-common.c, c-common.h, reg-stack.c, basic-block.h,
- tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
- include varray.h.
- * Makefile.in: Update for abovementioned changes.
-
-2010-04-30 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43942
- * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
-
-2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
-
- * config/picochip/picochip.c (picochip_legitimize_address): Define.
- Use this function to do machine-specific conversion.
- (picochip_legitimize_reload_address): Likewise.
- (picochip_legitimate_address_p): Check valid base register only if
- strict.
- (picochip_check_conditional_copy): Check for modw only if opnd is
- register.
- * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
- to call the function in c.
- * config/picochip/picochip-protos.h
- (picochip_legitimize_reload_address): Define.
- * config/picochip/picochip.md (supported_compare1): Define.
-
-2010-04-30 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (cgraph_local_info): Remove for_functions_valid.
- (cgraph_global_info): Remove inlined.
- (LTO_cgraph_tag_names): Remove.
- (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
- * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
- simplify cgraph tags and document.
- (lto_output_node): Use only LTO_cgraph_unavail_node and
- LTO_cgraph_analyzed_node; Do not save analzed, reachable,
- for_functions_valid, global info, process and output flags.
- (input_overwrite_node): Initialize estimated stack size and
- estimated growth. Do not read flags we no longer store.
- (input_node): Likewise do not read info no longer stored.
- * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
- flag.
-
-2010-04-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43879
- * tree-ssa-structalias.c (get_constraint_for_1): Properly
- handle non-zero initializers.
-
-2010-04-30 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (fold_builtin_1): Delete free (0).
-
-2010-04-29 Jan Hubicka <jh@suse.cz>
-
- * gengtype.c (open_base_files): Add lto-streamer.h
- * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
- (pass_ipa_cp): GGC collect.
- * toplev. (compile_file): Do not output symbols.
- * ipa-inline.c (pass_ipa_inline): Add ggc collect.
- * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
- TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
- * lto-section-in.c: Include ggc.h
- (lto_new_in_decl_state): Alloc in GGC.
- (lto_delete_in_decl_state): Likewise.
- * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
- Collect.
-
-2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/42895
- * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
- ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
- (HONOR_REG_ALLOC_ORDER): Describe new macro.
- * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
- * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
- account only if HONOR_REG_ALLOC_ORDER is not defined.
- * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
- * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
-
-2010-04-29 Jon Grant <04@jguk.org>
-
- * collect2.c (vflag): Change type from int to bool.
- (debug): Likewise.
- (helpflag): New global bool.
- (main): Set vflag and debug with boolean, not integer truth values.
- Accept new "--help" option and output usage text if found.
- * collect2.h (vflag): Update prototype.
- (debug): Likewise.
-
-2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/43936
- * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
-
-2010-04-29 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/43935
- * plugin.h (invoke_plugin_callbacks): Annotate arguments
- with ATTRIBUTE_UNUSED.
-
-2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/43921
- * config/i386/i386.c (get_some_local_dynamic_name): Replace
- INSN_P with NONDEBUG_INSN_P.
- (distance_non_agu_define): Likewise.
- (distance_agu_use): Likewise.
-
-2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
-
- From Dominique d'Humieres <dominiq@lps.ens.fr>
- PR bootstrap/43858
- * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
- test_set.
-
-2010-04-29 Brian Hackett <bhackett1024@gmail.com>
-
- * plugin.h (invoke_plugin_callbacks): New inline function.
- * plugin.c (flag_plugin_added): New global flag.
- (add_new_plugin): Initialize above flag.
- (invoke_plugin_callbacks): Rename to ...
- (invoke_plugin_callbacks_full): ... this.
-
-2010-04-28 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_symtab_entry_def) Add vnode.
- (lto_varpool_replace_node): New.
- (lto_symtab_resolve_symbols): Resolve varpool nodes.
- (lto_symtab_merge_decls_1): Prefer decls with varpool node.
- (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
- * cgraph.h (varpool_node_ptr): New type.
- (varpool_node_ptr): New vector.
- (varpool_node_set_def): New structure.
- (varpool_node_set): New type.
- (varpool_node_set): New vector.
- (varpool_node_set_element_def): New structure.
- (varpool_node_set_element, const_varpool_node_set_element): New types.
- (varpool_node_set_iterator): New type.
- (varpool_node): Add prev pointers, add used_from_other_partition,
- in_other_partition.
- (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
- varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
- varpool_get_node, varpool_remove_node): Declare.
- (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
- varpool_node_set_size): New inlines.
- * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
- * tree-pass.h (varpool_node_set_def): Forward declare.
- (ipa_opt_pass_d): Summary writting takes vnode sets too.
- (ipa_write_optimization_summaries): Update prototype.
- * ipa-cp.c (ipcp_write_summary): Update.
- * ipa-reference.c (ipa_reference_write_summary): Update.
- * lto-cgraph.c (lto_output_varpool_node): New static function.
- (output_varpool): New function.
- (input_varpool_node): New static function.
- (input_varpool_1): New function.
- (input_cgraph): Input varpool.
- * ipa-pure-const.c (pure_const_write_summary): Update.
- * lto-streamer-out.c (lto_output): Update, output varpool too.
- (write_global_stream): Kill WPA hack.
- (produce_asm_for_decls): Update.
- (output_alias_pair_p): Handle variables.
- (output_unreferenced_globals): Output only needed partition of varpool.
- * ipa-inline.c (inline_write_summary): Update.
- * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
- cgraph.
- * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
- * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
- varpool_node_set_new, varpool_node_set_add,
- varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
- debug_varpool_node_set): New functions.
- * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
- (execute_one_pass): Process new decls too.
- (ipa_write_summaries_2): Pass around vsets.
- (ipa_write_summaries_1): Likewise.
- (ipa_write_summaries): Build vset; be more selective about cgraph nodes
- to add.
- (ipa_write_optimization_summaries_1): Pass around vsets.
- (ipa_write_optimization_summaries): Likewise.
- * varpool.c (varpool_get_node): New.
- (varpool_node): Update doubly linked lists.
- (varpool_remove_node): New.
- (dump_varpool_node): More dumping.
- (varpool_enqueue_needed_node): Update doubly linked lists.
- (decide_is_variable_needed): Kill ltrans hack.
- (varpool_finalize_decl): Kill lto hack.
- (varpool_assemble_decl): Skip decls in other partitions.
- (varpool_assemble_pending_decls): Update doubly linkes lists.
- (varpool_empty_needed_queue): Likewise.
- (varpool_extra_name_alias): Likewise.
- * lto-streamer.c (lto_get_section_name): Add vars section.
- * lto-streamer.h (lto_section_type): Update.
- (output_varpool, input_varpool): Declare.
-
-2010-04-28 Mike Stump <mikestump@comcast.net>
-
- * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
-
-2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
- record or union type with RECORD_OR_UNION_TYPE_P predicate.
- (lto_input_ts_type_tree_pointers): Likewise.
- * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
- (lto_output_ts_type_tree_pointers): Likewise.
-
-2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
-
- Uniquization of constants at the Tree level
- * tree.h (DECL_IN_CONSTANT_POOL): New macro.
- (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
- bit to the end.
- (tree_output_constant_def): Declare.
- * gimplify.c (gimplify_init_constructor): When using block copy, first
- uniquize the constant constructor on the RHS.
- * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
- DECL_IN_CONSTANT_POOL flag.
- * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
- * varasm.c (make_decl_rtl): Deal with variables belonging to the global
- constant pool.
- (assemble_variable): Deal with symbols belonging to the tree constant
- pool.
- (get_constant_section): Add ALIGN parameter and simplify.
- (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
- (assemble_constant_contents): Use the expression of the VAR_DECL.
- (output_constant_def_contents): Use the alignment of the VAR_DECL.
- (tree_output_constant_def): New global function.
- (mark_constant): Use the expression of the VAR_DECL.
- (place_block_symbol): Use the alignment of the VAR_DECL and the size of
- its expression.
- (output_object_block): Likewise and assemble the expression.
-
-2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
- hash_tree, eq_tree): New tree hash table.
- (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
- [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
- lto_orig_address_remove): Reimplement.
-
-2010-04-28 Xinliang David Li <davidxl@google.com>
-
- PR c/42643
- * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
- (compute_uninit_opnds_pos): New function.
- (is_non_loop_exit_postdominating): New function.
- (compute_control_dep_chain): New function.
- (find_pdom): New function.
- (convert_control_dep_chain_into_preds): New function.
- (find_predicates): New function.
- (find_control_equiv_block): New function.
- (collect_phi_def_edges): New function.
- (find_def_preds): New function.
- (find_dom): New function.
- (dump_predicates): New function.
- (get_cmp_code): New function.
- (is_value_included_in): New function.
- (find_matching_predicate_in_rest_chains): New function.
- (use_pred_not_overlap_with_undef_path_pred): New function.
- (is_use_properly_guarded): New function.
- (normalize_cond_1): New function.
- (is_and_or_or): New function.
- (normalize_cond): New function.
- (is_gcond_subset_of): New function.
- (is_subset_of_any): New function.
- (is_or_set_subset_of): New function.
- (is_and_set_subset_of): New function.
- (is_norm_cond_subset_of): New function.
- (is_pred_expr_subset_of): New function.
- (is_pred_chain_subset_of): New function.
- (is_included_in): New function.
- (is_superset_of): New function.
- (find_uninit_use): New function.
- (warn_uninitialized_phi): New function.
- (compute_possibly_undefined_names): New function.
- (ssa_undefined_value_p): New function.
- (execute_late_warn_uninitialized): New function.
- * tree-ssa.c (ssa_undefined_value_p): Removed.
- (warn_uninit): Changed to extern.
- (warn_uninitialized_phi): Removed.
- (warn_uninitialized_vars): Changed to extern.
- (execute_late_warn_uninitialized): Removed
- * tree-flow.h: Add new prototypes.
- * timevar.def: Add new time variable.
- * Makefile.in: Add new build file.
-
-2010-04-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
- type if available.
-
-2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/22224
- * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
-
-2010-04-28 Martin Jambor <mjambor@suse.cz>
-
- * cgraph.h (struct cgraph_node): New field indirect_calls.
- (struct cgraph_indirect_call_info): New type.
- (struct cgraph_edge): Removed field indirect_call. New fields
- indirect_info, indirect_inlining_edge and indirect_unknown_callee.
- (cgraph_create_indirect_edge): Declare.
- (cgraph_make_edge_direct): Likewise.
- (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
- * ipa-prop.h (struct ipa_param_call_note): Removed.
- (struct ipa_node_params): Removed field param_calls.
- (ipa_create_all_structures_for_iinln): Declare.
- * cgraph.c: Described indirect edges and uids in initial comment.
- (cgraph_add_edge_to_call_site_hash): New function.
- (cgraph_edge): Search also among the indirect edges, use
- cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
- (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
- one, use cgraph_add_edge_to_call_site_hash to add edges to the call
- site hash.
- (initialize_inline_failed): Assign a reason to indirect edges.
- (cgraph_create_edge_1): New function.
- (cgraph_create_edge): Moved some functionality to
- cgraph_create_edge_1.
- (cgraph_create_indirect_edge): New function.
- (cgraph_edge_remove_callee): Add an assert checking for
- non-indirectness.
- (cgraph_edge_remove_caller): Special-case indirect edges.
- (cgraph_remove_edge): Likewise.
- (cgraph_set_edge_callee): New function.
- (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
- (cgraph_make_edge_direct): New function.
- (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
- the declaration of the call statement matches.
- (cgraph_node_remove_callees): Special-case indirect edges.
- (cgraph_clone_edge): Likewise.
- (cgraph_clone_node): Clone also the indirect edges.
- (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
- indirect_call, dump count of indirect_calls edges.
- * ipa-prop.c (iinlining_processed_edges): New variable.
- (ipa_note_param_call): Create indirect edges instead of
- creating notes. New parameter node.
- (ipa_analyze_call_uses): New parameter node, pass it on to
- ipa_note_param_call.
- (ipa_analyze_stmt_uses): Likewise.
- (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
- (print_edge_addition_message): Work on edges rather than on notes.
- (update_call_notes_after_inlining): Likewise, renamed to
- update_indirect_edges_after_inlining.
- (ipa_create_all_structures_for_iinln): New function.
- (ipa_free_node_params_substructures): Do not free notes.
- (ipa_edge_duplication_hook): Propagate bits within
- iinlining_processed_edges bitmap.
- (ipa_node_duplication_hook): Do not duplicate notes.
- (free_all_ipa_structures_after_ipa_cp): Renamed to
- ipa_free_all_structures_after_ipa_cp.
- (free_all_ipa_structures_after_iinln): Renamed to
- ipa_free_all_structures_after_iinln.
- (ipa_write_param_call_note): Removed.
- (ipa_read_param_call_note): Removed.
- (ipa_write_indirect_edge_info): New function.
- (ipa_read_indirect_edge_info): Likewise.
- (ipa_write_node_info): Do not stream notes, do stream information
- in indirect edges.
- (ipa_read_node_info): Likewise.
- (lto_ipa_fixup_call_notes): Removed.
- * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
- * ipa-inline.c (pass_ipa_inline): Likewise.
- * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
- * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
- * tree-inline.c (copy_bb): Removed an unnecessary double check for
- is_gimple_call.
- * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
- edges.
- * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
- (output_cgraph): Stream also indirect edges.
- (lto_output_edge): Added capability to stream indirect edges.
- (input_edge): Likewise.
- (input_cgraph_1): Likewise.
- * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
- of indirect edges.
-
-2010-04-28 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43879
- PR tree-optimization/43909
- * tree-ssa-structalias.c (struct variable_info): Add
- only_restrict_pointers flag.
- (new_var_info): Initialize it. Increment stats.total_vars here.
- (create_function_info_for): Do not increment stats.total_vars here.
- (get_function_part_constraint): Fix build with C++.
- (insert_into_field_list): Remove.
- (push_fields_onto_fieldstack): Properly merge fields.
- (create_variable_info_for): Split and simplify.
- (create_variable_info_for_1): New piece.
- (intra_create_variable_infos): Properly make restrict constraints
- from parameters.
-
-2010-04-28 Richard Guenther <rguenther@suse.de>
-
- PR c++/43880
- * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
-
-2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
- Jan Hubicka <hubicka@ucw.cz>
-
- * doc/invoke.texi (-Wsuggest-attribute=const,
- -Wsuggest-attribute=pure): Document.
- * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
- (function_always_visible_to_compiler_p,
- suggest_attribute, warn_function_pure, warn_function_const):
- New functions.
- (check_call): Improve debug info.
- (analyze_function): Do not check availability.
- (add_new_function): Check availability.
- (propagate): Output warnings.
- (skip_function_for_local_pure_const): New function.
- (local_pure_const): Use it; output warnings.
- * common.opt (Wsuggest-attribute=const,
- Wsuggest-attribute=pure): New.
-
-2010-04-27 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
- force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
- or DW_CFA_def_cfa_offset{,_sf}.
-
-2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h: Fix truncated long macros.
-
-2010-04-27 Kai Tietz <kai.tietz@onevision.com>
-
- * collect2.c (TARGET_64BIT): Redefine to target's default.
- * tlink.c: Likewise.
- * config/i386/cygming.h (USER_LABEL_PREFIX): Define
- dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
- * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
- for underscoring __USER_LABEL_PREFIX__.
- * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
- (SUB_LINK_ENTRY32): New.
- (SUB_LINK_ENTRY64): New.
- (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
- * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
- (SUB_LINK_ENTRY64): New.
- (SUB_LINK_ENTRY): New.
- (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
- (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
- x64 target is choosen.
- * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
- * configure: Regenerated.
- * configure.ac (leading-mingw64-underscores): Option added.
-
-2010-04-27 Jan Hubicka <jh@suse.cz>
-
- * doc/invoke.texi (-fipa-profile): Document.
- * opts.c (decode_options): Enable ipa-profile at -O1.
- * timevar.def (TV_IPA_PROFILE): Define.
- * common.opt (fipa-profile): Add.
- * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
- flag for clones.
- (cgraph_propagate_frequency): Handle only local ones.
- * tree-pass.h (pass_ipa_profile): Declare.
- * ipa-profile.c (gate_profile): Use flag_ipa_profile.
- (pass_ipa_profile): Use TV_IPA_PROFILE.
- * ipa.c (ipa_profile): New function.
- (gate_ipa_profile): Likewise.
- (pass_ipa_profile): New global variable.
- * passes.c (pass_ipa_profile): New.
-
-2010-04-27 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
-
-2010-04-27 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/43812
- * ipa.c (dissolve_same_comdat_group_list): New function.
- (function_and_variable_visibility): Call
- dissolve_same_comdat_group_list when comdat group contains external or
- newly local nodes.
- * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
- lists are circular and that they contain only DECL_ONE_ONLY nodes.
-
-2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
- (const_hash_1) <VECTOR_CST>: New case.
- (compare_constant) <VECTOR_CST>: Likewise.
- <ADDR_EXPR>: Deal with LABEL_REFs.
- (copy_constant) <VECTOR_CST>: New case.
-
-2010-04-27 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_propagate_frequency): New function.
- * cgraph.h (cgraph_propagate_frequency): Declare.
- * ipa-inline.c (cgraph_clone_inlined_nodes): Call
- cgraph_propagate_frequency.
-
-2010-04-27 Jakub Jelinek <jakub@redhat.com>
-
- * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
-
-2010-04-27 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/40657
- * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
- (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
- here to determine which regs to push and how much stack to reserve.
-
-2010-04-27 Jie Zhang <jie@codesourcery.com>
-
- * doc/gimple.texi (gimple_statement_with_ops): Remove
- addresses_taken field.
- (gimple_statement_with_memory_ops): Likewise.
-
-2010-04-27 Jan Hubicka <jh@suse.cz>
-
- * tree-inline.c (eni_inlining_weights): Remove.
- (estimate_num_insns): Special case more builtins.
-
-2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
-
- PR c/32207
- * c-typeck.c (build_binary_op): Move forward check for comparison
- pointer with null pointer constant and adjust the diagnostic message.
-
-2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR lto/42776
- * configure.ac (gcc_cv_as_section_has_align): Set if installed
- binutils supports extended .section directive needed by LTO, or
- warn if older binutils found.
- (LTO_BINARY_READER): New AC_SUBST'd variable.
- (LTO_USE_LIBELF): Likewise.
- * gcc/config.gcc (lto_binary_reader): New target-specific configure
- variable.
- * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
- (LTO_USE_LIBELF): Likewise.
- * configure: Regenerate.
-
- * collect2.c (is_elf): Rename from this ...
- (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
- object files in addition to ELF-formatted ones.
- (scan_prog_file): Caller updated. Also allow for LTO info marker
- symbol to be prefixed or not by an extra underscore.
-
- * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
- * config/i386/winnt.c: Also #include lto-streamer.h
- (i386_pe_asm_named_section): Specify 1-byte section alignment for
- LTO named sections.
- (i386_pe_asm_output_aligned_decl_common): Add comment.
- (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
-
-2010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR target/43889
- * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
- Add missing earlyclobber for second alternative.
-
-2010-04-26 Bernd Schmidt <bernds@codesourcery.com>
-
- * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
- bits for artificial defs at the top of the block.
- * fwprop.c (single_def_use_enter_block): Don't call it.
-
-2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR 43715
- * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
- instead of "$gcc_cv_objdump -T".
- Use "-undefined dynamic_lookup" on darwin.
- * gcc/configure: Regenerate.
-
-2010-04-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c/43893
- * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
-
-2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
-
- * c-parser.c (struct c_token): Move location field up.
- * c-tree.h (struct c_typespec): Move expr_const_operands field up.
- (struct c_declspecs): Convert typespec_word, storage_class, and
- default_int_p into bitfields.
- (struct c_declarator): Move loc field up.
-
-2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
-
- * cfgloop.h (struct loop): Move can_be_parallel field up.
- * ipa-prop.h (struct ip_node_params): Move bitfields up.
- * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
- down.
- (struct iv_cand): Convert pos field into a bitfield.
- * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
- field up.
- (struct _stmt_vec_info): Shuffle fields for better packing.
-
-2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * varasm.c (IN_NAMED_SECTION): Remove guard.
- * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
- (IN_NAMED_SECTION_P): ...this.
- (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
- (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
-
-2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
- Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
- of shadowing it. Fix comments.
-
-2010-04-26 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_create_node): Set node frequency to normal.
- (cgraph_clone_node): Copy function frequency.
- * cgraph.h (node_frequency): New enum
- (struct cgraph_node): Add.
- * final.c (rest_of_clean_state): Update.
- * lto-cgraph.c (lto_output_node): Output node frequency.
- (input_overwrite_node): Input node frequency.
- * tre-ssa-loop-ivopts (computation_cost): Update.
- * lto-streamer-out.c (output_function): Do not output function
- frequency.
- * predict.c (maybe_hot_frequency_p): Update and handle functions
- executed once.
- (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
- attribute lookup.
- (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
- (compute_function_frequency): Set noreturn functions to be executed
- once.
- (choose_function_section): Update.
- * lto-streamer-in.c (input_function): Do not input function frequency.
- * function.c (allocate_struct_function): Do not initialize function
- frequency.
- * function.h (function_frequency): Remove.
- (struct function): Remove function frequency.
- * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
- (try_update): Update.
- * tree-inline.c (initialize_cfun): Do not update function frequency.
- * passes.c (pass_init_dump_file): Update.
- * i386.c (ix86_compute_frame_layout): Update.
- (ix86_pad_returns): Update.
-
-2010-04-26 Jie Zhang <jie@codesourcery.com>
-
- PR tree-optimization/43833
- * tree-vrp.c (range_int_cst_p): New.
- (range_int_cst_singleton_p): New.
- (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
- when both operands are constants. Use range_int_cst_p in
- BIT_IOR_EXPR case.
-
-2010-04-26 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
-
-2010-04-26 Richard Guenther <rguenther@suse.de>
-
- PR lto/43080
- * gimple.c (gimple_decl_printable_name): Deal gracefully
- with a NULL DECL_NAME.
-
-2010-04-26 Richard Guenther <rguenther@suse.de>
-
- PR lto/42425
- * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
- if emitting debug information and it is either a function
- or a namespace decl.
-
-2010-04-26 Ira Rosen <irar@il.ibm.com>
-
- * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
- determine if the statement is vectorizable, and a macro to access it.
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
- Skip statements that can't be vectorized. If the analysis fails,
- mark the statement as unvectorizable if vectorizing basic block.
- (vect_compute_data_refs_alignment): Likewise.
- (vect_verify_datarefs_alignment): Skip statements marked as
- unvectorizable. Add print.
- (vect_analyze_group_access): Skip statements that can't be
- vectorized. If the analysis fails, mark the statement as
- unvectorizable if vectorizing basic block.
- (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
- * tree-vect-stmts.c (vectorizable_store): Fix the number of
- generated stmts for SLP.
- (new_stmt_vec_info): Initialize the new field.
- * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
- statements marked as unvectorizable.
-
-2010-04-25 Joseph Myers <joseph@codesourcery.com>
-
- * c-common.c (flag_isoc1x): New.
- (flag_isoc99): Update comment.
- * c-common.h (flag_isoc1x): New.
- (flag_isoc99): Update comment.
- * c-cppbuiltin.c (builtin_define_float_constants): Also define
- __<type>_DECIMAL_DIG__.
- * c-opts.c (set_std_c1x): New.
- (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
- (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
- * c.opt (-std=c1x, -std=gnu1x): New options.
- * doc/cpp.texi: Mention -std=c1x.
- * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
- * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
- * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
- * doc/standards.texi: Mention C1X.
- * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
- LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
- LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
- Define for C1X.
-
-2010-04-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/gmon-sol2.c (_mcleanup): Change format string
- placeholder from 0x%x to %#x.
- * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
- * config/i386/i386.c (ix86_target_string): Ditto.
- (output_pic_addr_const): Ditto.
- (print_operand): Ditto.
-
-2010-04-25 Paolo Bonzini <bonzini@gnu.org>
-
- * combine.c (find_split_point): Add third argument. Use it
- to find nested multiply-accumulate instructions. Adjust calls.
- (try_combine): Adjust call to find_split_point.
-
-2010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Dodji Seketeli.
-
-2010-04-24 Bernd Schmidt <bernds@codesourcery.com>
-
- PR tree-optimization/41442
- * fold-const.c (merge_truthop_with_opposite_arm): New function.
- (fold_binary_loc): Call it.
-
-2010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * toplev.c (general_init): Set default for fdiagnostics-show-option.
- * opts.c (common_handle_option): Allow disabling it.
- * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
-
-2010-04-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
- between modes if both types are integral.
-
-2010-04-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43572
- * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
-
-2010-04-23 Richard Guenther <rguenther@suse.de>
-
- PR lto/43455
- * tree-inline.c (tree_can_inline_p): Also check compatibility
- of return types.
-
-2010-04-23 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/43846
- * tree-sra.c (struct access): New flag grp_assignment_read.
- (build_accesses_from_assign): Set grp_assignment_read.
- (sort_and_splice_var_accesses): Propagate grp_assignment_read.
- (enum mark_read_status): New type.
- (analyze_access_subtree): Propagate grp_assignment_read, create
- accesses also if both direct_read and root->grp_assignment_read.
-
-2010-04-23 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/43835
- * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
- function does not have type attributes.
-
-2010-04-23 Richard Guenther <rguenther@suse.de>
-
- PR lto/42653
- * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
- of FUNCTION_DECLs.
-
-2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
-
- * sese.h (create_if_region_on_edge): Remove.
-
- * sese.c (create_if_region_on_edge): Make static.
-
- * tree-inline.c: Do not include ggc.h.
-
- * expr.c: Do not include ggc.h.
-
- * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
- dependencies.
-
-2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/43744
- * config/sh/sh.c (find_barrier): Don't emit a constant pool
- in the middle of insns for casesi_worker_2.
-
-2010-04-22 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
-
-2010-04-22 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/43842
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
- loop unrolling in update of exit phis. Fix comment.
- * tree-vect-slp.c (vect_analyze_slp): Check that there are at
- least two reduction statements in the loop before starting SLP
- analysis.
-
-2010-04-22 Nick Clifton <nickc@redhat.com>
-
- * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
-
-2010-04-22 Alexander Monakov <amonakov@ispras.ru>
-
- * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
- to simplify a + ~a.
-
-2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
-
- * tree-parloops.c (loop_parallel_p): New argument
- parloop_obstack. Pass it down.
- (parallelize_loops): New variable parloop_obstack. Initialize it,
- pass it down, free it.
-
- * tree-loop-linear.c (linear_transform_loops): Pass down
- lambda_obstack.
-
- * tree-data-ref.h (lambda_compute_access_matrices): New argument
- of type struct obstack *.
-
- * tree-data-ref.c (analyze_subscript_affine_affine): New variable
- scratch_obstack. Initialize it, pass down, free it.
-
- * lambda.h (lambda_loop_new): Remove.
- (lambda_matrix_new, lambda_matrix_inverse)
- (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
- argument of type struct obstack *.
-
- * lambda-trans.c (lambda_trans_matrix_new): New argument
- lambda_obstack. Pass it down, use obstack allocation for ret.
- (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
- it down.
-
- * lambda-mat.c (lambda_matrix_get_column)
- (lambda_matrix_project_to_null): Remove.
- (lambda_matrix_new): New argument lambda_obstack. Use obstack
- allocation for mat.
- (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
- lambda_obstack.
-
- * lambda-code.c (lambda_loop_new): New function.
- (lambda_lattice_new, compute_nest_using_fourier_motzkin)
- (lambda_compute_auxillary_space, lambda_compute_target_space)
- (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
- (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
- (build_access_matrix): New argument lambda_obstack. Use obstack
- allocation for am.
- (lambda_compute_step_signs, lambda_compute_access_matrices): New
- argument lambda_obstack. Pass it down.
-
-2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
-
- * optabs.h (expand_widening_mult): Declare.
-
-2010-04-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43845
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
- lookup the CALL_EXPR function and arguments.
-
-2010-04-22 Nick Clifton <nickc@redhat.com>
-
- * config/stormy16/stormy16.c
- (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
- * config/stormy16/stormy16.h: Tidy up formatting.
- (DONT_USE_BUILTIN_SETJMP): Remove definition.
- * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
- (ineqbranchsi): Delete pattern.
- * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
- * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
- * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
- stormy16-lib2-ucmpsi2.c.
-
-2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
-
- * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
- df_simulate_find_noclobber_defs as appropriate. Keep track of an
- extra set merge_set_noclobber, and use it to relax the final test
- slightly.
- * df.h (df_simulate_find_noclobber_defs): Declare.
- * df-problems.c (df_simulate_find_defs): Don't ignore partial or
- conditional defs.
- (df_simulate_find_noclobber_defs): New function.
-
-2010-04-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md: Use {} around multi-line preparation statements.
-
-2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
-
- * c-tree.h (push_init_level, pop_init_level, set_init_index)
- (process_init_element): New argument of type struct obstack *.
-
- * c-typeck.c (push_init_level, pop_init_level, set_designator)
- (set_init_index, set_init_label, set_nonincremental_init)
- (set_nonincremental_init_from_string, find_init_member)
- (output_init_element, output_pending_init_elements)
- (process_init_element): New argument braced_init_obstack. Pass it
- down.
- (push_range_stack, add_pending_init): New argument
- braced_init_obstack. Use obstack allocation.
-
- * c-parser.c (c_parser_initelt, c_parser_initval): New argument
- braced_init_obstack. Pass it down.
- (c_parser_braced_init): New variables ret, braced_init_obstack.
- Initialize obstack, pass it down and finally free it.
-
-2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
-
- PR middle-end/29274
- * tree-pass.h (pass_optimize_widening_mul): Declare.
- * tree-ssa-math-opts.c (execute_optimize_widening_mul,
- gate_optimize_widening_mul): New static functions.
- (pass_optimize_widening_mul): New.
- * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
- <case MULT_EXPR>: Remove support for widening multiplies.
- * tree.def (WIDEN_MULT_EXPR): Tweak comment.
- * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
- simplify_gen_unary rather than directly building extensions.
- * tree-cfg.c (verify_gimple_assign_binary): Add tests for
- WIDEN_MULT_EXPR.
- * expmed.c (expand_widening_mult): New function.
- * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
- * lto-section-in.c (lto_section_name): Remove wpa_fixup.
- * lto-wpa-fixup.c: Remove.
- * Makefile.in (lto-wpa-fixup.o): Remove.
- * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
- (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
- * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
- add write_optimization_summary, read_optimization_summary.
- (ipa_write_summaries_of_cgraph_node_set): Remove.
- (ipa_write_optimization_summaries): Declare.
- (ipa_read_optimization_summaries): Declare.
- * ipa-cp.c (pass_ipa_cp): Update.
- * ipa-reference.c (pass_ipa_reference): Update.
- * ipa-pure-const.c (pass_ipa_pure_const): Update.
- * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
- Update.
- * ipa-inline.c (pass_ipa_inline): Update.
- * ipa.c (pass_ipa_whole_program): Update.
- * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
- * passes.c (ipa_write_summaries_1): Do not test wpa.
- (ipa_write_optimization_summaries_1): New.
- (ipa_write_optimization_summaries): New.
- (ipa_read_summaries): Do not test ltrans.
- (ipa_read_optimization_summaries_1): New.
- (ipa_read_optimization_summaries): New.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (lto_output_node): Do not output comdat groups
- for boundary nodes.
- (output_cgraph): Do not arrange comdat groups for boundary nodes.
-
-2010-04-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/40040
- * dwarf2out.c (add_name_and_src_coords_attributes): Add
- DW_AT_{,MIPS_}linkage_name even for Fortran decls.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * varpool.c (decide_is_variable_needed): Variable is always needed
- during ltrans.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * opts.c (decode_options): Enable pure-const pass for whopr.
-
-2010-04-21 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (dump_cgraph_node): Dump also assembler name.
- * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
- at WPA dumping.
- (cgraph_decide_inlining): Do not expect callee to be removed in all
- cases.
-
-2010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
-
- * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
-
-2010-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (x86_shrd): Add athlon_decode and
- amdfam10_decode attributes.
-
-2010-04-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/43570
- * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
- OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
- (lower_copyprivate_clauses): Use private var in outer
- context instead of original var. Make sure the types
- are correct for VLAs.
-
-2010-04-21 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
- to non-pointer objects.
-
-2010-04-21 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
- last chain entry if it starts with the still current label.
- (add_location_or_const_value_attribute): Check that
- loc_list->first->next is NULL instead of comparing ->first with ->last.
- (dwarf2out_var_location): Pass last_label resp. last_postcall_label
- to add_var_loc_to_decl.
-
- * dwarf2out.c (output_call_frame_info): For dw_cie_version
- >= 4 add also address size and segment size fields into CIE header.
-
- * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
- long as address size is the same as sizeof (void *) and
- segment size is 0.
- * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
- address size or segment size is unexpected, return DW_EH_PE_omit.
- (classify_object_over_fdes): If get_cie_encoding returned
- DW_EH_PE_omit, return -1.
- (init_object): If classify_object_over_fdes returned -1,
- pretend there were no FDEs at all.
-
-2010-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (bswap<mode>2): Macroize expander from
- bswap{si,di}2 using SWI48 mode iterator.
- (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
- SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
- set modrm attribute of bswap insn to 0 and remove length attribute.
- (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
- iterator. Set type attribute to bitmanip, set modrm attribute to 0,
- set mode attribute to <MODE> and remove length attribute.
-
-2010-04-20 James E. Wilson <wilson@codesourcery.com>
-
- PR rtl-optimization/43520
- * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
- zero available registers.
-
-2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * builtins.c (fold_builtin_cproj): Fold more cases.
-
-2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
- (fold_builtin_1): Fold builtin cproj.
- * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
- Use ATTR_CONST_NOTHROW_LIST.
-
-2010-04-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
- and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
- ffsi2_no_cmove for !TARGET_CMOVE.
- (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
- (ffssi2): Remove expander.
- (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
- mode iterator.
- (ctz<mode>2): Ditto from ctz{si,di}2.
- (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
- mode iterator.
- (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
- mode iterator.
-
-2010-04-20 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (AT_linkage_name): Define.
- (clone_as_declaration): Handle DW_AT_linkage_name.
- (add_name_and_src_coords_attributes): Use AT_linkage_name instead
- of DW_AT_MIPS_linkage_name.
- (move_linkage_attr): Likewise.
- (dwarf2out_finish): Likewise.
-
-2010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
-
- PR middle-end/41952
- * fold-const.c (fold_comparison): New folding rule.
-
-2010-04-20 Anatoly Sokolov <aesok@post.ru>
-
- * double-int.h (double_int_setbit): Declare.
- * double-int.c (double_int_setbit): New function.
- * rtl.h (immed_double_int_const): Declare.
- * emit-rtl.c (immed_double_int_const): New function.
- * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
- and immed_double_int_const functions.
- * optabs.c (expand_absneg_bit, expand_copysign_absneg,
- expand_copysign_bit): (Ditto.).
- * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
- * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
- * dojump.c (prefer_and_bit_test): (Ditto.).
- * expr.c (convert_modes, reduce_to_bit_field_precision,
- const_vector_from_tree): (Ditto.).
- * expmed.c (mask_rtx, lshift_value): (Ditto.).
-
-2010-04-20 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
- (dump_cgraph_node): Dump new flags.
- * cgraph.h (struct cgraph_node): Add flags
- reachable_from_other_partition and in_other_partition.
- (cgraph_can_remove_if_no_direct_calls_p): Functions used by
- other partition can not be removed.
- * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
- the other partition must be output; silence sanity checking on
- leaking functions bodies from other paritition.
- * lto-cgraph.c (reachable_from_other_partition_p): New function.
- (lto_output_node): Output new flags; do not sanity check that inline
- clones are output; drop lto_forced_extern_inline_p code; do not mock
- visibility flags at partition boundaries.
- (add_node_to): New function.
- (output_cgraph): Use it to sort functions so masters appear before
- clones.
- (input_overwrite_node): Input new flags.
- * passes.c (ipa_write_summaries): Do not call
- lto_new_extern_inline_states.
- * lto-section-out.c (forced_extern_inline,
- lto_new_extern_inline_states lto_delete_extern_inline_states,
- lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
- * lto-streamer.h (lto_new_extern_inline_states,
- * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
- lto_forced_extern_inline_p): Kill.
-
-2010-04-20 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (do_sd_constraint): Add edges only
- from vars that can have pointers.
- (process_constraint): Dump useless constraints.
-
-2010-04-20 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
- (dump_sa_points_to_info): Remove asserts.
- (init_base_vars): nothing_id isn't an escape point nor does it
- have pointers.
-
-2010-04-20 Jakub Jelinek <jakub@redhat.com>
-
- * tree.h (TYPE_REF_IS_RVALUE): Define.
- * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
- should_move_die_to_comdat, prune_unused_types_walk): Handle
- DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
- (modified_type_die, gen_reference_type_die): Emit
- DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
- if TYPE_REF_IS_RVALUE and -gdwarf-4.
-
-2010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR target/43635
- * config/s390/s390.c (s390_emit_call): Turn direct into indirect
- calls for -fpic -m31 if they have been sibcall optimized.
-
-2010-04-19 James E. Wilson <wilson@codesourcery.com>
-
- * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
- ar.lc fixed and call-used.
-
- * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
-
-2010-04-19 Jan Hubicka <jh@suse.cz>
-
- * opts.c (decode_options): Disable whpr incompatible passes.
- * lto/lto.c (lto_1_to_1_map): Skip clones.
- (read_cgraph_and_symbols): Do not mark everything as needed.
- (do_whole_program_analysis): Do map only after optimizing;
- set proper cgraph_state; use passmanager.
-
-2010-04-19 DJ Delorie <dj@redhat.com>
-
- * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
- POINTER_PLUS_EXPR and fix them.
-
-2010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
-
- * config/avr/avr-devices.c (avr_mcu_types): Add support for new
- devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
- attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
- atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
- atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
- atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
- atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
- atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
- m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
- atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
- * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
-
-2010-04-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * ifcvt.c (noce_try_cmove_arith): Fix long lines.
- (check_cond_move_block): Likewise.
- (cond_move_process_if_block): Likewise.
- (noce_find_if_block): Improve formatting.
- (find_if_header): Pass 0 to memset and tweak conditions.
- (cond_exec_find_if_block): Fix long lines and tweak conditions.
-
-2010-04-19 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
- for -gdwarf-4.
-
- PR middle-end/43337
- * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
- with non-local decl doesn't need chain.
-
-2010-04-19 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-color.c (allocno_reload_assign): Avoid accumulating
- reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
-
-2010-04-19 Martin Jambor <mjambor@suse.cz>
-
- * gimple.h (create_tmp_reg): Declare.
- * gimplify.c (create_tmp_reg): New function.
- (gimplify_return_expr): Use create_tmp_reg.
- (gimplify_omp_atomic): Likewise.
- (gimple_regimplify_operands): Likewise.
- * tree-dfa.c (make_rename_temp): Likewise.
- * tree-predcom.c (predcom_tmp_var): Likewise.
- (reassociate_to_the_same_stmt): Likewise.
- * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
- (get_replaced_param_substitute): Likewise.
- * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
- * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
- * tree-ssa-pre.c (get_representative_for): Likewise.
- (create_expression_by_pieces): Likewise.
- * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
- (create_tailcall_accumulator): Likewise.
-
-2010-04-19 Martin Jambor <mjambor@suse.cz>
-
- * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
- new_stmt.
- (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
-
-2010-04-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43796
- * tree-vrp.c (adjust_range_with_scev): Lookup init and step
- from SCEV in the lattice.
- (vrp_visit_phi_node): Dump change.
-
-2010-04-19 Richard Guenther <rguenther@suse.de>
-
- * configure.ac: Fix quoting around elf_getshstrndx ABI check.
- * configure: Re-generated.
-
-2010-04-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43783
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
- constant ARRAY_REF operands two and three if possible.
-
-2010-04-19 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/43766
- * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
-
-2010-04-19 Jie Zhang <jie@codesourcery.com>
-
- PR target/43662
- * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
-
-2010-04-19 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/37027
- * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
- and macro to access it.
- (vectorizable_reduction): Add argument.
- (vect_get_slp_defs): Likewise.
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
- statements for possible use in SLP.
- (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
- (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
- (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
- add new argument.
- (vectorizable_reduction): Likewise.
- * tree-vect-stmts.c (vect_get_vec_defs): Update call to
- vect_get_slp_defs.
- (vectorizable_type_demotion, vectorizable_type_promotion,
- vectorizable_store): Likewise.
- (vect_analyze_stmt): Update call to vectorizable_reduction.
- (vect_transform_stmt): Likewise.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
- (vect_build_slp_tree): Fix indentation. Check that there are no loads
- from different interleaving chains in same node.
- (vect_slp_rearrange_stmts): New function.
- (vect_supported_load_permutation_p): Allow load permutations for
- reductions. Call vect_slp_rearrange_stmts() to rearrange statements
- inside SLP nodes if necessary.
- (vect_analyze_slp_instance): Handle reductions.
- (vect_analyze_slp): Try to build SLP instances originating from groups
- of reductions.
- (vect_detect_hybrid_slp_stmts): Skip reduction statements.
- (vect_get_constant_vectors): Create initial vectors for reductions
- according to reduction code. Add new argument.
- (vect_get_slp_defs): Add new argument, pass it to
- vect_get_constant_vectors.
- (vect_schedule_slp_instance): Remove SLP tree root statements.
-
-2010-04-19 Jakub Jelinek <jakub@redhat.com>
-
- * tree.h (ENUM_IS_SCOPED): Define.
- * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
- for ENUM_IS_SCOPED enums.
-
-2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (fold_comparison): Use ssizetype.
- * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
- * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
- * tree-loop-distribution.c (build_size_arg_loc): Likewise.
- * tree-object-size.c (compute_object_sizes): Use size_type_node.
-
- * tree.h (initialize_sizetypes): Remove parameter.
- (build_common_tree_nodes): Remove second parameter.
- * stor-layout.c (initialize_sizetypes): Remove parameter.
- Always create an unsigned type.
- (set_sizetype): Assert that the passed type is unsigned and simplify.
- * tree.c (build_common_tree_nodes): Remove second parameter.
- Adjust call to initialize_sizetypes.
- * c-decl.c (c_init_decl_processing): Remove second argument in call to
- build_common_tree_nodes.
-
-2010-04-18 Matthias Klose <doko@ubuntu.com>
-
- * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
-
-2010-04-18 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/43771
- * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
- load permutation doesn't have gaps.
-
-2010-04-18 Jan Hubicka <jh@suse.cz>
-
- * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
- (sse_prologue_save_insn expander): Use new pattern.
- (sse_prologue_save_insn1): New pattern and splitter.
- (sse_prologue_save_insn): Update to deal also with 64bit aligned
- blocks.
- * i386.c (setup_incoming_varargs_64): Do not compute jump
- destination here.
- (ix86_gimplify_va_arg): Update alignment needed.
- (ix86_local_alignment): Do not align all local arrays to 128bit.
-
-2010-04-17 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
-
-2010-04-17 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (negdi2): Remove redundant code to force values into a
- register.
-
-2010-04-17 Richard Earnshaw <rearnsha@arm.com>
-
- * arm/bpabi.S: Add EABI alignment attributes to objects.
- * arm/bpabi-v6m.S: Likewise.
- * arm/crti.asm: Likewise.
- * arm/crtn.asm: Likewise.
- * arm/lib1funcs.asm: Likewise.
- * arm/libunwind.S: Likewise.
-
-2010-04-17 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-protos.h (tune_params): New structure.
- * arm.c (current_tune): New variable.
- (arm_constant_limit): Delete.
- (struct processors): Add pointer to the tune parameters.
- (arm_slowmul_tune): New tuning option.
- (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
- (all_cores): Adjust to pick up the tuning model.
- (arm_constant_limit): New function.
- (arm_override_options): Select the appropriate tuning model. Delete
- initialization of arm_const_limit.
- (arm_split_constant): Use the new constant-limit model.
- (arm_rtx_costs): Pick up the current tuning model.
- * arm.md (is_strongarm, is_xscale): Delete.
- * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
- for Xscale variant architectures.
- (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
-
-2010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.c (arm_gen_constant): Remove unused variable
- can_shift.
- (arm_rtx_costs_1): Remove unused variable extra_cost.
- (arm_unwind_emit_set): Use variable offset.
- (thumb1_output_casesi): Remove unused variable flags.
-
-2010-04-16 Jeff Law <law@redhat.com>
-
- * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
- needing assignment rather than doing a two-phase assignment. Remove
- unused variable 'm'.
-
-2010-04-16 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/43767
- * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
-
-2010-04-16 Doug Kwan <dougkwan@google.com>
-
- * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
- (next_operand_entry_id): New static variable.
- (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
- (add_to_ops_vec): Assigned unique ID to operand entry.
- (struct oecount_s): New field ID.
- (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
- (undistribute_ops_list): Assign unique IDs to oecounts.
- (init_reassoc): reset next_operand_entry_id.
-
-2010-04-16 Doug Kwan <dougkwan@google.com>
-
- * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
- missing left parenthesis.
-
-2010-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
- *btdi_rex64 using SWI48 mode iterator.
- (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
- (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
- *jcc_btdi_mask_rex64.
-
-2010-04-16 Anatoly Sokolov <aesok@post.ru>
-
- * double-int.h (tree_to_double_int): Convert to macro.
- * double-int.c (tree_to_double_int): Remove.
-
-2010-04-16 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43762
- * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
- with want_address 2 and in case a single element list might be
- possible, call it again with want_address 0.
-
-2010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
-
- * config/h8300/h8300.c (print_operand) : Modify case 'V' and
- case 'W' print operands for HI mode.
- * config/h8300/h8300.h (Y0, Y2) : New constraints.
- * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
- (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
- * config/h8300/predicate.md (bit_register_indirect_operand): New.
-
- * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
-
- * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
- cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
- #xx:3 and #xx:4 mode.
-
- * config/h8300/h8300.md (inverted load with HImode dest): Add
- support for H8300SX.
-
- * config/h8300/predicate.md (bit_operand): Allow immediate values that
- satisfy 'U' constraint.
-
-2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
- * configure: Regenerate.
- * config.in: Regenerate.
- * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
- works.
-
-2010-04-16 Richard Guenther <rguenther@suse.de>
-
- * tree.h (struct tree_decl_minimal): Move pt_uid ...
- (struct tree_decl_common): ... here.
- (DECL_PT_UID): Adjust.
- (SET_DECL_PT_UID): Likewise.
- (DECL_PT_UID_SET_P): Likewise.
-
-2010-04-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43572
- * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
- * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
- * tree-flow.h (is_call_clobbered): Remove.
- * tree-flow-inline.h (is_call_clobbered): Likewise.
- * tree-dfa.c (dump_variable): Do not dump call clobber state.
- * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
- (execute_return_slot_opt): Adjust.
- * tree-tailcall.c (suitable_for_tail_opt_p): Remove
- check for call clobbered vars here.
- (find_tail_calls): Move tailcall verification to the
- proper place.
-
-2010-04-16 Diego Novillo <dnovillo@google.com>
-
- * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
-
-2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/40603
- * config/arm/arm.md (cbranchqi4): New pattern.
- * config/arm/predicates.md (const0_operand,
- cbranchqi4_comparison_operator): New predicates.
-
-2010-04-16 Richard Guenther <rguenther@suse.de>
-
- * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
- (dump_gimple_stmt): Likewise.
-
-2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
-
- * recog.h (struct recog_data): New field is_operator.
- (struct insn_operand_data): New field is_operator.
- * recog.c (extract_insn): Set recog_data.is_operator.
- * genoutput.c (output_operand_data): Emit code to set the
- is_operator field.
- * reload.c (find_reloads): Use it rather than testing for an
- empty constraint string.
-
- PR target/41514
- * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
- If the previous insn is a cbranchsi4_insn with the same arguments,
- omit the compare instruction.
-
- * config/arm/arm.md (addsi3_cbranch): If destination is a high
- register, inputs must be low registers and we need a low register
- scratch. Handle alternative 2 like alternative 3.
-
-2010-04-16 Jakub Jelinek <jakub@redhat.com>
-
- * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
- don't call get_addr on both. If one expression is a VALUE and
- the other a REG, check VALUE's locs if the REG isn't among them.
-
-2010-04-16 Christian Bruel <christian.bruel@st.com>
-
- * config/sh/sh.h (sh_frame_pointer_required): New function.
- * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
- (flag_omit_frame_pointer) Set.
- (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
- (rounded_frame_size): Adjust size with outgoing_args_size.
- (sh_set_return_address): Must return from stack pointer.
- * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
- (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
- (ACCUMULATE_OUTGOING_ARGS): Define.
- * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
- * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
-
-2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/43471
- * config/sh/sh.c (sh_legitimize_reload_address): Use
- MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
- Remove a unneeded check for offset_base.
-
-2010-04-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure: Regenerated.
-
-2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_call_save_register_used): Switch back
- to HARD_REGNO_NREGS.
-
-2010-04-15 Richard Guenther <rguenther@suse.de>
-
- * alias.c (alias_set_subset_of): Handle alias-set zero
- child properly.
-
-2010-04-15 Mark Shinwell <shinwell@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
-
- * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
- alternatives according to use of high and low regs.
- * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
- * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
- optimizing for size on Thumb-2.
-
-2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
-
- * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
-
-2010-04-15 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (struct variable_info): Add
- is_fn_info flag.
- (new_var_info): Initialize it.
- (dump_constraints): Support printing last added constraints.
- (debug_constraints): Adjust.
- (dump_constraint_graph): Likewise.
- (make_heapvar_for): Check for NULL cfun.
- (get_function_part_constraint): New function.
- (get_fi_for_callee): Likewise.
- (find_func_aliases): Properly implement IPA PTA constraints.
- (process_ipa_clobber): New function.
- (find_func_clobbers): Likewise.
- (insert_into_field_list_sorted): Remove.
- (create_function_info_for): Properly allocate vars for IPA mode.
- Do not use insert_into_field_list_sorted.
- (create_variable_info_for): Properly generate constraints for
- global vars in IPA mode.
- (dump_solution_for_var): Always dump the solution.
- (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
- (find_what_var_points_to): Adjust.
- (pt_solution_set): Change.
- (pt_solution_ior_into): New function.
- (pt_solution_empty_p): Export.
- (pt_solution_includes_global): Adjust.
- (pt_solution_includes_1): Likewise.
- (pt_solutions_intersect_1): Likewise.
- (dump_sa_points_to_info): Check some invariants.
- (solve_constraints): Move constraint dumping ...
- (compute_points_to_sets): ... here.
- (ipa_pta_execute): ... and here.
- (compute_may_aliases): Do not re-compute points-to info
- locally if IPA info is available.
- (ipa_escaped_pt): New global var.
- (ipa_pta_execute): Properly implement IPA PTA.
- * tree-into-ssa.c (dump_decl_set): Support dumping
- decls not in referenced-vars.
- * tree-flow.h (struct gimple_df): Add ipa_pta flag.
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
- (dump_points_to_solution): Likewise.
- * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
- * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
- (remap_gimple_stmt): Reset call clobber/use information if necessary.
- (copy_decl_to_var): Copy DECL_PT_UID.
- (copy_result_decl_to_var): Likewise.
- * tree.c (make_node_stat): Initialize DECL_PT_UID.
- (copy_node_stat): Copy it.
- * tree.h (DECL_PT_UID): New macro.
- (SET_DECL_PT_UID): Likewise.
- (DECL_PT_UID_SET_P): Likewise.
- (struct tree_decl_minimal): Add pt_uid member.
- * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
- (pt_solution_empty_p): Declare.
- (pt_solution_set): Adjust.
- (ipa_escaped_pt): Declare.
- * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
- * gimple-pretty-print.c (pp_points_to_solution): New function.
- (dump_gimple_call): Dump call clobber/use information.
- * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
- * tree-pass.h (TDF_ALIAS): New dump option.
- * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
- * doc/invoke.texi (-fipa-pta): Update documentation.
-
-2010-04-15 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (OBJS-common): Add gimple-fold.o.
- (gimple-fold.o): New rule.
- * tree.h (maybe_fold_offset_to_reference,
- maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
- prototypes ...
- * gimple.h: ... here.
- * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
- may_propagate_address_into_dereference): Move prototypes ...
- * gimple.h: ... here.
- * tree-ssa-ccp.c (get_symbol_constant_value,
- may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
- maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
- maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
- maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
- ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
- fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
- gimplify_and_update_call_from_tree): Move ...
- * gimple-fold.c: ... here. New file.
- (ccp_fold_builtin): Rename to ...
- (gimple_fold_builtin): ... this.
- * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
-
-2010-04-15 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
- fit_double_type, force_fit_type_double, add_double_with_sign,
- neg_double, mul_double_with_sign, lshift_double, rshift_double,
- lrotate_double, rrotate_double, div_and_round_double): Move ...
- * double-int.c: ... here.
- * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
- add_double, neg_double, mul_double_with_sign, mul_double,
- lshift_double, rshift_double, lrotate_double, rrotate_double,
- div_and_round_double): Move prototypes ...
- * double-int.h: ... here.
-
-2010-04-15 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/43742
- * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
- matching constraints to ensure inputs match the output.
-
-2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/43742
- * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
- in an input-only operand.
-
-2010-04-15 Anatoly Sokolov <aesok@post.ru>
-
- * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
- (double_int_not, double_int_lshift, double_int_rshift): Declare.
- (double_int_negative_p): Convert to static inline function.
- * double-int.c (double_int_lshift, double_int_lshift): New functions.
- (double_int_negative_p): Remove.
- * tree.h (lshift_double, rshift_double):
- * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
- * fold-const.c (fold_convert_const_int_from_real,
- fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
- (lshift_double): Change type of arith argument to bool.
- (rshift_double): Change type of arith argument to bool. Correct
- comment.
- * expmed.c (mask_rtx, lshift_value): (Ditto.).
-
-2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/21803
- * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
- at the start and end of the then/else blocks, and omit them from the
- conversion.
- * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
- argument; all callers changed. Pass zero to old_insns_match_p instead.
- (flow_find_head_matching_sequence): New function.
- (old_insns_match_p): Check REG_EH_REGION notes for calls.
- * basic-block.h (flow_find_cross_jump,
- flow_find_head_matching_sequence): Declare functions.
-
-2010-04-14 Jason Merrill <jason@redhat.com>
-
- PR c++/36625
- * c-common.c (attribute_takes_identifier_p): New fn.
- * c-common.h: Declare it.
-
-2010-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
- splitter condition.
- (*udivmod<mode>4): Ditto.
-
-2010-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (maxmin_int): Rename code attribute from
- maxminiprefix and update all users.
- (maxmin_float): Ditto from maxminfprefix.
- (logic): Ditto from logicprefix.
- (absneg_mnemonic): Ditto from absnegprefix.
- * config/i386/mmx.md: Update all users of maxminiprefix,
- maxminfprefix and logicprefix for rename.
- * config/i386/sse.md: Ditto.
- * config/i386/sync.md (sync_<code><mode>): Update for
- logicprefix rename.
-
-2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 42966
- * diagnostics.c (diagnostic_report_diagnostic): Mark specially
- warnings converted to errors.
-
-2010-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
- used insn_type variable.
- (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
- to avoid set-but-not-used warning.
-
-2010-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * df-core.c (df_ref_debug): Change format string placeholder
- from 0x%x to %#x.
- * dwarf2asm.c (dw2_asm_output_data_raw,
- dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
- dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
- * dwarf2out.c (output_cfi, output_cfi_directive,
- dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
- output_cfa_loc_raw, output_die, output_ranges, output_file_names):
- Ditto.
- * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
- * print-rtl.c (print_rtx): Ditto.
-
-2010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR middle-end/42694
- * builtins.c (expand_builtin_pow_root): New function to expand pow
- calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
- series of sqrt and cbrt calls under -ffast-math.
- (expand_builtin_pow): Call it.
-
-2010-04-14 Michael Matz <matz@suse.de>
-
- PR tree-optimization/42963
- * tree-cfg.c (touched_switch_bbs): New static variable.
- (group_case_labels_stmt): New function broken out from ...
- (group_case_labels): ... here, use the above.
- (start_recording_case_labels): Allocate touched_switch_bbs.
- (end_recording_case_labels): Deallocate it, call
- group_case_labels_stmt.
- (gimple_redirect_edge_and_branch): Remember index of affected BB.
-
-2010-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
- from insn template.
-
-2010-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
-
-2010-04-13 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
- of optimized out static functions.
- (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
- cost computation. Also sanity check for overflows.
- (update_caller_keys): Update cgraph_edge_badness call; properly
- update fibheap and sanity check that it is up to date.
- (add_new_edges_to_heap): Update cgraph_edge_badness.
- (cgraph_decide_inlining_of_small_function): Likewise;
- add sanity checking that badness in heap is up to date;
- improve dumping of reason; Update badness of calls to the
- offline copy of function currently inlined; dump badness
- of functions not inlined because of unit growth limits.
-
-2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/32628
- * c-common.c (pointer_int_sum): Disregard overflow that occured only
- because of sign-extension change when converting to sizetype here...
- * fold-const.c (fold_convert_const_int_from_int): ...and not here.
-
- * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
- the folding to constants. Remove redundant final conversion.
- (fold_binary) <associate>: Do not associate if the re-association of
- constants alone overflows.
- (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
- to the end of the list.
- (multiple_of_p) <COND_EXPR>: New case.
-
-2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * opt-functions.awk (opt_sanitized_name): New.
- (opt_enum): New.
- * optc-gen.awk: Use it
- * opth-gen.awk: Use it.
-
-2010-04-13 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
- (sra_modify_assign): Delete stmts loading dead data even if racc has no
- children. Call replace_uses_with_default_def_ssa_name to handle
- SSA_NAES on lhs.
-
-2010-04-13 Michael Matz <matz@suse.de>
-
- PR middle-end/43730
- * builtins.c (expand_builtin_interclass_mathfn): Also create
- a register if the predicate doesn't match.
-
-2010-04-13 Diego Novillo <dnovillo@google.com>
-
- * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
- * c-pch.c: Include timevar.h.
- (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
- (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
- * ggc-common.c: Include timevar.h.
- (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
- * timevar.def (TV_PCH_SAVE): Define.
- (TV_PCH_CPP_SAVE): Define.
- (TV_PCH_PTR_REALLOC): Define.
- (TV_PCH_PTR_SORT): Define.
- (TV_PCH_RESTORE): Define.
- (TV_PCH_CPP_RESTORE): Define.
-
-2010-04-13 Michael Matz <matz@suse.de>
-
- * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
- into MINUS_EXPRs.
- (can_reassociate_p): New function.
- (break_up_subtract_bb, reassociate_bb): Use it.
-
-2010-04-13 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/43737
- * builtins.c (c_readstr): Fix assert.
-
-2010-04-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
- when generating cltd insn.
-
- (*ashl<mode>3_1): Remove special handling for register operand 2.
- (*ashlsi3_1_zext): Ditto.
- (*ashlhi3_1): Ditto.
- (*ashlhi3_1_lea): Ditto.
- (*ashlqi3_1): Ditto.
- (*ashlqi3_1_lea): Ditto.
- (*<shiftrt_insn><mode>3_1): Ditto.
- (*<shiftrt_insn>si3_1_zext): Ditto.
- (*<shiftrt_insn>qi3_1_slp): Ditto.
- (*<rotate_insn><mode>3_1): Ditto.
- (*<rotate_insn>si3_1_zext): Ditto.
- (*<rotate_insn>qi3_1_slp): Ditto.
-
-2010-04-13 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (callused_id): Remove.
- (call_stmt_vars): New.
- (get_call_vi): Likewise.
- (lookup_call_use_vi): Likewise.
- (lookup_call_clobber_vi): Likewise.
- (get_call_use_vi): Likewise.
- (get_call_clobber_vi): Likewise.
- (make_transitive_closure_constraints): Likewise.
- (handle_const_call): Adjust to do per-call call-used handling.
- (handle_pure_call): Likewise.
- (find_what_var_points_to): Remove general callused handling.
- (init_base_vars): Likewise.
- (init_alias_vars): Initialize call_stmt_vars.
- (compute_points_to_sets): Process call-used and call-clobbered
- vars for call statements.
- (delete_points_to_sets): Free call_stmt_vars.
-
-2010-04-13 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
- Only add RW dependence for dependence distance zero.
- Adjust maximal vectorization factor according to dependences.
- Move alignment handling ...
- (vect_find_same_alignment_drs): ... here. New function.
- (vect_analyze_data_ref_dependences): Adjust.
- (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
- (vect_analyze_data_refs): Adjust minimal vectorization factor
- according to data references.
- * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
- dependences before determining the vectorization factor.
- Analyze alignment after determining the vectorization factor.
- * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
- dependences before alignment.
- * tree-vectorizer.h (vect_analyze_data_ref_dependences):
- Adjust prototype.
- (vect_analyze_data_refs): Likewise.
- (MAX_VECTORIZATION_FACTOR): New define.
-
-2010-04-13 Duncan Sands <baldrick@free.fr>
-
- * except.h (lang_eh_type_covers): Remove.
- * except.c (lang_eh_type_covers): Likewise.
-
-2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
- Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
- * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
- UNITS_PER_LONG where it is ABI relevant.
- (s390_return_addr_rtx): Likewise.
- (s390_back_chain_rtx): Likewise.
- (s390_frame_area): Likewise.
- (s390_frame_info): Likewise.
- (s390_initial_elimination_offset): Likewise.
- (save_gprs): Likewise.
- (s390_emit_prologue): Likewise.
- (s390_emit_epilogue): Likewise.
- (s390_function_arg_advance): Likewise.
- (s390_function_arg): Likewise.
- (s390_va_start): Likewise.
- (s390_gimplify_va_arg): Likewise.
- (s390_function_profiler): Likewise.
- (s390_optimize_prologue): Likewise.
- (s390_rtx_costs): Likewise.
- (s390_secondary_reload): Likewise.
- (s390_promote_function_mode): Likewise.
- (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
- (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
- registers available.
- (s390_unwind_word_mode): New function.
- (s390_function_value): Split 64 bit values into register pair if
- used as return value.
- (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
- function call parameters. Handle parallels.
- (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
- (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
- (DWARF_CIE_DATA_ALIGNMENT): New macro.
- (s390_expand_setmem): Remove unused variable src_addr.
- * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
- deal with 64 bit registers.
- * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
- Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
- (UNITS_PER_LONG): New macro.
- * libjava/include/s390-signal.h: Define extended ucontext
- structure containing the upper halfs of the 64 bit registers.
-
-2010-04-13 Simon Baldwin <simonb@google.com>
-
- * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
-
-2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
- rvalue on the RHS if the LHS is of a non-renamable type.
- * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
-
-2010-04-13 Matthias Klose <doko@ubuntu.com>
-
- * gcc.c (cc1_options): Handle -iplugindir before processing
- the cc1 spec. Only add -iplugindir once.
- (cpp_unique_options): Add -iplugindir option if -fplugin* options
- found.
- * common.opt (iplugindir): Remove `Separate' property, initialize.
- * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
- option.
- * Makefile.in (check-%, check-parallel-%): Create plugin dir.
- (distclean): Remove plugin dir.
- * doc/invoke.texi: Document -iplugindir.
-
-2010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
-
- * doc/plugins.texi (Loading Plugins): Document short
- -fplugin=foo option.
- (Plugin API): Mention default_plugin_dir_name function.
-
- * gcc.c (find_file_spec_function): Add new declaration.
- (static_spec_func): Use it for "find-file".
- (find_file_spec_function): Add new function.
- (cc1_options): Add -iplugindir option if -fplugin* options found.
-
- * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
-
- * plugin.c (add_new_plugin): Updated comment, and handle short
- plugin name.
- (default_plugin_dir_name): Added new function.
-
- * common.opt (iplugindir): New option to set the plugin directory.
-
-2010-04-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (any_rotate): New code iterator.
- (rotate_insn): New code attribute.
- (rotate): Ditto.
- (SWIM124): New mode iterator.
- (<rotate_insn>ti3): New expander.
- (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
- any_rotate code iterator.
- (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
- using any_rotate code iterator and SWIM124 mode iterator.
- (ix86_rotlti3): New insn_and_split pattern.
- (ix86_rotrti3): Ditto.
- (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
- ix86_rotl{di,ti}3 patterns.
- (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
- (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
- and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
- *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
- code iterator and SWI mode iterator.
- (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
- Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
- code iterator.
- (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
- Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
- (bswap rotatert splitter): Add splitter.
- (bswap splitter): Macroize splitter using any_rotate code iterator.
- Add insn predicate to split only for TARGET_USE_XCHGB or when
- optimizing function for size.
-
-2010-04-12 Steve Ellcey <sje@cup.hp.com>
-
- * config/pa/pa.c (emit_move_sequence): Remove use of
- deleted variable flag_argument_noalias.
-
-2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc: Removed *-*-solaris2.7* from list of obsolete
- configurations.
- Add to unsupported targets list.
- * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
- sparc*-sun-solaris2.[567]* from target lists.
- * configure: Regenerate.
- * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
- removal.
- Remove Solaris 7 patch references.
- (Specific, sparc-sun-solaris2.7): Removed.
- (sparc-sun-solaris2*): Update Solaris 7 example.
- (sparc64-*-solaris2*): Likewise.
-
-2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.build (alpha*-dec-osf4*): Remove.
- * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
- of obsolete configurations.
- (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
- support.
- * config/alpha/t-osf4: Renamed to ...
- * config/alpha/t-osf5: ... this.
- * config/alpha/osf.h: Renamed to ...
- * config/alpha/osf5.h: ... this.
- Merged old osf5.h contents.
- Update comments.
- (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
- (EXTRA_SPECS): Removed.
- * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
- reflect removal of Tru64 UNIX V4.0/V5.0 support.
- Document that.
-
-2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/contrib.texi (Contributors, Rainer Orth): Update.
-
-2010-04-12 Kai Tietz <kai.tietz@onevision.com>
-
- PR/43702
- * config/i386/i386.c (x86_this_parameter): Handle aggregate for
- __thiscall convention.
-
-2010-04-12 Steve Ellcey <sje@cup.hp.com>
-
- * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
- orig_base.
- * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
-
-2010-04-12 Steve Ellcey <sje@cup.hp.com>
-
- * function.c (assign_parms_initialize_all): Add unused attribute
- to fntype.
-
-2010-04-12 Richard Guenther <rguenther@suse.de>
-
- * gsstruct.def (GSS_CALL): New.
- * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
- * gimple.h: Include tree-ssa-alias.h.
- (struct gimple_statement_call): New.
- (union gimple_statement_struct_d): Add gimple_call member.
- (gimple_call_reset_alias_info): Declare.
- (gimple_call_use_set): New function.
- (gimple_call_clobber_set): Likewise.
- * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
- * gimple.c (gimple_call_reset_alias_info): New function.
- (gimple_build_call_1): Call it.
- * lto-streamer-in.c (input_gimple_stmt): Likewise.
- * tree-inline.c (remap_gimple_stmt): Likewise.
- (expand_call_inline): Remove callused handling.
- * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
- * tree-dfa.c (dump_variable): Likewise.
- * tree-parloops.c (parallelize_loops): Likewise.
- * tree-ssa.c (init_tree_ssa): Likewise.
- (delete_tree_ssa): Likewise.
- * tree-flow-inline.h (is_call_used): Remove.
- * tree-flow.h (struct gimple_df): Remove callused member.
- * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
- * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
- (ref_maybe_used_by_call_p_1): Simplify.
- (call_may_clobber_ref_p_1): Likewise.
- * tree-ssa-structalias.c (compute_points_to_sets): Set
- the call stmt used and clobbered sets.
- * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
- (find_tail_calls): Verify the tail call.
-
-2010-04-12 Richard Guenther <rguenther@suse.de>
-
- * ipa.c (cgraph_postorder): Adjust postorder to guarantee
- single-iteration always-inline inlining.
- * ipa-inline.c (cgraph_mark_inline): Do not return anything.
- (cgraph_decide_inlining): Do not handle always-inline specially.
- (try_inline): Remove always-inline cycle detection special case.
- Do not recurse on always-inlines.
- (cgraph_early_inlining): Do not iterate if not optimizing.
- (cgraph_gate_early_inlining): remove.
- (pass_early_inline): Run unconditionally.
- (gate_cgraph_decide_inlining): New function.
- (pass_ipa_inline): Use it. Do not run the IPA inliner if
- not inlining or optimizing.
- (cgraph_decide_inlining_of_small_functions): Also consider
- always-inline functions.
- (cgraph_default_inline_p): Return true for nodes which should
- disregard inline limits.
- (estimate_function_body_sizes): Assume zero size and time for
- nodes which are marked as disregarding inline limits.
- (cgraph_decide_recursive_inlining): Do not perform recursive
- inlining on always-inline nodes.
-
-2010-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/43699
- * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
- for exprs satisfying handled_component_p.
-
-2010-04-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
- non-constant aggregate elements.
-
- * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
- is a real initialization.
-
-2010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
-
- PR c/36774
- * c-decl.c (start_function): Move forward check for nested function.
-
-2010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
- * config/sh/sh.c: Include reload.h.
- (sh_legitimize_reload_address): New.
- * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
- sh_legitimize_reload_address.
-
-2010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
-
- * config/sh/sh.md (*movqi_pop): New insn pattern.
- * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
-
-2010-04-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (any_shiftrt): New code iterator.
- (shiftrt_insn): New code attribute.
- (shiftrt): Ditto.
- (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
- using any_shiftrt code iterator.
- (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
- *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
- (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
- pattern from corresponding peephole2 patterns.
- (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
- using any_shiftrt code iterator.
- (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
- (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
- (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
- (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
- *{ashr,lshr}<mode>3_cmp_zext.
- (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
-
-2010-04-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
- scratch register.
- (*lshr<mode>3_cconly): Ditto.
-
-2010-04-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (lshr<mode>3): Macroize expander from
- lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
- (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
- pattern from *lshr{di,ti}3_1 and corresponding splitters using
- DWI mode iterator.
- (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
- from corresponding peephole2 patterns.
- (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
- *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
- and *lshrdi3_1_rex64 using SWI mode iterator.
- (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
- (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
- (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
- *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
- and *lshrdi3_cmp_rex64 using SWI mode iterator.
- (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
- (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
- *lshrdi3_one_bit_cconly_rex64. Macroize insn from
- *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
- SWI mode iterator.
-
-2010-04-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ashr<mode>3): Macroize expander from
- ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
- (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
- pattern from *ashr{di,ti}3_1 and corresponding splitters using
- DWI mode iterator.
- (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
- from corresponding peephole2 patterns.
- (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
- (ashrsi3_cvt): Rename from ashrsi3_31.
- (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
- (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
- and x86_64_shift_adj_3 using SWI48 mode iterator.
- (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
- *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
- and *ashrdi3_1_rex64 using SWI mode iterator.
- (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
- (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
- (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
- *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
- and *ashrdi3_cmp_rex64 using SWI mode iterator.
- (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
- (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
- *ashrdi3_one_bit_cconly_rex64. Macroize insn from
- *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
- SWI mode iterator.
- (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
- * config/i386/i386.c (ix86_split_ashr): Update for renamed
- x86_shift<mode>_adj_3 expanders.
-
-2010-04-10 Wei Guozhi <carrot@google.com>
-
- PR target/42601
- * config/arm/arm.c (arm_pic_static_addr): New function.
- (legitimize_pic_address): Call arm_pic_static_addr when it detects
- a static symbol.
- (arm_output_addr_const_extra): Output expression for new pattern.
- * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
-
-2010-04-10 Bernd Schmidt <bernds@codesourcery.com>
-
- * ira-costs.c (record_reg_classes): Ignore alternatives that are
- not enabled.
-
- * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
- * web.c: Include "insn-config.h" and "recog.h".
- (union_match_dups): New function.
- (web_main): Call it.
- (union_defs): Don't try to recognize match_dups.
-
- * reload1.c (eliminate_regs_in_insn): Don't restore an operand
- if doing so would replace the entire pattern.
-
-2010-04-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/43707
- PR target/43709
- * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
- and splitter pattern. Change splitter operand 1 predicate to
- nonmemory_operand.
-
-2010-04-09 Martin Jambor <mjambor@suse.cz>
-
- * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
- lattices are addresses of CONST_DECLs with the same initial value.
- (ipcp_print_all_lattices): Print values of CONST_DECLs.
- * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
-
-2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
- Bernd Schmidt <bernds@codesourcery.com>
-
- * loop-invariant.c (replace_uses): New static function.
- (move_invariant_reg): Use it to ensure we can replace the uses.
-
-2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
-
- * config/picochip/picochip.c (picochip_rtx_costs): Use correct
- function template.
- (picochip_override_options): Enable section anchors only above -O1.
- (picochip_reorg): Fixed a couple of build warnings.
-
-2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (plugin -rdynamic test): Log result.
- * configure: Regenerate.
- * config/sol2.h (LINK_SPEC): Handle -rdynamic.
- (RDYNAMIC_SPEC): Define.
- * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
-
-2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac: Determine Sun ld version numbers.
- (comdat_group): Restrict GNU ld version checks to gld.
- (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
- (enable_comdat): Support --enable-comdat.
- * configure: Regenerate.
- * doc/install.texi (Configuration): Document --enable-comdat.
-
-2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
- * config/sol2-gld.h: ... here.
- * config.gcc (sparc*-*-solaris2*): Reflect this.
- (i[34567]86-*-solaris2*): Use it.
-
-2010-04-09 Steve Ellcey <sje@cup.hp.com>
-
- * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
- setup_clocks_p.
- (final_emit_insn_group_barriers): Remove unused variable prev_insn.
-
-2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 42965
- * diagnostic.c (diagnostic_initialize): Initialize
- some_warnings_are_errors.
- (diagnostic_finish): New.
- (diagnostic_action_after_output): Call it before exiting.
- (diagnostic_report_diagnostic): Do not print message here. Set
- some_warnings_are_errors.
- * diagnostic.h (diagnostic_context): Delete
- issue_warnings_are_errors_message. Add some_warnings_are_errors.
- (diagnostic_finish): Declare.
- * toplev.c (toplev_main): Call it before exit.
-
-2010-04-09 Jason Merrill <jason@redhat.com>
-
- PR c++/42623
- * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
- for incomplete type.
-
- PR c++/41788
- * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
- based on a warning flag.
-
-2010-04-09 Richard Guenther <rguenther@suse.de>
-
- * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
-
-2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
-
- PR bootstrap/43684
- * varasm.c (default_assemble_visibility): Wrap vars that are
- set, but unused, by targets without GAS.
- * config/rs6000/rs6000.c: (paired_emit_vector_compare):
- Remove set, but unused, vars.
- (rs6000_legitimize_tls_address): Likewise.
- (altivec_expand_dst_builtin): Likewise.
- * config/darwin.c (machopic_classify_symbol): Likewise.
- (machopic_indirection_name): Likewise.
-
-2010-04-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (DWI): New mode iterator.
- (S): New mode attribute.
- (shift_operand): Ditto.
- (shift_immediate_operand): Ditto.
- (ashl_input_operand): Ditto.
- (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
- using SDWIM mode iterator.
- (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
- pattern from *ashl{di,ti}3_1 and corresponding splitters using
- DWI mode iterator.
- (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
- from corresponding peephole2 patterns.
- (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
- and x86_64_shift_adj_1 using SWI48 mode iterator.
- (x86_shift<mode>_adj_2): Ditto.
- (*ashldi3_1_rex64): Split TYPE_LEA pattern.
- (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
- using SWI48 mode iterator.
- (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
- *ashldi3_cmp_rex64 using SWI mode iterator.
- (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
- *ashldi3_cconly_rex64 using SWI mode iterator.
- * config/i386/i386.c (ix86_split_ashl): Update for renamed
- x86_shift<mode>_adj_{1,2}.
- (ix86_split_ashr): Ditto.
- (ix86_split_lshr): Ditto.
-
-2010-04-09 Richard Guenther <rguenther@suse.de>
-
- * target.h (builtin_conversion): Pass in input and output types.
- * targhooks.c (default_builtin_vectorized_conversion): Adjust.
- * targhooks.h (default_builtin_vectorized_conversion): Likewise.
- * tree-vect-stmts.c (vectorizable_conversion): Adjust.
- * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
-
- * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
- Handle AVX modes.
- * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
-
-2010-04-09 Richard Guenther <rguenther@suse.de>
-
- PR target/43152
- * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
-
-2010-04-09 Richard Guenther <rguenther@suse.de>
-
- * tree-vectorizer.h (struct _stmt_vec_info): Document
- that vectype is the type of the LHS.
- (supportable_widening_operation, supportable_narrowing_operation):
- Get both input and output vector types as arguments.
- (vect_is_simple_use_1): Declare.
- (get_same_sized_vectype): Likewise.
- * tree-vect-loop.c (vect_determine_vectorization_factor):
- Set STMT_VINFO_VECTYPE to the vector type of the def.
- (vectorizable_reduction): Adjust.
- * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
- Adjust. Specify the output vector type.
- (vect_pattern_recog_1): Adjust.
- * tree-vect-stmts.c (get_same_sized_vectype): New function.
- (vectorizable_call): Adjust.
- (vectorizable_conversion): Likewise.
- (vectorizable_operation): Likewise.
- (vectorizable_type_demotion): Likewise.
- (vectorizable_type_promotion): Likewise.
- (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
- the def.
- (vect_is_simple_use_1): New function.
- (supportable_widening_operation): Get both input and output
- vector types.
- (supportable_narrowing_operation): Likewise.
- * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
-
-2010-04-09 Kai Tietz <kai.tietz@onevision.com>
-
- * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
- __thiscall and _thiscall as predefined macros.
- * config/i386/i386.c (ix86_handle_cconv_attribute): Add
- thiscall attribute handling.
- (ix86_comp_type_attributes): Likewise.
- (ix86_function_regparm): Likewise.
- (ix86_return_pops_args): Likewise.
- (init_cumulative_args): Likewise.
- (find_drap_reg): Likewise.
- (ix86_static_chain): Likewise.
- (x86_this_parameter): Likewise.
- (x86_output_mi_thunk): Likewise.
- (ix86_attribute_table): Add description for thiscall attribute.
- * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
- * doc/extend.texi: Add documentation for thiscall.
-
-2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/28584
- * c.opt (Wint-to-pointer-cast): Available in C++.
- * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
-
-2010-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
- * calls.c (expand_call): Pass the function type to aggregate_value_p.
- * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
- the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
- function type instead. Reorder and simplify checks.
-
- * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
-
-2010-04-08 Jing Yu <jingyu@google.com>
- Zdenek Dvorak <ook@ucw.cz>
-
- PR tree-optimization/42720
- * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
- loop unswitch conditions here from ...
- (tree_unswitch_single_loop): ... here.
-
-2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
-
- * tree-if-conv.c: Fix comments and simplify logic.
-
-2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
-
- * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
- (tree_if_conversion): Same. Update call to if_convertible_loop_p.
- (main_tree_if_conversion): Update call to tree_if_conversion.
-
-2010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 42485
- * doc/invoke.texi (-b,-V): Delete.
- * doc/tm.texi: Do not mention -b.
- * gcc.c (display_help): Delete -b and -V.
- (process_command): Delete -b and -V.
- * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
-
-2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
- Wolfgang Gellerich <gellerich@de.ibm.com>
-
- Implement target hook for loop unrolling
- * target.h (loop_unroll_adjust): Add a new target hook function.
- * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
- * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
- * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
- (s390_loop_unroll_adjust): Implement the new target hook for s390.
- * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
- target hook.
- (decide_unroll_stupid): Likewise.
-
-2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/43643
- * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
-
-2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
- (Specific, *-*-solaris2*): Likewise.
- Don't prefer Sun as over GNU as.
-
-2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
-
- * config/s390/s390.c (override_options): Adjust the z10 defaults
- for max-unroll-times, max-completely-peeled-insns
- and max-completely-peel-times.
-
-2010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_expand_movmem): Issue prefetch
- instructions for z10.
- (s390_expand_setmem): Likewise.
- (s390_expand_cmpmem): Likewise.
-
-2010-04-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43679
- * tree-ssa-pre.c (eliminate): Only propagate copies.
-
-2010-04-08 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/43681
- * expr.c (block_move_libcall_safe_for_call_parm): Avoid
- set but not used variable warning.
-
-2010-04-08 Wei Guozhi <carrot@google.com>
-
- PR target/41653
- * config/arm/arm.c (thumb1_size_rtx_costs): New function.
- (arm_size_rtx_costs): Call the new function when optimized for size.
-
-2010-04-08 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43670
- * cfgexpand.c (expand_debug_expr): If for non-NULL offset
- op0 is not a MEM, just return NULL instead of assertion
- failure.
- (discover_nonconstant_array_refs): Don't walk debug stmts.
-
-2010-04-08 Doug Kwan <dougkwan@google.com>
-
- * configure.ac: Recognize gold and do not use its version number
- to test ld features.
- * configure: Regenerate.
-
-2010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- PR middle-end/40815
- * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
- (negate_value): Move code to push elements to broken_up_substracts ...
- (eliminate_plus_minus_pair): ... here. Push operands that have no
- negative pair to plus_negates.
- (repropagate_negates, init_reassoc, fini_reassoc): Update.
-
-2010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/install.texi (Configuration): Move description of
- --enable-lto, --with-libelf*, --enable-gold from Java section to
- general section.
-
- * doc/generic.texi (Working with declarations)
- (Function Properties, C and C++ Trees): Fix typos.
- * doc/sourcebuild.texi (Top Level): Likewise.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c/18624
- * tree.h (DECL_READ_P): Define.
- (struct tree_decl_common): Add decl_read_flag.
- * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
- a set but not used warning.
- (merge_decls): Merge DECL_READ_P flag.
- (finish_decl, build_compound_literal): Set DECL_READ_P flag.
- (finish_function): Issue -Wunused-but-set-parameter diagnostics.
- * c-common.c (handle_used_attribute, handle_unused_attribute):
- Likewise.
- * c-tree.h (default_function_array_read_conversion, mark_exp_read):
- New prototypes.
- * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
- New functions.
- (default_conversion, c_process_expr_stmt): Call mark_exp_read.
- * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
- c_parser_binary_expression, c_parser_cast_expression,
- c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
- Call default_function_array_read_conversion instead of
- default_function_array_conversion where needed.
- (c_parser_unary_expression, c_parser_conditional_expression,
- c_parser_postfix_expression_after_primary, c_parser_initelt):
- Likewise. Call mark_exp_read where needed.
- (c_parser_statement_after_labels, c_parser_asm_operands,
- c_parser_typeof_specifier, c_parser_sizeof_expression,
- c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
- where needed.
- * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
- New.
- * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
- (warn_unused_but_set_parameter): Default to warn_unused
- && extra_warnings.
- * doc/invoke.texi: Document -Wunused-but-set-variable and
- -Wunused-but-set-parameter.
-
- * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
- used count variable.
- * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
- when operandN variables aren't used in the body of the expander
- or splitter.
- * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
- FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
- * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
- * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
- FOR_EACH_IMM_USE_ON_STMT): Likewise.
- * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
- * tree.c (PROCESS_ARG): Likewise.
-
-2010-04-07 Simon Baldwin <simonb@google.com>
-
- * diagnostic.h (diagnostic_override_option_index): New macro to
- set a diagnostic's option_index.
- * c-tree.h (c_cpp_error): Add warning reason argument.
- * opts.c (_warning_as_error_callback): New.
- (register_warning_as_error_callback): Store callback for
- warnings enabled via enable_warning_as_error.
- (enable_warning_as_error): Call callback, minor code tidy.
- * opts.h (register_warning_as_error_callback): Declare.
- * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
- response to -Werror=.
- (c_common_init_options): Register warning_as_error_callback in opts.c.
- * common.opt: Add -Wno-cpp option.
- * c-common.c (struct reason_option_codes_t): Map cpp warning
- reason codes to gcc option indexes.
- * (c_option_controlling_cpp_error): New function, lookup the gcc
- option index for a cpp warning reason code.
- * (c_cpp_error): Add warning reason argument, call
- c_option_controlling_cpp_error for diagnostic_override_option_index.
- * doc/invoke.texi: Document -Wno-cpp.
-
-2010-04-07 Richard Guenther <rguenther@suse.de>
-
- * ipa-reference.c (mark_load): Use get_base_address.
- (mark_store): Likewise.
-
- * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
- inserting GIMPLE_NOPs into the IL.
- * tree-ssa-structalias.c (get_constraint_for_component_ref):
- Explicitly strip handled components and indirect references.
-
- * fold-const.c (fold_unary_loc): Do not strip qualifiers when
- folding address expressions.
- * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
- * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
- operand_equal_p to compare decls.
- (ptr_deref_may_alias_decl_p): Likewise.
- * tree-ssa-operands.c (get_asm_expr_operands): Simplify
- * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
- Handle reversed comparison ops.
- * tree-sra.c (asm_visit_addr): Use get_base_address.
- * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
- * ipa-reference.c (mark_address): Use get_base_address.
-
-2010-04-07 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (forward_propagate_addr_expr):
- Propagate constants everywhere.
-
-2010-04-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43516
- * tree.c (MAX_INT_CACHED_PREC): Define.
- (nonstandard_integer_type_cache): New array.
- (build_nonstandard_integer_type): Cache results for precision
- <= MAX_INT_CACHED_PREC.
-
-2010-04-07 Richard Guenther <rguenther@suse.de>
-
- * doc/invoke.texi (-fargument-alias, -fargument-noalias,
- -fargument-noalias-global, -fargument-noalias-anything): Remove.
- * common.opt: Likewise.
- * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
- * alias.c (base_alias_check): Remove flag_argument_noalias handling.
- (nonoverlapping_memrefs_p): Likewise.
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
- * opts.c (common_handle_option): Handle OPT_fargument_alias,
- OPT_fargument_noalias, OPT_fargument_noalias_anything and
- OPT_fargument_noalias_global for backward compatibility.
-
-2010-04-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43270
- * tree-vrp.c (check_array_ref): Fix flexible array member detection.
- * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
- * tree-ssa-pre.c (phi_translate_1): Adjust.
- (fully_constant_expression): Split out vn_reference handling to ...
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
- Fold reads from constant strings.
- (vn_reference_lookup): Handle fully constant references.
- (vn_reference_lookup_pieces): Likewise.
- * Makefile.in (expmed.o-warn): Add -Wno-error.
-
-2010-04-07 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (find_param_candidates): Allow scalar va_list types.
-
-2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
-
- PR driver/41594
- * gcc.c: Add -static-libstdc++ to list of recognized options.
-
-2010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
-
-2010-04-07 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/42617
- * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
- bases build simple mem attributes to retain points-to information.
-
-2010-04-07 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/42617
- * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
- preserve points-to related information.
-
-2010-04-07 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/42617
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
- discard plain indirect references.
- * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
- * tree.c (tree_nop_conversion): Likewise.
-
-2010-04-07 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/43628
- * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
-
-2010-04-06 Kai Tietz <kai.tietz@onevision.com>
-
- * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
- calling convention attributes on METHOD_TYPEs for w64 ABI, too.
-
-2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
-
- * tree-if-conv.c: Fix indentation and comments.
-
-2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
-
- * tree-if-conv.c: Sort static functions in topological order.
-
-2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
-
- * tree-if-conv.c: Fix indentation and comments.
-
-2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/43519
- * graphite-clast-to-gimple.c (max_signed_precision_type): Use
- lang_hooks.types.type_for_size instead of
- build_nonstandard_integer_type.
- When converting an unsigned type to signed, double its precision.
- (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
- (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
- (graphite_create_new_loop_guard): When ub + 1 wraps around,
- use lb <= ub.
-
-2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/43519
- * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
- POINTER_PLUS_EXPR for pointer types.
-
-2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/43519
- * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
- * graphite-clast-to-gimple.c: Include langhooks.h.
- (max_signed_precision_type): New.
- (max_precision_type): Takes two types as arguments.
- (precision_for_value): New.
- (precision_for_interval): New.
- (gcc_type_for_interval): New.
- (gcc_type_for_value): New.
- (gcc_type_for_clast_term): New.
- (gcc_type_for_clast_red): New.
- (gcc_type_for_clast_bin): New.
- (gcc_type_for_clast_expr): Split up into several functions.
- (gcc_type_for_clast_eq): Rewritten.
- (compute_bounds_for_level): New.
- (compute_type_for_level_1): New.
- (compute_type_for_level): New.
- (gcc_type_for_cloog_iv): Removed.
- (gcc_type_for_iv_of_clast_loop): Rewritten.
- (graphite_create_new_loop): Compute the lower and upper bound types
- with gcc_type_for_clast_expr.
- (graphite_create_new_loop_guard): Same.
- (find_cloog_iv_in_expr): Removed.
- (compute_cloog_iv_types_1): Removed.
- (compute_cloog_iv_types): Removed.
- (gloog): Do not call compute_cloog_iv_types.
- * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
- GBB_CLOOG_IV_TYPES.
- (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
- * sese.h (struct gimple_bb): Removed field cloog_iv_types.
- (GBB_CLOOG_IV_TYPES): Removed.
-
-2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
- gimple_phi_num_args of the loop close SSA phi node is equal to 1.
- (detect_commutative_reduction): Same.
-
-2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
- call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
- argument.
- * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
- * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
- (rewrite_commutative_reductions_out_of_ssa): Same.
- * passes.c (execute_function_todo): Call verify_ssa for every pass
- in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
- * tree-flow.h (verify_loop_closed_ssa): Update declaration.
- * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
- with an extra argument.
- * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
- verify_ssa only when the extra argument is true.
- (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
- with an extra argument.
- (tree_transform_and_unroll_loop): Same.
-
-2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
-
- * passes.c (execute_function_todo): Call verify_loop_closed_ssa
- for all the passes of the LNO having LOOP_CLOSED_SSA.
- * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
- * tree-loop-distribution.c (pass_loop_distribution): Same.
- * tree-pass.h (TODO_verify_loops): Removed.
- * tree-ssa-loop.c (pass_tree_loop_init): Same.
- (pass_lim): Same.
- (pass_tree_unswitch): Same.
- (pass_predcom): Same.
- (pass_vectorize): Same.
- (pass_linear_transform): Same.
- (pass_graphite_transforms): Same.
- (pass_iv_canon): Same.
- (pass_complete_unroll): Same.
- (pass_complete_unrolli): Same.
- (pass_parallelize_loops): Same.
- (pass_loop_prefetch): Same.
- (pass_iv_optimize): Same.
-
-2010-04-06 Changpeng Fang <changpeng.fang@amd.com>
-
- PR middle-end/32824
- * passes.c (init_optimization_passes): Move pass_lim before
- pass_copy_prop and pass_dce_loop.
-
-2010-04-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/43667
- * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
- instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
- (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
- MULTI_* defines for 4 argument vpermil2p* builtins.
-
-2010-04-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
- * config/i386/i386.c (x86_maybe_negate_const_int): New.
- (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
- * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
- *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
- *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
- *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
- Use x86_maybe_negate_const_int to output insn mnemonic.
- (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
- check from instruction predicate. Update comments.
- * config/i386/sync.md (sync_add<mode>): Use
- x86_maybe_negate_const_int to output insn mnemonic.
-
-2010-04-06 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/42906
- * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
- IGNORE_SELF argument. Set visited_control_parents for fully
- processed BBs.
- (find_obviously_necessary_stmts): Update call of
- mark_control_dependent_edges_necessary.
- (propagate_necessity): Likewise. Handle PHI edges more curefully.
-
-2010-04-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md: Remove comment about 'e' and 'E'
- operand modifier.
-
-2010-04-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43627
- * tree-vrp.c (extract_range_from_unary_expr): Widenings
- of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
- not varying.
-
-2010-04-06 Jakub Jelinek <jakub@redhat.com>
-
- * BASE-VER: Change to 4.6.0.
-
- PR target/43638
- * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
- handling.
-
-2010-04-06 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/43661
- * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
-
-2010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/invoke.texi (Optimize Options): Document that LTO
- won't remove object access purely due to incompatible
- declarations.
-
-2010-04-04 Matthias Klose <doko@ubuntu.com>
-
- * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
- Initialize variable.
-
-2010-04-03 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/42509
- * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
- require a non-NULL MEM_OFFSET.
-
-2010-04-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
- basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
- collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
- config/alpha/predicates.md, config/arm/arm.md,
- config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
- config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
- config/darwin9.h, config/darwin.c, config/darwin.h,
- config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
- config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
- config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
- config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
- config/mips/mips.md, config/mn10300/mn10300.c,
- config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
- config/rs6000/aix.h, config/rs6000/dfp.md,
- config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
- config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
- config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
- config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
- config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
- config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
- c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
- diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
- doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
- doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
- fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
- gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
- graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
- graphite-dependences.c, graphite-poly.c, graphite-poly.h,
- graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
- graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
- intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
- ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
- ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
- loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
- objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
- opt-functions.awk, opth-gen.awk, params.def, passes.c,
- postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
- rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
- store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
- tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
- tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
- tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
- tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
- tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
- tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
- tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
- tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
- tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
- tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
- unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR other/43620
- * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
- * aclocal.m4: Regenerate.
-
-2010-04-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43629
- * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
- if we have seen a constant value.
-
-2010-04-02 Joseph Myers <joseph@codesourcery.com>
-
- * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
-
-2010-04-02 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/43469
- * arm.c (legitimize_tls_address): Adjust call to
- gen_tls_load_dot_plus_four.
- (arm_note_pic_base): New function.
- (arm_cannot_copy_insn_p): Use it.
- * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
- constraint.
-
-2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR bootstrap/43531
-
- Revert:
- 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in ($(out_object_file)): Depend on
- gt-$(basename $(notdir $(out_file))).h.
-
-2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config.gcc (lm32-*-rtems*): Add t-lm32.
-
-2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * config.gcc: Add lm32-*-rtems*.
- * config/lm32/rtems.h: New file.
-
-2010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/42609
- * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
-
-2010-04-01 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (output_compilation_unit_header): For
- -gdwarf-4 use version 4 instead of version 3.
- (output_line_info): For version 4 and above emit additional
- maximum ops per insn header field.
- (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
-
- * dwarf2out.c (is_c_family, is_java): Remove.
- (lower_bound_default): New function.
- (add_bound_info, gen_descr_array_type_die): Use it.
-
-2010-04-01 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/43325
- * dwarf2out.c (gen_variable_die): Allow debug info for variable
- re-declaration when it happens in a function.
-
-2010-04-01 Aldy Hernandez <aldyh@redhat.com>
-
- * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
- (cgraph_remove_function_insertion_hook): Same.
- (cgraph_call_function_insertion_hooks): Same.
-
-2010-04-01 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/43614
- * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
- and TREE_THIS_VOLATILE.
- (copy_ref_info): Likewise.
- * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
- * tree.c (build6_stat): Ignore side-effects of all but arg5
- for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
- TARGET_MEM_REF.
-
-2010-04-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43607
- * ipa-type-escape.c (check_call): Do not access non-existing
- arguments.
-
-2010-04-01 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/43602
- Revert
- 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- * tree-profile.c (tree_init_ic_make_global_vars): Make static
- variables TLS.
-
-2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Prerequisites): Document libelf usability on
- IRIX 5/6 and Solaris 2.
- (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
- Update GNU as, GNU ld requirements.
- (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
- Document Sun Studio compiler download.
- Update and simplify as, ld recommendations.
- (Specific, *-*-solaris2.7): Note obsoletion, removal.
-
-2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
- with_tune_32 to pentium4.
-
-2010-04-01 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
-
-2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
- obsoletion, removal.
- Update IDO URL.
- Document GNU as requirement.
- Update configure requirements.
- (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
- Recomment IRIX 6.5.18+.
- Document IDF/IDL requirement.
- Document GNU as requirement.
- Document GNU ld bootstrap failure.
- Remove freeware.sgi.com reference.
-
-2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
- UNIX V4.0, V5.0 obsoletion, removal.
- Remove --with-gc=simple reference.
- Update VM requirements during bootstrap.
- Remove -oldas bootstrap description.
- Update binutils reference.
- Remove comparison failure note.
-
-2010-03-31 Richard Guenther <rguenther@suse.de>
- Zdenek Dvorak <ook@ucw.cz>
- Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/43464
- * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
- with multiple arguments.
- (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
-
-2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (print_pddr): Call print_pdr with an
- extra argument.
- * graphite-poly.c (debug_pdr): Add an extra argument for the
- verbosity level.
- (print_pdr): Same.
- (print_pbb_domain): Same.
- (print_pbb): Same.
- (print_scop_context): Same.
- (print_scop): Same.
- (print_cloog): Same.
- (debug_pbb_domain): Same.
- (debug_pbb): Same.
- (print_pdrs): Same.
- (debug_pdrs): Same.
- (debug_scop_context): Same.
- (debug_scop): Same.
- (debug_cloog): Same.
- (print_scop_params): Same.
- (debug_scop_params): Same.
- (print_iteration_domain): Same.
- (print_iteration_domains): Same.
- (debug_iteration_domain): Same.
- (debug_iteration_domains): Same.
- (print_scattering_function): Same.
- (print_scattering_functions): Same.
- (debug_scattering_function): Same.
- (debug_scattering_functions): Same.
- * graphite-poly.h (debug_pdr): Update declaration.
- (print_pdr): Same.
- (print_pbb_domain): Same.
- (print_pbb): Same.
- (print_scop_context): Same.
- (print_scop): Same.
- (print_cloog): Same.
- (debug_pbb_domain): Same.
- (debug_pbb): Same.
- (print_pdrs): Same.
- (debug_pdrs): Same.
- (debug_scop_context): Same.
- (debug_scop): Same.
- (debug_cloog): Same.
- (print_scop_params): Same.
- (debug_scop_params): Same.
- (print_iteration_domain): Same.
- (print_iteration_domains): Same.
- (debug_iteration_domain): Same.
- (debug_iteration_domains): Same.
- (print_scattering_function): Same.
- (print_scattering_functions): Same.
- (debug_scattering_function): Same.
- (debug_scattering_functions): Same.
-
-2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-poly.c (print_scattering_function_1): New.
- (print_scattering_function): Call it.
- (print_scop_params): Remove spaces at the end of lines.
- (print_cloog): New.
- (debug_cloog): New.
- * graphite-poly.h (print_cloog): Declared.
- (debug_cloog): Declared.
-
-2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
- in loop->header.
- * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
- * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
- * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
- to switch between adding the IV bump in loop->latch or in loop->header.
-
-2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-poly.c (print_scattering_function): Pretty print following
- the scoplib format.
- (print_pdr): Same.
- (print_pbb_domain): Same.
- (dump_gbb_cases): Same.
- (dump_gbb_conditions): Same.
- (print_pdrs): Same.
- (print_pbb): Same.
- (print_scop_params): Same.
- (print_scop_context): Same.
- (print_scop): Same.
- (print_pbb_body): New.
- (lst_indent_to): New.
- (print_lst): Start new lines with a #.
- * graphite-poly.h (pbb_bb): New.
- (pbb_index): Use pbb_bb.
- * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
- disjuncts.
- * tree-data-ref.c (dump_data_reference): Start new lines with a #.
-
-2010-03-31 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (size_of_die): For -gdwarf-4 use
- uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
- and 0 instead of 1 for dw_val_class_flag.
- (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
- dw_val_class_range_list, dw_val_class_loc_list,
- dw_val_class_lineptr and dw_val_class_macptr, use
- DW_FORM_flag_present for dw_val_class_flag and
- DW_FORM_exprloc for dw_val_class_loc.
- (output_die): For -gdwarf-4 print dw_val_class_loc
- size as uleb128 instead of 1 or 2 bytes and don't print
- anything for dw_val_class_flag.
-
- * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
- instead of cselib_lookup following by tweaking locs->setting_insn.
-
- PR bootstrap/43596
- * cselib.c (cselib_process_insn): Clear cselib_current_insn
- even before returning from label, setjmp call or volatile asm
- handling.
-
-2010-03-31 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/43600
- * cgraphunit.c (cgraph_output_in_order): Do not allocate
- temporary data on stack.
-
-2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
- (PUSHSECTION_ASM_OP): Remove.
- (POPSECTION_ASM_OP): Remove.
- (PUSHSECTION_FORMAT): Remove.
- * config/sol2.h (PUSHSECTION_FORMAT): Define.
- * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
- * config/sol2.c (solaris_output_init_fini): Use it.
-
-2010-03-31 Jie Zhang <jie@codesourcery.com>
-
- PR 43574
- * opt-functions.awk (var_type_struct): Use signed char type
- for simple variables.
-
-2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sol2.c: Include output.h.
- (solaris_assemble_visibility): New function.
- * config/t-sol2 (sol2.o): Add output.h dependency.
- * config/sol2-protos.h (solaris_assemble_visibility): Declare.
- * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
- Redefine.
-
-2010-03-31 Jakub Jelinek <jakub@redhat.com>
-
- PR target/43580
- * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
- V2SImode or XFmode on PRE_DEC.
-
- PR debug/43557
- * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
- BLKmode.
-
-2010-03-31 Jie Zhang <jie@codesourcery.com>
-
- PR 43562
- * reload.h (caller_save_initialized_p): Declare.
- * toplev.c (backend_init_target): Don't call
- init_caller_save but set caller_save_initialized_p to false.
- * caller-save.c (caller_save_initialized_p): Define.
- (init_caller_save): Check caller_save_initialized_p.
- * ira.c (ira): Call init_caller_save if flag_caller_saves.
-
-2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/39048
- * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
- and soft-fp/t-softfp to tmake_file.
- * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
- (LIBGCC2_TF_CEXT): Define.
- (TF_SIZE): Define.
-
-2010-03-30 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/42977
- * cselib.c (n_useless_values): Document handling of debug locs.
- (n_useless_debug_values, n_debug_values): New variables.
- (new_elt_loc_list): Don't add to debug values, keep count.
- (promote_debug_loc): New.
- (cselib_reset_table): Zero new variables.
- (entry_and_rtx_equal_p): Promote debug locs.
- (discard_useless_locs): Increment n_useless_debug_values for
- debug values.
- (remove_useless_values): Adjust n_useless_values and n_debug_values
- with n_useless_debug_values.
- (add_mem_for_addr): Promote debug locs.
- (cselib_lookup_mem): Likewise.
- (cselib_lookup_addr): Renamed to...
- (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
- (cselib_log_lookup): ... this. Turn into...
- (cselib_lookup_addr): ... new wrapper.
- (cselib_lookup_from_insn): New.
- (cselib_invalidate_regno): Increment n_useless_debug_values for
- debug values.
- (cselib_invalidate_mem): Likewise.
- (cselib_process_insn): Take n_deleted and n_debug_values into
- account to guard remove_useless_value call.
- (cselib_finish): Zero n_useless_debug_values.
- * cselib.h (cselib_lookup_from_insn): Declare.
- * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
- (sched_analyze_2): Likewise.
-
-2010-03-30 Jakub Jelinek <jakub@redhat.com>
-
- * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
- functions.
- (adjust_mems): Replace narrowing SUBREG of expression containing
- just PLUS, MINUS, MULT and ASHIFT of registers and constants
- with operations in the narrower mode.
-
- PR debug/43593
- * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
- regs_invalidated_by_call instead all call_used_reg_set registers.
-
-2010-03-30 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/43430
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
- pointer comparisons with types_compatible_p.
- * tree-vect-stmts.c (vectorizable_call): Same.
- (vectorizable_condition): Same.
-
-2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
- stack check if the mask would be zero.
-
-2010-03-30 Seongbae Park <seongbae.park@gmail.com>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- * tree-profile.c (tree_init_ic_make_global_vars): Make static
- variables TLS.
-
-2010-03-30 Joseph Myers <joseph@codesourcery.com>
-
- PR other/25232
- * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
- and __unordtf2.
- * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
- Include ___unordxf2 and ___unordtf2.
- * config/i386/libgcc-glibc.ver: Do not define inheritance from
- GCC_4.4.0 here.
-
-2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
-
- * config/lm32/t-lm32: New file.
- * config.gcc: Use the above file when targetting lm32.
-
-2010-03-28 Duncan Sands <baldrick@free.fr>
-
- * Makefile.in (PLUGIN_HEADERS): Add except.h.
-
-2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/43431
- * tree-vect-loop.c (vect_estimate_min_profitable_iters):
- Improve vectorization cost model diagnostic.
-
-2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/43436
- * tree-vect-data-refs.c (vect_analyze_data_refs): When
- compute_data_dependences_for_loop returns false, early exit
- and output an extra diagnostic for the failed data reference
- analysis.
-
-2010-03-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43560
- * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
- (can_sm_ref_p): Treat stores to readonly locations as trapping.
-
-2010-03-29 Jie Zhang <jie@codesourcery.com>
-
- PR 43564
- * toplev.c (process_options): Set optimization_default_node
- and optimization_current_node.
- * opts.c (decode_options): Don't set optimization_default_node
- and optimization_current_node.
-
-2010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config/rtems.h: Abandon -qrtems_debug.
-
-2010-03-28 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/43505
- * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
- map should not be copied.
-
-2010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/41674
- * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
- cdtors, set DECL_PRESERVE_P.
- * ipa.c (cgraph_externally_visible_p): Return true if declaration
- should be preseved.
-
-2010-03-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR tree-optimization/43528
- * stor-layout.c (place_field): Check that constant fits into
- unsigned HWI when skipping calculation of MS bitfield layout.
-
-2010-03-27 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/43391
- * varasm.c (make_decl_rtl): Deal with COMMON flag to make
- notice_global_symbol work.
-
-2010-03-27 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
- instead of dwarf2out_decl.
- (struct var_loc_node): Remove section_label field.
- (dwarf2out_function_decl): New function.
- (dwarf2out_var_location): Don't set section_label field.
- (dwarf2out_begin_function): Don't empty decl_loc_table here.
-
-2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR tree-optimization/43544
- * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
- First argument for builtin vectorized function hook is now a
- tree to be able to distinguish between machine specific and
- standard builtins.
- * targhooks.c (default_builtin_vectorized_function): Ditto.
- * targhooks.h (default_builtin_vectorized_function): Ditto.
- * target.h (struct gcc_target): Ditto.
- * tree-vect-stmts.c (vectorizable_function): Ditto.
- * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
- * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
- Ditto.
-
-2010-03-26 Joseph Myers <joseph@codesourcery.com>
-
- PR c/43381
- * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
- nested binding iff it is a FUNCTION_DECL.
- (store_parm_decls_newstyle): Pass nested=true to bind for
- FUNCTION_DECLs amongst parameters.
-
-2010-03-26 Jakub Jelinek <jakub@redhat.com>
-
- * var-tracking.c (vt_expand_loc_callback): Don't run
- cselib_expand_value_rtx_cb in dummy mode if
- cselib_dummy_expand_value_rtx_cb returned false.
-
- * var-tracking.c (emit_note_insn_var_location): For one part
- notes with offset 0, don't add EXPR_LIST around the location.
- * dwarf2out.c (loc_descriptor, dw_loc_list_1,
- add_location_or_const_value_attribute): Adjust for that change.
-
- PR debug/43540
- * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
- into first operand and location into second.
- (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
- dw_cfi_oprnd_loc for DW_CFA_expression.
- (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
- (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
- assume first argument is regnum and second argument is location.
-
-2010-03-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/42113
- * config/alpha/alpha.md (*cmp_sadd_si): Change mode
- of scratch register to DImode. Split to DImode comparison operator.
- Use SImode subreg of scratch register in the multiplication.
- (*cmp_sadd_sidi): Ditto.
- (*cmp_ssub_si): Ditto.
- (*cmp_ssub_sidi): Ditto.
-
-2010-03-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/43524
- * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
- Remove invalid assert and wrong comment.
-
-2010-03-26 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43516
- * flags.h (final_insns_dump_p): New extern.
- * final.c (final_insns_dump_p): New variable.
- (rest_of_clean_state): Set it before -fdump-final-insns=
- dumping, clear afterwards.
- * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
- MEM_ALIAS_SET on MEMs.
-
-2010-03-26 David S. Miller <davem@davemloft.net>
-
- * configure.ac: Fix sparc GOTDATA_OP bug check.
- * configure: Rebuild.
-
-2010-03-26 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
-
-2010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
- TLS_SECTION_ASM_FLAG.
-
-2010-03-25 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/43511
- * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
- Clear first_function_block_is_cold.
-
- PR c/43385
- * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
- argument if the argument is truth_value_p.
-
-2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md: Update copyright year for my changes.
-
- PR target/43484
- * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
- used in reg+reg addressing, swap registers.
-
-2010-03-24 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43293
- * target.h (struct gcc_target): Add code_end hook.
- * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
- if not yet defined.
- (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
- * toplev.c (compile_file): Call targetm.asm_out.code_end
- hook before unwind info/debug info output.
- * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
- * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
- (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
- * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
- (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
- * config/i386/i386.c (ix86_file_end): Renamed to...
- (ix86_code_end): ... this. Make static. Don't call
- file_end_indicate_exec_stack. Emit unwind info using
- final_start_function/final_end_function.
- (darwin_x86_file_end): Remove.
- (TARGET_ASM_CODE_END): Define.
- * config/i386/i386.h (TARGET_ASM_FILE_END,
- NEED_INDICATE_EXEC_STACK): Don't define.
- * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
- (TARGET_ASM_FILE_END): Define to darwin_file_end.
- * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
- * doc/tm.texi (TARGET_ASM_CODE_END): Document.
-
- PR target/43498
- * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
- at the beginning and final_end_function at the end.
- * config/s390/s390.c (s390_output_mi_thunk): Likewise.
-
-2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
- and Sun as TLS syntax.
- (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
- * configure: Regenerate.
- * config.in: Regenerate.
- * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
- (default_elf_asm_named_section): Use it.
- * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
- (i386_output_dwarf_dtprel): Likewise.
- (output_addr_const_extra): Likewise.
- (output_pic_addr_const): Lowercase @GOTTPOFF.
- (output_addr_const_extra): Likewise.
- (output_pic_addr_const): Lowercase @GOTNTPOFF.
- (output_addr_const_extra): Likewise.
- (output_pic_addr_const): Lowercase @INDNTPOFF.
- (output_addr_const_extra): Likewise.
- (output_pic_addr_const): Lowercase @NTPOFF.
- (output_addr_const_extra): Likewise.
- (output_pic_addr_const): Lowercase @TPOFF.
- (output_addr_const_extra): Likewise.
- * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
- (*tls_global_dynamic_64): Likewise.
- (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
- (*tls_local_dynamic_base_64): Lowercase @TLSLD.
-
- * defaults.h (TLS_COMMON_ASM_OP): Provide default.
- (ASM_OUTPUT_TLS_COMMON): Use it.
- * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
-
- PR target/38118
- * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
- * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
- * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
- * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
- * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
- (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
-
-2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/i386.c (override_options): Don't accept
- -mtls-dialect=sun any longer.
- * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
- * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
- (*tls_local_dynamic_base_32_sun): Likewise.
- * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
-
-2010-03-24 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/43508
- * dwarf2out.c (mem_loc_descriptor): Don't ICE on
- VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
-
- PR debug/43479
- * ira.c (adjust_cleared_regs): New function.
- (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
-
- PR debug/19192
- PR debug/43479
- * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
- from gimple_block.
- * expr.c (expand_expr_real): Restore previous
- curr_insn_source_location and curr_insn_block after
- expand_expr_real_1 call.
- (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
- instead of expand_expr_real_1.
-
-2010-03-23 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/43413
- * ira-color.c (setup_allocno_available_regs_num): Count prohibited
- hard regs too.
-
-2010-03-22 James E. Wilson <wilson@codesourcery.com>
-
- PR target/43348
- * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
- call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
-
-2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_target_string): Add -mfma.
- Fix a typo in comment.
-
-2010-03-22 Mike Stump <mikestump@comcast.net>
-
- PR target/23071
- * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
- Don't overly align based upon packed packed fields.
-
-2010-03-22 Jason Merrill <jason@redhat.com>
-
- * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
- Use () rather than [], and move before the element type.
-
-2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/configfiles.texi (Configuration Files): Removed
- fixinc/Makefile*, intl/Makefile.*.
- * doc/makefile.texi: Fixed markup. Abstract from version
- control system used.
- (Makefile): Removed obsolete gcc/java/parse.y example.
- * doc/sourcebuild.texi: Likewise.
- (Top Level): Added config, gnattools, libdecnumber, libgcc,
- libgomp, libssp. Removed fastjar.
- (Miscellaneous Docs): Clarify location.
- Added COPYING3, COPYING3.LIB.
- (Front End Directory): Moved Make-lang.in entry to new subsubsection.
-
-2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/38085
- * config/i386/i386.c (x86_function_profiler)
- [!NO_PROFILE_COUNTERS]: Fix typo.
- * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
- instead of callq.
-
-2010-03-22 Janis Johnson <janis187@us.ibm.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/sourcebuild.texi (Test Directives): Split into six
- subsections, with most of the current text in new subsections
- Directives, Selectors, and Final Actions.
- (Directives): Split list of test directives into multiple
- subsubsections.
- (Selectors): Describe use and syntax of selectors.
- (Effective-Target Keywords): Describe all existing keywords.
- (Add Options): Describe features for dg-add-options.
- (Require Support): Describe variants of dg-require-support.
- (Final Actions): Describe commands to use in dg-final.
-
-2010-03-22 Michael Matz <matz@suse.de>
-
- PR middle-end/43475
- * recog.c (validate_replace_rtx_group): Replace also in
- REG_EQUAL and REG_EQUIV notes.
-
-2010-03-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43390
- * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
- sure vector extracts are type correct.
-
-2010-03-22 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/40106
- * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
- x * sqrt (x) even when optimizing for size if the target
- has native support for sqrt.
-
-2010-03-22 Jakub Jelinek <jakub@redhat.com>
-
- * varasm.c (make_decl_rtl_for_debug): Also clear
- flag_mudflap for the duration of make_decl_rtl call.
-
- PR debug/43443
- * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
- locs from preserved VALUEs.
-
-2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/42718
- * pa.md (movmemsi): Set align to one if zero.
- (movmemdi): Likewise.
-
-2010-03-21 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/42321
- * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
- with their corresponding prologue pushes.
-
-2010-03-20 Andrew Pinski <pinskia@gmail.com>
-
- PR target/43156
- * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
- at the begining or end.
- (spu_expand_epilogue): Likewise.
-
-2010-03-20 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/43438
- * combine.c (make_extraction): Properly zero-/sign-extend an
- extraction of the low part of a CONST_INT. Also handle
- CONST_DOUBLE.
-
-2010-03-19 Mike Stump <mikestump@comcast.net>
-
- * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
- * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
- (override_options): Use SUBTARGET32_DEFAULT_CPU.
-
-2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
-
- PR c/43211
- * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
- an error.
-
-2010-03-19 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/42258
- * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
- use that may match DEF.
-
- PR target/40697
- * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
- the cost of loading the constant rather than assuming
- COSTS_N_INSNS (1).
- * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
- outer code is AND, do the same tests as the andsi3 expander and
- return COSTS_N_INSNS (1) if and is cheap.
-
- * optabs.c (avoid_expensive_constant): Fix formatting.
-
-2010-03-19 Michael Matz <matz@suse.de>
-
- PR c++/43116
- * attribs.c (decl_attributes): When rebuilding a function pointer
- type use the same qualifiers as the original pointer type.
-
-2010-03-19 Martin Jambor <mjambor@suse.cz>
-
- * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
- and is_gimple_ip_invariant_address.
-
-2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- Revert
- 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.c (arm_override_options): Turn off
- flag_dwarf2_cfi_asm for AAPCS variants.
-
-2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/43399
- * config/arm/arm.c (emit_multi_reg_push): Update comments.
- Use PRE_MODIFY instead of PRE_DEC.
- (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
- (vfp_emit_fstmd): Likewise.
-
-2010-03-19 Michael Matz <matz@suse.de>
-
- PR target/43305
- * builtins.c (expand_builtin_interclass_mathfn,
- expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
- if that fails.
-
-2010-03-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43415
- * tree-ssa-pre.c (phi_translate): Split out worker to ...
- (phi_translate_1): ... this.
- (phi_translate): Move all caching here. Cache all NARY
- and REFERENCE translations.
-
-2010-03-19 David S. Miller <davem@davemloft.net>
-
- With help from Eric Botcazou.
- * config/sparc/sparc.c: Include dwarf2out.h.
- (emit_pic_helper): Delete.
- (pic_helper_symbol_name): Delete.
- (pic_helper_emitted_p): Delete.
- (pic_helper_needed): New.
- (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
- (get_pc_thunk_name): New.
- (load_pic_register): Remove 'delay_pic_helper' arg. Use
- get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
- Set pic_helper_needed to true. Don't call emit_pic_helper.
- (sparc_expand_prologue): Update load_pic_register call.
- (sparc_output_mi_thunk): Likewise.
- (sparc_file_end): Emit a hidden comdat symbol for the PIC
- thunk if possible. Output CFI information as needed.
-
-2010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/36399
- * config/i386/i386.h: Fix ABI on darwin x86-32.
-
-2010-03-18 Aldy Hernandez <aldyh@redhat.com>
-
- * tree.h: Declare make_decl_rtl_for_debug.
- * varasm.c (make_decl_rtl_for_debug): New.
- * dwarf2out.c (rtl_for_decl_location): Call it.
- * cfgexpand.c (expand_debug_expr): Call it.
-
2010-03-18 Jakub Jelinek <jakub@redhat.com>
- PR bootstrap/43399
- * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
- mem_mode.
-
PR bootstrap/43403
* var-tracking.c (vt_init_cfa_base): Do nothing if
- cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
+ cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed
+ register.
2010-03-18 Alexandre Oliva <aoliva@redhat.com>
* cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
* cgraphunit.c (cgraph_materialize_all_clones): Update calls in
all non-clones. Moved call redirection...
- (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
+ (cgraph_redirect_edge_call_stmt_to_callee): ...to this new
+ function.
(cgraph_materialize_all_clones): Dispose of all
combined_args_to_skip bitmaps.
(verify_cgraph_node): Do not check for edges pointing to wrong
appending a use to an empty chain.
(build_def_use): Remove previous changes that convert OP_INOUT to
OP_OUT operands; instead detect the case where an OP_INOUT operand
- uses a previously untracked register and create an empty chain for it.
+ uses a previously untracked register and create an empty chain for
+ it.
2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-03-16 Richard Guenther <rguenther@suse.de>
PR middle-end/43379
- * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
- operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
+ * tree-cfg.c (gimple_merge_blocks): When propagating virtual
+ PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI
+ properly.
2010-03-16 Aldy Hernandez <aldyh@redhat.com>
Alexandre Oliva <aoliva@redhat.com>
cfa_base_preserved_val): New static variables.
(preserve_only_constants): New function.
(cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
- clear its REG_VALUES. If cselib_preserve_constants, don't
+ clear its REG_VALUES. If cselib_preserve_constants, don't
empty the whole hash table, but preserve there VALUEs with constants,
cfa_base_preserved_val and cfa_base_preserved_val plus constant.
(cselib_preserve_cfa_base_value): New function.