9097 lines
321 KiB
Plaintext
9097 lines
321 KiB
Plaintext
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.
|
||
|
||
2010-03-18 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42873
|
||
* var-tracking.c (canonicalize_vars_star): New.
|
||
(dataflow_post_merge_adjust): Use it.
|
||
|
||
2010-03-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43058
|
||
* var-tracking.c (non_suitable_const): New function.
|
||
(add_uses): For DEBUG_INSNs with constants, don't record any
|
||
value, instead just the constant value itself.
|
||
(compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
|
||
is not VAR_LOC_UNKNOWN_P, set var to the constant.
|
||
(emit_notes_in_bb): Likewise.
|
||
(emit_note_insn_var_location): For onepart variables if
|
||
cur_loc is a VOIDmode constant, use DECL_MODE.
|
||
|
||
2010-03-18 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR middle-end/42450
|
||
* 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_materialize_all_clones): Dispose of all
|
||
combined_args_to_skip bitmaps.
|
||
(verify_cgraph_node): Do not check for edges pointing to wrong
|
||
nodes in inline clones.
|
||
* tree-inline.c (copy_bb): Call
|
||
cgraph_redirect_edge_call_stmt_to_callee.
|
||
* ipa.c (cgraph_remove_unreachable_nodes): Call
|
||
cgraph_node_remove_callees even when there are used clones.
|
||
|
||
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
|
||
|
||
2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/43383
|
||
* config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
|
||
for 32bit.
|
||
|
||
2010-03-18 Michael Matz <matz@suse.de>
|
||
|
||
PR middle-end/43419
|
||
* builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
|
||
into sqrt(x) if we need to preserve signed zeros.
|
||
|
||
2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR rtl-optimization/43360
|
||
* loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
|
||
note if we don't know its invariant status.
|
||
|
||
2010-03-18 Michael Matz <matz@suse.de>
|
||
|
||
PR tree-optimization/43402
|
||
* tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
|
||
PHI chains of ssa names registered for update.
|
||
|
||
2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
PR target/42427
|
||
* config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
|
||
non-offsettable and pre_modify update addressing.
|
||
* config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
|
||
and "2" alternatives "#".
|
||
(*movdd_softfloat32): Make all alternatives "#";
|
||
* config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
|
||
(*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
|
||
(*movdf_softfloat32): Make all alternatives "#";
|
||
(movdi): Use the new DIFD mode iterator to create a common splitter
|
||
for movdi, movdf and movdd patterns.
|
||
|
||
2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
|
||
|
||
* common.opt (dumpdir): Remove redundant tab.
|
||
|
||
2010-03-17 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/43347
|
||
* tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
|
||
original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
|
||
|
||
2010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
|
||
|
||
PR rtl-optimization/42216
|
||
* regrename.c (create_new_chain): New function, broken out from...
|
||
(scan_rtx_reg): ... here. Call it. Handle the case where we are
|
||
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.
|
||
|
||
2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||
|
||
* doc/extend.texi (Function Attributes): Rewrite unfinished
|
||
sentence in ms_abi documentation.
|
||
|
||
2010-03-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
|
||
* config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
|
||
(SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
|
||
* config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
|
||
|
||
2010-03-16 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/43365
|
||
* tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
|
||
(lower_try_finally): Save and restore eh_seq around the expansion
|
||
of the try-finally.
|
||
|
||
2010-03-16 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
|
||
statements before splitting block.
|
||
|
||
2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* doc/sourcebuild.texi (Testsuites): Fix markup.
|
||
Use pathnames relative to gcc/testsuite.
|
||
(Test Directives): Move description of how timeout is determined.
|
||
(Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
|
||
(C Tests): Correct gcc.misc-tests directory.
|
||
Framework tests now live in gcc.test-framework.
|
||
|
||
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.
|
||
|
||
2010-03-16 Aldy Hernandez <aldyh@redhat.com>
|
||
Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR tree-optimization/42917
|
||
* lambda-code.c (remove_iv): Skip debug statements.
|
||
(lambda_loopnest_to_gcc_loopnest): Likewise.
|
||
(not_interesting_stmt): Debug statements are not interesting.
|
||
|
||
2010-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43051
|
||
PR debug/43092
|
||
* cselib.c (cselib_preserve_constants,
|
||
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
|
||
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.
|
||
(cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
|
||
(cselib_init): Change argument to int bitfield. Set
|
||
cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
|
||
is in it.
|
||
(cselib_finish): Clear cselib_preserve_constants and
|
||
cfa_base_preserved_val.
|
||
* cselib.h (enum cselib_record_what): New enum.
|
||
(cselib_init): Change argument to int.
|
||
(cselib_preserve_cfa_base_value): New prototype.
|
||
* postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
|
||
* dse.c (dse_step1): Likewise.
|
||
* cfgcleanup.c (thread_jump): Likewise.
|
||
* sched-deps.c (sched_analyze): Likewise.
|
||
* gcse.c (local_cprop_pass): Likewise.
|
||
* simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
|
||
If FN is non-NULL, call the callback always and whenever it returns
|
||
non-NULL just return that. Only do rtx_equal_p if FN is NULL.
|
||
* rtl.h (simplify_replace_fn_rtx): Add argument to callback.
|
||
* combine.c (propagate_for_debug_subst): Add old_rtx argument,
|
||
compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
|
||
* Makefile.in (var-tracking.o): Depend on $(RECOG_H).
|
||
* var-tracking.c: Include recog.h.
|
||
(bb_stack_adjust_offset): Remove.
|
||
(vt_stack_adjustments): Don't call it, instead just gather the
|
||
adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
|
||
(adjust_stack_reference): Remove.
|
||
(compute_cfa_pointer): New function.
|
||
(hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
|
||
(struct adjust_mem_data): New type.
|
||
(adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
|
||
functions.
|
||
(get_address_mode): New function.
|
||
(replace_expr_with_values): Use it.
|
||
(use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
|
||
Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
|
||
(adjust_sets): Remove.
|
||
(add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
|
||
Use get_address_mode.
|
||
(get_adjusted_src): Remove.
|
||
(add_stores): Don't call it. Never reuse expr SET. Don't add extra
|
||
MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
|
||
(add_with_sets): Don't call adjust_sets.
|
||
(fp_setter, vt_init_cfa_base): New functions.
|
||
(vt_initialize): Change return type to bool. Move most of pool etc.
|
||
initialization to the beginning of the function from end. Pass
|
||
CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
|
||
If !frame_pointer_needed, call vt_stack_adjustment before mos
|
||
vector is filled, call vt_init_cfa_base if argp/framep has been
|
||
eliminated to sp. If frame_pointer_needed and argp/framep has
|
||
been eliminated to hard frame pointer, set
|
||
hard_frame_pointer_adjustment and call vt_init_cfa_base after
|
||
encountering fp setter in the prologue. For MO_ADJUST, call
|
||
log_op_type before pusing the op into mos vector, not afterwards.
|
||
Call adjust_insn before cselib_process_insn/add_with_sets,
|
||
call cancel_changes (0) afterwards.
|
||
(variable_tracking_main_1): Adjust for vt_initialize calling
|
||
vt_stack_adjustments and returning whether it succeeded or not.
|
||
|
||
2010-03-15 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
|
||
debug statements.
|
||
|
||
2010-03-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
|
||
has been set.
|
||
(based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
|
||
drap_reg has not been set.
|
||
|
||
2010-03-15 Michael Matz <matz@suse.de>
|
||
|
||
PR middle-end/43300
|
||
* tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
|
||
use it to expand block copies.
|
||
(insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
|
||
insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
|
||
(insert_value_copy_on_edge): Use store_expr for BLKmode values.
|
||
|
||
2010-03-15 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43367
|
||
* tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
|
||
elimination check.
|
||
|
||
2010-03-15 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43317
|
||
* ipa-struct-reorg.c (create_new_general_access): Update stmt.
|
||
|
||
2010-03-15 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/43141
|
||
* tree-sra.c (create_abstract_origin): New function.
|
||
(modify_function): Call create_abstract_origin.
|
||
|
||
2010-03-15 Chris Demetriou <cgd@google.com>
|
||
|
||
* Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
|
||
wasn't copied.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/43354
|
||
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
|
||
call insert_out_of_ssa_copy for default definitions.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-clast-to-gimple.c (my_long_long): Defined.
|
||
(gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
|
||
* graphite-sese-to-poly.c (my_long_long): Defined.
|
||
(scop_ivs_can_be_represented): Use it.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
|
||
graphite-max-bbs-per-function, and loop-block-tile-size.
|
||
* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
|
||
with "maximum".
|
||
(PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
|
||
forward declaration.
|
||
* graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
|
||
(add_upper_bounds_from_estimated_nit): New.
|
||
(build_loop_iteration_domains): Use it.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/43306
|
||
* tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
|
||
should be an INTEGER_CST. Also handle CASE_CONVERT.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite.c (graphite_initialize): To bound the number of bbs per
|
||
function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
|
||
* params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
|
||
* doc/invoke.texi: Document it.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
|
||
* graphite-sese-to-poly.h (build_poly_scop): Same.
|
||
|
||
2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-sese-to-poly.c (build_poly_scop): Limit scops following
|
||
the number of parameters in the scop. Use as an upper bound
|
||
PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
|
||
* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
|
||
* doc/invoke.texi: Document it.
|
||
|
||
2010-03-13 Jerry Quinn <jlquinn@optonline.net>
|
||
|
||
* Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
|
||
* doc/c-tree.texi: Remove.
|
||
* doc/generic.texi: Merge c-tree.texi here.
|
||
* doc/gccint.texi (Trees): Remove menu entry.
|
||
(c-tree.texi): Remove @include.
|
||
* doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
|
||
* doc/languages.texi (Reading RTL): Ditto.
|
||
|
||
2010-03-12 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
PR target/42869
|
||
* config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
|
||
|
||
2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR middle-end/42431
|
||
* gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
|
||
code added to work around reload clobbering CONST insns.
|
||
|
||
2010-03-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
|
||
(cselib_preserve_definitely, cselib_clear_preserve): Remove.
|
||
(cselib_preserve_only_values): Remove retain argument, don't
|
||
traverse hash table with cselib_{preserve_definitely,clear_preserve}.
|
||
* cselib.h (cselib_preserve_only_values): Remove retain argument.
|
||
* var-tracking.c (micro_operation): Move insn field before union.
|
||
Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
|
||
(struct variable_tracking_info_def): Remove n_mos field, change
|
||
mos into a vector of micro_operations.
|
||
(count_uses, count_uses_1, count_stores, count_with_sets): Remove.
|
||
(bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
|
||
compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
|
||
changing into a vector.
|
||
(add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
|
||
come before all other uops generated by add_stores.
|
||
(vt_add_function_parameters): Adjust for cselib_preserve_only_values
|
||
argument removal.
|
||
(vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
|
||
a vector. Run just one pass over the bbs instead of separate counting
|
||
and computation phase.
|
||
(vt_finalize): Free VTI (bb)->mos vector instead of array.
|
||
|
||
PR debug/43329
|
||
* tree-inline.c (remap_decls): Put old_var rather than origin_var
|
||
into *nonlocalized_list vector.
|
||
* dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
|
||
even if origin is non-NULL.
|
||
(gen_variable_die): Likewise.
|
||
(process_scope_var): Don't change origin.
|
||
(gen_decl_die): Likewise.
|
||
* tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
|
||
before adding new edges instead of after it, fix moving over
|
||
debug stmts.
|
||
|
||
2010-03-11 David S. Miller <davem@davemloft.net>
|
||
|
||
* configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
|
||
of four.
|
||
* configure: Rebuild.
|
||
|
||
2010-03-11 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/43257
|
||
* tree.c (assign_assembler_name_if_neeeded): New function.
|
||
(free_lang_data_in_cgraph): Assembler name assignment moved to the
|
||
above new function.
|
||
* tree.h (assign_assembler_name_if_neeeded): Declare.
|
||
* cgraphunit.c (cgraph_analyze_function): Create an assembler name for
|
||
the function if needed.
|
||
|
||
2010-03-11 Chris Demetriou <cgd@google.com>
|
||
|
||
* Makefile.in (stmp-int-hdrs): Make include/unwind.h,
|
||
include/stdint-gcc.h, and include/stdint.h world-readable.
|
||
|
||
2010-03-11 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43255
|
||
* tree-vrp.c (process_assert_insertions_for): Do not insert
|
||
asserts for trivial conditions.
|
||
|
||
2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
PR tree-optimization/43280
|
||
* tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
|
||
generation. Move calculation of size out of the if branch.
|
||
(find_bswap): Modify compare number generation.
|
||
|
||
2010-03-11 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/43200
|
||
* lto-streamer-in.c (maybe_fixup_decls): Simplify.
|
||
(input_gimple_stmt): Fixup handled component types during
|
||
operand read. Also fix up decls in ADDR_EXPRs.
|
||
|
||
2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
|
||
* config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
|
||
|
||
2010-03-10 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR c/43288
|
||
* ipa.c (function_and_variable_visibility) Normalize COMMON bits.
|
||
* varasm.c (get_variable_section): Don't do that here...
|
||
(make_decl_rtl): ... and here.
|
||
(do_assemble_alias): Produce decl RTL.
|
||
(assemble_alias): Likewise.
|
||
|
||
2010-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43290
|
||
* reg-notes.def (REG_CFA_SET_VDRAP): New note.
|
||
* dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
|
||
of fde->vdrap_reg.
|
||
(dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
|
||
(based_loc_descr): Only express drap or vdrap regno based expressions
|
||
using DW_OP_fbreg when not optimizing.
|
||
* config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
|
||
make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
|
||
REG_CFA_SET_VDRAP note.
|
||
|
||
2010-03-10 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR tree-optimization/43236
|
||
* tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
|
||
error in calculation of base address in reverse iteration case.
|
||
(generate_builtin): Take number of latch executions if the statement
|
||
is in the latch.
|
||
|
||
2010-03-10 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR middle-end/42859
|
||
* tree-eh.c: Include pointer-set.h.
|
||
(lower_eh_dispatch): Filter out duplicate case labels and
|
||
remove the unneeded edge when the label is unused. Return
|
||
true when some edges are removed.
|
||
(execute_lower_eh_dispatch): When any lowering resulted in
|
||
removing an edge, also delete unreachable blocks.
|
||
|
||
2010-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/43287
|
||
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
|
||
UNSPEC_MACHOPIC_OFFSET.
|
||
|
||
2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
PR target/43294
|
||
* config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
|
||
(m68k_delegitimize_address): New function.
|
||
|
||
2010-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43299
|
||
* dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
|
||
|
||
PR debug/43299
|
||
* var-tracking.c (adjust_sets): New function.
|
||
(count_with_sets, add_with_sets): Use it.
|
||
(get_adjusted_src): New inline function.
|
||
(add_stores): Use it.
|
||
|
||
PR debug/43304
|
||
* var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
|
||
call cselib_dummy_expand_value_rtx_cb instead of
|
||
cselib_expand_value_rtx_cb.
|
||
|
||
PR debug/43293
|
||
* config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
|
||
* config/i386/i386.c: Include debug.h and dwarf2out.h.
|
||
(ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
|
||
and .cfi_endproc around the pic thunks.
|
||
(output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
|
||
all queued unwind info register saves are saved before the call.
|
||
For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
|
||
considered as sp-=4 for unwind info and the pop as sp+=4 which
|
||
also clobbers dest, but doesn't actually restore it.
|
||
|
||
PR debug/43290
|
||
* config/i386/i386.c (ix86_get_drap_rtx): Don't set
|
||
RTX_FRAME_RELATED_P.
|
||
|
||
2010-03-09 Jie Zhang <jie@codesourcery.com>
|
||
|
||
* config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
|
||
whitespaces in output template.
|
||
|
||
2010-03-09 Jie Zhang <jie@codesourcery.com>
|
||
|
||
* ira-lives.c (check_and_make_def_use_conflict): Don't fall
|
||
out array boundary.
|
||
|
||
2010-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
|
||
builtins.exp in a separate job.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-sese-to-poly.c (add_param_constraints): Use
|
||
lower_bound_in_type and upper_bound_in_type.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-sese-to-poly.c (add_param_constraints): Use sizetype
|
||
instead of unsigned_type_node.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
Reza Yazdani <reza.yazdani@amd.com>
|
||
|
||
PR middle-end/43065
|
||
* graphite-sese-to-poly.c (add_param_constraints): Insert bounds
|
||
on pointer type parameters.
|
||
|
||
2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
|
||
|
||
PR middle-end/42644
|
||
PR middle-end/42130
|
||
* graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
|
||
handle conversions from pointer to integers.
|
||
(gcc_type_for_cloog_iv): Choose the smalles signed integer as an
|
||
induction variable, to be able to work with code generated by CLooG.
|
||
* graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
|
||
(build_poly_scop): Bail out if we cannot codegen a loop.
|
||
|
||
2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
|
||
|
||
* graphite-clast-to-gimple.c (translate_clast): Do not short-cut
|
||
code generation with gloog_error.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
|
||
Call fold_convert on all the returned values.
|
||
(expand_scalar_variables_expr): Pass to
|
||
expand_scalar_variables_ssa_name the type of the resulting expression.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
|
||
ppl_min_for_le_pointset.
|
||
Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
|
||
* graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-dependences.c (map_into_dep_poly): Removed.
|
||
(dependence_polyhedron_1): Use combine_context_id_scat.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-poly.h (struct poly_scattering): Add layout documentation.
|
||
(struct poly_bb): Same.
|
||
(combine_context_id_scat): New.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/42326
|
||
* sese.c (name_defined_in_loop_p): Return false for default
|
||
definitions.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
|
||
and clean up the logic.
|
||
|
||
2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
|
||
early return.
|
||
|
||
2010-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* var-tracking.c (remove_cselib_value_chains): Define only for
|
||
ENABLE_CHECKING.
|
||
(dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
|
||
delete_slot_part, emit_notes_for_differences_1): Don't call
|
||
remove_cselib_value_chains here.
|
||
(set_slot_part, emit_notes_for_differences_2): Don't call
|
||
add_cselib_value_chains here.
|
||
(preserved_values): New vector.
|
||
(preserve_value): New function.
|
||
(add_uses, add_stores, vt_add_function_parameters): Use it
|
||
instead of cselib_preserve_value.
|
||
(changed_values_stack): New vector.
|
||
(check_changed_vars_0): New function.
|
||
(check_changed_vars_1, check_changed_vars_2): Use it.
|
||
(emit_notes_for_changes): Call set_dv_changed (*, false) on all
|
||
changed_values_stack VALUEs.
|
||
(vt_emit_notes): For all preserved_values call
|
||
add_cselib_value_chains. If ENABLE_CHECKING call
|
||
remove_cselib_value_chains before verifying value_chains is empty.
|
||
Initialize and free changed_values_stack.
|
||
(vt_initialize): Initialize preserved_values.
|
||
(vt_finalize): Free preserved_values.
|
||
|
||
2010-03-08 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43269
|
||
* tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
|
||
region detection.
|
||
|
||
2010-03-08 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
|
||
(ipa_is_param_called): Removed.
|
||
* ipa-prop.c (ipa_note_param_call): Do not set the called flag.
|
||
(ipa_print_node_params): Do not print the called flag.
|
||
(ipa_write_node_info): Do not stream the called flag.
|
||
(ipa_read_node_info): Likewise.
|
||
|
||
2010-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43176
|
||
* Makefile.in (var-tracking.o): Depend on pointer-set.h.
|
||
* cselib.c (struct expand_value_data): Add dummy field.
|
||
(cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
|
||
dummy to false.
|
||
(cselib_dummy_expand_value_rtx_cb): New function.
|
||
(cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
|
||
any rtl.
|
||
* cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
|
||
* var-tracking.c: Include pointer-set.h.
|
||
(variable): Change n_var_parts to char from int. Add
|
||
cur_loc_changed and in_changed_variables fields.
|
||
(variable_canonicalize): Remove.
|
||
(shared_var_p): New inline function.
|
||
(unshare_variable): Maintain cur_loc_changed and
|
||
in_changed_variables fields. If var was in changed_variables,
|
||
replace it there with new_var. Just copy cur_loc instead of
|
||
resetting it to something else.
|
||
(variable_union): Don't recompute cur_loc. Use shared_var_p.
|
||
(dataflow_set_union): Don't call variable_canonicalize.
|
||
(loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
|
||
of their DEBUG_EXPR_TREE_DECLs.
|
||
(canonicalize_loc_order_check): Verify that cur_loc is NULL
|
||
and in_changed_variables and cur_loc_changed is false.
|
||
(variable_merge_over_cur): Clear cur_loc, in_changed_variables
|
||
and cur_loc_changed. Don't update cur_loc here.
|
||
(variable_merge_over_src): Don't call variable_canonicalize.
|
||
(dataflow_set_preserve_mem_locs): Use shared_var_p. When
|
||
removing loc that is equal to cur_loc, clear cur_loc,
|
||
set cur_loc_changed and ensure variable_was_changed is called.
|
||
(dataflow_set_remove_mem_locs): Use shared_var_p. Only
|
||
compare pointers in cur_loc check, if it is equal to loc,
|
||
clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
|
||
(variable_different_p): Remove compare_current_location argument,
|
||
don't compare cur_loc.
|
||
(dataflow_set_different_1): Adjust variable_different_p caller.
|
||
(variable_was_changed): If dv had some var in changed_variables
|
||
already, reset in_changed_variables flag for it and propagate
|
||
cur_loc_changed over to the new variable. On empty var
|
||
always set cur_loc_changed. Set in_changed_variables on whatever
|
||
var is added to changed_variables.
|
||
(set_slot_part): Clear cur_loc_changed and in_changed_variables.
|
||
Use shared_var_p. When removing loc that is equal to cur_loc,
|
||
clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
|
||
end, don't set it to something else, just call variable_was_changed.
|
||
(delete_slot_part): Use shared_var_p. When cur_loc equals to
|
||
loc being removed, clear cur_loc and set cur_loc_changed.
|
||
Set cur_loc_changed if all locations have been removed.
|
||
(struct expand_loc_callback_data): New type.
|
||
(vt_expand_loc_callback): Add dummy mode in which no rtxes are
|
||
allocated. Always create SUBREGs if simplify_subreg failed.
|
||
Prefer to use cur_loc, when that fails and still in
|
||
changed_variables (and seen first time) recompute it. Set
|
||
cur_loc_changed of variables which had to change cur_loc and
|
||
compute elcd->cur_loc_changed if any of the subexpressions used
|
||
had to change cur_loc.
|
||
(vt_expand_loc): Adjust to pass arguments in
|
||
expand_loc_callback_data structure.
|
||
(vt_expand_loc_dummy): New function.
|
||
(emitted_notes): New variable.
|
||
(emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
|
||
that weren't used for any other decl in current
|
||
emit_notes_for_changes call call vt_expand_loc_dummy to update
|
||
cur_loc. For -fno-var-tracking-assignments, set cur_loc to
|
||
first loc_chain location if NULL before. Always use just
|
||
cur_loc instead of first loc_chain location. When cur_loc_changed
|
||
is false, when not --enable-checking=rtl just don't emit any note.
|
||
When rtl checking, compute the note and assert it is the same
|
||
as previous note. Clear cur_loc_changed and in_changed_variables
|
||
at the end before removing from changed_variables.
|
||
(check_changed_vars_3): New function.
|
||
(emit_notes_for_changes): Traverse changed_vars to call
|
||
check_changed_vars_3 on each changed var.
|
||
(emit_notes_for_differences_1): Clear cur_loc_changed and
|
||
in_changed_variables. Recompute cur_loc of new_var.
|
||
(emit_notes_for_differences_2): Clear cur_loc if new variable appears.
|
||
(vt_emit_notes): Initialize and destroy emitted_notes.
|
||
|
||
2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
|
||
|
||
PR rtl-optimization/42220
|
||
* regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
|
||
Use verify_reg_tracked to determine if we should use OP_OUT rather
|
||
than OP_INOUT.
|
||
(build_def_use): If we see an in-out operand for a register that we
|
||
know nothing about, treat is an output if possible, fail the block if
|
||
not.
|
||
|
||
2010-03-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42897
|
||
* gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
|
||
permanently.
|
||
|
||
2010-03-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42897
|
||
* tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
|
||
uses of relevant DEFs that are dead outside the loop too.
|
||
|
||
2010-03-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* var-tracking.c (dataflow_set_merge): Swap src and src2.
|
||
Reverted:
|
||
2010-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
PR debug/41371
|
||
* var-tracking.c (values_to_unmark): New variable.
|
||
(find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
|
||
values_to_unmark vector. Moved body to...
|
||
(find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
|
||
instead queue it into values_to_unmark vector.
|
||
(vt_find_locations): Free values_to_unmark vector.
|
||
|
||
2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
|
||
(site.exp): Export them when plugins are enabled.
|
||
|
||
2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/42326
|
||
* tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
|
||
that contain scevs.
|
||
(chrec_fold_multiply): Same.
|
||
|
||
2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
|
||
|
||
PR c/43248
|
||
* c-decl.c (build_compound_literal): Return early if init is
|
||
an error_mark_node.
|
||
|
||
2010-03-04 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/43164
|
||
PR tree-optimization/43191
|
||
* tree-sra.c (type_consists_of_records_p): Reject records with
|
||
zero-size bit-fields at the end.
|
||
|
||
2010-03-04 Mike Stump <mikestump@comcast.net>
|
||
|
||
* Makefile.in (TAGS): Remove *.y.
|
||
|
||
2010-03-04 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/40761
|
||
* tree-ssa-pre.c (compute_antic): Walk reverse postorder
|
||
in reverse order.
|
||
(my_rev_post_order_compute): New function.
|
||
(init_pre): Call it.
|
||
|
||
2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
|
||
|
||
PR middle-end/43209
|
||
* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
|
||
decrease the cost of an IV candidate when the cost is infinite.
|
||
|
||
2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||
|
||
* doc/extend.texi (Vector Extensions, X86 Built-in Functions):
|
||
Use '3DNow!' for the extension of that name, ensure normal space
|
||
after the string.
|
||
* doc/invoke.texi (i386 and x86-64 Options): Likewise.
|
||
|
||
2010-03-03 Jeff Law <law@redhat.com>
|
||
|
||
* PR middle-end/32693
|
||
* expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
|
||
than gen_rtx_SUBREG.
|
||
(extract_bit_field_1): Likewise.
|
||
|
||
2010-03-03 Janis Johnson <janis187@us.ibm.com>
|
||
|
||
* doc/sourcebuild.texi (Test directives): Document that arguments
|
||
include-opts and exclude-opts are now optional for dg-skip-if,
|
||
dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
|
||
|
||
2010-03-03 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/12909
|
||
* cgraph.h (varpool_node): Add extra_name field.
|
||
* varpool.c (varpool_extra_name_alias): New.
|
||
(varpool_assemble_decl): Emit extra name aliases.
|
||
(varpool_mark_needed_node): Look past an extra name alias.
|
||
* lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
|
||
* lto-streamer-in.c (lto_input_tree): Read it.
|
||
* lto-streamer-out.c (output_unreferenced_globals): Write it.
|
||
|
||
2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
|
||
(sparc*-*-solaris2*): ...this.
|
||
|
||
2010-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43229
|
||
* cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
|
||
WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
|
||
ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
|
||
FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
|
||
|
||
PR debug/43237
|
||
* dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
|
||
fallthrough to default handling, just with want_address 0 instead of 2.
|
||
For single element lists, add_AT_loc directly, otherwise create an
|
||
artificial variable DIE and stick location list to it.
|
||
|
||
PR debug/43177
|
||
* var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
|
||
(VAL_EXPR_HAS_REVERSE): Define.
|
||
(reverse_op): New function.
|
||
(add_stores): For reversible operations add an extra MO_VAL_USE.
|
||
|
||
2010-03-02 Jason Merrill <jason@redhat.com>
|
||
|
||
* c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
|
||
|
||
2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
|
||
(sparc64-*-linux*): Likewise.
|
||
(sparc64-*-solaris2*): Include assembler files before linker ones.
|
||
(sparc-*-solaris2*): Simplify and reorder to match previous case.
|
||
* config/sparc/gas.h: Delete.
|
||
* config/sparc/sol2-64.h: Add copyright notice.
|
||
* config/sparc/sol2-gas-bi.h: Likewise.
|
||
* config/sparc/sol2-gld.h: Likewise.
|
||
* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
|
||
* config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
|
||
* config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
|
||
* config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
|
||
(sparc_elf_asm_named_section): Rename into...
|
||
(sparc_solaris_elf_asm_named_section): ...this. Always define.
|
||
|
||
2010-03-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (override_options): Fix -mtune error message.
|
||
|
||
2010-03-02 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/42431
|
||
* reload1.c (rtx_p, substitute_stack): Declare.
|
||
(substitute): Record addresses of changed rtxs.
|
||
(gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
|
||
Restore the original rtx when complete.
|
||
(reload): Free subsitute_stack when complete.
|
||
|
||
2010-03-02 Janis Johnson <janis187@us.ibm.com>
|
||
|
||
* doc/gccint.texi (menu): Add Testsuites as a chapter.
|
||
* doc/sourcebuild.texi (Testsuites): Move up a level to be a
|
||
new chapter.
|
||
(Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
|
||
LTO Testing, gcov Testing, profopt Testing, compat Testing,
|
||
Torture Tests): Change from subsection to section.
|
||
|
||
2010-03-02 Jakub Jelinek <jakub@redhat.com>
|
||
Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* var-tracking.c (vt_initialize): Scan insns in ebb chunks
|
||
instead of bb.
|
||
|
||
2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
|
||
|
||
PR middle-end/42640
|
||
* tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
|
||
the assignment from the new induction variable to the assignment
|
||
of the value from the original loop PHI function.
|
||
|
||
2010-03-01 Janis Johnson <janis187@us.ibm.com>
|
||
Daniel Jacobowitz <dan@codesourcery.com>
|
||
|
||
* doc/sourcebuild.texi (Test directives): Clarify options to
|
||
dg-skip-if.
|
||
|
||
2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
|
||
Disable cfi directives unless GCC and gas agree on using read-only
|
||
.eh_frame sections for 64-bit.
|
||
* configure: Regenerate.
|
||
|
||
2010-03-01 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43220
|
||
* tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
|
||
BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
|
||
|
||
2010-03-01 Richard Guenther <rguenther@suse.de>
|
||
Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR middle-end/41250
|
||
* gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
|
||
gimplified parameters.
|
||
|
||
2010-03-01 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
|
||
|
||
2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
|
||
|
||
2010-03-01 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/43213
|
||
* expr.c (expand_assignment): Use the alias-oracle to tell
|
||
if the rhs aliases the result decl.
|
||
|
||
2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR pch/14940
|
||
* config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
|
||
to sol_gt_pch_get_address.
|
||
(TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
|
||
64-bit, SPARC and x86.
|
||
(sol_gt_pch_get_address): New function.
|
||
|
||
2010-03-01 Marco Poletti <poletti.marco@gmail.com>
|
||
|
||
* toplev.h (inform_n, error_n): Declare.
|
||
* diagnostic.c (inform_n, error_n): New function.
|
||
|
||
2010-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* cfgexpand.c (expand_used_vars): If an artificial non-ignored var
|
||
has no rtl yet when processing local_decls, queue it and recheck
|
||
if deferred stack allocation hasn't assigned it rtl.
|
||
|
||
2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
* config/sh/sh.c (unspec_bbr_uid): New.
|
||
(gen_block_redirect): Use it instead of INSN_UID.
|
||
(gen_far_branch): Likewise.
|
||
|
||
2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
|
||
it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
|
||
|
||
2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||
|
||
* doc/invoke.texi (Warning Options, RX Options): Fix typos.
|
||
(Warning Options): -Wno-conversion-null is valid for
|
||
Objective-C++ as well.
|
||
* doc/tm.texi (Named Address Spaces): Likewise.
|
||
* doc/plugins.texi (Plugins): Replace TABs with spaces.
|
||
* doc/tree-ssa.texi (Tree SSA): Likewise.
|
||
|
||
2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR bootstrap/43202
|
||
* config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
|
||
by default. Don't set the default arch for
|
||
i[34567]86-*-darwin*|x86_64-*-darwin*.
|
||
|
||
2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR bootstrap/43202
|
||
* config.gcc: Enable SSE math for i[34567]86-*-darwin* by
|
||
default. Set the default 32bit/64bit archs with $with_arch
|
||
instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
|
||
|
||
2010-02-27 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43186
|
||
* params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
|
||
* doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
|
||
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
|
||
unroller iterations.
|
||
|
||
2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
|
||
required and i[34567]86-*-* targets don't support 64bit ISA.
|
||
|
||
2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/43096
|
||
* tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
|
||
the same alias set.
|
||
|
||
2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config.gcc: Set the default arch at least to Prescott for
|
||
i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
|
||
if SSE math is enabled.
|
||
|
||
2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* diagnostic.c (diagnostic_initialize): Update.
|
||
(diagnostic_report_diagnostic): Test inhibit_notes_p for
|
||
informative notes.
|
||
* diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
|
||
(diagnostic_inhibit_notes): New.
|
||
* toplev.c (process_options): inhibit notes with -fcompare-debug.
|
||
|
||
2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c/20631
|
||
* doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
|
||
* doc/standards.texi: Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/trouble.texi: Likewise.
|
||
* doc/cppopts.texi: Likewise.
|
||
* doc/install.texi: Likewise.
|
||
* c.opt (std=c90,std=gnu90): New options.
|
||
* c-opts.c (c_common_handle_option): Handle them.
|
||
|
||
2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c/24577
|
||
* c-decl.c (undeclared_variable): Use an informative note.
|
||
|
||
2010-02-26 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43186
|
||
* gimple.h (gimple_fold): Remove.
|
||
* gimple.c (gimple_fold): Remove. Inline into single user ...
|
||
* tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
|
||
Try harder for conditions.
|
||
|
||
2010-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43190
|
||
* function.c (used_types_insert): Don't skip through named pointer
|
||
types. Don't use TYPE_MAIN_VARIANT if the original type has a name
|
||
and it is different from the main variant's type.
|
||
|
||
2010-02-26 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rx/rx.md (sminsi3): Remove bogus alternative.
|
||
|
||
2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config.gcc: Support --with-fpmath=sse for x86.
|
||
|
||
* config/i386/ssemath.h: New.
|
||
|
||
* doc/install.texi (--with-fpmath=sse): Documented.
|
||
|
||
2010-02-26 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43188
|
||
* tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
|
||
vector types of over-aligned element type.
|
||
|
||
2010-02-26 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/43175
|
||
* config/i386/i386.c (expand_vec_perm_blend): Use correct
|
||
operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
|
||
|
||
2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
* doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
|
||
|
||
2010-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
|
||
* var-tracking.c: Include diagnostic.h.
|
||
(debug_dv): New function.
|
||
(dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
|
||
|
||
PR debug/43160
|
||
* var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
|
||
(add_value_chain, add_value_chains, remove_value_chain,
|
||
remove_value_chains): Handle DEBUG_EXPRs.
|
||
(check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
|
||
|
||
PR debug/43161
|
||
* regcprop.c (struct queued_debug_insn_change): New type.
|
||
(struct value_data_entry): Add debug_insn_changes field.
|
||
(struct value_data): Add n_debug_insn_changes field.
|
||
(debug_insn_changes_pool): New variable.
|
||
(free_debug_insn_changes, apply_debug_insn_changes,
|
||
cprop_find_used_regs_1, cprop_find_used_regs): New functions.
|
||
(kill_value_one_regno): Call free_debug_insn_changes if needed.
|
||
(init_value_data): Clear debug_insn_changes and n_debug_insn_changes
|
||
fields.
|
||
(replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
|
||
changes for them.
|
||
(copyprop_hardreg_forward_1): Don't call apply_change_group for
|
||
DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
|
||
changes, call cprop_find_used_regs via note_stores.
|
||
(copyprop_hardreg_forward): When copying vd from predecessor
|
||
which has any queued DEBUG_INSN changes, make sure the pointers are
|
||
cleared. At the end call df_analyze and then if there are any
|
||
DEBUG_INSN changes queued at the end of some basic block for still
|
||
live registers, apply them.
|
||
(pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
|
||
|
||
2010-02-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
|
||
(arm*-*-*): Ditto.
|
||
|
||
2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
|
||
targets. Set the default with_cpu/with_arch from arch/cpu.
|
||
Allow x86-64 and native for with_cpu/with_arch.
|
||
|
||
2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
|
||
|
||
* ebitmap.c: Change calls to verify_popcount with calls to
|
||
sbitmap_verify_popcount.
|
||
(ebitmap_clear_bit): Fixed map->cacheindex test and
|
||
map>cache update when bit clearing results in an empty
|
||
element.
|
||
|
||
2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/43154
|
||
* config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
|
||
(vec_interleave_high<mode>): Rename from vec_interleave_highv2df
|
||
and support both V2DF and V2DI modes.
|
||
(vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
|
||
support both V2DF and V2DI modes.
|
||
(general): Delete trailing whitespace from a few patterns.
|
||
|
||
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
|
||
V2DF/V2DI interleave high/low builtins.
|
||
|
||
* config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
|
||
new VSX builtins.
|
||
|
||
* config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
|
||
interleave high/low functions.
|
||
|
||
2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
|
||
#pragma extern_prefix.
|
||
|
||
2010-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43166
|
||
* cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
|
||
BLKmode, assert op0 is a MEM and just adjust its mode.
|
||
|
||
PR debug/43165
|
||
* cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
|
||
if bitpos isn't multiple of mode's bitsize.
|
||
|
||
2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* c.opt (-ftemplate-depth=): New.
|
||
(-ftemplate-depth-): Deprecate.
|
||
* optc-gen.awk: Handle -ftemplate-depth=.
|
||
* opth-gen.awk: Likewise.
|
||
* c-opts.c (c_common_handle_option): Likewise.
|
||
* doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
|
||
|
||
2010-02-24 Jason Merrill <jason@redhat.com>
|
||
|
||
* doc/invoke.texi: Improve -Wabi and -fabi-version docs.
|
||
|
||
2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* cfg.c (alloc_aux_for_block): Remove inline.
|
||
(alloc_aux_for_edge): Likewise.
|
||
|
||
2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
|
||
|
||
2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
|
||
* config/i386/sol2-gas.h: New file.
|
||
* config.gcc (i[34567]86-*-solaris2*): Use it.
|
||
|
||
2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c/43128
|
||
* c-typeck.c (ep_convert_and_check): New.
|
||
(build_conditional_expr): Use it.
|
||
(build_binary_op): Likewise.
|
||
|
||
2010-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
|
||
|
||
PR debug/43150
|
||
* gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
|
||
bounds even for -O+.
|
||
* var-tracking.c (track_expr_p): If !need_rtl, don't mandate
|
||
expr needs to have DECL_NAME set.
|
||
|
||
2010-02-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/mep/mep.c: Include gimple.h.
|
||
(mep_function_uses_sp): Delete unused function.
|
||
(mep_gimplify_va_arg_expr): Change types of pre_p and post_p
|
||
parameters. Use unsigned integers to count args. Return a
|
||
NULL_RTX instead of an error_mark_node. Toidy up formatting.
|
||
|
||
2010-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/43107
|
||
* config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
|
||
greater or equal to nelt instead of 2 * nelt.
|
||
(expand_vec_perm_1): When op0 and op1 are equal, mask indexes
|
||
with nelt - 1.
|
||
|
||
2010-02-23 Jason Merrill <jason@redhat.com>
|
||
|
||
PR debug/42800
|
||
* cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
|
||
in cfun->local_decls even if they have register types.
|
||
|
||
PR c++/42837
|
||
* stor-layout.c (place_field): Don't warn about unnecessary
|
||
DECL_PACKED if the type is packed.
|
||
|
||
2010-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/43139
|
||
* config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
|
||
GOTOFF relocs, even when the base reg isn't pic pointer.
|
||
|
||
2010-02-23 Michael Matz <matz@suse.de>
|
||
|
||
PR debug/43077
|
||
* cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
|
||
(expand_gimple_basic_block): Generate and use debug temps if there
|
||
are debug uses left after the last real use of TERed ssa names.
|
||
Unlink debug immediate uses when they are expanded.
|
||
|
||
2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR 43123
|
||
* config/i386/i386.c (override_options): Reorganise to provide
|
||
better error messages.
|
||
|
||
2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/43083
|
||
* graphite-scop-detection.c (create_single_exit_edge): Move
|
||
the call to find_single_exit_edge to....
|
||
(create_sese_edges): ...here. Don't handle multiple edges
|
||
exiting the function.
|
||
(build_graphite_scops): Don't handle multiple edges
|
||
exiting the function.
|
||
|
||
2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/43097
|
||
* sese.c (get_rename): Assert that old_name is an SSA_NAME.
|
||
(rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
|
||
|
||
2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/43026
|
||
* sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
|
||
|
||
2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c++/43126
|
||
* c-typeck.c (convert_arguments): Print declaration location.
|
||
* c-common.c (validate_nargs): Rename as
|
||
builtin_function_validate_nargs.
|
||
(check_builtin_function_arguments): Update.
|
||
|
||
2010-02-22 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/43045
|
||
* tree-inline.c (declare_return_variable): Use the type of
|
||
the call stmt lhs if available.
|
||
|
||
2010-02-22 Duncan Sands <baldrick@free.fr>
|
||
|
||
* passes.c (register_pass): Always consider all pass lists when
|
||
ref_pass_instance_number is zero.
|
||
|
||
2010-02-22 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42749
|
||
* tree-tailcall.c (adjust_return_value_with_ops): Drop update
|
||
parameter. Do arithmetic in the original type.
|
||
(update_accumulator_with_ops): Likewise.
|
||
(adjust_accumulator_values): Adjust.
|
||
|
||
2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
|
||
(QI to BLKmode splitter): New splitter.
|
||
|
||
2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/i386.c (initial_ix86_tune_features): Turn on
|
||
X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
|
||
|
||
2010-02-22 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
|
||
|
||
2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
|
||
* config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
|
||
($(T)crti.o, $(T)crtn.o): Remove rules.
|
||
|
||
2010-02-21 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/35259
|
||
* doc/invoke.texi (-fassociative-math): Document that this
|
||
option is automatically enabled for Fortran.
|
||
|
||
2010-02-20 David S. Miller <davem@davemloft.net>
|
||
|
||
* configure.ac: Test if linker and assembler properly support
|
||
GOTDATA_OP relocations.
|
||
* configure: Rebuild.
|
||
* config.in: Likewise.
|
||
* config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
|
||
(movsi_lo_sum_pic): Use %gdop_*() relocs if available.
|
||
(movsi_high_pic): Likewise.
|
||
(movdi_lo_sum_pic): Likewise.
|
||
(movdi_high_pic): Likewise.
|
||
(movsi_pic_gotdata_op): New pattern.
|
||
(movdi_pic_gotdata_op): Likewise.
|
||
* config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
|
||
emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
|
||
|
||
2010-02-20 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/43067
|
||
* config/i386/sse.md (xop_mulv2div2di3_low): Change type
|
||
attribute to ssemul.
|
||
(xop_mulv2div2di3_high): Ditto.
|
||
|
||
2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c++/35669
|
||
* c.opt (Wconversion-null): New option.
|
||
* doc/invoke.texi (Wconversion-null): Document.
|
||
|
||
2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* common.opt (Wlarger-than-): Add Undocumented.
|
||
|
||
2010-02-19 Mike Stump <mikestump@comcast.net>
|
||
|
||
* config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
|
||
|
||
2010-02-19 Jason Merrill <jason@redhat.com>
|
||
|
||
PR target/40332
|
||
* configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
|
||
* configure: Likewise.
|
||
|
||
2010-02-20 Alan Modra <amodra@gmail.com>
|
||
|
||
PR middle-end/42344
|
||
* cgraph.h (cgraph_make_decl_local): Declare.
|
||
* cgraph.c (cgraph_make_decl_local): New function.
|
||
(cgraph_make_node_local): Use it.
|
||
* cgraphunit.c (cgraph_function_versioning): Likewise.
|
||
* ipa.c (function_and_variable_visibility): Likewise.
|
||
|
||
2010-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/43121
|
||
* except.c (sjlj_emit_function_enter): Don't call
|
||
add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
|
||
directly.
|
||
* rtl.h (add_reg_br_prob_note): Remove prototype.
|
||
|
||
2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR 41779
|
||
* c-common.c (conversion_warning): Remove widening conversions
|
||
before checking the conversion of integers to reals.
|
||
|
||
2010-02-19 Mike Stump <mikestump@comcast.net>
|
||
|
||
PR middle-end/43125
|
||
* c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
|
||
|
||
PR objc/43061
|
||
* cgraphunit.c (process_function_and_variable_attributes): Check
|
||
DECL_PRESERVE_P instead of looking up attribute "used".
|
||
* ipa-pure-const.c (check_decl): Likewise.
|
||
* ipa-reference.c (has_proper_scope_for_analysis): Likewise.
|
||
* ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
|
||
* config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
|
||
instead of attribute "used".
|
||
* config/sol2-c.c (solaris_pragma_init): Likewise.
|
||
(solaris_pragma_fini): Likewise.
|
||
|
||
2010-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
|
||
Use XCNEW instead of xcalloc.
|
||
(add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
|
||
XNEW instead of xmalloc.
|
||
(get_fields): Use XNEWVEC instead of xmalloc.
|
||
|
||
PR debug/43084
|
||
* ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
|
||
populate vars array.
|
||
(create_new_general_access): For debug stmts just reset value.
|
||
(get_stmt_accesses): For accesses within debug stmts just record them
|
||
using add_access_to_acc_sites instead of preventing the peeling or
|
||
counting them as accesses.
|
||
|
||
PR middle-end/42233
|
||
* dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
|
||
|
||
2010-02-19 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42916
|
||
* tree-vect-slp.c (vect_slp_analyze_bb): Count only real
|
||
instructions.
|
||
|
||
2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
* configure.ac: Replace all uses of changequote in macro arguments
|
||
with proper quoting.
|
||
|
||
2010-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/42233
|
||
* loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
|
||
|
||
2010-02-19 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42944
|
||
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
|
||
test for aliasing with errno.
|
||
|
||
2010-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/42233
|
||
* expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
|
||
do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
|
||
* dojump.c: Include output.h.
|
||
(inv): New inline function.
|
||
(jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
|
||
do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
|
||
do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
|
||
do_jump_by_parts_equality, do_compare_and_jump): Add PROB
|
||
argument, pass it down to other calls.
|
||
(do_compare_rtx_and_jump): Likewise. If PROB is not -1,
|
||
add REG_BR_PROB note to the conditional jump.
|
||
* cfgexpand.c (add_reg_br_prob_note): Removed.
|
||
(expand_gimple_cond): Don't call it, add the probability
|
||
as last argument to jumpif_1/jumpifnot_1.
|
||
* Makefile.in (dojump.o): Depend on output.h.
|
||
* builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
|
||
callers.
|
||
* expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
|
||
* stmt.c (do_jump_if_equal): Likewise.
|
||
* cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
|
||
* loop-unswitch.c (compare_and_jump_seq): Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
|
||
Likewise.
|
||
* optabs.c (expand_doubleword_shift, expand_abs): Likewise.
|
||
* expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
|
||
jumpifnot_1 callers.
|
||
(expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
|
||
callers.
|
||
(store_expr): Adjust jumpifnot caller.
|
||
(store_constructor): Adjust jumpif caller.
|
||
|
||
PR middle-end/42233
|
||
* gimplify.c (gimple_boolify): For __builtin_expect call
|
||
gimple_boolify also on its first argument.
|
||
|
||
2010-02-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* configure.ac (gnu-unique-object): Wrap regexps using [] in
|
||
changequote block.
|
||
(__stack_chk_fail): Ditto. Remove quadrigraphs.
|
||
* configure: Regenerated.
|
||
|
||
2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||
|
||
* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
|
||
lang_hooks.types_compatible_p instead of comptypes.
|
||
|
||
2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/lib1funcs.asm (__prefer_thumb__): New define.
|
||
(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
|
||
if __prefer_thumb__ is defined.
|
||
|
||
2010-02-18 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/43066
|
||
* tree-sra.c (build_ref_for_offset_1): Return false on encountering an
|
||
array with zero-sized element type.
|
||
|
||
2010-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (add_var_loc_to_decl): Change last argument to
|
||
rtx, allocate struct var_loc_node here and return it to the
|
||
caller, and only if it is actually needed.
|
||
(dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
|
||
move it earlier and return immediately if it returns NULL.
|
||
|
||
2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
|
||
|
||
* config/sparc/gas.h: New file. Restore
|
||
TARGET_ASM_NAMED_SECTION to its ELF default.
|
||
* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
|
||
check !HAVE_GNU_AS.
|
||
* config/sparc/sparc.c (sparc_elf_asm_named_section):
|
||
Likewise. Add ATTRIBUTE_UNUSED to prototype.
|
||
* config.gcc (sparc*-*-linux*): Include sparc/gas.h
|
||
after sparc/sysv4.h.
|
||
|
||
2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
|
||
* config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
|
||
|
||
2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
|
||
patterns from predicated pattern.
|
||
|
||
2010-02-17 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/43103
|
||
* config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
|
||
for insn mnemonic suffix.
|
||
|
||
2010-02-17 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
|
||
to loop PHI nodes.
|
||
|
||
2010-02-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/42918
|
||
* caller-save.c (save_call_clobbered_regs): If BB ends with
|
||
a DEBUG_INSN, move any notes in between last real insn and the last
|
||
DEBUG_INSN after the last DEBUG_INSN.
|
||
|
||
2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
* tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
|
||
Fix return type. Fix argument type. Explain meaning of return value.
|
||
|
||
2010-02-16 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/41043
|
||
* tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
|
||
(vrp_visit_assignment_or_call): Do not ask SCEV for regular
|
||
statements ...
|
||
(vrp_visit_phi_node): ... but only for loop PHI nodes.
|
||
|
||
2010-02-16 Ira Rosen <irar@il.ibm.com>
|
||
|
||
PR tree-optimization/43074
|
||
* tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
|
||
* tree-vect-loop.c (vect_analyze_loop_operations): Add
|
||
vectorizable cycles in hybrid SLP check.
|
||
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
|
||
|
||
2010-02-16 Richard Guenther <rguenther@suse.de>
|
||
|
||
* alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
|
||
(true_dependence): If memrefs_conflict_p computes must-alias
|
||
trust it. Move TBAA check after offset-based disambiguation.
|
||
(canon_true_dependence): Likewise.
|
||
|
||
2010-02-16 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* params.def (PARAM_MAX_VARTRACK_SIZE): New.
|
||
* doc/invoke.texi: Document it.
|
||
* var-tracking.c: Include toplev.h and params.h.
|
||
(vt_find_locations): Return bool indicating success. Compute
|
||
hash sizes unconditionally. Check new parameter, report.
|
||
(variable_tracking_main_1): Check vt_find_locations results and
|
||
retry. Renamed from...
|
||
(variable_tracking_main): ... this. New wrapper to preserve
|
||
flag_var_tracking_assignments.
|
||
* Makefile.in (var-tracking.o): Adjust dependencies.
|
||
|
||
2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/42854
|
||
* config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
|
||
if weak_import attribute is present.
|
||
* config/darwin.c (machopic_select_section): Likewise.
|
||
|
||
2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
|
||
(TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
|
||
(TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
|
||
(TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
|
||
|
||
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
|
||
types.
|
||
|
||
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
|
||
Fix argument types.
|
||
|
||
* doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
|
||
Rewrite text to refer to the names.
|
||
|
||
2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* config/i386/i386-builtin-types.def
|
||
(V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
|
||
(V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
|
||
(V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
|
||
(V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
|
||
* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
|
||
IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
|
||
IX86_BUILTIN_VPERMIL2PS256.
|
||
(MULTI_ARG_4_DF2_DI_I): Defined.
|
||
(MULTI_ARG_4_DF2_DI_I1): Defined.
|
||
(MULTI_ARG_4_SF2_SI_I): Defined.
|
||
(MULTI_ARG_4_SF2_SI_I1): Defined.
|
||
(bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
|
||
__builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
|
||
__builtin_ia32_vpermil2ps256.
|
||
(ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
|
||
MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
|
||
MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
|
||
(ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
|
||
MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
|
||
MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
|
||
CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
|
||
CODE_FOR_xop_vpermil2v8sf3.
|
||
* config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
|
||
* config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
|
||
* config/i386/xopintrin.h (_mm_permute2_pd): New.
|
||
(_mm256_permute2_pd): New.
|
||
(_mm_permute2_ps): New.
|
||
(_mm256_permute2_ps): New.
|
||
|
||
2010-02-15 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/h8300/h8300.c (h8300_push_pop): Use bool type for
|
||
boolean parameters. Use emit_jump_insn when emitting a pop
|
||
instruction containing a return insn.
|
||
(push): Use 'true' rather than '1' as second parameter to F.
|
||
(h8300_expand_prologue): Likewise.
|
||
Use 'true' and 'false' for boolean parameters to h8300_push_pop.
|
||
(h8300_expand_epilogue): Likewise.
|
||
|
||
2010-02-15 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/43068
|
||
* cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
|
||
if that is zero.
|
||
|
||
2010-02-15 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
|
||
delta.
|
||
|
||
2010-02-14 Marco Poletti <poletti.marco@gmail.com>
|
||
|
||
* intl.c (fake_ngettext): New function.
|
||
* intl.h (fake_ngettext): Declare.
|
||
(ngettext): Define macro.
|
||
* collect2.c (notice_translated): New function.
|
||
(main): Use notice_translated and ngettext.
|
||
* collect2.h (notice_translated): Declare.
|
||
|
||
2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* reorg.c (delete_computation): Comment fixes.
|
||
* caller-save.c (setup_save_areas): Idem.
|
||
* sel-sched-dump.c (dump_lv_set): Idem.
|
||
* rtl.def: Idem.
|
||
|
||
2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_sched_init): New function.
|
||
(TARGET_SCHED_INIT): Target hook defined.
|
||
|
||
2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
Jack Howarth <howarth@bromo.med.uc.edu>
|
||
Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
|
||
|
||
PR target/42982
|
||
Partial revert of unintended change in fix for PR41605.
|
||
* config/darwin.h: Fix typo.
|
||
* config/darwin9.h: Same.
|
||
|
||
2010-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-pch.c (pch_init): Clear v.
|
||
|
||
2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/42930
|
||
* graphite-scop-detection.c (graphite_can_represent_scev): Call
|
||
graphite_can_represent_init for MULT_EXPR.
|
||
|
||
2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/42914
|
||
PR middle-end/42530
|
||
* graphite-sese-to-poly.c (remove_phi): New.
|
||
(translate_scalar_reduction_to_array): Call remove_phi.
|
||
|
||
2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/42771
|
||
* graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
|
||
* graphite-clast-to-gimple.h (gloog): Update declaration.
|
||
* graphite-poly.c (new_scop): Clear POLY_SCOP_P.
|
||
* graphite-poly.h (struct poly_bb): Add missing comments.
|
||
(struct scop): Add poly_scop_p field.
|
||
(POLY_SCOP_P): New.
|
||
* graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
|
||
* graphite.c (graphite_transform_loops): Build the polyhedral
|
||
representation for each scop before code generation.
|
||
* sese.c (rename_variables_in_operand): Removed.
|
||
(rename_variables_in_expr): Return the renamed expression.
|
||
(rename_sese_parameters): New.
|
||
* sese.h (rename_sese_parameters): Declared.
|
||
|
||
2010-02-11 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42998
|
||
* tree-ssa-pre.c (create_expression_by_pieces): Treat
|
||
POINTER_PLUS_EXPR properly.
|
||
|
||
2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
|
||
Changpeng Fang <changpeng.fang@amd.com>
|
||
|
||
PR middle-end/40886
|
||
* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
|
||
the cost of an IV candidate when the IV is used in a test against zero.
|
||
|
||
* gcc.dg/tree-ssa/ivopts-3.c: New.
|
||
|
||
2010-02-11 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/41664
|
||
* tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
|
||
pointer-vs-decl case by swapping refs. Handle some cases
|
||
of pointer-vs-decl disambiguations more conservatively.
|
||
* cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
|
||
to false after expanding.
|
||
|
||
2010-02-11 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR driver/43021
|
||
* gcc.c (process_command): Handle LTO file@offset case more
|
||
appropriately.
|
||
|
||
2010-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
|
||
modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
|
||
of DEBUG_INSNs.
|
||
(eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
|
||
|
||
* dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
|
||
if MEM's mode size isn't DWARF2_ADDR_SIZE.
|
||
(mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
|
||
Optimize eq/ne comparisons when both arguments are known to be
|
||
zero-extended.
|
||
(mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
|
||
Don't mask operands unnecessarily if they are known to be already
|
||
zero-extended.
|
||
|
||
2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
* ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
|
||
instead of loop.
|
||
|
||
2010-02-10 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43017
|
||
* tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
|
||
for wrapping signed arithmetic.
|
||
|
||
2010-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/43010
|
||
* dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
|
||
if no debug info should be emitted for it.
|
||
|
||
2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
* config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
|
||
note when flag_exceptions is set.
|
||
|
||
2010-02-10 Duncan Sands <baldrick@free.fr>
|
||
|
||
* Makefile.in (PLUGIN_HEADERS): Add debug.h.
|
||
|
||
2010-02-10 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR c/43007
|
||
* tree.c (get_unwidened): Handle constants.
|
||
* convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
|
||
|
||
2010-02-10 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR lto/42985
|
||
* ipa-prop.c (ipa_update_after_lto_read): Count parameters and
|
||
check for variable argument counts independently.
|
||
|
||
2010-02-10 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/42841
|
||
* config/sh/sh.c (find_barrier): Increase length for non delayed
|
||
conditional branches.
|
||
|
||
2010-02-10 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
|
||
|
||
2010-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* builtins.c (set_builtin_user_assembler_name): Also handle
|
||
ffs if int is smaller than word.
|
||
|
||
2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR middle-end/42973
|
||
* ira-conflicts.c (get_dup): Remove.
|
||
(process_reg_shuffles): Add new parameter. Use it as an
|
||
additional guard for copy generation.
|
||
(add_insn_allocno_copies): Rewrite.
|
||
|
||
2010-02-09 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* common.opt (fsched2-use-traces): Preserved for backward
|
||
compatibility.
|
||
* doc/invoke.texi: Remove the documentation about option
|
||
-fsched2-use-traces.
|
||
* sched-rgn.c (rest_of_handle_sched2): Remove usage of
|
||
flag_sched2_use_traces.
|
||
* opts.c (common_handle_option): Add OPT_fsched2_use_traces to
|
||
the backward compatibility flag section.
|
||
|
||
2010-02-09 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43008
|
||
* tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
|
||
make HEAP variables initialized from global memory if they
|
||
are not known builtin functions.
|
||
(find_func_aliases): Adjust.
|
||
|
||
2010-02-09 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/43000
|
||
* tree-vrp.c (vrp_int_const_binop): Only handle unsigned
|
||
arithmetic manually.
|
||
|
||
2010-02-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/42931
|
||
* tree-loop-linear.c (try_interchange_loops): Don't call
|
||
double_int_mul if estimated_loop_iterations failed.
|
||
|
||
2010-02-08 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR middle-end/42898
|
||
* tree-sra.c (build_accesses_from_assign): Do not mark in
|
||
should_scalarize_away_bitmap if stmt has volatile ops.
|
||
(sra_modify_assign): Do not process assigns piecemeal if if stmt
|
||
has volatile ops.
|
||
|
||
2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
* doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
|
||
|
||
2010-02-07 Adam Nemet <adambnmet@gmail.com>
|
||
|
||
* config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
|
||
before the pattern.
|
||
|
||
2010-02-07 Andrew Pinski <pinskia@gmail.com>
|
||
|
||
PR middle-end/42946
|
||
* df-core.c (df_finish_pass): Change type of saved_flags to int.
|
||
|
||
2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
PR middle-end/42988
|
||
* graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
|
||
to unknown_dependence.
|
||
(graphite_legal_transform_dr): Handle the unknown_dependence.
|
||
(graphite_carried_dependence_level_k): Same.
|
||
|
||
2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
|
||
|
||
* ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
|
||
|
||
2010-02-07 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42991
|
||
* expr.c (get_inner_reference): Always initialize *pbitsize.
|
||
|
||
2010-02-07 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42956
|
||
* gimplify.c (gimple_fold_indirect_ref): Avoid generating
|
||
new ARRAY_REFs on variable size element or minimal index arrays.
|
||
Complete.
|
||
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
|
||
gimple_fold_indirect_ref.
|
||
|
||
2010-02-06 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
PR target/42957
|
||
* arm.c (arm_override_options): Just return if the user has specified
|
||
an invalid fpu name.
|
||
|
||
2010-02-03 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/42870
|
||
* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
|
||
i386_pe_maybe_record_exported_symbol.
|
||
|
||
2010-02-05 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
PR target/42924
|
||
* config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
|
||
(pa_delegitimize_address): New function.
|
||
|
||
2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
|
||
|
||
* config/i386/msformat-c.c (ms_printf_length_specs): Set the
|
||
scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
|
||
|
||
2010-02-05 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/42762
|
||
* lto-streamer-in.c (get_resolution): Deal with references
|
||
to undefined functions.
|
||
|
||
2010-02-05 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
|
||
(fold_const_aggregate_ref): Likewise.
|
||
(ccp_fold_stmt): Substitute loads.
|
||
(maybe_fold_reference): Verify types before substituting.
|
||
Unshare properly.
|
||
(fold_gimple_assign): Unshare properly.
|
||
(fold_stmt_1): Insert conversion if necessary before replacing the RHS.
|
||
|
||
2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_override_options): Invert check
|
||
for rs6000_gen_cell_microcode.
|
||
|
||
2010-02-04 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/42952
|
||
* dse.c (const_or_frame_p): Remove MEM handling.
|
||
|
||
2010-02-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
|
||
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
|
||
(function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
|
||
(mn10300_asm_output_mi_thunk): New function.
|
||
(mn10300_can_output_mu_thunk): New function.
|
||
* config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
|
||
(FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
|
||
(FUNCTION_ARG): Delete incorrect comment.
|
||
|
||
2010-02-03 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/40138
|
||
* fold-const.c (operand_equal_p): Handle erroneous types.
|
||
|
||
2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
|
||
|
||
* config/h8300/h8300.md (can_delay): Fix attibute condition.
|
||
|
||
2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/42941
|
||
* sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
|
||
of xmalloc.
|
||
|
||
2010-02-03 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/35652
|
||
* builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
|
||
|
||
2010-02-03 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42896
|
||
* cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
|
||
(cselib_reset_table): Renamed from...
|
||
(cselib_reset_table_with_next_value): ... this.
|
||
(cselib_get_next_uid): Renamed from...
|
||
(cselib_get_next_unknown_value): ... this.
|
||
* cselib.c (next_uid): Renamed from...
|
||
(next_unknown_value): ... this.
|
||
(cselib_clear_table): Adjust.
|
||
(cselib_reset_table): Adjust. Renamed from...
|
||
(cselib_reset_table_with_next_value): ... this.
|
||
(cselib_get_next_uid): Adjust. Renamed from...
|
||
(cselib_get_next_unknown_value): ... this.
|
||
(get_value_hash): Use hash.
|
||
(cselib_hash_rtx): Likewise.
|
||
(new_cselib_val): Adjust. Set and dump uid.
|
||
(cselib_lookup_mem): Pass next_uid as hash.
|
||
(cselib_subst_to_values): Likewise.
|
||
(cselib_log_lookup): Dump uid.
|
||
(cselib_lookup): Pass next_uid as hash. Adjust.
|
||
(cselib_process_insn): Adjust.
|
||
(cselib_init): Initialize next_uid.
|
||
(cselib_finish): Adjust.
|
||
(dump_cselib_table): Likewise.
|
||
* dse.c (canon_address): Dump value uid.
|
||
* print-rtl.c (print_rtx): Print value uid.
|
||
* var-tracking.c (VARIABLE_HASH_VAL): Dropped.
|
||
(dvuid): New type.
|
||
(dv_uid): New function, sort of renamed from...
|
||
(dv_htab_hash): ... this, reimplemented in terms of it and...
|
||
(dv_uid2hash): ... this. New.
|
||
(variable_htab_eq): Drop excess assertions.
|
||
(tie_break_pointers): Removed.
|
||
(canon_value_cmp): Compare uids.
|
||
(variable_post_merge_New_vals): Print uids.
|
||
(vt_add_function_parameters): Adjust.
|
||
(vt_initialize): Reset table. Adjust.
|
||
|
||
2010-02-03 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42944
|
||
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
|
||
(call_may_clobber_ref_p_1): Likewise. Properly handle
|
||
malloc and calloc clobbering errno.
|
||
|
||
2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* doc/invoke.texi: Fix name of sched1 dump.
|
||
|
||
* opts.c (decode_options): Set flag_tree_switch_conversion
|
||
only conditionally on optimize >= 2.
|
||
|
||
* gcse.c: Assorted comment fixes in pass description.
|
||
|
||
2010-02-03 Anthony Green <green@moxielogic.com>
|
||
|
||
* config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
|
||
nop padding in order to maintain alignment of storage location of
|
||
target function address.
|
||
(moxie_trampoline_init): Store target function address at newly
|
||
aligned location.
|
||
* config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
|
||
to 32.
|
||
(TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
|
||
|
||
2010-02-03 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42927
|
||
* tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
|
||
|
||
2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config.gcc: Reenable check for obsolete targets.
|
||
Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
|
||
mips-sgi-irix6.[0-4]*.
|
||
|
||
2010-02-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
|
||
constant size of 4 as being the same as 0.
|
||
* doc/invoke.texi (RX Options): Document that -mmax-constant-size
|
||
can take values in the range 0..4.
|
||
|
||
2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
|
||
|
||
PR java/41991
|
||
* unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
|
||
as _darwin10_Unwind_FindEnclosingFunction().
|
||
* libgcc-libsystem.ver: New.
|
||
|
||
2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/41399
|
||
* sched-deps.c (sched_analyze_insn): Ignore fixed registers for
|
||
implicitly set registers.
|
||
|
||
2010-02-01 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
|
||
(arm_override_options): Allow automatic selection of the thread
|
||
pointer register if thumb2.
|
||
(legitimize_pic_address): Improve code sequences for Thumb2.
|
||
(arm_call_tls_get_addr): Likewise.
|
||
(legitimize_tls_address): Likewise.
|
||
* arm.md (pic_load_addr_arm): Delete. Replace with ...
|
||
(pic_load_addr_32bit): ... this. New named pattern.
|
||
* thumb2.md (pic_load_addr_thumb2): Delete.
|
||
(pic_load_dot_plus_four): Delete.
|
||
(tls_load_dot_plus_four): New named pattern.
|
||
|
||
2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR libgomp/29986
|
||
* doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
|
||
Document fix for TLS bug.
|
||
|
||
2010-01-31 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
|
||
conservatively correct.
|
||
|
||
2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
PR target/42850
|
||
Revert:
|
||
2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
* config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
|
||
|
||
2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||
|
||
* doc/install.texi: Update recommended GMP/MPFR/MPC versions.
|
||
|
||
2010-01-31 Kai Tietz <kai.tietz@onevision.com>
|
||
|
||
* config.gcc: Adjust order of makefile fragments for mingw targets.
|
||
|
||
2010-01-31 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42898
|
||
* gimplify.c (gimplify_init_constructor): For volatile LHS
|
||
initialize a temporary.
|
||
|
||
2010-01-31 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* configure.ac: Fix __stack_chk_fail check for cross builds configured
|
||
--with-headers
|
||
* configure: Regenerate.
|
||
|
||
2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
|
||
the same alias set and their sizes different constantness.
|
||
(aliasing_component_refs_p): Revert 2009-10-24 change.
|
||
|
||
2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
|
||
unused.
|
||
|
||
2010-01-29 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
|
||
Assert we successfully updated the call.
|
||
|
||
2010-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/42889
|
||
* df.h (df_set_bb_dirty_nonlr): New prototype.
|
||
* df-core.c (df_set_bb_dirty_nonlr): New function.
|
||
* df-scan.c (df_insn_rescan): Call it instead of
|
||
df_set_bb_dirty for DEBUG_INSNs.
|
||
|
||
2010-01-29 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/37448
|
||
* ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
|
||
quadratic behavior in most cases.
|
||
|
||
2010-01-28 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/42891
|
||
* config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
|
||
in the call to gen_x86_movsicc_0_m1.
|
||
|
||
2010-01-28 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42871
|
||
* tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
|
||
|
||
2010-01-28 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
|
||
into call arguments.
|
||
|
||
2010-01-28 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42883
|
||
* tree-cfgcleanup.c (remove_forwarder_block): Do not remove
|
||
the forwarder if the destination is an EH landing pad.
|
||
|
||
2010-01-28 Razya Ladelsky <razya@il.ibm.com>
|
||
|
||
* tree-parloops.c (transform_to_exit_first_loop): Update the basic
|
||
block list passed to gimple_duplicate_sese_tail.
|
||
(parallelize_loops): Avoid parallelization when the function
|
||
has_nonlocal_label.
|
||
Avoid parallelization when the preheader is IRREDUCIBLE.
|
||
Try to optimize when estimated_loop_iterations_int is unresolved.
|
||
Add the loop's location to the dump file.
|
||
* tree-cfg.c (add_phi_args_after_redirect): Remove.
|
||
(gimple_duplicate_sese_tail): Remove the check for the latch.
|
||
Redirect nexits to the exit block.
|
||
Remove handling of the incoming edges to the latch.
|
||
Redirect the backedge from the copied latch to the exit bb.
|
||
|
||
2010-01-28 Michael Matz <matz@suse.de>
|
||
|
||
PR target/42881
|
||
* config/i386/i386.c (ix86_expand_vector_init_duplicate):
|
||
Wrap force_reg into a sequence, emit it before user.
|
||
|
||
2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
|
||
|
||
* config/arm/arm.md (bswapsi2): Add support for bswapsi2.
|
||
(arm_rev): New.
|
||
(arm_legacy_rev): Likewise.
|
||
(thumb_legacy_rev): Likewise.
|
||
|
||
2010-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (mem_loc_descriptor): Remove special casing of
|
||
CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
|
||
on MEM's address failed, try avoid_constant_pool_reference and
|
||
recurse if it returned something different.
|
||
(loc_descriptor): If for MEM mem_loc_descriptor failed on the
|
||
address, try avoid_constant_pool_reference and recurse if it
|
||
returned something different.
|
||
(dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
|
||
address and avoid_constant_pool_reference returned something
|
||
different, don't set have_address.
|
||
|
||
2010-01-27 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42861
|
||
* var-tracking.c (val_store): Add modified argument, obey it.
|
||
Adjust callers.
|
||
(count_uses): Move down logging of main.
|
||
(compute_bb_dataflow): Use val_store for MO_VAL_USEs that
|
||
don't need resolution.
|
||
(emit_notes_in_bb): Likewise.
|
||
|
||
2010-01-27 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42878
|
||
* tree-inline.c (remap_decl): Delay remapping of SSA name
|
||
default definitions until we need them.
|
||
|
||
2010-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
|
||
(rs6000_delegitimize_address): New function.
|
||
|
||
* config/s390/s390.c (s390_delegitimize_address): Call
|
||
delegitimize_mem_from_attrs.
|
||
|
||
PR middle-end/42874
|
||
* tree-inline.c (cannot_copy_type_1): Removed.
|
||
(copy_forbidden): Don't forbid copying of functions containing
|
||
records/unions with variable length fields.
|
||
|
||
2010-01-27 Christian Bruel <christian.bruel@st.com>
|
||
|
||
Revert:
|
||
PR target/42841
|
||
* config/sh/sh.c (find_barrier): Increase length for non delayed
|
||
conditional branches.
|
||
|
||
2010-01-27 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* configure.ac (gnu-unique-object): Fix ldd version check.
|
||
* configure: Regenerate.
|
||
|
||
2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
|
||
HAVE_GNU_AS value.
|
||
* config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
|
||
Test for HAVE_GNU_AS value.
|
||
|
||
2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
|
||
* config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
|
||
INT64_TYPE): Define.
|
||
(UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
|
||
(INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
|
||
INT_LEAST64_TYPE): Define.
|
||
(UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
|
||
UINT_LEAST64_TYPE): Define.
|
||
(INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
|
||
INT_FAST64_TYPE): Define.
|
||
(UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
|
||
UINT_FAST64_TYPE): Define.
|
||
(INTMAX_TYPE, UINTMAX_TYPE): Define.
|
||
(INTPTR_TYPE, UINTPTR_TYPE): Define.
|
||
(SIG_ATOMIC_TYPE): Define.
|
||
|
||
2010-01-26 Richard Guenther <rguenther@suse.de>
|
||
|
||
* df-scan.c (df_scan_set_bb_info): Remove assert.
|
||
(df_insn_rescan_debug_internal): Merge asserts.
|
||
(df_install_ref): Likewise.
|
||
(df_mark_reg): Use bitmap_set_range.
|
||
(df_hard_reg_used_p): Remove assert.
|
||
(df_hard_reg_used_count): Likewise.
|
||
|
||
2010-01-26 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR rtl-optimization/42685
|
||
* web.c (web_main): Ignore DEBUG_INSNs.
|
||
|
||
2010-01-26 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
|
||
|
||
(TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
|
||
Fix types of fndecl and arglist parameters.
|
||
|
||
2010-01-26 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42806
|
||
* tree-eh.c (unsplit_eh): Skip debug insns.
|
||
|
||
2010-01-26 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42250
|
||
* ipa-type-escape.c (type_escape_execute): Do not analyze clones.
|
||
|
||
2010-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/42866
|
||
* omp-low.c (expand_omp_sections): Only use single_pred if
|
||
l2_bb is single_pred_p.
|
||
|
||
2010-01-25 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/42841
|
||
* config/sh/sh.c (find_barrier): Increase length for non delayed
|
||
conditional branches.
|
||
(sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
|
||
|
||
2010-01-24 David S. Miller <davem@davemloft.net>
|
||
|
||
* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
|
||
define if not using GAS.
|
||
* config/sparc/sparc.c (sparc_elf_asm_named_section):
|
||
Likewise. Delete SECTION_MERGE code, which is only applicable
|
||
when using GAS.
|
||
|
||
2010-01-24 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
PR c++/42748
|
||
* config/arm/arm.c (arm_mangle_type): Do not warn about changes to
|
||
mangling of va_list in system headers.
|
||
|
||
2010-01-23 Toon Moene <toon@moene.org>
|
||
|
||
* tree-predcom.c (combine_chains): Return NULL, not false.
|
||
|
||
2010-01-23 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* tree-loop-distribution.c (distribute_loop): Fix declaration and
|
||
initialization of variable res to agree with return type.
|
||
|
||
2010-01-22 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
* Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
|
||
* tree-sra.c: Add include of expr.h.
|
||
|
||
2010-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
|
||
insert the debug stmt on the single non-EH edge from the stmt.
|
||
|
||
2010-01-22 Richard Henderson <rth@redhat.com>
|
||
|
||
PR tree-opt/42833
|
||
* tree-sra.c (sra_modify_assign): Delay re-gimplification of
|
||
the RHS until after generate_subtree_copies has insertted its
|
||
code before the current statement.
|
||
|
||
2010-01-22 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
|
||
|
||
* gcc-plugin.h (plugin_init): Use "C" likage for c++.
|
||
|
||
2010-01-21 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42585
|
||
* tree-sra.c (struct access): New field grp_total_scalarization.
|
||
(dump_access): Dump the new field.
|
||
(should_scalarize_away_bitmap): New variable.
|
||
(cannot_scalarize_away_bitmap): Likewise.
|
||
(sra_initialize): Allocate new bitmaps.
|
||
(sra_deinitialize): Free new bitmaps.
|
||
(create_access_1): New function.
|
||
(create_access): Parts moved to create_access_1.
|
||
(type_consists_of_records_p): New function.
|
||
(completely_scalarize_record): Likewise.
|
||
(build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
|
||
(build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
|
||
(sort_and_splice_var_accesses): Hint groups with a total_scalarization
|
||
access.
|
||
(analyze_all_variable_accesses): Completely scalarize small eligible
|
||
records.
|
||
|
||
2010-01-21 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
|
||
|
||
2010-01-21 Andrew Haley <aph@redhat.com>
|
||
|
||
* gcc.c (process_command): Move lang_specific_driver before
|
||
setting cc_libexec_prefix.
|
||
|
||
2010-01-21 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/19988
|
||
* fold-const.c (negate_expr_p): Pretend only negative
|
||
real constants are easily negatable.
|
||
|
||
2010-01-20 Janis Johnson <janis187@us.ibm.com>
|
||
Jason Merrill <jason@redhat.com>
|
||
|
||
* tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
|
||
(TYPE_TRANSPARENT_AGGR): this, for union and record.
|
||
* calls.c (initialize argument_information): Handle it.
|
||
* c-common.c (handle_transparent_union_attribute): Use new name.
|
||
* c-decl.c (finish_struct): Ditto.
|
||
* c-typeck.c (type_lists_compatible_p): Ditto.
|
||
(convert_for_assignment): Use new name and also handle record.
|
||
* function.c (aggregate_value_p): Handle it.
|
||
(pass_by_reference): Ditto.
|
||
(assign_parm_data_types): Ditto.
|
||
* print-tree.c (print_node): Ditto.
|
||
* lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
|
||
* lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
|
||
* tree.c (first_field): New fn.
|
||
|
||
2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
|
||
PR target/42818
|
||
* config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
|
||
even when linking statically, for now.
|
||
|
||
2010-01-20 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42715
|
||
* var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
|
||
without a cselib val.
|
||
(count_uses): Accept MO_VAL_SET with no val on stores.
|
||
(add_stores): Likewise.
|
||
|
||
2010-01-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* var-tracking.c (check_value_val): Add a compile time assertion.
|
||
(dv_is_decl_p): Simplify.
|
||
(dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
|
||
gcc_assert if ENABLE_CHECKING.
|
||
|
||
2010-01-20 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42782
|
||
* var-tracking.c: Include tree-flow.h.
|
||
(mem_dies_at_call): New.
|
||
(dataflow_set_preserve_mem_locs): Use it.
|
||
(dataflow_set_remove_mem_locs): Likewise.
|
||
(dump_var): Renamed from dump_variable. Adjust all callers.
|
||
(dump_var_slot): Renamed from dump_variable_slot. Likewise.
|
||
* Makefile.in (var-tracking.o): Adjust deps.
|
||
|
||
2010-01-20 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
|
||
|
||
2010-01-20 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42717
|
||
* tree-ssa-dce.c (get_live_post_dom): Remove.
|
||
(forward_edge_to_pdom): Take an arbitrary edge to copy
|
||
degenerate PHI args from.
|
||
(remove_dead_stmt): Use the first post-dominator even if it
|
||
does not contain live statements as redirection destination.
|
||
|
||
2010-01-20 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-inline.c (estimate_num_insns): Handle EH builtins.
|
||
|
||
2010-01-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* sel-sched.c (create_speculation_check): Remove set but not used
|
||
variable twin.
|
||
(try_transformation_cache): Remove set but not used variable ds.
|
||
(calculate_privileged_insns): Remove set but not used variables
|
||
cur_insn and min_spec_insn.
|
||
(find_best_expr): Remove set but not used variable avail_n.
|
||
* tree-predcom.c (base_names_in_chain_on): Remove set but not used
|
||
variable e.
|
||
* cgraphunit.c (assemble_thunk): Remove set but not used variable
|
||
false_label.
|
||
* haifa-sched.c (remove_notes): Remove set but not used variable prev.
|
||
* graphite-clast-to-gimple.c (gloog): Remove set but not used variable
|
||
new_scop_exit_edge.
|
||
|
||
2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
|
||
|
||
PR bootstrap/42786
|
||
* config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
|
||
cpu types. Add support for *-sse3 cpu types.
|
||
(x86_64-*-*): Ditto.
|
||
|
||
2010-01-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/42803
|
||
* varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
|
||
argument, call initializer_constant_valid_p_1 instead of
|
||
initializer_constant_valid_p, pass CACHE to it, return NULL
|
||
immediately if first call returns NULL.
|
||
(initializer_constant_valid_p_1): New function.
|
||
(initializer_constant_valid_p): Use it.
|
||
|
||
2010-01-20 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* tree.def (PLACEHOLDER_EXPR): Fix comment.
|
||
|
||
2010-01-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
|
||
of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
|
||
(loc_list_from_tree): Don't handle unsigned division. Handle
|
||
signed modulo using DW_OP_{over,over,div,mul,minus}.
|
||
* unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
|
||
modulo instead of signed.
|
||
|
||
2010-01-20 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/h8300/h8300.c (F): Add "in_epilogue" flag.
|
||
(Fpa): Pass it
|
||
(h8300_emit_stack_adjustment): Propogate it.
|
||
(push): Pass it.
|
||
(h8300_expand_prologue): Likewise.
|
||
(h8300_expand_epilogue): Likewise.
|
||
|
||
2010-01-19 Michael Matz <matz@suse.de>
|
||
|
||
PR tree-optimization/41783
|
||
* tree-data-ref.c (toplevel): Include flags.h.
|
||
(dump_data_dependence_relation): Also dump the inputs if the
|
||
result will be unknown.
|
||
(split_constant_offset_1): Look through some conversions.
|
||
* tree-predcom.c (determine_roots_comp): Restart a new chain if
|
||
the offset from last element is too large.
|
||
(ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
|
||
(reassociate_to_the_same_stmt): Handle vector registers.
|
||
* tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
|
||
(e.g. conversions).
|
||
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
|
||
wide_prolog_niters argument, emit widening instructions.
|
||
(vect_do_peeling_for_alignment): Adjust caller, use widened
|
||
variant of the iteration cound.
|
||
* Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
|
||
|
||
2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR target/38697
|
||
* config/arm/neon-testgen.m (emit_automatics): New parameter
|
||
features. Adjust for Fixed_return_reg feature.
|
||
(test_intrinsic): Call emit_automatics with new feature.
|
||
* config/arm/neon.ml: Update copyright years.
|
||
(features): New Fixed_return_reg feature.
|
||
(ops): Update feature for Vget_low.
|
||
|
||
2010-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/42719
|
||
* tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
|
||
stmt uses.
|
||
|
||
PR debug/42728
|
||
* fwprop.c (all_uses_available_at): Return false if def_set dest
|
||
is a REG that is used in def_insn.
|
||
|
||
2010-01-19 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
|
||
|
||
(TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
|
||
Add argument names.
|
||
|
||
(TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
|
||
|
||
* target.h (struct gcc_target) <secondary_reload>: Change type
|
||
of last argument to secondary_reload_info *.
|
||
|
||
2010-01-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/42774
|
||
* config/alpha/predicates.md (aligned_memory_operand): Return 0 for
|
||
memory references with unaligned offsets. Remove CQImode handling.
|
||
(unaligned_memory_operand): Return 1 for memory references with
|
||
unaligned offsets. Remove CQImode handling.
|
||
|
||
2010-01-18 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/39954
|
||
* cfgexpand.c (expand_call_stmt): TER pointer arguments in
|
||
builtin calls.
|
||
|
||
2010-01-18 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42781
|
||
* tree-ssa-structalias.c (find_what_var_points_to): Skip
|
||
restrict processing only if the original variable was artificial.
|
||
|
||
2010-01-18 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
|
||
find number of popped argument bytes.
|
||
|
||
(TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
|
||
Fix the text that describes the return value for invalid insns.
|
||
|
||
(TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
|
||
|
||
(TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
|
||
Clarify what 'cost of the -dependence' is. Fix quoting.
|
||
|
||
* toplev.c (default_get_pch_validity): Rename argument to "sz".
|
||
* doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
|
||
|
||
2010-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (mem_loc_descriptor): Don't ICE on
|
||
{S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
|
||
|
||
2010-01-17 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42248
|
||
* function.c (split_complex_args): Take a VEC to modify.
|
||
(assign_parms_augmented_arg_list): Build a VEC instead of
|
||
a chain of PARM_DECLs.
|
||
(assign_parms_unsplit_complex): Take a VEC of arguments.
|
||
Do not fixup unmodified parms.
|
||
(assign_parms): Deal with the VEC.
|
||
(gimplify_parameters): Likewise.
|
||
|
||
2010-01-17 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
|
||
node existence check.
|
||
* tree-vect-loop.c (vect_analyze_loop_form): Likewise.
|
||
* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
|
||
* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
|
||
* tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
|
||
(gimple_execute_on_growing_pred): Likewise.
|
||
|
||
2010-01-17 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42773
|
||
* tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
|
||
(compute_antic_aux): Likewise.
|
||
(compute_partial_antic_aux): Likewise.
|
||
|
||
2010-01-17 Jie Zhang <jie.zhang@analog.com>
|
||
|
||
PR debug/42767
|
||
* dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
|
||
and US_TRUNCATE.
|
||
|
||
2010-01-17 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
|
||
appearance.
|
||
|
||
(TARGET_LEGITIMATE_ADDRESS_P): Add return type.
|
||
Fix markup for strict argument.
|
||
|
||
(TARGET_SCHED_REORDER2): Fix argument types.
|
||
|
||
(TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
|
||
(TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
|
||
|
||
(TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
|
||
(TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
|
||
|
||
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
|
||
Add argument name.
|
||
|
||
(TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
|
||
(TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
|
||
(TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
|
||
(TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
|
||
(TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
|
||
|
||
(TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
|
||
|
||
(TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
|
||
|
||
(TARGET_ASM_RELOC_RW_MASK): Add return type.
|
||
(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
|
||
|
||
(TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
|
||
|
||
(TARGET_ASM_FILE_START): Put @findex before paragraph start.
|
||
Use prototype.
|
||
|
||
(TARGET_ASM_NAMED_SECTION): Fix argument list.
|
||
|
||
(TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
|
||
(TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
|
||
|
||
(TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
|
||
|
||
(TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
|
||
|
||
(TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
|
||
referring to it. Fix language.
|
||
|
||
(TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
|
||
|
||
(TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
|
||
|
||
(TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
|
||
|
||
(TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
|
||
|
||
(TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
|
||
'@var{stream}. Remove stray 'and'.
|
||
|
||
(TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
|
||
|
||
(TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
|
||
|
||
(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
|
||
|
||
(TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
|
||
misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
|
||
|
||
(TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
|
||
Fix description of return value.
|
||
Rename argument "sz" to "len."
|
||
|
||
(TARGET_CXX_GUARD_MASK_BIT): Add missing article.
|
||
Clarify meaning of 'true' return value.
|
||
|
||
(TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
|
||
|
||
(TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
|
||
rep_mode versus mode_rep.
|
||
|
||
(TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
|
||
|
||
(TARGET_BUILTIN_DECL): Fix name.
|
||
|
||
(TARGET_COMMUTATIVE_P): Fix type of first argument.
|
||
|
||
(TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
|
||
|
||
(TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
|
||
|
||
(TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
|
||
|
||
(TARGET_RELAXED_ORDERING): Use @deftypevr.
|
||
|
||
(TARGET_GET_DRAP_RTX): Note that this is a hook.
|
||
Clarify language.
|
||
|
||
(TARGET_BUILTIN_RECIPROCAL): Fix argument types.
|
||
Rename argument tm_fn to md_fn.
|
||
|
||
(TARGET_OPTION_PRINT): Fix argument list.
|
||
|
||
2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
|
||
|
||
PR target/42664
|
||
* config/i386/i386.c (ix86_fixup_binary_operands):
|
||
Revert FMA4 fixup of operands.
|
||
|
||
2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||
|
||
PR gcc/42525
|
||
* Makefile.in (write_entries_to_file, install-plugin):
|
||
Use \012 instead of \n with tr.
|
||
|
||
2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
|
||
|
||
* configure.ac (HAVE_AS_REF): New C macro.
|
||
* configure: Regenerate.
|
||
* config.in: Likewise.
|
||
* collect2.c (main): Only postpone SCAN_DWEH to the second pass
|
||
if HAVE_AS_REF.
|
||
* config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
|
||
if HAVE_AS_REF.
|
||
|
||
2010-01-16 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
|
||
|
||
(TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
|
||
|
||
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
|
||
|
||
(TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
|
||
|
||
(TARGET_IN_SMALL_DATA_P): Fix argument type.
|
||
|
||
(TARGET_BINDS_LOCAL_P): Fix argument type.
|
||
|
||
(TARGET_ASM_FILE_END): Use prototype.
|
||
|
||
(TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
|
||
|
||
(TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
|
||
|
||
(TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
|
||
|
||
(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
|
||
|
||
(TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
|
||
(TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
|
||
|
||
(TARGET_PCH_VALID_P): Put 'const char *' in braces.
|
||
(TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
|
||
|
||
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
|
||
(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
|
||
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
|
||
(TARGET_ADDR_SPACE_CONVERT): Likewise.
|
||
|
||
(TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
|
||
|
||
(TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
|
||
|
||
(TARGET_INIT_BUILTINS): Use prototype.
|
||
|
||
(TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
|
||
Put 'const char *' in braces. Fix parameter types.
|
||
(TARGET_INVALID_CONVERSION): Fix parameter types.
|
||
(TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
|
||
(TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
|
||
|
||
(TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
|
||
Fix argument type.
|
||
|
||
(TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
|
||
|
||
(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
|
||
|
||
2010-01-15 Joern Rennecke <amylaar@spamcop.net>
|
||
|
||
* doc/tm.texi (TARGET_HELP): Fix return type.
|
||
|
||
(TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
|
||
in braces. Fix argument types.
|
||
|
||
(TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
|
||
|
||
(TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
|
||
|
||
(TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
|
||
|
||
(TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
|
||
(TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
|
||
|
||
(TARGET_MANGLE_TYPE): Fix argument types.
|
||
|
||
(TARGET_IRA_COVER_CLASSES): Use prototype.
|
||
|
||
(TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
|
||
|
||
(TARGET_CAN_ELIMINATE): Use identifiers for argument names.
|
||
|
||
(TARGET_PROMOTE_PROTOTYPES): Fix argument type.
|
||
|
||
(TARGET_MUST_PASS_IN_STACK): Fix argument type.
|
||
|
||
(TARGET_CALLEE_COPIES): Fix argument types.
|
||
|
||
(TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
|
||
|
||
(TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
|
||
|
||
(TARGET_FUNCTION_VALUE): Fix argument types.
|
||
|
||
(TARGET_RETURN_IN_MSB): Fix argument type.
|
||
|
||
(TARGET_RETURN_IN_MEMORY): Fix argument types.
|
||
|
||
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
|
||
|
||
(TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
|
||
|
||
(TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
|
||
agree with return type.
|
||
|
||
(TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
|
||
|
||
2010-01-15 Jing Yu <jingyu@google.com>
|
||
|
||
PR rtl-optimization/42691
|
||
* combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
|
||
a pseudo to a constant and are merged, and adjust comments.
|
||
|
||
2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
|
||
|
||
2010-01-15 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42739
|
||
* tree-cfgcleanup.c (remove_forwarder_block): Move destination
|
||
labels of computed or non-local gotos to the destination.
|
||
* tree-cfg.c (gimple_verify_flow_info): Verify that a EH
|
||
landing pad label is the first label.
|
||
|
||
2010-01-15 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
|
||
|
||
2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/42747
|
||
* config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
|
||
to allow generation of the xssqrtdp instruction on power7.
|
||
(sqrtdf2_fpr): Ditto.
|
||
|
||
2010-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/42674
|
||
* c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
|
||
functions with noreturn attribute.
|
||
|
||
PR c++/42608
|
||
* varasm.c (declare_weak): Add weak attribute to decl if it
|
||
doesn't have one already.
|
||
(assemble_external): Only add decls to weak_decls if they also
|
||
have weak attribute.
|
||
|
||
2010-01-14 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* var-tracking.c (var_reg_delete): Don't delete the association
|
||
between REGs and values or one-part variables if the register
|
||
isn't clobbered.
|
||
|
||
2010-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/42657
|
||
* tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
|
||
because its first operand is a non-localized variable.
|
||
|
||
2010-01-14 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42706
|
||
* tree-sra.c (encountered_recursive_call): New variable.
|
||
(encountered_unchangable_recursive_call): Likewise.
|
||
(sra_initialize): Initialize both new variables.
|
||
(callsite_has_enough_arguments_p): New function.
|
||
(scan_function): Call decl and flags check only for IPA-SRA, check
|
||
whether there is a recursive call and whether it has enough arguments.
|
||
(all_callers_have_enough_arguments_p): New function.
|
||
(convert_callers): Look for recursive calls only when
|
||
encountered_recursive_call is set.
|
||
(ipa_early_sra): Bail out either if
|
||
!all_callers_have_enough_arguments_p or
|
||
encountered_unchangable_recursive_call.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* sel-sched.c: Add 2010 to copyright years.
|
||
* sel-sched-ir.c: Likewise.
|
||
* sel-sched-ir.h: Likewise.
|
||
|
||
2010-01-14 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42714
|
||
* tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
|
||
constructors specially.
|
||
|
||
2010-01-14 Andi Kleen <ak@linux.intel.com>
|
||
|
||
* config/i386/drivers-i386.c (detect_caches_intel):
|
||
Add l2sizekb parameter and fill in.
|
||
(host_detect_local_cpu): Add l2sizekb, fill in.
|
||
Add Atom small cache heuristic.
|
||
|
||
2010-01-14 Andi Kleen <ak@linux.intel.com>
|
||
|
||
* config/i386/drivers-i386.c (detect_caches_cpuid4):
|
||
Add level3 parameter and fill in.
|
||
(detect_caches_intel): Handle level3 cache.
|
||
|
||
2010-01-14 Andi Kleen <ak@linux.intel.com>
|
||
|
||
* config/i386/drivers-i386.c (host_detect_local_cpu):
|
||
Fix core duo detection.
|
||
|
||
2010-01-14 Andi Kleen <ak@linux.intel.com>
|
||
|
||
* config/i386/drivers-i386.c (host_detect_local_cpu):
|
||
Fix Atom detection.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
|
||
(rs6000_variable_issue_1): this. Use...
|
||
(rs6000_variable_issue): here. Reimplement. Print debug info.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* sel-sched-ir.c (sel_restore_other_notes): Rename to
|
||
sel_restore_notes. Update all callers. Call reemit_notes
|
||
for all insns.
|
||
|
||
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/42246
|
||
* sel-sched-ir.h (get_all_loop_exits): Include exits from inner
|
||
loops.
|
||
|
||
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
* sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
|
||
all successors is the same as number of successors in current region.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
|
||
to rename is not separable. Otherwise check that its LHS is not NULL.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* sel-sched.c (mark_unavailable_hard_regs): Do not try to search
|
||
available registers when failed to discover LHS register class.
|
||
Fix indentation. Update comment.
|
||
|
||
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
|
||
Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR rtl-optimization/42389
|
||
* sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
|
||
to can_issue_more.
|
||
(advance_state_on_fence): Likewise.
|
||
(sel_target_adjust_priority): Print debug output only when
|
||
sched_verbose >= 4, not 2.
|
||
(get_expr_cost): Do not issue all unique insns on the next cycle.
|
||
(fill_insns): Initialize can_issue_more from the value saved
|
||
with the fence.
|
||
* sel-sched-ir.c (flist_add): New parameter issue_more.
|
||
Init FENCE_ISSUE_MORE with it.
|
||
(merge_fences): Likewise.
|
||
(init_fences): Update call to flist_add.
|
||
(add_to_fences, add_clean_fence_to_fences)
|
||
(add_dirty_fence_to_fences): Likewise.
|
||
(move_fence_to_fences): Update call to merge_fences.
|
||
(invoke_reorder_hooks): Do not reset can_issue_more on insns from
|
||
sched groups.
|
||
* sel-sched-ir.h (struct _fence): New field issue_more.
|
||
(FENCE_ISSUE_MORE): New accessor macro.
|
||
|
||
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/42388
|
||
* sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
|
||
that have no predecessors nor successors. Do not call move_bb_info
|
||
for empty blocks outside of current region.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR rtl-optimization/42294
|
||
* sel-sched-ir.h (struct _sel_insn_data): Update comment.
|
||
* sel-sched.c (move_exprs_to_boundary): Transitively add all
|
||
originators' originators.
|
||
|
||
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR rtl-optimization/39453
|
||
PR rtl-optimization/42246
|
||
* sel-sched-ir.c (considered_for_pipelining_p): Do not test
|
||
for pipelining_p.
|
||
(sel_add_loop_preheaders): Add preheader to last_added_blocks.
|
||
|
||
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
|
||
Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR middle-end/42245
|
||
* sel-sched-ir.c (sel_recompute_toporder): New. Use it...
|
||
(maybe_tidy_empty_bb): ... here. Make static. Add new
|
||
argument. Update all callers.
|
||
(tidy_control_flow): ... and here. Recompute topological order
|
||
of basic blocks in region if necessary.
|
||
(sel_redirect_edge_and_branch): Change return type. Return true
|
||
if topological order might have been invalidated.
|
||
(purge_empty_blocks): Export and move from...
|
||
* sel-sched.c (purge_empty_blocks): ... here.
|
||
* sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
|
||
(maybe_tidy_empty_bb): Delete prototype.
|
||
(purge_empty_blocks): Declare.
|
||
|
||
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
|
||
|
||
PR rtl-optimization/42249
|
||
* sel-sched.c (try_replace_dest_reg): When chosen register
|
||
and original register is the same, do not bail out early, but
|
||
still check all original insns for validity of replacing destination
|
||
register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
|
||
in this case.
|
||
|
||
2010-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/42721
|
||
Port from no-undefined-overflow branch:
|
||
2009-03-09 Richard Guenther <rguenther@suse.de>
|
||
|
||
* fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
|
||
|
||
2010-01-14 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/42665
|
||
* gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
|
||
|
||
2010-01-14 Ira Rosen <irar@il.ibm.com>
|
||
|
||
PR tree-optimization/42709
|
||
* tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
|
||
as scalar type in creation of constant vector operand.
|
||
|
||
2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||
|
||
PR testsuite/42414
|
||
* Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
|
||
(check-parallel-%): Match `testsuite' directory component only
|
||
at the end.
|
||
|
||
2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
|
||
|
||
PR translation/39521
|
||
* gcc.c (do_spec_1): Wrapped the error and notice messages of specs
|
||
strings with _().
|
||
|
||
2010-01-13 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42730
|
||
* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
|
||
offset zero.
|
||
|
||
2010-01-13 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
PR target/pr42542
|
||
* config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
|
||
for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
|
||
them signed.
|
||
|
||
2010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
|
||
|
||
* config/bfin/libgcc-bfin.ver: Regenerate based on current
|
||
libgcc-std.ver. Add entries for ___smulsi3_highpart and
|
||
___umulsi3_highpart.
|
||
|
||
* config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
|
||
rather than schedule_insns if the pass is enabled.
|
||
|
||
2010-01-13 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42704
|
||
* tree-sra.c (sra_modify_assign): Do not delete assignments to
|
||
SSA_NAMEs.
|
||
|
||
2010-01-13 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42703
|
||
* tree-sra.c (analyze_access_subtree): Check that we can build a
|
||
reference to the original data within the aggregate.
|
||
|
||
2010-01-13 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42705
|
||
* tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
|
||
|
||
2010-01-13 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42716
|
||
* fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
|
||
|
||
2010-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/41371
|
||
* var-tracking.c (values_to_unmark): New variable.
|
||
(find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
|
||
values_to_unmark vector. Moved body to...
|
||
(find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
|
||
instead queue it into values_to_unmark vector.
|
||
(vt_find_locations): Free values_to_unmark vector.
|
||
|
||
2010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
|
||
|
||
* config/s390/s390.c (override_options): Set
|
||
default of max-pending-list-length to 256
|
||
|
||
2010-01-13 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/42678
|
||
* tree-pass.h (PROP_gimple_lcx): New.
|
||
* cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
|
||
* passes.c (init_optimization_passes): Move pass_lower_complex_O0
|
||
before the final cleanup_eh.
|
||
(dump_properties): Dump PROP_gimple_lcx.
|
||
* tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
|
||
(tree_lower_complex_O0): Remove.
|
||
(gate_no_optimization): Run if PROP_gimple_lcx is not set.
|
||
(pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
|
||
tree_lower_complex, schedule TODO_update_ssa.
|
||
* lto-streamer-out.c (output_function): Stream the functions
|
||
properties.
|
||
* lto-streamer-in.c (input_function): Likewise.
|
||
(lto_read_body): Do not override them here.
|
||
|
||
2010-01-12 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/42708
|
||
* c-typeck.c (build_c_cast): Fold value cast to union type before
|
||
wrapping it in a CONSTRUCTOR.
|
||
|
||
2010-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/42699
|
||
* cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
|
||
involved.
|
||
|
||
2010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
|
||
SUBTARGET_WARN_UNUSED_SPEC): Move ...
|
||
config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
|
||
SUBTARGET_WARN_UNUSED_SPEC): ... here
|
||
* config/mips/iris5.h (LIBGCC_SPEC): Define.
|
||
|
||
2010-01-12 Julian Brown <julian@codesourcery.com>
|
||
|
||
* config/arm/neon-schedgen.ml (Utils): Don't try to
|
||
open missing module.
|
||
(find_with_result): New.
|
||
|
||
2010-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/42662
|
||
* simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
|
||
sharing when canonicalizing ({lt,ge}u (plus a b) b).
|
||
|
||
PR tree-optimization/42645
|
||
* tree-inline.c (processing_debug_stmt): Move earlier. Make static.
|
||
(remap_ssa_name): If processing_debug_stmt and name wasn't found in
|
||
decl_map, set processing_debug_stmt to -1 and return name without
|
||
any remapping.
|
||
|
||
2010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
|
||
* doc/install.texi (Specific#x-x-cygwin): Document minimum required
|
||
binutils version, and reword target configuration description.
|
||
|
||
2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
|
||
|
||
* config/avr/avr.h (LINKER_NAME): Remove.
|
||
|
||
2010-01-11 Janis Johnson <janis187@us.ibm.com>
|
||
|
||
PR target/42416
|
||
* config/rs6000/rs6000.c (rs6000_override_options): On targets
|
||
that support VSX, warn for -mno-altivec if vsx is not disabled,
|
||
and disable vsx.
|
||
|
||
2010-01-11 Joseph Myers <joseph@codesourcery.com>
|
||
Shujing Zhao <pearly.zhao@oracle.com>
|
||
|
||
PR translation/42469
|
||
* common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
|
||
fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
|
||
character between option name and help text.
|
||
* c.opt (imultilib): Likewise.
|
||
|
||
2010-01-10 Rafael Avila de Espindola <espindola@google.com>
|
||
|
||
* lto-streamer-out.c (output_unreferenced_globals): Output static
|
||
variables.
|
||
|
||
2010-01-10 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
PR rtl-optimization/42621
|
||
* bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
|
||
optimizing for size.
|
||
(duplicate_computed_gotos): Remove now-redundant check.
|
||
|
||
2010-01-10 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
PR target/37454
|
||
* configure.ac: Save and restore LDFLAGS and LIBS
|
||
* configure: Regenerate.
|
||
|
||
2010-01-10 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42667
|
||
* builtins.c (fold_builtin_strlen): Add type argument and
|
||
convert the resulting length to it.
|
||
(fold_builtin_1): Adjust.
|
||
|
||
2010-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
|
||
sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
|
||
1 insn.
|
||
(num_insns_constant_wide): Adjust for that change.
|
||
|
||
2010-01-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42631
|
||
* web.c (union_defs): Add used argument, to combine uses of
|
||
uninitialized regs.
|
||
(entry_register): Adjust type and tests of used argument.
|
||
(web_main): Widen used for new use. Pass it to union_defs.
|
||
* df.h (union_defs): Adjust prototype.
|
||
|
||
2010-01-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42630
|
||
* loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
|
||
uses in new incoming argument. Free body.
|
||
(reset_debug_uses_in_loop): New.
|
||
(analyze_insn_to_expand_var): Call the latter if the former found
|
||
anything. Fix whitespace. Reject invalid dest overlaps before
|
||
going through all insns in the loop.
|
||
|
||
2010-01-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42629
|
||
* haifa-sched.c (dying_use_p): Debug insns don't count.
|
||
|
||
2010-01-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR middle-end/42363
|
||
* gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
|
||
* tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
|
||
(verify_gimple_call): Reject LHS in noreturn calls.
|
||
|
||
2010-01-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/42604
|
||
PR debug/42395
|
||
* tree-vect-loop-manip.c (adjust_info): New type.
|
||
(adjust_vec): New pointer to vector.
|
||
(adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
|
||
(adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
|
||
(slpeel_update_phis_for_duplicate_loop): Use them.
|
||
(slpeel_update_phi_nodes_for_guard1): Likewise.
|
||
(slpeel_update_phi_nodes_for_guard2): Likewise.
|
||
(slpeel_tree_peel_loop_to_edge): Likewise.
|
||
(vect_update_ivs_after_vectorizer): Likewise.
|
||
|
||
2010-01-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
|
||
(DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
|
||
|
||
2010-01-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
|
||
bogus uninitialized warning.
|
||
|
||
2010-01-09 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42512
|
||
* tree-scalar-evolution.c (interpret_loop_phi): Make sure
|
||
the evolution is compatible with the initial condition.
|
||
|
||
2010-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc.c (process_command): Update copyright notice dates.
|
||
* gcov.c (print_version): Likewise.
|
||
* gcov-dump.c (print_version): Likewise.
|
||
* mips-tfile.c (main): Likewise.
|
||
* mips-tdump.c (main): Likewise.
|
||
|
||
2010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
|
||
|
||
PR target/41885
|
||
* config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
|
||
(rotlhi3): Delete.
|
||
(rotlhi3_8): Delete.
|
||
(rotlsi3): Delete.
|
||
(rotlsi3_8): Delete.
|
||
(rotlsi3_16): Delete.
|
||
(rotlsi3_24): Delete.
|
||
(rotl<mode>3): New.
|
||
(*rotw<mode>3): New.
|
||
(*rotb<mode>3): New.
|
||
* config/avr/avr.c (avr_rotate_bytes): New function.
|
||
* config/avr/avr-proto.h (avr_rotate_bytes): New function.
|
||
|
||
2010-01-08 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
PR target/37454
|
||
* configure.ac: Modify -rdynamic check.
|
||
* configure: Regenerate.
|
||
|
||
2010-01-08 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
|
||
register popping order.
|
||
|
||
2010-01-08 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/42528
|
||
* c.opt (fsigned-char): Also let LTO handle this option.
|
||
(funsigned-char): Likewise.
|
||
|
||
2010-01-07 Richard Guenther <rguenther@suse.de>
|
||
|
||
* gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
|
||
(gimple_op): Likewise.
|
||
(gimple_op_ptr): Likewise.
|
||
(gimple_assign_set_lhs): Remove gcc_assert.
|
||
(gimple_assign_set_rhs1): Likewise.
|
||
(gimple_assign_set_rhs2): Likewise.
|
||
(gimple_call_set_lhs): Likewise.
|
||
(gimple_call_set_fn): Likewise.
|
||
(gimple_call_set_fndecl): Likewise.
|
||
(gimple_call_fndecl): Likewise.
|
||
(gimple_call_return_type): Likewise.
|
||
(gimple_call_set_chain): Likewise.
|
||
(gimple_call_num_args): Likewise.
|
||
(gimple_call_set_arg): Likewise.
|
||
(gimple_cond_set_code): Likewise.
|
||
(gimple_cond_set_lhs): Likewise.
|
||
(gimple_cond_set_rhs): Likewise.
|
||
(gimple_cond_set_true_label): Likewise.
|
||
(gimple_cond_set_false_label): Likewise.
|
||
(gimple_label_set_label): Likewise.
|
||
(gimple_goto_set_dest): Likewise.
|
||
(gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
|
||
(gimple_debug_bind_get_value): Likewise.
|
||
(gimple_debug_bind_get_value_ptr): Likewise.
|
||
(gimple_debug_bind_set_var): Likewise.
|
||
(gimple_debug_bind_set_value): Likewise.
|
||
(gimple_debug_bind_reset_value): Likewise.
|
||
(gimple_debug_bind_has_value_p): Likewise.
|
||
(gimple_return_retval_ptr): Remove gcc_assert.
|
||
(gimple_return_retval): Likewise.
|
||
(gimple_return_set_retval): Likewise.
|
||
* tree-flow.h (struct gimple_df): Remove nonlocal_all member.
|
||
(safe_referenced_var_iterator): Remove.
|
||
(FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
|
||
* tree-flow-inline.h (gimple_nonlocal_all): Remove.
|
||
(fill_referenced_var_vec): Remove.
|
||
(first_readonly_imm_use): Remove redundant gcc_assert.
|
||
(phi_arg_index_from_use): Combine gcc_asserts.
|
||
(move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
|
||
(first_imm_use_stmt): Remove redundant gcc_assert.
|
||
* tree-cfg.c (verify_gimple_call): Verify function and chain
|
||
operands. Verify arguments.
|
||
(verify_types_in_gimple_stmt): Verify condition code and labels.
|
||
|
||
2010-01-07 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42641
|
||
* sese.c (rename_map_elt_info): Use the SSA name version, do
|
||
not hash pointers.
|
||
|
||
2010-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/42625
|
||
* cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
|
||
TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
|
||
|
||
2010-01-07 Duncan Sands <baldrick@free.fr>
|
||
|
||
* Makefile.in (PLUGIN_HEADERS): Add version.h.
|
||
|
||
2010-01-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/42511
|
||
* ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
|
||
note itself is not function_invariant_p.
|
||
|
||
2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
|
||
Do not add the DF_NOTE problem.
|
||
* store-motion.c (execute_rtl_store_motion): Likewise.
|
||
|
||
2010-01-07 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42157
|
||
* tree-sra.c (compare_access_positions): Stabilize sort if both
|
||
accesses have integer types, return zero immediately if they are the
|
||
same.
|
||
|
||
2010-01-06 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/41883
|
||
* haifa-sched.c (add_to_note_list): Merge into ...
|
||
(concat_note_lists): ... here, and ...
|
||
(unlink_other_notes, rm_other_notes): Merge into...
|
||
(remove_notes): ... here. Create REG_SAVE_NOTEs for
|
||
NOTE_INSN_EPILOGUE_BEG.
|
||
|
||
2010-01-06 Richard Guenther <rguenther@suse.de>
|
||
|
||
* ipa-inline.c (cgraph_decide_inlining_incrementally): Do
|
||
not inline regular functions into always-inline functions.
|
||
|
||
2010-01-06 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rx/rx.h (enum rx_cpu_type): Add RX200.
|
||
(CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
|
||
used together.
|
||
(OVERRIDE_OPTIONS): Delete.
|
||
(OPTIMIZATION_OPTIONS): Define.
|
||
(ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
|
||
* config/rx/rx.c (rx_handle_option): Issue an error message if
|
||
-mcpu=rx200 and -fpu are used together.
|
||
(rx_set_optimization_options): New function. Issue an error
|
||
message if an optimization attribute attempts to reset the FPU/
|
||
math optimization pairing.
|
||
* config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
|
||
* config/rx/rx.opt: Set the default to 32-bit doubles.
|
||
* config/rx/t-rx: Add multilibs for -nofpu option.
|
||
* doc/invoke.texi: Update documentation of RX options.
|
||
|
||
2010-01-06 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-pre.c (name_to_id): New global.
|
||
(alloc_expression_id): Simplify SSA name handling.
|
||
(lookup_expression_id): Likewise.
|
||
(init_pre): Zero name_to_id.
|
||
(fini_pre): Free it.
|
||
|
||
2010-01-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
|
||
|
||
2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/42542
|
||
* config/i386/sse.md (smaxv2di3): New.
|
||
(umaxv2di3): Likewise.
|
||
(sminv2di3): Likewise.
|
||
(uminv2di3): Likewise.
|
||
|
||
2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/42564
|
||
* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
|
||
* config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
|
||
(legitimize_tls_address): Likewise.
|
||
(sparc_tls_referenced_p): Likewise.
|
||
* config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
|
||
and adjust calls to legitimize_pic_address.
|
||
(legitimate_constant_p) Use sparc_tls_referenced_p.
|
||
(legitimate_pic_operand_p): Likewise.
|
||
(sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
|
||
(sparc_tls_symbol_ref_1): Delete.
|
||
(sparc_tls_referenced_p): Make static, recognize specific patterns.
|
||
(legitimize_tls_address): Make static, handle CONST patterns.
|
||
(legitimize_pic_address): Make static, remove unused parameter and
|
||
adjust recursive calls.
|
||
(sparc_legitimize_address): Make static, use sparc_tls_referenced_p
|
||
and adjust call to legitimize_pic_address.
|
||
(sparc_output_mi_thunk): Likewise.
|
||
|
||
2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/42542
|
||
* config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
|
||
for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
|
||
operands to make them signed.
|
||
|
||
Revert:
|
||
2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/42542
|
||
* config/i386/i386.c (ix86_expand_int_vcond): Don't convert
|
||
GTU to GT for V4SI and V2DI.
|
||
|
||
* config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
|
||
(umin<mode>3): Removed.
|
||
(uminv8hi3): New.
|
||
(uminv4si3): Likewise.
|
||
|
||
2010-01-05 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42462
|
||
* ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
|
||
current_function_decl to helper functions and macros.
|
||
|
||
2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR bootstrap/41771
|
||
* flags.h: Don't include real.h.
|
||
(HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
|
||
HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
|
||
* real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
|
||
HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
|
||
* dominance.c: Update copyright.
|
||
* gimple.c (walk_gimple_op): Remove inline.
|
||
* tree-ssa-reassoc.c: Include real.h.
|
||
* Makefile.in (FLAGS_H): Remove $(REAL_H).
|
||
(tree-ssa-reassoc.o): Depend on $(REAL_H).
|
||
|
||
2010-01-05 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
|
||
register to push into the stack frame when the accumulator has to
|
||
be saved during interrupts.
|
||
|
||
2010-01-05 Eric Fisher <joefoxreal@gmail.com>
|
||
|
||
* doc/invoke.texi: Remove the documentation about option
|
||
-Wunreachable-code.
|
||
* common.opt (Wunreachable-code): Preserved for backward
|
||
compatibility.
|
||
* tree-cfg.c: Remove the implementation of -Wunreachable-code.
|
||
* opts.c (common_handle_option): Add OPT_Wunreachable_code to
|
||
the backward compatibility flag section.
|
||
|
||
2010-01-05 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
|
||
|
||
2010-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/42611
|
||
* cfgexpand.c (expand_one_var): Diagnose too large variables.
|
||
|
||
PR tree-optimization/42508
|
||
* tree-sra.c (convert_callers): Check for recursive call
|
||
by comparing cgraph nodes instead of decls.
|
||
(modify_function): Call ipa_modify_formal_parameters also
|
||
on all same_body aliases.
|
||
|
||
* cgraphunit.c (cgraph_materialize_all_clones): Compare
|
||
cgraph nodes when checking for same_body aliases.
|
||
|
||
2010-01-05 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
|
||
allocation and lookup.
|
||
(get_or_alloc_expr_for_constant): Likewise.
|
||
(phi_translate): Sink allocation.
|
||
|
||
2010-01-04 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
|
||
a new entry only if needed.
|
||
* tree-ssa-dom.c (lookup_avail_expr): Likewise.
|
||
* tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
|
||
hashtable lookup.
|
||
* tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
|
||
the result array.
|
||
(phi_translate): Handle CONSTANTs early.
|
||
|
||
2010-01-04 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42398
|
||
* tree-sra.c (struct access): Removed flag grp_different_types.
|
||
(dump_access): Do not dump the removed flag.
|
||
(sort_and_splice_var_accesses): Do not set the removed flag.
|
||
(sra_modify_expr): Check for type compatibility directly.
|
||
|
||
2010-01-04 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR tree-optimization/42366
|
||
* ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
|
||
edges with variable number of parameters.
|
||
* ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
|
||
flag instead of asserting it.
|
||
(ipa_read_node_info): Read uses_analysis_done flag.
|
||
|
||
2010-01-04 Richard Guenther <rguenther@suse.de>
|
||
|
||
* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
|
||
iterative_hash_* as intended.
|
||
(vn_reference_compute_hash): Likewise. Simplify hashing
|
||
SSA names.
|
||
(vn_reference_lookup_2): Likewise.
|
||
(vn_nary_op_compute_hash): Likewise.
|
||
(vn_phi_compute_hash): Likewise.
|
||
(expressions_equal_p): Remove strange code.
|
||
* tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
|
||
(pre_expr_hash): Likewise. Simplify hashing SSA names.
|
||
(bitmap_insert_into_set_1): Take value-id as parameter.
|
||
(add_to_value): Pass it.
|
||
(bitmap_insert_into_set): Likewise.
|
||
(bitmap_value_insert_into_set): Likewise. Remove redundant check.
|
||
|
||
2010-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR driver/42442
|
||
* gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
|
||
(do_self_spec): For switches with SWITCH_IGNORE set set also
|
||
SWITCH_IGNORE_PERMANENTLY.
|
||
(check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
|
||
of SWITCH_IGNORE.
|
||
|
||
2010-01-04 Rafael Avila de Espindola <espindola@google.com>
|
||
|
||
* lto-streamer-out.c (output_unreferenced_globals): Output the full
|
||
tree of an unreferenced global var.
|
||
|
||
2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/42542
|
||
* config/i386/i386.c (ix86_expand_int_vcond): Don't convert
|
||
GTU to GT for V4SI and V2DI.
|
||
|
||
* config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
|
||
(umin<mode>3): Removed.
|
||
(uminv8hi3): New.
|
||
(uminv4si3): Likewise.
|
||
|
||
2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR lto/42581
|
||
* collect2.c (main): Turn on trace in collect2 if -v is passed
|
||
to gcc with LTO.
|
||
|
||
2010-01-03 Jerry Quinn <jlquinn@optonline.net>
|
||
|
||
* doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
|
||
description of expression operand.
|
||
|
||
2010-01-03 Andrew Jenner <andrew@codesourcery.com>
|
||
|
||
* configure.ac: Add install-html to target_list for Make-hooks.
|
||
* configure: Regenerate.
|
||
* fortran/Make-lang.in (F95_HTMLFILES): New.
|
||
(fortran.html): Use it.
|
||
(fortran.install-html): New.
|
||
* Makefile.in (install-html): Add lang.install-html.
|
||
* java/Make-lang.in (JAVA_HTMLFILES): New.
|
||
(java.html): Use it.
|
||
(java.install-html): New.
|
||
* objc/Make-lang.in (objc.install-html): New.
|
||
* objcp/Make-lang.in (obj-c++.install-html): New.
|
||
* cp/Make-lang.in (c++.install-html): New.
|
||
* ada/gcc-interface/Make-lang.in (ada.install-html): New.
|
||
* lto/Make-lang.in (lto.install-html): New.
|
||
|
||
2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR lto/42520
|
||
* gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
|
||
|
||
2009-01-03 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
PR rtl-optimization/41862
|
||
* store-motion.c (store_killed_in_insn, compute_store_table,
|
||
remove_reachable_equiv_notes, replace_store_insn,
|
||
build_store_vectors): Ignore all DEBUG_INSNs.
|
||
|
||
2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR lto/41564
|
||
* common.opt: Add dumpdir.
|
||
|
||
* gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
|
||
isn't specified.
|
||
(option_map): Add --dumpdir.
|
||
|
||
* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
|
||
|
||
* lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
|
||
|
||
* opts.c (decode_options): Try dump_dir_name first if
|
||
dump_base_name isn't an absolute path.
|
||
(common_handle_option): Handle OPT_dumpdir.
|
||
|
||
* toplev.c (dump_dir_name): New.
|
||
(print_switch_values): Also ignore -dumpdir.
|
||
|
||
* toplev.h (dump_dir_name): New.
|
||
|
||
2010-01-03 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42589
|
||
* tree-ssa-math-opts.c (execute_optimize_bswap): Allow
|
||
double-word expansion of bswap32.
|
||
|
||
2010-01-03 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
|
||
with BLOCK_FOR_INSN.
|
||
* auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
|
||
* ifcvt.c (noce_get_alt_condition, noce_try_abs,
|
||
noce_process_if_block): Likewise.
|
||
* gcse.c (compute_local_properties, insert_expr_in_table,
|
||
insert_set_in_table, canon_list_insert, find_avail_set,
|
||
pre_insert_copy_insn): Likewise.
|
||
|
||
* basic-block.h (BLOCK_NUM): Move from here...
|
||
* sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
|
||
|
||
2010-01-03 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR tree-optimization/42438
|
||
* tree-ssa-pre.c (struct bb_bitmap_sets): Add
|
||
contains_may_not_return_call flag.
|
||
(BB_MAY_NOTRETURN): New.
|
||
(valid_in_sets): Trapping nary operations are not valid
|
||
in blocks that may not return.
|
||
(insert_into_preds_of_block): Remove check for trapping expressions.
|
||
(compute_avail): Compute also BB_MAY_NOTRETURN.
|
||
|
||
2010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/invoke.texi: Add 2010 to copyright years.
|
||
|
||
2010-01-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc.c: Fix formatting nits.
|
||
|
||
2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
|
||
Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* doc/invoke.texi (Optimize Options): Reword introduction a bit.
|
||
|
||
2010-01-02 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42577
|
||
* tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
|
||
(simplify_switch_using_ranges): Mark to be removed edges
|
||
as non-executable.
|
||
|
||
2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
* config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
|
||
|
||
* collect2.c (scan_libraries): Add missing argument in call to
|
||
scan_prog_file.
|
||
|
||
2010-01-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/42448
|
||
* config/alpha/predicates.md (aligned_memory_operand): Return false
|
||
for CQImode.
|
||
(unaligned_memory_operand): Return true for CQImode.
|
||
* config/alpha/alpha.c (get_aligned_mem): Assert that location
|
||
doesn not cross aligned SImode word boundary.
|
||
|
||
2010-01-02 Anatoly Sokolov <aesok@post.ru>
|
||
|
||
* config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
|
||
Remove.
|
||
* config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
|
||
avr_change_section, avr_reg_class_from_letter) : Remove declaration.
|
||
|
||
2010-01-02 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR lto/41597
|
||
* toplev.c (compile_file): Emit LTO marker properly. Change
|
||
it to __gnu_lto_v1.
|
||
* collect2.c (scan_prog_file): Adjust for changed LTO marker.
|
||
|
||
2010-01-01 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR debug/42455
|
||
* tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
|
||
|
||
2010-01-01 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR c/42570
|
||
* c-decl.c (grokdeclarator): For zero-size arrays force
|
||
structural equality checks as layout_type does.
|
||
|
||
2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* builtins.c: Update copyright to 2010.
|
||
|
||
2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR lto/42531
|
||
* lto-streamer-out.c (produce_asm): Revert the last change.
|
||
(copy_function): Likewise.
|
||
|
||
* lto-streamer.c (lto_get_section_name): Skip any leading
|
||
asterisk in name.
|
||
|
||
2010-01-01 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR middle-end/42559
|
||
* builtins.c (get_object_alignment): Do not use DECL_ALIGN
|
||
for LABEL_DECLs.
|
||
|
||
|
||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|