X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2FChangeLog;h=c0883035d9d67a5566e3bcedf08573cf197bdaf6;hb=e6d46b5a8f1ec4722eb76bc0cb184bd2319a2952;hp=ffd227c5e4f517baed22d643d819d30348b39698;hpb=703ae70c629650dce1ca4a8383fdabbf422973bb;p=gcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ffd227c5e4f..c0883035d9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,7 +1,973 @@ +2012-07-08 Steven Bosscher + + * mcf.c: Do not include tm.h, tree.h, and langhooks.h. + (dump_fixup_graph): Use current_function_name. + (adjust_cfg_counts): Likewise. + * ira-conflicts.c: Do not include tree.h. + (ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL. + +2012-07-08 Oleg Endo + + PR target/51244 + * config/sh/sh.md (*branch_true_eq, *branch_false_ne, nott): New insns. + +2012-07-08 Steven Bosscher + + * basic-block.h: Re-group most prototypes per file. + (struct edge_list): Remove num_blocks field. + (dump_bb_info): Adjust prototypes. + (dump_reg_info): Move prototype to regs.h. + * function.h: Do not include tree.h. + Include vec.h, vecir.h, input.h and machmode.h to compensate. + (function_name): New prototype. + * gimple.h: Include tree.h to compensate for basic-block.h change. + * langhooks.h: Note that tree.h is only necessary for enum tree_code. + * regs.h (dump_reg_info): Prototype here. + * regset.h: Adjust file reference in comment. + (debug_regset): Remove prototype. + * rtl.h: Include flags.h for flag_var_tracking_assignments. + (MAY_HAVE_DEBUG_INSNS): Define as flag_var_tracking_assignments + instead of no-longer-available tree.h's MAY_HAVE_DEBUG_STMTS. + (dump_reg_info, dump_flow_info): Remove prototypes. + * bb-reorder.c (set_edge_can_fallthru_flag): Move from cfganal.c + to here, the only user. Make static. + (reorder_basic_blocks): Call dump_reg_info before dump_flow_info. + * cfg.c: Do not include tm.h, tree.h, rtl.h, hard-reg-set.h, regs.h, + flags.h, function.h, except.h, diagnostic-core.h, tm_p.h, timevar.h, + tree-pass.h, cfgloop.h, and tree-flow.h. + Include basic-block.h, the first header I'd expect to be included. + (reg_obstack): Move to df-core.c. + (free_edge): Remove bogus ATTRIBUTE_UNUSED. + (remove_edge_raw): Do not call tree-ssa's redirect_edge_var_map_clear. + (redirect_edge_succ_nodup): Move to cfghooks.c. + (dump_regset, debug_regset): Move to df-core.c. + (dump_bb_info): Move to cfgrtl.c. + (dump_reg_info): Move to regstat.c. + (dump_flow_info): Move to cfgrtl.c. + (debug_flow_info): Likewise. + (dump_edge_info): Do not look at cfun, a CFG without cfun is nonsense. + * cfganal.c: Do not include tm.h, rtl.h, obstack.h, hard-reg-set.h, + insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h. + (flow_active_insn_p, forwarder_block_p, can_fallthru, + could_fall_through): Move to cfgrtl.c. + (set_edge_can_fallthru_flag): Moved to bb-reorder.c. + (create_edge_list): Do not set edge_list's removed num_blocks. + (print_edge_list): Look at n_basic_blocks instead of num_blocks. + (flow_nodes_print): Remove. + (flow_edge_list_print): Remove. + (inverted_post_order_compute): Use FOR_ALL_BB. + *cfgrtl.c (dump_flow_info): Moved from cfg.c. + Do not call dump_reg_info. + (debug_flow_info): Moved from cfg.c + (dump_bb_info): Moved from cfg.c. Take 'verbose' argument + to avoid looking at TDF_* flags from tree-pass.h. + (flow_active_insn_p, forwarder_block_p, can_fallthru, + could_fall_through): Moved from cfganal.c. + (print_rtl_with_bb): Adjust dump_bb_info calls. + * cfghooks.c (redirect_edge_succ_nodup): Moved from cfg.c. + (remove_edge): Call redirect_edge_var_map_clear if IR_GIMPLE. + (cfgcleanup.c): Look at MAY_HAVE_DEBUG_INSNS, not MAY_HAVE_DEBUG_STMTS. + * cselib.c: Include tree.h with a FIXME. + * df-core.c (reg_obstack): Moved from cfg.c. + (dump_regset): Likewise. + (debug_regset): Likewise. Make a DEBUG_FUNCTION. + * final.c (compute_alignments): Call dump_reg_info before + dump_flow_info. + * function.c (function_name): New function. + (current_function_name): Use it. + * ifcvt.c (rest_of_handle_if_conversion): Call dump_reg_info before + dump_flow_info. + * ira-conflicts.c: Include tree.h with a note. + * regstat.c (dump_reg_info): Moved here from cfg.c. + * loop-init.c: Include regs.h instead of hard-reg-set.h. + (rtl_loop_init): Call dump_reg_info before dump_flow_info. + (rtl_loop_done): Likewise. + * mcf.c: Include tree.h before langhooks.h. + * predict.c (maybe_hot_count_p): Assert we have cfun. + (probably_never_executed_bb_p): Likewise. + * profile.c (compute_branch_probabilities): Use gimple_dump_cfg + instead of dump_flow_info. + * sched-deps.c: Include tree.h with a FIXME. + (call_may_noreturn_p): Add FIXME note why this function has to + look at function decls instead of function decl flags. + * sched-vis.c: Include tree.h with a FIXME. + (print_rtl_slim): Adjust dump_bb_info uses. + * statistics.c (statistics_fini_pass_2): Use current_function_name + to avoid including tree.h. + (statistics_counter_event): Use function_name for the same reason. + (statistics_histogram_event): Likewise. + * tracer.c (tracer): Remove bogus gcc_assert. Use brief_dump_cfg + instead of dump_flow_info. + * var-tracking.c (variable_tracking_main_1): Call dump_reg_info + before dump_flow_info. + * doc/cfg.texi: Update CFG documentation. + * Makefile.in (RTL_H): Depend on FLAGS_H. + (GIMPLE_H): Depend on TREE_H. + (FUNCTION_H): Depend on VEC_H, vecir.h, INPUT_H and MACHMODE_H, + but no longer on TREE_H. + (C_COMMON_H): Depend on TREE_H. + (cselib.o, cse.o, cfganal.o, loop-init.o, ira-conflicts.o, + sched-deps.o, sched-vis.o): Fixup dependencies. + +2012-07-08 Steven Bosscher + + * alias.h: Do not include coretypes.h in header files. + * cppbuiltin.h: Likewise. + * double-int.h: Likewise. + * gimple-fold.h: Likewise. + * flags.h: Likewise. + * tree-ssa-alias.h: Likewise. + * gengtype.h (obstack_chunk_alloc, obstack_chunk_free, + OBSTACK_CHUNK_SIZE): Define here to avoid dependency on coretypes.h. + * Makefile.in (RTL_BASE_H): Depend on coretypes.h. + (TREE_H): Likewise. + (ALIAS_H): Do not depend on coretypes.h. + (FLAGS_H): Likewise. + (realmpfr.o): Depend on coretypes.h. + +2012-07-08 Steven Bosscher + + * Makefile.in (gengtype-lex.o, gengtype-parse.o, gengtype-state.o, + gengtype.o): Add -DGENERATOR_FILE manually for host gengtype objects. + +2012-07-07 Richard Earnshaw + + * arm.h (TARGET_CPU_CPP_BUILTINS): Remove Maverick support. + (TARGET_FPA): Delete definition. + (TARGET_MAVERICK): Likewise. + (TARGET_FPA_EMU2): Likewise. + (arm_fp_model): Remove FPA and Maverick models. + (arm_arch_cirrus): Delete declaration. + (FLOAT_WORDS_BIG_ENDIAN): Delete definition. + (FIXED_REGISTERS): Remove FPA and Maverick support. Reorganize. + (CALL_USED_REGISTERS): Likewise. + (FIRST_FPA_REGNUM, LAST_FPA_REGNUM): Delete definition. + (FIRST_VFP_REGNUM): Renumbered. + (D7_VFP_REGNUM): Chain definition. + (LAST_LO_VFP_REGNUM): Likewise. + (FIRST_HI_VFP_REGNUM): Likewise. + (LAST_HI_VFP_REGNUM): Likewise. + (FIRST_IWMMXT_GR_REGNUM): Likewise. + (LAST_IWMMXT_GR_REGNUM): Likewise. + (FIRST_IWMMXT_REGNUM): Likewise. + (LAST_IWMMXT_REGNUM): Likewise. + (FRAME_POINTER_REGNUM): Renumbered. + (ARG_POINTER_REGNUM): Renumbered. + (FIRST_PSEUDO_REGISTER): Remove FPA and Maverick registers. + (FIRST_CIRRUS_FP_REGNUM, LAST_CIRRUS_FP_REGNUM): Delete definitions. + (HARD_REGNO_REGNUM): Remove FPA support. + (REG_ALLOC_ORDER): Remove FPA and Maverick registers. Reorganize. + (reg_class): Likewise. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (CANNOT_CHANGE_MODE_CLASS): Never true. Update comment. + (SECONDARY_INPUT_RELOAD_CLASS): Remove Maverick support. + (CLASS_MAX_NREGS): Remove FPA and Maverick support. + * aout.h (REGISTER_NAMES): Remove FPA and Maverick registers. + Reorganize. Use AAPCS preferred names. + (ADDITIONAL_REGISTER_NAMES): Remove aliases for Maverick. Update + comments. + (OVERLAPPING_REGISTER_NAMES): Update register numbering. + * arm.c (FL_CIRRUS): Delete definition. + (arm_arch_cirrus): Delete variable. + (arm_float_words_big_endian): Delete function. + (cirrus_memory_offset): Delete function. + (output_mov_long_double_fpa_from_arm): Delete function. + (output_mov_long_double_arm_from_fpa): Delete function. + (output_mov_double_fpa_from_arm): Delete function. + (output_mov_double_arm_from_fpa): Delete function. + (emit_sfm): Delete function. + (maybe_get_arm_condition_code): Update comment. + (arm_file_start): Always use softvfp for softfloat systems. + (thumb_core_reg_alloc_order): Adjust for updated register allocation. + (arm_option_override): Remove FPA and Maverick support. Always + default to vfp as the fallback FPU format. + (use_return_insn): Remove FPA support. + (arm_get_frame_offsets): Likewise. + (arm_save_coproc_regs): Likewise. + (arm_canonicalize_comparison): Remove Maverick support. + (arm_select_cc_mode): Likewise. + (arm_gen_compare_reg): Likewise. + (arm_print_operand): Likewise. + (arm_libcall_value_1): Remove FPA and Maverick support. + (arm_function_value_regno_p): Likewise. + (arm_apply_result_size): Likewise. + (arm_legitimate_index_p): Likewise. + (thumb2_legitimate_index_p): Likewise. + (legitimize_reload_address): Likewise. + (arm_register_move_cost): Likewise. + (arm_hard_regno_mode_ok): Likewise. + (arm_regno_class): Likewise. + (arm_dbx_register_number): Likewise. + (arm_emit_unwind_sequence): Likewise. + (arm_conditional_register_usage): Likewise. + * arm-protos.h (neg_const_double_rtx_ok_for_fpa): Remove declaration. + (cirrus_memory_offset): Likewise. + (output_move_long_double_fpa_from_arm): Likewise. + (output_move_long_double_arm_from_fpa): Likewise. + (output_move_double_fpa_from_arm): Likewise. + (output_move_double_arm_from_fpa): Likewise. + (arm_float_words_big_endian): Likewise. + * arm.md (CC_REGNUM): Renumbered. + (VFPCC_REGNUM): Moved here. Renumbered. + (FPA_F0_REGNUM, FPA_F7_REGNUM): Delete. + (attr fpu): Remove FPA and Maverick support. + * vfp.md (VFPCC_REGNUM): Delete. Moved to arm.md. + * arm-cores.def (ep9312): Remove Maverick support. + * arm-arches.def (ep9312): Delete architecture. + * arm-tables.opt: Regenerated. + + * arm/linux-elf.h (FPUTYPE_DEFAULT): Set to vfp. + +2012-07-07 Steven Bosscher + + PR tree-optimization/53881 + * tree-switch-conversion.c (emit_case_bit_tests): Do not rely on + comparing labels to establish uniqueness of a switch case target, + use the CFG instead. + +2012-07-07 Ulrich Weigand + + * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour + due to negative shift amount. + +2012-07-07 Hans-Peter Nilsson + + Fix configure test for "stack protector support in target C library". + * configure.ac (test_prefix, test_exec_prefix): Move setting from + inside sysroot handling to before and outside it. + * configure: Regenerate. + +2012-07-06 Kai Tietz + + PR bootstrap/52947 + * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always + as "/mingw/include". + +2012-07-06 Alexandre Oliva + + PR debug/53820 + * var-tracking.c (vt_add_function_parameter): Convert + internal_arg_pointer into arg_pointer-based address even + without DRAP. + +2012-07-06 Alexandre Oilva + + PR rtl-optimization/53827 + PR debug/53671 + PR debug/49888 + * alias.c (memrefs_conflict_p): Adjust offset and size by the + same amount for alignment ANDs. + +2012-07-06 Tom de Vries + + PR tree-optimization/51879 + * tree-ssa-sccvn.c (copy_reference_ops_from_call) + (visit_reference_op_call): Handle case that lhs is not an SSA_NAME. + (visit_use): Also call visit_reference_op_call for calls with a vdef. + +2012-07-06 Tom de Vries + + PR tree-optimization/52009 + * tree-ssa-tail-merge.c (gimple_equal_p): For GIMPLE_ASSIGN, compare + value numbers of gimple_vdef. + * tree-ssa-sccvn.h (vn_reference_insert): Add vdef parameter to + prototype. + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MODIFY_EXPR. + (vn_reference_insert): Add and handle vdef parameter. + (visit_reference_op_load): Add argument to vn_reference_insert call. + (visit_reference_op_store): Find value number of vdef of store. Insert + value number of vdef of store. + +2012-07-06 Uros Bizjak + + * config/i386/i386.md (simple lea to add peephole): Also transform + RTXes where second PLUS operand matches output. + +2012-07-06 Uros Bizjak + + * config/i386/i386.c (construct_plt_address): Make static. + * config/i386/i386-protos.h (construct_plt_address): Remove. + +2012-07-06 Nick Clifton + + * config/mn10300/mn10300.c (mn10300_encode_section_info): Call + default_encode_section_info. + +2012-07-06 Uros Bizjak + + PR target/53853 + * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model, + emit PIC sequence for fnaddr symbol reference in advance. + +2012-07-06 Eric Botcazou + + Revert + 2012-06-14 Eric Botcazou + + * dwarf2out.c (function_possibly_abstracted_p): New static function. + (gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of + cgraph_function_possibly_inlined_p. + (gen_inlined_subroutine_die): Return if the origin is to be ignored. + (process_scope_var): Do not emit concrete instances of abstracted + nested functions from here. + (gen_decl_die): Emit the abstract instance if the function is possibly + abstracted and not only possibly inlined. + (dwarf2out_finish): Find the first non-abstract parent instance and + attach concrete instances on the limbo list to it. + +2012-07-05 Ramana Radhakrishnan + Julian Brown + + PR target/48941 + PR target/51980 + * config/arm/neon-gen.ml (return_by_ptr): Delete. + (print_function): Handle empty strings. + (return): Delete use of return_by_ptr. + (mask_shape_for_shuffle): New function. + (mask_elems): Likewise. + (shuffle_fn): Likewise. + (params): Simplify and remove use of return_by_ptr. + (get_shuffle): New function. + (print_variant): Update. + * config/arm/neon.ml (rev_elems): New function. + (permute_range): Likewise. + (zip_range): Likewise. + (uzip_range): Likewise. + (trn_range): Likewise. + (zip_elems): Likewise. + (uzip_elems): Likewise. + (trn_elems): Likewise. + (features): New enumeration Use_shuffle. Delete ReturnPtr. + (pf_su_8_16): New. + (suf_32): New. + (ops): Update entries for Vrev64, Vrev32, Vrev16, Vtr, Vzip, Vuzp. + * config/arm/arm_neon.h: Regenerate. + +2012-07-05 Richard Guenther + + * tree-pretty-print.c (dump_generic_node): Properly test + the result of exact_log2. + +2012-07-05 Andreas Krebbel + + * config/s390/s390-protos.h (s390_expand_movmem) + (s390_expand_cmpmem): Add return value. + * config/s390/s390.c (s390_expand_movmem, s390_expand_cmpmem): + Return FALSE to use the library function in some cases. + * config/s390/s390.md (movmem, cmpmem): Evaluate return value of C + helper functions. + +2012-07-05 Andreas Krebbel + + * config.gcc: Enable ifunc attribute by default on s390 and s390x. + +2012-07-05 Steven Bosscher + + * expr.c (try_casesi): Remove bogus ATTRIBUTE_UNUSED markers. + * stmt.c (dump_case_nodes): New. + (expand_case): Split out code generation parts into new functions. + (expand_switch_as_decision_tree_p): Split out from expand_case. + (emit_case_decision_tree): Likewise. + (emit_case_dispatch_table): Likewise. + +2012-07-05 Matthew Gretton-Dann + + * config/arm/iterators.md (SDF): New mode iterator. + (V_if_elem): Add support for SF and DF modes. + (V_reg): Likewise. + (F_constraint): New mode iterator attribute. + (F_fma_type): Likewise. + config/arm/vfp.md (fma4): New pattern. + (*fmsub4): Likewise. + (*fmnsub4): Likewise. + (*fmnadd4): Likewise. + +2012-07-04 Uros Bizjak + + * expmed.c (expand_mult): Initialize coeff and is_neg. + +2012-07-04 Oleg Endo + + * config/sh/predicates.md (zero_extend_operand): New predicate. + * config/sh/sh.md (zero_extendhisi2): Simplify by using new + zero_extend_operand predicate. + (zero_extendqisi2): Likewise. + +2012-07-04 Uros Bizjak + + PR middle-end/53321 + * ipa.c (symtab_remove_unreachable_nodes): Partially revert r187375 + to not call cgraph_propagate_frequency if something was changed. + +2012-07-04 Richard Guenther + + PR middle-end/53433 + * gimple-fold.c (get_base_constructor): Do not return an + error_mark_node DECL_INITIAL. + +2012-07-04 Richard Guenther + + PR tree-optimization/53844 + * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle + the loop virtual PHI. + +2012-07-04 Richard Guenther + + PR tree-optimization/53849 + * tree-cfg.c (move_stmt_op): Only call add_referenced_var + for duplicated locals. Use add_referenced_var_1 to avoid + pushing/popping cfun. + +2012-07-04 Kai Tietz + + * config/i386/winnt.c (i386_pe_reloc_rw_mask): New function. + * config/i386/i386-protos.h (i386_pe_reloc_rw_mask): Add + prototype. + * config/i386/cygming.h (TARGET_ASM_RELOC_RW_MASK): Define + as i386_pe_reloc_rw_mask. + +2012-07-04 Richard Guenther + + * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same + as in free_lang_data_in_type. + +2012-07-04 Tobias Grosser + Michael Matz + + * Makefile.in (OBJS): Add graphite-optimize-isl.o. + (graphite-optimize-isl.o): Add dependencies. + * common.opt (floop-nest-optimize): New flag. + * doc/invoke.texi (floop-nest-optimize): Document. + * graphite-dependences.c (compute_deps): Export. + * graphite-poly.h (compute_deps): Declare. + * graphite-optimize-isl.c: New file. + * graphite-poly.c (apply_poly_transforms): Run the loop + nest optimizer. + * tree-ssa-loop.c (gate_graphite_transforms): Enable graphite + if -floop-nest-optimize is enabled. + +2012-07-03 Oleg Endo + + * config/sh/predicates.md (logical_and_operand): New predicate. + * config/sh/constraints.md (Jmb, Jmw): New constraints. + * config/sh/sh.md (andsi3): Move expander above insns. Add handling + of 0xFFFF constant. Use logical_and_operand predicate and + satisfies_constraint_Jmb, satisfies_constraint_Jmw. + (*andsi3_compact): Make it an insn_and_split. Use + logical_and_operand predicate. Add Jmb,Jmw alternatives. + +2012-07-03 Jason Merrill + + PR c++/53826 + * tree.c (build_zero_cst): Handle NULLPTR_TYPE. + +2012-07-03 Nick Clifton + + * config/mep/mep.c (mep_reorg_regmove): Use + next_nonnote_non_debug_insn to advance to the next insn. Do not + expect delete_insn to return an rtx. + +2012-07-03 Richard Guenther + + * doc/install.texi (CLooG): Clarify how CLooG needs to be + configured and that it needs to be built against ISL 0.10. + +2012-07-03 Uros Bizjak + + * config/i386/i386.c (ix86_option_override_internal): Fix wrong + code model string in the error message. + +2012-07-03 Uros Bizjak + + PR target/53811 + * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies + sibcall_insn_operand. Move it to a temporary register if not. + +2012-07-03 Andreas Schwab + + PR target/28896 + * config/m68k/m68k.c (m68k_option_override): Reset stack_limit_rtx + if !TARGET_68020. + +2012-07-03 Uros Bizjak + + * config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause. + +2012-07-03 Roland McGrath + + * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): Also require that the + assembler accept 'rep bsf ...', 'rep bsr ...', 'rep ret' and 'rep nop'. + * configure: Regenerated. + * config/i386/i386.md (simple_return_internal_long): Use %; + (ctz2): Likewise. + (*pause): Likewise. + +2012-07-02 Oleg Endo + + PR target/51244 + * config/sh/predicates.md (t_reg_operand, negt_reg_operand): New + predicates. + * config/sh/sh-protos.h (get_t_reg_rtx): New prototype. + * config/sh/sh.c (get_t_reg_rtx): New function. Use it when invoking + gen_branch_true and gen_branch_false. + * config/sh/sh.md: Use get_t_reg_rtx when invoking gen_branch_true and + gen_branch_false. + (branch_true, branch_false): Use t_reg_operand predicate. + (*branch_true, *branch_false): Delete. + (movt): Use t_reg_operand predicate. + (*negnegt): Use negt_reg_operand predicate and fold little and big + endian variants. + (*movtt): Use t_reg_operand and fold little and big endian variants. + (*movt_qi): Delete. + +2012-07-02 Steven Bosscher + + * stmt.c (emit_case_bit_tests): Remove. + (expand_case): Remove expand_switch_using_bit_tests_p code. + * tree-switch-conversion.c (hoist_edge_and_branch_if_true): New. + (MAX_CASE_BIT_TESTS): Moved from stmt.c to here. + (lshift_cheap_p): Likewise. + (expand_switch_using_bit_tests_p): Likewise. + (struct case_bit_test): Likewise. + (case_bit_test_cmp): Likewise. + (emit_case_bit_tests): New implementation for GIMPLE. + (gen_inbound_check): Do not release post-dominator info here. + (process_switch): Reorder code. Expand as bit tests if it + looks like a win. + (do_switchconv): Release post-dominator info here if something changed. + (struct gimple_opt_pass): Verify more. + * tree.h (expand_switch_using_bit_tests_p): Remove prototype. + +2012-07-02 Martin Jambor + + PR middle-end/38474 + * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a + dynamic type change check. + +2012-07-02 Richard Guenther + Michael Matz + Tobias Grosser + Sebastian Pop + + * Makefile.in: Remove PPL flags in favor of ISL ones. + (BACKENDLIBS): Remove PPL libs. + (INCLUDES): Remove PPL includes in favor of ISL ones. + (graphite-clast-to-gimple.o): Remove graphite-dependences.h and + graphite-cloog-compat.h dependencies. + (graphite-dependences.o): Likewise. + (graphite-poly.o): Likewise. + * configure.ac: Declare ISL vars instead of PPL ones. + * configure: Regenerated. + * doc/install.texi: Replace PPL requirement documentation with ISL one. + * graphite-blocking.c: Remove PPL code, add ISL equivalent. + * graphite-clast-to-gimple.c: Likewise. + * graphite-dependences.c: Likewise. + * graphite-interchange.c: Likewise. + * graphite-poly.h: Likewise. + * graphite-poly.c: Likewise. + * graphite-sese-to-poly.c: Likewise. + * graphite.c: Likewise. + * graphite-scop-detection.c: Re-arrange includes. + * graphite-cloog-util.c: Remove. + * graphite-cloog-util.h: Likewise. + * graphite-ppl.h: Likewise. + * graphite-ppl.c: Likewise. + * graphite-dependences.h: Likewise. + +2012-07-02 Richard Guenther + + Merge from graphite branch + 2011-07-21 Tobias Grosser + + * Makefile.in (graphite-clast-to-gimple.o, graphite-cloog-util.o): + Remove graphite-cloog-util.h. + * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop, + build_iv_mapping, translate_clast_user, translate_clast, + free_scattering, initialize_cloog_names, build_cloog_prog, + create_params_index): Do not use old compatibility functions. + (clast_name_to_index, set_cloog_options): Remove code for legacy cloog. + * graphite-cloog-util.c (openscop_print_cloog_matrix): Do not use old + compatibility functions. + (new_Cloog_Scattering_from_ppl_Polyhedron): Remove code for legacy + cloog. + * graphite-cloog-util.h: Remove include of graphite-cloog-util.h. + * graphite.c (graphite.c): Do not call outdated cloog_initialize() and + cloog_finalize(). + * graphite-cloog-compat.h: Remove. + + 2011-08-09 Tobias Grosser + + * graphite-clast-to-gimple.c (new_clast_name_index): Store a copy + of the string, no just a reference. + (clast_name_index): Add a new field, that specifies if we need to free + the name. + (free_clast_name_index): If necessary, free the name string. + (clast_name_index_elt_info): Calculate the hash based on the string + content, not the memory location it is stored in. + (clast_name_to_level): Specify that we do not need to free the name. + (clast_name_to_index): Dito. + (clast_name_to_lb_ub): Dito. + (eq_clast_name_indexes): Compare the strings, not their base pointers. + (free_scattering): Removed. + (initialize_cloog_names): Renamed to add_names_to_union_domain(). + (add_names_to_union_domain): Changed to work on a union_domain, + instead of a CloogNames structure. + (build_cloog_prog): Removed. + (build_cloog_union_domain): New. + (generate_cloog_input): New. + (scop_to_clast): Use CloogInput instead of CloogProgram. + (print_generated_program): Adapt to new scop_to_clast() and do not + print the CloogProgram any more. + (create_params_index): Removed, functionality integrated in + add_names_to_union_domain(). + (gloog): Adapt to new scop_to_clast(). + * graphite-clast-to-gimple.h (scop_to_clast): Remove. + + 2012-01-11 Tobias Grosser + + * graphite-clast-to-gimple.c (clast_name_to_index, + clast_name_to_lb_ub, clast_name_to_gcc): Change types. + (clast_to_gcc_expression): Add clast_expr_name as a new + case. Do not assume a clast_expr_term points always to a + clast_expr_name. + (type_for_clast_term): Do not assume a clast_expr_term points always to + a clast_expr_name. + (type_for_clast_name): New. + (type_for_clast_expr): Add clast_expr_name as a new case. + + 2011-08-03 Sebastian Pop + + * graphite-cloog-util.c (new_Cloog_Domain_from_ppl_Polyhedron, + new_Cloog_Scattering_from_ppl_Polyhedron, + new_Cloog_Domain_from_ppl_Pointset_Powerset): Remove ATTRIBUTE_UNUSED. + +2012-07-02 Jakub Jelinek + + PR tree-optimization/53645 + * tree-vect-generic.c (expand_vector_divmod): Use TYPE_MODE (type) + instead of TYPE_MODE (wider_type) as can_vec_perm_p argument. + +2012-07-01 Wei Guozhi + + PR target/53447 + * config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype. + * config/arm/arm.c (const_ok_for_dimode_op): New function. + * config/arm/constraints.md (Dd): New constraint. + * config/arm/predicates.md (arm_adddi_operand): New predicate. + * config/arm/arm.md (adddi3): Extend it to handle constants. + (arm_adddi3): Likewise. + (addsi3_carryin_): Extend it to handle sbc case. + (addsi3_carryin_alt2_): Likewise. + * config/arm/neon.md (adddi3_neon): Extend it to handle constants. + +2012-06-30 Nathan Sidwell + + * coverage.c (bbg_file_stamp): New. + (read_counts_file): Merge incoming stamp with bbg_file_stamp. + (build_info): Write bbg_file_stamp. + (coverage_init): Initialize bbg_file_stamp. Read counts file + before writing graph header. + (coverage_finish): Don't unlink the data file if we can generate a + unique file stamp. + * tree.h (crc32_unsigned): Declare. + * tree.c (crc32_unsigned_bits): New, broken out of ... + (crc32_byte): ... here. Use it. + (crc32_unsigned): New. + +2012-06-29 Cary Coutant + + * dwarf2out.c (add_pubname_string): Don't check for want_pubnames. + (gen_subprogram_die): Don't add pubname if want_pubnames is false. + (gen_variable_die): Likewise. + (gen_namespace_die): Likewise. + +2012-06-29 Eric Botcazou + + * tree-eh.c (lower_try_finally_switch): Really put the location of the + last statement of the finally block onto the switch. + +2012-06-29 H.J. Lu + + PR target/53539 + * config/i386/gnu-user64.h (WCHAR_TYPE): Use "int" only for + TARGET_LP64. + +2012-06-29 Sterling Augustine + + * dwarf2out.c (add_pubname): Add comment. + (add_pubtype): Fix indentation. + (gen_enumeration_type_die): Likewise. + +2012-06-29 Jakub Jelinek + + * tree-vect-generic.c (expand_vector_divmod): For even/odd + widening multiply, put even always as first argument to VEC_PERM_EXPR. + +2012-06-29 Richard Henderson + + * tree-vect-generic.c: Include target.h. + (expand_vector_divmod): Use builtin_mul_widen_even/odd if supported. + * Makefile.in (tree-vect-generic.o): Update. + +2012-06-29 Steven Bosscher + + * configure.ac: Remove special gtfiles case for C. + * configure: Regenerate. + * Makefile.in: Remove C front-end hooks and build hooks that + will be picked up from c/Make-lang.in now. + Add tree-mudflap to C_COMMON_OBJS. + * gengtype.c (files_rules): Adjust gt-files for c/c-decl.c. + * config/vms/vms.c: Look for c-tree.h in c/. + * doc/gty.texi: Remove reference to c-config-lang.in. + * doc/sourcebuild.texi: Document the c/ subdirectory. + +2012-06-29 Steven Bosscher + + * system.h (CASE_USE_BIT_TESTS): Poison. + * stmt.c (CASE_USE_BIT_TESTS): Fold away into its only user ... + (expand_switch_using_bit_tests_p): ...here. + * doc/tm.texi.in (CASE_USE_BIT_TESTS): Remove documentation. + * doc/tm.texi (CASE_USE_BIT_TESTS): Regenerate. + +2012-06-29 Steven Bosscher + + * system.h (IFCVT_EXTRA_FIELDS): Poison. + (IFCVT_INIT_EXTRA_FIELDS): Poison. + * basic-block.h (struct ce_if_block): Remove IFCVT_EXTRA_FIELDS. + * ifcvt.c (find_if_header): Use IFCVT_MACHDEP_INIT instead of + IFCVT_INIT_EXTRA_FIELDS. + * gengtype-parse.c (struct_field_seq): Remove obsolete comment. + * config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to + IFCVT_MACHDEP_INIT. + * config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to + frv_ifcvt_machdep_init. + * doc/tm.texi.in (IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): + Remove documentation. + (IFCVT_MACHDEP_INIT): Document. + * doc/tm.texi: Regenerate. + +2012-06-29 Nick Clifton + + * config/lm32/lm32.c (lm32_compute_frame_size): Fix typo. + +2012-06-29 Jakub Jelinek + + * tree-vect-stmts.c (vectorizable_operation): Check both + VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs. + Verify that operand[0]'s mode is TYPE_MODE (wide_vectype). + +2012-06-28 Richard Henderson + + * doc/generic.texi (MULT_HIGHPART_EXPR): Document it. + +2012-06-28 Jakub Jelinek + + PR tree-optimization/51581 + * tree-vect-stmts.c (permute_vec_elements): Add forward decl. + (vectorizable_operation): Handle vectorization of MULT_HIGHPART_EXPR + also using VEC_WIDEN_MULT_*_EXPR or builtin_mul_widen_* plus + VEC_PERM_EXPR if vector MULT_HIGHPART_EXPR isn't supported. + * tree-vect-patterns.c (vect_recog_divmod_pattern): Use + MULT_HIGHPART_EXPR instead of VEC_WIDEN_MULT_*_EXPR and shifts. + + PR tree-optimization/53645 + * tree-vect-generic.c (expand_vector_divmod): Use MULT_HIGHPART_EXPR + instead of VEC_WIDEN_MULT_{HI,LO}_EXPR followed by VEC_PERM_EXPR + if possible. + +2012-06-28 Georg-Johann Lay + + PR 53595 + * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New. + * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New. + * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to + avr_hard_regno_call_part_clobbered. + +2012-06-28 Richard Guenther + + PR middle-end/53790 + * expr.c (expand_expr_real_1): Verify if the type is complete + before inspecting its size. + +2012-06-28 Andreas Schwab + + * doc/include/gpl.texi: Remove. + * doc/sourcebuild.texi (Texinfo Manuals): Don't mention gpl.texi. + +2012-06-28 Jakub Jelinek + + PR tree-optimization/53645 + * tree-vect-generic.c (add_rshift): New function. + (expand_vector_divmod): New function. + (expand_vector_operation): Use it for vector integer + TRUNC_{DIV,MOD}_EXPR by VECTOR_CST. + * tree-vect-patterns.c (vect_recog_divmod_pattern): Replace + unused lguup variable with dummy_int. + +2012-06-28 OLivier Hainque + + * expr.c (convert_move): Latch mem integer inputs into a + register before expanding a multi-instructions sequence. + +2012-06-28 Alexandre Oliva + Uros Bizjak + Jakub Jelinek + + PR debug/53706 + PR debug/47624 + * var-tracking.c (vt_emit_notes): Release loc_exp_dep_pool... + (vt_finalize): ... here instead, if needed. + +2012-06-28 Alexandre Oliva + + PR debug/53740 + PR debug/52983 + PR debug/48866 + * dce.c (word_dce_process_block): Check whether inserting debug + temps are needed even for needed insns. + (dce_process_block): Likewise. + * df-problems.c (dead_debug_add): Add comment about multi-regs. + (dead_debug_insert_temp): Likewise. Don't subreg when we're + setting fewer regs than a multi-reg requires. + +2012-06-27 Richard Henderson + + * config/alpha/alpha.c (alpha_dimode_u): New. + (alpha_init_builtins): Initialize it, and use it. + (alpha_fold_builtin_cmpbge): Use alpha_dimode_u. + (alpha_fold_builtin_zapnot, alpha_fold_builtin_insxx): Likewise. + (alpha_fold_vector_minmax, alpha_fold_builtin_perr): Likewise. + (alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb): Likewise. + (alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw): Likewise. + (alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz): Likewise. + (alpha_fold_builtin_ctpop): Likewise. + (alpha_fold_builtin_umulh): Remove. + (alpha_fold_builtin): Use MULT_HIGHPART_EXPR for UMULH; fix + typo in MAX_ARGS check. + +2012-06-27 Richard Henderson + + * tree.def (MULT_HIGHPART_EXPR): New. + * cfgexpand.c (expand_debug_expr): Ignore it. + * expr.c (expand_expr_real_2): Handle it. + * fold-const.c (int_const_binop_1): Likewise. + * optabs.c (optab_for_tree_code): Likewise. + * tree-cfg.c (verify_gimple_assign_binary): Likewise. + * tree-inline.c (estimate_operator_cost): Likewise. + * tree-pretty-print.c (dump_generic_node): Likewise. + (op_code_prio, op_symbol_code): Likewise. + * tree.c (commutative_tree_code): Likewise. Also handle + WIDEN_MULT_EXPR, VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR. + +2012-06-27 Richard Henderson + + PR target/53749 + * config/i386/i386.c (ix86_rtx_costs): Fix typo vs UNITS_PER_WORD + in 2012-06-23 change. Adjust two other DImode tests as well. + +2012-06-27 Nick Clifton + + * config/rx/rx.md (comparesi3_extend): Remove = modifier from + input operand. + +2012-06-27 Richard Guenther + + PR middle-end/53676 + * tree-chrec.c (chrec_convert_1): Represent truncation to + a type with undefined overflow as truncation to an unsigned + type converted to the type with undefined overflow. + * tree-scalar-evolution.c (interpret_rhs_expr): For computing + the scalar evolution of a truncated widened operation avoid + looking at the non-existing evolution of the widened operation + result. + +2012-06-27 Richard Guenther + + PR tree-optimization/53774 + * tree-ssa-reassoc.c (get_rank): All default defs have + precomputed rank. + (init_reassoc): Precompute rank for all SSA default defs. + +2012-06-27 Nick Clifton + + * config/rx/rx.md (simple_return): Use the simple_return rtx. + +2012-06-26 Richard Henderson + + * config/i386/i386.c (ix86_rtx_costs): Use standard_sse_constant_p + and don't fall thru from standard_80387_constant_p to the memory + fallback. + +2012-06-26 Richard Henderson + + * config/i386/i386.c (bdesc_args): Update. Change + IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI to OPTION_MASK_ISA_SSE2. + (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): New. + (ix86_builtin_mul_widen_even): Use it. + (ix86_builtin_mul_widen_odd): Relax SMUL_ODD from sse4 to sse2. + (ix86_expand_mul_widen_evenodd): Handle signed for sse2. + * config/i386/sse.md (vec_widen_mult_hi_): Allow + for all SSE2. + (vec_widen_mult_lo_): Likewise. + (vec_widen_mult_odd_): Likewise. Relax from V124_AVX2. + (vec_widen_smult_even_v4si): New. + +2012-06-26 Richard Henderson + + * config/i386/sse.md (mul3): Change from insn_and_split + to expander; move guts to ... + * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here. Add + highparts before shifting up. + * config/i386/i386-protos.h: Update. + +2012-06-26 Steven Bosscher + + * system.h (USE_COMMON_FOR_ONE_ONLY): Poison. + * defaults.h (USE_COMMON_FOR_ONE_ONLY): Do not provide default. + * config/darwin.h (USE_COMMON_FOR_ONE_ONLY): Do not define. + +2012-06-26 Alexandre Oliva + + * var-tracking.c (vt_add_function_parameter): Use a preserved + VALUE for the MEM address of an incoming parameter. + +2012-06-26 Sterling Augustine + + * dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator. + (prune_unused_types): Likewise. + +2012-06-26 Steven Bosscher + + * system.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Poison. + * vmsdbgout.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Rename to + VMS_UNALIGNED_SHORT_ASM_OP, VMS_UNALIGNED_INT_ASM_OP, + VMS_UNALIGNED_LONG_ASM_OP, and VMS_UNALIGNED_DOUBLE_INT_ASM_OP. + * config/microblaze/microblaze.h (UNALIGNED_SHORT_ASM_OP, + UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Do not define. + * doc/tm.texi.in: Remove UNALIGNED_INT_ASM_OP reference from the + documentation. + * doc/tm.texi: Regenerate. + * doc/cpp.texi: Make example for #error generic. + * config/frv/frv.h: Fix example text to match tm.texi. + +2012-06-26 Bill Schmidt + + * tree-pass.h (pass_strength_reduction): New decl. + * tree-ssa-loop-ivopts.c (initialize_costs): Make non-static. + (finalize_costs): Likewise. + * timevar.def (TV_TREE_SLSR): New timevar. + * gimple-ssa-strength-reduction.c: New. + * tree-flow.h (initialize_costs): New decl. + (finalize_costs): Likewise. + * Makefile.in (tree-ssa-strength-reduction.o): New dependencies. + * passes.c (init_optimization_passes): Add pass_strength_reduction. + 2012-06-26 Matt Turner - * doc/extend.texi (__builtin_arm_tinsrb): Add missing second - parameter. + * doc/extend.texi (__builtin_arm_tinsrb): Add missing second parameter. (__builtin_arm_tinsrh): Likewise. (__builtin_arm_tinsrw): Likewise. (__builtin_arm_wsadb): Add missing v2si parameter. @@ -149,7 +1115,7 @@ (neon_vld1_dupv2di): New, fixes vld1q_dup_s64. 2012-06-25 Matthew Gretton-Dann - James Greenhalgh + James Greenhalgh * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins. (TARGET_FMA): New macro. @@ -345,8 +1311,7 @@ 2012-06-24 Richard Sandiford - * config/mips/mips.c (mips_process_sync_loop): Add missing - enum cast. + * config/mips/mips.c (mips_process_sync_loop): Add missing enum cast. 2012-06-23 Richard Henderson @@ -448,7 +1413,7 @@ Merge from graphite branch 2011-08-10 Sebastian Pop - + * graphite-sese-to-poly.c (build_scop_drs): Fix memory leak. 2012-01-13 Tobias Grosser @@ -516,8 +1481,7 @@ PR debug/53671 PR debug/49888 - * alias.c (memrefs_conflict_p): Improve handling of AND for - alignment. + * alias.c (memrefs_conflict_p): Improve handling of AND for alignment. 2012-06-21 Alexandre Oliva @@ -537,8 +1501,8 @@ created in c_push_function_context. Always clear out the x_cur_stmt_list field of the restored language function. -2012-06-21 Sterling Augustine - Cary Coutant +2012-06-21 Sterling Augustine + Cary Coutant * dwarf2out.c (is_cu_die, is_namespace_die, is_class_die, add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions. @@ -2068,7 +3032,7 @@ * tree-data-ref.c (struct rdg_vertex_info): Remove. (rdg_vertex_for_stmt): Simplify using gimple_uid. (create_rdg_vertices): Pass loop argument, remove stmt to RDG index - hashtable. Record stmt data-references. + hashtable. Record stmt data-references. (hash_stmt_vertex_info): Remove. (eq_stmt_vertex_info): Likewise. (hash_stmt_vertex_del): Likewise. @@ -3827,7 +4791,7 @@ (enable_warning_as_error): Do not special case Wuninitialized. * optc-gen.awk: Add sanity checks. -2012-05-17 Jan Hubicka +2012-05-17 Jan Hubicka * ipa-reference.c (is_proper_for_analysis): Do not check flags that might change as result of global optimization.