| 2008-08-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * real.h (struct real_format): New member round_towards_zero. |
| * real.c (round_for_format): Respect fmt->round_towards_zero. |
| (ieee_single_format, mips_single_format, motorola_single_format, |
| spu_single_format, ieee_double_format, mips_double_format, |
| motorola_double_format, ieee_extended_motorola_format, |
| ieee_extended_intel_96_format, ieee_extended_intel_128_format, |
| ieee_extended_intel_96_round_53_format, ibm_extended_format, |
| mips_extended_format, ieee_quad_format, mips_quad_format, |
| vax_f_format, vax_d_format, vax_g_format): Initialize it. |
| * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise. |
| |
| * builtins.s (do_mpfr_arg1): Consider round_towards_zero member of |
| real_format to choose rounding mode when calling MPFR functions. |
| (do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Likewise. |
| (do_mpfr_bessel_n, do_mpfr_remquo, do_mpfr_lgamma_r): Likewise. |
| |
| * real.h (real_to_decimal_for_mode): Add prototype. |
| * real.c (real_to_decimal_for_mode): Renames old real_to_decimal. |
| Respect target rounding mode when generating decimal representation. |
| (real_to_decimal): New stub for backwards compatibility. |
| * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Use |
| real_to_decimal_for_mode instead of real_to_decimal. |
| |
| * config/spu/spu.md ("floatdisf2", "floatunsdisf2"): New. |
| |
| * config/spu/float_disf.c: New file. |
| * config/spu/float_unsdisf.c: New file. |
| * config/spu/t-elf (LIB2FUNCS_STATIC_EXTRA): Add them. |
| (LIB2FUNCS_EXCLUDE): Define. |
| |
| 2008-08-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/37156 |
| * pretty-print.c (pp_base_format): Deal with recursive BLOCK trees. |
| * tree.c (block_nonartificial_location): Likewise. |
| |
| 2008-08-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * real.c (spu_single_format): New variable. |
| * real.h (spu_single_format): Declare. |
| |
| * config/spu/spu.c (spu_override_options): Install SFmode format. |
| (spu_split_immediate): Use integer mode to operate on pieces of |
| floating-point values in all cases. |
| |
| * config/spu/spu.md (UNSPEC_FLOAT_EXTEND, UNSPEC_FLOAT_TRUNCATE): New. |
| ("extendsfdf2"): Use UNSPEC_FLOAT_EXTEND instead of FLOAT_EXTEND. |
| ("truncdfsf2"): Use UNSPEC_FLOAT_TRUNCATE instead of FLOAT_TRUNCATE. |
| |
| 2008-08-18 Andreas Tobler <a.tobler@schweiz.org> |
| |
| * config/rs6000/driver-rs6000.c (detect_caches_freebsd): New function. |
| (detect_processor_freebsd): Likewise. |
| (host_detect_local_cpu): Call newly added functions for FreeBSD. |
| |
| 2008-08-18 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * reload.c (find_reloads): Force constants into literal pool |
| also if they are wrapped in a SUBREG. |
| |
| 2008-08-17 Christophe Saout <christophe@saout.de> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/37101 |
| * config/i386/sse.md (vec_concatv2di): Remove movlps alternative. |
| (*vec_concatv2di_rex64_sse): Ditto. |
| |
| 2008-08-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/37103 |
| * fold-const.c (fold_widened_comparison): Do not allow |
| sign changes that change the result even if shorter type |
| is wider than arg1_unw's type. |
| |
| 2008-08-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine |
| __PPU__ when targeting the Cell/B.E. PPU processor. |
| |
| 2008-08-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/37014 |
| * expr.c (expand_expr_real_1): Handle TRUTH_ANDIF_EXPR |
| and TRUTH_ORIF_EXPR. |
| * dojump.c (do_jump): Likewise. |
| |
| 2008-08-12 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR c/35746 |
| * gimplify.c (gimplify_expr): Do not convert MODIFY_EXPR to |
| GIMPLE_MODIFY_STMT upon GS_ERROR. |
| |
| 2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (spu_safe_dma): Respect TARGET_SAFE_DMA. |
| |
| 2008-08-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.h (DWARF_FRAME_RETURN_COLUMN): Define. |
| |
| 2008-08-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/36688 |
| * gimplify.c (gimplify_modify_expr_rhs): Test TREE_READONLY |
| on the VAR_DECL instead of TYPE_READONLY on its type. |
| |
| 2008-08-11 Michael Matz <matz@suse.de> |
| |
| PR target/36613 |
| * reload.c (push_reload): Merge in,out,in_reg,out_reg members |
| for reused reload, instead of overwriting them. |
| |
| 2008-08-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/36998 |
| * dwarf2out.c (compute_barrier_args_size_1, |
| compute_barrier_args_size): Temporarily remove assertions. |
| |
| 2008-08-07 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/37042 |
| * tree-ssa-alias-warnings.c (nonstandard_alias_p): Ref-all |
| pointers can access anything. |
| |
| 2008-08-06 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/35432 |
| * gimplify.c (gimplify_modify_expr): Do not optimize zero-sized types |
| if want_value. |
| |
| 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| Backport from mainline: |
| 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR target/35659 |
| * haifa-sched.c (sched_insn_is_legitimate_for_speculation_p): Move ... |
| * sched-deps.c (sched_insn_is_legitimate_for_speculation_p): ... here. |
| Don't allow predicated instructions for data speculation. |
| * sched-int.h (sched_insn_is_legitimate_for_speculation_p): Move |
| declaration. |
| |
| 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| Backport from mainline: |
| 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * haifa-sched.c (extend_global): Split to extend_global_data and |
| extend_region_data. Update all uses. |
| (extend_all): Rename to extend_block_data. |
| |
| 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| Backport from mainline: |
| 2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| * sched-rgn.c (new_ready): Check if instruction can be |
| speculatively scheduled before attempting speculation. |
| (debug_rgn_dependencies): Remove wrongful assert. |
| |
| 2008-08-05 Jason Merrill <jason@redhat.com> |
| |
| PR c++/37016 |
| * tree-ssa.c (useless_type_conversion_p_1): Call langhook |
| if TYPE_STRUCTURAL_EQUALITY_P is true for both types. |
| |
| 2008-08-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu_spu_mfcio.h: Wrap in extern "C" if __cplusplus. |
| Reword some comments throughout the file. |
| |
| (MFC_MIN_DMA_LIST_ELEMENTS): New define. |
| (MFC_MAX_DMA_LIST_ELEMENTS): Likewise. |
| (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of MFC_MIN_DMA_LIST_ELEMENTS. |
| (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of MFC_MAX_DMA_LIST_ELEMENTS. |
| |
| (MFC_START_ENABLE): Remove PPU-only define. |
| (MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise. |
| (MFC_GETS_CMD, MFC_GETFS_CMD, MFC_GETBS_CMD): Likewise. |
| |
| (MFC_PUTB_CMD, MFC_PUTF_CMD): Reimplement using symbolic constants. |
| (MFC_PUTL_CMD, MFC_PUTLB_CMD, MFC_PUTLF_CMD): Likewise. |
| (MFC_PUTR_CMD, MFC_PUTRB_CMD, MFC_PUTRF_CMD): Likewise. |
| (MFC_PUTRL_CMD, MFC_PUTRLB_CMD, MFC_PUTRLF_CMD): Likewise. |
| (MFC_GETB_CMD, MFC_GETF_CMD): Likewise. |
| (MFC_GETL_CMD, MFC_GETLB_CMD, MFC_GETLF_CMD): Likewise. |
| (MFC_SNDSIGB_CMD, MFC_SNDSIGF_CMD): Likewise. |
| |
| (MFC_SDCRT_CMD, MFC_SDCRTST_CMD): New defines. |
| (MFC_SDCRZ_CMD, MFC_SDCRST_CMD, MFC_SDCRF_CMD): Likewise. |
| (mfc_sdcrt, mfc_sdcrtst): Likewise. |
| (mfc_sdcrz, mfc_sdcrst, mfc_sdcrf): Likewise. |
| |
| (spu_read_machine_status): Fix typo. |
| |
| 2008-08-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Allow (multi)word-sized |
| SUBREG of multi-word hard register. |
| * config/spu/spu.c (valid_subreg): Likewise. |
| (adjust_operand): Handle SUBREGs of multi-word hard registers. |
| |
| 2008-08-05 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/37026 |
| * gimplify.c (gimplify_init_constructor): Do not call |
| tree_to_gimple_tuple with NULL_TREE. |
| |
| 2008-08-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36691 |
| * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Correctly |
| check for no_overflow. |
| |
| 2008-08-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (compute_barrier_args_size): Set barrier_args_size |
| for labels for which it hasn't been set yet. If it has been set, |
| stop walking insns and continue with next worklist item. |
| (dwarf2out_stack_adjust): Don't call compute_barrier_args_size |
| if the only BARRIER is at the very end of a function. |
| |
| PR tree-optimization/36991 |
| * gimplify.c (gimplify_init_constructor): Call tree_to_gimple_tuple |
| on expr_p before appending it to pre_p. |
| |
| 2008-08-01 Paolo Bonzini <bonzini@gnu.org> |
| |
| Backport from mainline: |
| 2008-04-02 Andy Hutchinson <hutchinsonamdy@aim.com> |
| |
| PR rtl-optimization/35542 |
| * fwprop.c (forward_propagate_and_simplify): Replace |
| loc_reg_mentioned_in_p with reg_mentioned_p. |
| |
| 2008-08-01 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR bootstrap/35752 |
| * Makefile.in (objdir): Set it here. |
| * configure.ac: Not here. Find dynamic linker characteristics. |
| * exec-tool.in: Use them. |
| * aclocal.m4: Regenerate. |
| * configure: Regenerate. |
| |
| 2008-08-01 Alexandre Oliva <aoliva@redhat.com> |
| |
| * fwprop.c (PR_HANDLE_MEM): Remove trailing comma in enum. |
| |
| 2008-07-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/36419 |
| * dwarf2out.c (barrier_args_size): New variable. |
| (compute_barrier_args_size, compute_barrier_args_size_1): New |
| functions. |
| (dwarf2out_stack_adjust): For BARRIERs call compute_barrier_args_size |
| if not called yet in the current function, use barrier_args_size |
| array to find the new args_size value. |
| (dwarf2out_frame_debug): Free and clear barrier_args_size. |
| |
| PR debug/36278 |
| * dwarf2out.c (get_context_die): New function. |
| (force_decl_die, force_type_die): Use it. |
| (dwarf2out_imported_module_or_decl): Likewise. If base_type_die |
| returns NULL, force generation of DW_TAG_typedef and put that into |
| DW_AT_import. |
| |
| PR preprocessor/36649 |
| * c-pch.c (c_common_read_pch): Save and restore |
| line_table->trace_includes across PCH restore. |
| |
| 2008-07-30 Andreas Schwab <schwab@suse.de> |
| |
| PR rtl-optimization/36929 |
| * dse.c (replace_inc_dec): Use emit_insn_before instead of |
| add_insn_before and fix argument order. |
| (replace_inc_dec_mem): Handle NULL rtx. |
| |
| 2008-07-30 Olivier Hainque <hainque@adacore.com> |
| |
| * config/mips/irix-crti.asm: .hide __gcc_init and __gcc_fini. |
| * config/mips/iris6.h (IRIX_SUBTARGET_LINK_SPEC, irix ld): Hide |
| __dso_handle explicitly here. |
| |
| 2008-07-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/36830 |
| * tree-vn.c (expressions_equal_p): Return false if only one operand |
| is null. |
| |
| 2008-07-25 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal, |
| movv2si_internal): Add mem = reg alternative. |
| |
| 2008-07-23 Ian Lance Taylor <iant@google.com> |
| |
| * tree-vrp.c (infer_value_range): Ignore asm statements when |
| looking for memory accesses for -fdelete-null-pointer-checks. |
| |
| 2008-07-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.md ("div<mode>3"): Convert into expander, move |
| original insn and splitter contents into ... |
| ("*div<mode>3_fast"): ... this new pattern. Enable only if |
| flag_unsafe_math_optimizations. Add dummy scratch register. |
| ("*div<mode>3_adjusted"): New insn and splitter. Enable only if |
| !flag_unsafe_math_optimizations. Returns number with next |
| highest magnitude if this is still less or equal to the true |
| quotient in magnitude. |
| |
| 2008-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/36877 |
| * omp-low.c (expand_omp_atomic_fetch_op): Make sure the |
| return value of the builtin is ignored. |
| |
| 2008-07-19 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/36780 |
| PR target/36827 |
| * reload.c (find_reloads_subreg_address): Only reload address if |
| reloaded == 0, not for reloaded != 1. |
| |
| Revert: |
| 2008-07-16 Joseph Myers <joseph@codesourcery.com> |
| * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier. |
| (m32c_legitimate_address_p): Handle "++rii" addresses created by |
| m32c_legitimize_reload_address. |
| |
| 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org> |
| * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow |
| (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress. |
| |
| 2008-07-18 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR rtl-optimization/35281 |
| * expr.c (convert_move): Use a new pseudo for the intermediate |
| from_mode->word_mode result. |
| * fwprop.c (PR_CAN_APPEAR, PR_HANDLE_MEM): New. |
| (propagate_rtx_1): Handle PR_HANDLE_MEM. |
| (propagate_rtx): Pass PR_HANDLE_MEM if appropriate. |
| (varying_mem_p): Move above propagate_rtx. |
| (all_uses_available_at): Do not check MEMs. |
| |
| 2008-07-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| Backport from mainline: |
| |
| 2008-05-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com> |
| Sa Liu <saliu@de.ibm.com> |
| |
| * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3, |
| __modti3, __udivti3, __umodti3 and __udivmodti4. |
| * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add files |
| that implement TImode mul and div functions. |
| * config/spu/multi3.c: New. Implement __multi3. |
| * config/spu/divmodti4.c: New. Implement _udivmodti4 and others. |
| |
| 2008-05-08 Sa Liu <saliu@de.ibm.com> |
| |
| * config/spu/spu.md: Fixed subti3 pattern. |
| |
| 2008-07-17 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR rtl-optimization/36753 |
| * fwprop.c (use_killed_between): Don't shortcut |
| single-definition global registers. |
| |
| 2008-07-16 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/36827 |
| * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier. |
| (m32c_legitimate_address_p): Handle "++rii" addresses created by |
| m32c_legitimize_reload_address. |
| |
| 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline: |
| PR target/36784 |
| 2008-03-20 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (split_branches): Pass zero to redirect_jump |
| as 'delete_unused' argument. |
| |
| 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline: |
| PR target/36782 |
| * config/sh/sh.md (symGOT_load): Don't add REG_EQUAL note. |
| |
| 2008-07-15 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/libgcc-xtensa.ver: New file. |
| * config/xtensa/t-linux (SHLIB_MAPFILES): Append libgcc-xtensa.ver. |
| |
| 2008-07-15 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36369 |
| * c-common.c (strict_aliasing_warning): Do not warn for |
| TYPE_REF_CAN_ALIAS_ALL pointers. |
| (c_common_get_alias_set): may_alias types are not special. |
| * tree.c (build_pointer_type_for_mode): Look up the may_alias |
| attribute and set can_ref_all accordingly. |
| (build_reference_type_for_mode): Likewise. |
| * doc/extend.texi (may_alias): Clarify. |
| |
| 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline: |
| PR target/36780 |
| * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow |
| (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress. |
| |
| 2008-07-14 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/35492. |
| * config/cris/cris.md ("*btst"): Remove last alternative |
| and related part in the condition. |
| |
| 2008-07-13 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36811 |
| * langhooks.c (lhd_print_error_function): Deal with recursive |
| BLOCK trees. |
| |
| 2008-07-12 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * doc/md.texi: Document the MIPS "v" constraint. |
| * config/mips/mips.h (reg_class): Revert last change. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Likewise. |
| * config/mips/mips.c (mips_regno_to_class): Likewise. |
| * config/mips/constraints.md (v): Likewise, but add documentation. |
| Add a comment to say that this constraint should not be used in |
| gcc code. |
| |
| 2008-07-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-pre.c (create_component_ref_by_pieces) <COMPONENT_REF>: |
| Deal with operand #2 as well. |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref) <COMPONENT_REF>: |
| Likewise. |
| <ARRAY_REF>: Likewise. |
| |
| 2008-07-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/36419 |
| * combine-stack-adj.c (adjust_frame_related_expr): New function. |
| (combine_stack_adjustments_for_block): Call it if needed. Delete |
| correct insn. |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Adjust |
| DW_CFA_GNU_args_size if CSA pass merged some adjustments into |
| prologue sp adjustment. |
| |
| 2008-07-09 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR target/35802 |
| * config/mips/mips.h (reg_class): Remove V1_REG. |
| (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. |
| * config/mips/mips.c (mips_regno_to_class): Map $3 to M16_NA_REGS |
| instead of V1_REGS. |
| (mips_get_tp): New function. |
| (mips_legitimize_tls_address): Use it. |
| * config/mips/constraints.md (v): Delete. |
| * config/mips/mips.md (TLS_GET_TP_REGNUM): New constant. |
| (tls_get_tp_<mode>): Allow any GPR destination and clobber $3. |
| After reload, split into a move and ... |
| (*tls_get_tp_<mode>_split): ...this new instruction. |
| |
| 2008-07-08 Joseph Myers <joseph@codesourcery.com> |
| |
| * reload.c (find_reloads_subreg_address): Do not require validity |
| of address in original mode before reloading address. |
| |
| 2008-07-07 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline: |
| PR target/36736 |
| 2008-02-29 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.c (sh_secondary_reload): Handle loading a float |
| constant to fpul. |
| |
| 2008-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR target/34780 |
| * unwind-pe.h (size_of_encoded_value): add attribute unused. |
| |
| 2008-07-05 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline: |
| PR target/36684 |
| * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns |
| for PIC. |
| |
| 2008-07-04 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/36634 |
| * config/rs6000/rs6000.md (call, call_value): Don't arrange for |
| pic_offset_table_rtx to be marked as used here. |
| (call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for |
| TARGET_SECURE_PLT to "use" pic_offset_table_rtx. |
| (call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn. |
| (sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert |
| !TARGET_SECURE_PLT. |
| |
| 2008-07-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-flow.h (loop_only_exit_p): Declare. |
| * tree-ssa-loop-niter.c (loop_only_exit_p): Make public. |
| * tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on |
| the number of iterations if it is constant. Otherwise, if this is the |
| only possible exit of the loop, use the conservative estimate on the |
| number of iterations of the entire loop if available. |
| |
| 2008-07-01 Steve Ellcey <sje@cup.hp.com> |
| |
| Backport from mainline: |
| * config/ia64/ia64.c (ia64_cannot_force_const_mem): Do not allow |
| RFmode constants. |
| |
| 2008-07-01 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| PR rtl-optimization/34744 |
| * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): New macros. |
| (df_scan_free_internal): Free data structures not |
| allocated in storage pools. |
| (df_mw_hardreg_chain_delete_eq_uses): Use df_scan_free_mws_vec. |
| (df_refs_add_to_chains): Use df_scan_free_ref_vec and |
| df_scan_free_mws_vec. |
| * dse.c (dse_step6): Free offset_map_p and offset_map_n |
| unconditionally. |
| * ifcvt.c (cond_move_process_if_block): Free vectors on false return. |
| |
| 2008-07-01 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/36648 |
| * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Divide |
| number of prolog iterations by step. Fix the comment. |
| |
| 2008-06-28 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/rs6000/predicates.md (easy_fp_constant): Reject TFmode |
| constants for E500 double. |
| |
| 2008-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR target/34856 |
| * config/spu/spu.c (spu_builtin_splats): Do not generate |
| invalid CONST_VECTOR expressions. |
| (spu_expand_vector_init): Likewise. |
| |
| 2008-06-26 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * targhooks.h (struct gcc_target): New member unwind_word_mode. |
| (default_unwind_word_mode): Add prototype. |
| * targhooks.c (default_unwind_word_mode): New function. |
| (default_eh_return_filter_mode): Return targetm.unwind_word_mode () |
| instead of word_mode. |
| * target-def.h (TARGET_UNWIND_WORD_MODE): New macro. |
| (TARGET_INITIALIZER): Use it. |
| |
| * c-common.c (handle_mode_attribute): Support "unwind_word" |
| mode attribute. |
| * unwind-generic.h (_Unwind_Word, _Unwind_Sword): Use it. |
| |
| * except.c (init_eh): Use targetm.unwind_word_mode () instead of |
| word_mode to access SjLj_Function_Context member "data". |
| (sjlj_emit_dispatch_table): Likewise. Also, perform type |
| conversion from targetm.eh_return_filter_mode () to |
| targetm.unwind_word_mode () if they differ. |
| |
| * builtin-types.def (BT_UNWINDWORD): New primitive type. |
| (BT_FN_UNWINDWORD_PTR): New function type. |
| (BT_FN_WORD_PTR): Remove. |
| * builtins.def (BUILT_IN_EXTEND_POINTER): Use BT_FN_UNWINDWORD_PTR. |
| * except.c (expand_builtin_extend_pointer): Convert pointer to |
| targetm.unwind_word_mode () instead of word_mode. |
| |
| * config/spu/spu-protos.h (spu_eh_return_filter_mode): Remove. |
| * config/spu/spu.c (spu_eh_return_filter_mode): Remove. |
| (spu_unwind_word_mode): New function. |
| (TARGET_EH_RETURN_FILTER_MODE): Do not define. |
| (TARGET_UNWIND_WORD_MODE): Define. |
| * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS): Remove -D__word__=SI. |
| |
| 2008-06-26 Joseph Myers <joseph@codesourcery.com> |
| |
| * c-decl.c (merge_decls): Use !current_function_decl to check for |
| extern declaration of C99 inline function being at file scope. |
| |
| 2008-06-25 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (fieldoff_compare): Make sure to |
| not overflow the result type. |
| |
| 2008-06-25 Richard Guenther <rguenther@suse.de> |
| |
| * tree-vn.c (vn_add): Handle TRUTH_*_EXPR. |
| (vn_lookup): Likewise. |
| |
| 2008-06-25 Hans-Peter Nilsson <hp@axis.com> |
| |
| * doc/invoke.texi (Optimize Options) <fstrict-aliasing>: Add |
| anchor for the type-punning blurb. Cross-reference "Structures |
| unions enumerations and bit-fields implementation". Provide a |
| cast-through-pointer example. Make final sentence self-contained. |
| * doc/implement-c.texi (Structures unions enumerations and |
| bit-fields implementation): Cross-reference the type-punning blurb |
| in the -fstrict-aliasing documentation. |
| |
| 2008-06-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/36504 |
| * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Skip |
| references without base address. |
| |
| 2008-06-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (fmodxf3): Change sequence of move instructions. |
| (fmod<mode>3): Ditto. |
| (remainderxf3): Ditto. |
| (remainder<mode>3): Ditto. |
| |
| 2008-06-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/36584 |
| * calls.c (expand_call): Increase alignment for recursive functions. |
| |
| 2008-06-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/36533 |
| * emit-rtl.c (set_reg_attrs_from_value): Do nothing if |
| REG is a hard register. |
| |
| PR tree-optimization/36508 |
| * tree-ssa-pre.c (compute_antic): Allow num_iterations up to |
| 499, don't check it at all in release compilers. |
| |
| 2008-06-23 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36519 |
| * tree-ssa-alias.c (mem_sym_score): Count call-clobbered |
| unpartitionable SFTs in the usual way. |
| (compute_memory_partitions): Do partition call-clobbered |
| unpartitionable SFTs, but make sure to partition all other |
| SFTs of its parent var into the same partition. |
| |
| 2008-06-19 Uros Bizjak <ubizjak@gmail.com> |
| Ian Lance Taylor <iant@google.com> |
| |
| PR rtl-optimization/35604 |
| * jump.c (redirect_exp_1): Skip the condition of an IF_THEN_ELSE. We |
| only want to change jump destinations, not eventual label comparisons. |
| |
| 2008-06-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR documentation/30739 |
| * doc/install.texi (Prerequisites): Document dependency on awk. |
| |
| 2008-06-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| * config/spu/spu.c (reg_align): Remove. |
| (regno_aligned_for_load): Also accept ARG_POINTER_REGNUM. |
| (spu_split_load): Use regno_aligned_for_load instead of reg_align. |
| (spu_split_store): Likewise. |
| |
| 2008-06-17 Joseph Myers <joseph@codesourcery.com> |
| |
| * dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined. |
| (encode_decimal64, decode_decimal64, encode_decimal128, |
| decode_decimal128): Reverse order of 32-bit parts of value if host |
| and target endianness differ. |
| |
| 2008-06-16 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/36493 |
| * tree-vect-transform.c (vect_create_data_ref_ptr): Remove TYPE from |
| the arguments list. Use VECTYPE to create vector pointer. |
| (vectorizable_store): Fail if accesses through a pointer to vectype |
| do not alias the original memory reference operands. |
| Call vect_create_data_ref_ptr without the removed argument. |
| (vectorizable_load): Likewise. |
| (vect_setup_realignment): Call vect_create_data_ref_ptr without the |
| removed argument. |
| |
| 2008-06-15 Anatoly Sokolov <aesok@post.ru> |
| |
| PR target/36424 |
| * config/avr/avr.h (HARD_REGNO_RENAME_OK): Define. |
| * config/avr/avr.c (avr_hard_regno_rename_ok): New function. |
| * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype. |
| |
| 2008-06-15 Andy Hutchinson <hutchinsonandy@aim.com> |
| |
| PR target/36336 |
| * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for |
| reg_equiv_constant. |
| |
| 2008-06-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/36507 |
| * c-decl.c (merge_decls): Don't clear DECL_EXTERNAL for |
| nested inline functions. |
| (start_decl, start_function): Don't invert DECL_EXTERNAL |
| for nested inline functions. |
| |
| 2008-06-13 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36498 |
| * tree-flow-inline.h (var_can_have_subvars): Unions cannot |
| have subvars. |
| |
| 2008-06-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/36506 |
| * omp-low.c (expand_omp_sections): Initialize l2 to avoid bogus |
| warning. |
| |
| 2008-06-12 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline |
| 2008-06-04 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (handle_ptr_arith): Correctly handle |
| negative or non-representable offsets. |
| |
| 2008-06-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/36506 |
| * omp-low.c (expand_omp_sections): Handle #pragma omp sections with |
| reductions. |
| |
| 2008-06-11 Tom Tromey <tromey@redhat.com> |
| |
| * c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file |
| debug hook. |
| |
| 2008-06-11 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35336 |
| * fold-const.c (fold_truthop): Remove code generating |
| BIT_FIELD_REFs of structure bases. |
| (fold_binary): Likewise. |
| (make_bit_field_ref): Remove. |
| (optimize_bit_field_compare): Remove. |
| (all_ones_mask_p): Remove. |
| |
| 2008-06-11 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/arm/arm.c (arm_init_neon_builtins): Move initialization |
| with function calls after declarations. Lay out |
| neon_float_type_node before further use. |
| |
| 2008-06-11 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36474 |
| * opts.c (decode_options): Set max-fields-for-field-sensitive |
| parameter to 100 for -O2, -Os and -O3. |
| * params.def (max-fields-for-field-sensitive): Set default to zero. |
| * doc/invoke.texi (max-fields-for-field-sensitive): Document |
| defaults. |
| |
| 2008-06-10 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/rs6000/rs6000.c (build_opaque_vector_type): Set |
| TYPE_CANONICAL for copied element type. |
| |
| 2008-06-09 Michael Meissner <michael.meissner@amd.com> |
| |
| * config.gcc (i[34567]86-*-*): Put test in quotes to prevent |
| failure on some Bourne shells. |
| (x86_64-*-*): Ditto. |
| |
| 2008-06-07 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/34976 |
| * tree-loop-linear.c (try_interchange_loops): Look at size of |
| caches: don't transform if the smallest stride is larger than |
| the L2 cache, or if the largest stride multiplied by the number of |
| iterations is smaller than the L1 cache. |
| |
| 2008-06-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2008-05-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/36111 |
| * recog.c (validate_replace_rtx_1): Unshare new RTL expression |
| that was created for swappable operands. |
| |
| 2008-06-07 Andy Hutchinson <hutchinsonandy@aim.com> |
| |
| PR target/27386 |
| * config/avr/avr.h: (PUSH_ROUNDING): Remove. |
| |
| PR target/30243 |
| * builtins.c (expand_builtin_signbit): Don't take lowpart when |
| register is already smaller or equal to required mode. |
| |
| PR target/34932 |
| * config/avr/avr.md (*addhi3_zero_extend2): Remove. |
| |
| * config/avr/avr.h (MAX_OFILE_ALIGNMENT): Define. |
| |
| |
| 2008-06-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36291 |
| * tree-flow. h (struct gimple_df): Remove var_anns member. |
| * tree-flow-inline.h (gimple_var_anns): Remove. |
| (var_ann): Simplify. |
| * tree-dfa.c (create_var_ann): Simplify. |
| (remove_referenced_var): Clear alias info from var_anns of globals. |
| * tree-ssa.c (init_tree_ssa): Do not allocate var_anns. |
| (delete_tree_ssa): Clear alias info from var_anns of globals. |
| Do not free var_anns. |
| (var_ann_eq): Remove. |
| (var_ann_hash): Likewise. |
| |
| 2008-06-06 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34244 |
| * fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP. |
| (tree_expr_nonzero_warnv_p): Likewise. |
| * tree-vrp.c (vrp_expr_computes_nonnegative): Call |
| ssa_name_nonnegative_p. |
| (vrp_expr_computes_nonzero): Call ssa_name_nonzero_p. |
| (extract_range_from_unary_expr): Use vrp_expr_computes_nonzero, |
| not tree_expr_nonzero_warnv_p. |
| |
| PR tree-optimization/36262 |
| Revert |
| 2007-11-29 Zdenek Dvorak <ook@ucw.cz> |
| |
| PR tree-optimization/34244 |
| * tree-vrp.c (adjust_range_with_scev): Clear scev cache. |
| (record_numbers_of_iterations): New function. |
| (execute_vrp): Cache the numbers of iterations of loops. |
| * tree-scalar-evolution.c (scev_reset_except_niters): |
| New function. |
| (scev_reset): Use scev_reset_except_niters. |
| * tree-scalar-evolution.h (scev_reset_except_niters): Declare. |
| |
| 2008-06-06 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Only handle |
| SDmode in registers specially if TARGET_HARD_FLOAT && TARGET_FPRS. |
| |
| 2008-06-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/36419 |
| * except.c (expand_resx_expr): Call do_pending_stack_adjust () before |
| the emitting jump insn. |
| |
| PR target/36362 |
| * gimplify.c (gimplify_expr) <case TRUTH_NOT_EXPR>: If *expr_p type |
| is not bool, boolify the whole *expr_p and convert to the desired type. |
| |
| * BASE-VER: Set to 4.3.2. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2008-06-06 Release Manager |
| |
| * GCC 4.3.1 released. |
| |
| 2008-06-04 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| * config/mips/mips.c (mips_emit_loadgp): Return early if |
| there is nothing do to, otherwise emit a blockage if |
| !TARGET_EXPLICIT_RELOCS || current_function_profile. |
| * config/mips/mips.md (loadgp_blockage): Use SI rather than DI. |
| |
| 2008-05-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-nested.c (check_for_nested_with_variably_modified): Fix typo. |
| |
| 2008-05-28 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36339 |
| * tree-ssa-alias.c (set_initial_properties): Move pt_anything |
| and subvariable clobbering code out of the loop. |
| |
| 2008-05-28 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36300 |
| * fold-const.c (extract_muldiv_1): Use TYPE_OVERFLOW_WRAPS, |
| not TYPE_UNSIGNED. Use TYPE_PRECISION instead of GET_MODE_SIZE. |
| |
| 2008-05-27 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36339 |
| * tree-ssa-alias.c (set_initial_properties): Escaped pt_anything |
| pointers cause all addressable variables to be call clobbered. |
| |
| 2008-05-26 Kai Tietz <kai.tietz@onevision.com> |
| |
| PR target/36321 |
| * config/i386/i386.md (allocate_stack_worker_64): Make sure |
| argument operand in rax isn't removed. |
| |
| 2008-05-23 Uros Bizjak <ubizjak@gmail.com> |
| Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Options specification): Document --enable-cld. |
| * doc/invoke.texi (Machine Dependent Options) |
| [i386 and x86-64 Options]: Add -mcld option. |
| (Intel 386 and AMD x86-64 Options): Document -mcld option. |
| |
| 2008-05-22 David Daney <ddaney@avtrex.com> |
| |
| * config/mips/mips.md (sync_old_add<mode>, sync_new_add<mode>, |
| sync_old_<optab><mode>, sync_new_<optab><mode>, sync_old_nand<mode>, |
| sync_new_nand<mode>, sync_lock_test_and_set<mode>): Add early |
| clobber to operand 0. |
| |
| 2008-05-22 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/36293 |
| * tree-vect-transform.c (vect_transform_strided_load): Don't check |
| if the first load must be skipped because of a gap. |
| |
| 2008-05-21 Sebastian Pop <sebastian.pop@amd.com> |
| Jan Sjodin <jan.sjodin@amd.com> |
| |
| PR tree-optimization/36181 |
| Backport from mainline: |
| * tree-parloops.c (loop_has_vector_phi_nodes): New. |
| (parallelize_loops): Don't parallelize when the loop has vector |
| phi nodes. |
| |
| 2008-05-21 Uros Bizjak <ubizjak@gmail.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/36079 |
| * configure.ac: Handle --enable-cld. |
| * configure: Regenerated. |
| * config.gcc: Add USE_IX86_CLD to tm_defines for x86 targets. |
| * config/i386/i386.h (struct machine_function): Add needs_cld field. |
| (ix86_current_function_needs_cld): New define. |
| * config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant. |
| (cld): New isns pattern. |
| (strmov_singleop, rep_mov, strset_singleop, rep_stos, cmpstrnqi_nz_1, |
| cmpstrnqi_1, strlenqi_1): Set ix86_current_function_needs_cld flag. |
| * config/i386/i386.opt (mcld): New option. |
| * config/i386/i386.c (ix86_expand_prologue): Emit cld insn if |
| TARGET_CLD and ix86_current_function_needs_cld. |
| (override_options): Use -mcld by default for 32-bit code if |
| USE_IX86_CLD. |
| |
| 2008-05-20 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline: |
| 2008-05-15 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36244 |
| * tree-ssa-alias.c (new_type_alias): Do not set TREE_READONLY. |
| * tree-flow-inline.h (unmodifiable_var_p): Memory tags never |
| represent unmodifiable vars. |
| |
| PR tree-optimization/34330 |
| * tree-ssa-alias.c (get_smt_for): Only assert that accesses |
| through the pointer will alias the SMT. |
| |
| 2008-05-20 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/35204 |
| * tree-ssa-sccvn.c (extract_and_process_scc_for_name): New |
| helper, split out from ... |
| (DFS): ... here. Make the DFS walk non-recursive. |
| |
| 2008-05-20 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/install.texi2html: Generate gcc-vers.texi in $DESTDIR not |
| $SOURCEDIR/include. |
| |
| 2008-05-19 Adam Nemet <anemet@caviumnetworks.com> |
| |
| PR middle-end/36194 |
| * combine.c (check_conversion): Rename to check_promoted_subreg. |
| Don't call record_truncated_value from here. |
| (record_truncated_value): Turn it into a for_each_rtx callback. |
| (record_truncated_values): New function. |
| (combine_instructions): Call note_uses with |
| record_truncated_values. Change name of check_conversion to |
| check_promoted_subreg. |
| |
| 2008-05-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.c (substitute_in_expr) <tcc_vl_exp>: Fix thinko. |
| |
| 2008-05-14 Michael Meissner <michael.meissner@amd.com> |
| |
| Backport from mainline: |
| PR target/36224 |
| * config/i386/sse.md (vec_widen_smult_hi_v4si): Delete, using |
| unsigned multiply gives the wrong value when doing widening |
| multiplies. |
| (vec_widen_smult_lo_v4si): Ditto. |
| |
| 2008-05-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (fold_unary) <CASE_CONVERT>: Fold the cast into |
| a BIT_AND_EXPR only for an INTEGER_TYPE. |
| |
| 2008-05-15 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36245 |
| * tree-ssa-address.c (add_to_parts): Deal with non-pointer |
| bases. |
| |
| 2008-05-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline: |
| 2008-05-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/sse.md (*sse4_1_pinsrq): Make it 64bit only. |
| |
| 2008-05-14 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/36098 |
| * tree-vect-analyze.c (vect_analyze_group_access): Set the gap |
| value for the first load in the group in case of a gap. |
| (vect_build_slp_tree): Check that there are no gaps in loads. |
| |
| 2008-05-13 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (machine_function): Add 'is_leaf' field. |
| * config/avr/avr.c (avr_regs_to_save): Compute 'machine->is_leaf'. |
| Use 'machine->is_leaf' instead of 'leaf_func_p'. |
| |
| 2008-05-13 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36227 |
| * fold-const.c (fold_sign_changed_comparison): Do not allow |
| changes in pointer-ness. |
| |
| 2008-05-12 Hans-Peter Nilsson <hp@axis.com> |
| |
| Backport from mainline: |
| 2008-04-08 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.c (cris_address_cost): For a PLUS, swap tem1 |
| and tem2 if tem1 is not a REG or MULT. |
| |
| 2008-05-11 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| Backport from mainline: |
| 2008-04-15 Zuxy Meng <zuxy.meng@gmail.com> |
| |
| PR target/35661 |
| * config/i386/winnt.c (i386_pe_section_type_flags): Mark |
| ".text.unlikely" section as executable. |
| |
| 2008-05-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2008-05-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR tree-optimization/36129 |
| * tree-ssa-ccp.c: Include value-prof.h. |
| (execute_fold_all_builtins): Call gimple_remove_stmt_histograms if |
| built-in function was folded to a constant. |
| * Makefile.in (tree-ssa-ccp.c): Depend on value-prof.h |
| |
| 2008-05-09 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36187 |
| * tree-dfa.c (dump_variable): Correct dumping of |
| SFT_BASE_FOR_COMPONENTS_P. |
| * tree-ssa-structalias.c (set_uids_in_ptset): Set |
| SFT_UNPARTITIONABLE_P correctly for the union case. |
| |
| 2008-05-09 Steve Ellcey <sje@cup.hp.com> |
| |
| Backport from mainline: |
| 2008-04-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR middle-end/PR28690 |
| * rtlanal.c: Update copyright years. |
| (commutative_operand_precedence): Give SYMBOL_REF's the same precedence |
| as REG_POINTER and MEM_POINTER operands. |
| * emit-rtl.c (gen_reg_rtx_and_attrs): New function. |
| (set_reg_attrs_from_value): Call mark_reg_pointer as appropriate. |
| * rtl.h (gen_reg_rtx_and_attrs): Add prototype for new function. |
| * gcse.c: Update copyright years. |
| (pre_delete): Call gen_reg_rtx_and_attrs. |
| (hoist_code): Likewise. |
| (build_store_vectors): Likewise. |
| (delete_store): Likewise. |
| * loop-invariant.c (move_invariant_reg): Likewise. |
| Update copyright years. |
| |
| 2008-04-08 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Revert |
| PR middle-end/PR28690 |
| * rtlanal.c: (commutative_operand_precedence): Give SYMBOL_REF's the |
| same precedence as REG_POINTER and MEM_POINTER operands. |
| |
| 2008-04-09 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR middle-end/PR28690 |
| * explow.c (break_out_memory_refs): Use simplify_gen_binary rather |
| than gen_rtx_fmt_ee to perform more canonicalizations. |
| |
| 2008-05-09 Steve Ellcey <sje@cup.hp.com> |
| |
| Backport from mainline: |
| 2008-05-08 Steve Ellcey <sje@cup.hp.com> |
| |
| * stmt.c (expand_stack_restore): Change sa mode if needed. |
| |
| 2008-05-08 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/36090 |
| * config/rs6000/rs6000.c (print_operand_address): If the TOC |
| address RHS contains an offset, output it as well. |
| |
| PR target/36182 |
| Revert: |
| 2008-05-08 Paolo Bonzini <bonzini@gnu.org> |
| PR target/36090 |
| * simplify-rtx.c (simplify_plus_minus): Create CONST of |
| similar RTX_CONST_OBJ before CONST_INT. |
| |
| 2008-05-08 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline: |
| 2008-05-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/35657 |
| * config/i386/i386.c (contains_128bit_aligned_vector_p): Renamed |
| to ... |
| (contains_aligned_value_p): This. Handle _Decimal128. |
| (ix86_function_arg_boundary): Only align _Decimal128 to its |
| natural boundary and handle it properly. |
| |
| 2008-05-08 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR target/36090 |
| * simplify-rtx.c (simplify_plus_minus): Create CONST of |
| similar RTX_CONST_OBJ before CONST_INT. |
| |
| 2008-05-08 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36154 |
| * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make |
| sure to create a representative for trailing arrays for PTA. |
| |
| 2008-05-08 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36172 |
| * fold-const.c (operand_equal_p): Two objects which types |
| differ in pointerness are not equal. |
| |
| 2008-05-07 Ian Lance Taylor <iant@google.com> |
| |
| PR middle-end/36013 |
| * gimplify.c (find_single_pointer_decl_1): Don't look through |
| indirections. |
| (find_single_pointer_decl): Adjust comments. |
| |
| 2008-05-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/36137 |
| * fold-const.c (fold_binary): Use STRIP_SIGN_NOPS instead of |
| STRIP_NOPS on arguments even for MIN_EXPR and MAX_EXPR. |
| |
| PR middle-end/36106 |
| * omp-low.c (expand_omp_atomic_pipeline): Load value using the |
| integral type rather than floating point, then VIEW_CONVERT_EXPR |
| to the floating point type. |
| |
| 2008-05-05 Marius Strobl <marius@FreeBSD.org> |
| |
| * gthr-posix.h (__gthread_active_p): Use the Solaris implementation |
| for FreeBSD as well. |
| * gthr-posix95.h: Likewise. |
| |
| 2008-05-05 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/36119 |
| * tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1 |
| in case of SLP. |
| |
| 2008-05-03 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34973 |
| * opts.c (set_Wstrict_aliasing): Handle the turn-off case. |
| |
| 2008-05-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR bootstrap/35169 |
| * optc-gen.awk: Work around HP-UX/IA awk bug. |
| |
| 2008-05-01 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/36095 |
| * config/i386/i386.c (bdesc_crc32): Remove OPTION_MASK_ISA_64BIT |
| from IX86_BUILTIN_CRC32QI. Add OPTION_MASK_ISA_64BIT to |
| IX86_BUILTIN_CRC32DI. |
| (ix86_init_mmx_sse_builtins): Add OPTION_MASK_ISA_64BIT to |
| IX86_BUILTIN_CRC32DI. |
| |
| * doc/extend.texi: Correct __builtin_ia32_crc32di. |
| |
| 2008-04-30 Ian Lance Taylor <iant@google.com> |
| |
| Backport from mainline: |
| 2008-04-22 Ian Lance Taylor <iant@google.com> |
| |
| * fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather |
| than size_in_bytes. |
| |
| 2008-04-18 Ian Lance Taylor <iant@google.com> |
| |
| * fold-const.c (pointer_may_wrap_p): New static function. |
| (fold_comparison): Add another test for pointer overflow. Use |
| pointer_may_wrap_p to disable some false positives. |
| |
| 2008-04-14 Ian Lance Taylor <iant@google.com> |
| |
| * fold-const.c (fold_overflow_warning): Remove assertion. |
| |
| 2008-04-14 Ian Lance Taylor <iant@google.com> |
| |
| * flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define. |
| * fold-const.c (fold_comparison): If appropriate, test |
| POINTER_TYPE_OVERFLOW_UNDEFINED, and issue an overflow warning. |
| (fold_binary): Test POINTER_TYPE_OVERFLOW_UNDEFINED when |
| reassociating a pointer type. |
| * doc/invoke.texi (Optimize Options): Document that |
| -fstrict-overflow applies to pointer wraparound. |
| |
| 2008-04-29 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36077 |
| * fold-const.c (extract_muldiv_1): In combining division constants |
| make sure to never overflow. |
| |
| 2008-04-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/36060 |
| * dwarf2out.c (struct die_struct): Mark as chain_circular through |
| die_sub field. |
| * gengtype.c (walk_type, write_func_for_structure): Handle |
| chain_circular. |
| * doc/gty.texi: Document chain_circular. |
| |
| 2008-04-25 Pompapathi V Gadad <Pompapathi.V.Gadad@nsc.com> |
| |
| * config.gcc (crx-*-elf): Remove deprecation. |
| |
| 2008-04-24 David Edelsohn <edelsohn@gnu.org> |
| |
| Backport from mainline: |
| 2008-04-09 David Edelsohn <edelsohn@gnu.org> |
| |
| PR libstdc++/35597 |
| * toplev.c (process_options): Remove -ffunction-sections debugging |
| warning. |
| |
| 2008-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/35758 |
| * c-common.c (handle_vector_size_attribute): Call |
| lang_hooks.types.reconstruct_complex_type instead of |
| reconstruct_complex_type. |
| * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Likewise. |
| * config/spu/spu.c (spu_handle_vector_attribute): Likewise. |
| * langhooks.h (struct lang_hooks_for_types): Add |
| reconstruct_complex_type hook. |
| * langhooks-def.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define. |
| (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it. |
| |
| PR tree-optimization/36008 |
| * fold-const.c (try_move_mult_to_index): If s == NULL, divide |
| the original op1, rather than delta by step. |
| |
| 2008-04-24 Ira Rosen <irar@il.ibm.com> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/36034 |
| * tree-vect-analyze.c (vect_analyze_group_access): SLP is |
| incapable of dealing with loads with gaps. |
| |
| 2008-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/36015 |
| * config/i386/i386.c (init_cumulative_args): Don't pass anything |
| in registers for -m32 only if stdarg_p (fntype). |
| |
| 2008-04-23 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/36021 |
| * c-common.c (handle_alloc_size_attribute): Use type_num_arguments. |
| |
| 2008-04-23 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/35982 |
| * tree-vect-analyze.c (vect_check_interleaving): Check that the |
| interleaved data-refs are of the same type. |
| |
| 2008-04-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/36017 |
| * builtins.c (expand_errno_check): Clear CALL_EXPR_TAILCALL before |
| expanding the library call. |
| |
| 2008-04-17 Volker Reichelt <v.reichelt@netcologne.de> |
| |
| PR c/35744 |
| * attribs.c (decl_attributes): Return early on errorneous node. |
| |
| PR c/35436 |
| * c-format.c (init_dynamic_gfc_info): Ignore invalid locus type. |
| |
| 2008-04-17 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/35907 |
| * config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave |
| regs before frame pop when needed. If use_backchain_to_restore_sp |
| then load backchain into a temp reg to restore vr and vrsave. Add |
| code to restore vr after frame pop if possible. |
| |
| 2008-04-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2008-04-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/35944 |
| * config/i386/i386.md (fmodxf3): Copy operand 1 and operand 2 into |
| temporary registers. Change operand predicate to general_operand. |
| (remainderxf3): Ditto. |
| |
| 2008-04-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/35739 |
| * tree-nrv.c (tree_nrv): Don't optimize if result_type is GIMPLE |
| reg type. |
| |
| PR tree-optimization/35899 |
| * tree-inline.c (expand_call_inline): Use GIMPLE_STMT_OPERAND |
| rather than TREE_OPERAND. |
| |
| 2008-04-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-predcom.c (suitable_reference_p): Return false if the |
| reference can throw. |
| |
| 2008-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/35751 |
| * c-decl.c (finish_decl): If extern or static var has variable |
| size, set TREE_TYPE (decl) to error_mark_node. |
| |
| 2008-04-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>: |
| Return true if the operand is an INTEGER_CST. |
| |
| 2008-04-12 James E. Wilson <wilson@tuliptree.org> |
| |
| PR target/35695 |
| * config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV. |
| * config/ia64/ia64.c (rtx_needs_barrier): Handle |
| UNSPEC_FR_RECIP_APPROX_RES. |
| * config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define. |
| |
| 2008-04-09 Andy Hutchinson <hutchinsonandy@aim.com> |
| |
| PR rtl-optimization/34916 |
| PR middle-end/35519 |
| * combine.c (create_log_links): Do not create duplicate LOG_LINKS |
| between instruction pairs. |
| |
| 2008-04-09 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/35821 |
| * tree-vect-transform.c (vect_create_data_ref_ptr): Add check that |
| NEW_STMT_LIST is not NULL. |
| |
| 2008-04-08 Richard Guenther <rguenther@suse.de> |
| |
| * fold-const.c (fold_widened_comparison): Do not allow |
| sign-changes that change the result. |
| |
| 2008-04-06 Tom G. Christensen <tgc@jupiterrise.com> |
| |
| * gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &. |
| |
| 2008-04-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/35833 |
| * tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST |
| results from fold_binary_to_constant. |
| (compare_values_warnv): Likewise. |
| |
| 2008-04-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/35364 |
| * tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers. |
| |
| PR c/35440 |
| * c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR |
| for all types. |
| |
| 2008-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/35738 |
| * c-parser.c (c_parser_omp_atomic): Call |
| default_function_array_conversion on the RHS. |
| |
| PR middle-end/35818 |
| * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: Don't |
| call is_variable_sized if decl has incomplete type. |
| |
| 2008-04-02 Andrew Pinski <pinskia@gmail.com> |
| |
| PR middle-end/35429 |
| * fold-const.c (fold_truthop): Check for integeral types when folding |
| a == 0 && b == 0 and a != 0 || b != 0 . |
| |
| 2008-04-02 Andrew Pinski <pinskia@gmail.com> |
| |
| PR tree-opt/35431 |
| * tree-ssa-phiopt.c (conditional_replacement): Return early for |
| complex types. |
| |
| 2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/35705 |
| * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if |
| the expression is a function address. |
| |
| 2008-04-01 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/include/gpl_v3.texi: Update for manpage generation. |
| * doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of |
| gpl.texi. |
| * doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi. |
| * Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include |
| gpl_v3.texi instead of gpl.texi. |
| (gpl.pod): New. |
| |
| 2008-03-28 Nick Clifton <nickc@redhat.com> |
| |
| PR target/31232 |
| * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do |
| not allow INT+INT as a legitimate addressing mode. |
| |
| 2008-03-28 Nick Clifton <nickc@redhat.com> |
| |
| PR target/31110 |
| * config/mn10300/mn10300.c (mn10300_secondary_reload_class): |
| Return GENERAL_REGS for stack adjustment reloads. |
| |
| 2008-03-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline: |
| 2008-03-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/35657 |
| * config/i386/i386.c (ix86_function_arg_boundary): Align |
| decimal floating point to its natural boundary. |
| |
| 2008-03-25 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline: |
| 2008-03-19 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35609 |
| * tree-ssa.c (walk_data): New structure. |
| (warn_uninitialized_var): If not always_executed warn with "maybe" |
| instead of "is". |
| (execute_early_warn_uninitialized): Compute post-dominators. |
| Initialize always_executed before processing each basic block. |
| |
| 2008-03-20 Ira Rosen <irar@il.ibm.com> |
| |
| * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of |
| optimizations turned on under -O3. |
| (ftree-vectorize): Add that the flag is turned on with -O3. |
| |
| 2008-03-19 Michael Matz <matz@suse.de> |
| |
| Backport from mainline: |
| 2008-03-19 Michael Matz <matz@suse.de> |
| |
| PR middle-end/35616 |
| * calls.c (expand_call): Check overlap of arguments with call |
| address for sibcalls. |
| |
| 2008-03-19 Michael Matz <matz@suse.de> |
| |
| * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden. |
| |
| 2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * cse.c (cse_insn): Avoid creation of overlapping MEMs. |
| * alias.c (nonoverlapping_memrefs_p): Export for use in other modules. |
| * alias.h (nonoverlapping_memrefs_p): Likewise. |
| |
| 2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * cse.c (cse_extended_basic_block): Invalidate artificial defs |
| at bb start. |
| |
| 2008-03-18 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> |
| |
| PR target/35504 |
| * config/i386/i386.c (x86_this_parameter): Calculate correct location |
| of "this" pointer when "regparm = N" or "fastcall" is in effect. |
| |
| 2008-03-18 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline: |
| 2008-03-15 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35593 |
| * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure |
| to not produce negative array indices if not allowed. Add |
| parameter to indicate that. |
| (maybe_fold_offset_to_component_ref): Allow negative array |
| indices only for the first member of a structure. |
| (maybe_fold_offset_to_reference): Allow negative array indices. |
| (maybe_fold_stmt_addition): Likewise. |
| |
| 2008-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/35611 |
| * gimplify.c (gimplify_expr): Gimplify second operand of |
| OMP_ATOMIC_LOAD. |
| |
| 2008-03-16 James E. Wilson <wilson@tuliptree.org> |
| |
| PR debug/31510 |
| * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for |
| emulated thread local variables. |
| |
| 2008-03-16 Hans-Peter Nilsson <hp@axis.com> |
| |
| * doc/extend.texi (Alignment): Say that the ABI controls |
| the __alignof__ for non-strict-alignment targets rather |
| than being a recommendation. |
| |
| 2008-03-14 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline: |
| 2008-02-19 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34989 |
| * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure. |
| Allow propagation to INDIRECT_REF if we can simplify only. |
| |
| 2008-03-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/34000 |
| PR target/35553 |
| * config/i386/xmmintrin.h: Change all static inline functions to |
| extern inline and add __gnu_inline__ attribute. |
| * config/i386/bmintrin.h: Ditto. |
| * config/i386/smmintrin.h: Ditto. |
| * config/i386/tmmintrin.h: Ditto. |
| * config/i386/mmintrin-common.h: Ditto. |
| * config/i386/ammintrin.h: Ditto. |
| * config/i386/emmintrin.h: Ditto. |
| * config/i386/pmmintrin.h: Ditto. |
| * config/i386/mmintrin.h: Ditto. |
| * config/i386/mm3dnow.h: Ditto. |
| |
| 2008-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/35185 |
| * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed. |
| (lower_omp_2): New function. |
| (lower_omp_1, lower_omp): Rewritten. |
| |
| 2008-03-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/35549 |
| * omp-low.c (maybe_lookup_decl): Constify first argument. |
| (use_pointer_for_field): Change last argument from bool to |
| omp_context *. Disallow shared copy-in/out in nested |
| parallel if decl is shared in outer parallel too. |
| (build_outer_var_ref, scan_sharing_clauses, |
| lower_rec_input_clauses, lower_copyprivate_clauses, |
| lower_send_clauses, lower_send_shared_vars): Adjust callers. |
| |
| 2008-03-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/35540 |
| * config/i386/i386.md (paritysi2, paritydi2): Use register_operand |
| constraint for operand 1. |
| (paritysi2_cmp): Use register_operand constraint for operand 2. |
| Use earlyclobber modifier for operand 1. Remove support for |
| memory operands. |
| (paritydi2_cmp): Use register_operand constraint for operand 3. |
| Use earlyclobber modifier for operand 1. Remove support for |
| memory operands. |
| |
| 2008-03-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/35526 |
| * expr.c (store_expr): Call emit_block_move if the mode |
| of "temp" RTX is BLKmode. |
| |
| 2008-03-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3): |
| Remove commutativity hint. |
| |
| 2008-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/35438 |
| PR c/35439 |
| * c-parser.c (c_parser_omp_threadprivate): Don't add vars with |
| errorneous type. Check that v is a VAR_DECL. |
| |
| PR middle-end/35099 |
| * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid. |
| |
| 2008-03-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2008-03-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/35496 |
| * config/i386/i386.c (ix86_constant_alignment): Compute alignment using |
| ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST. |
| |
| 2008-03-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/35456 |
| * fold-const.c (fold_cond_expr_with_comparison): Prevent |
| transformations for modes that have signed zeros. |
| * ifcvt.c (noce_try_abs): Ditto. |
| |
| 2008-03-09 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline: |
| PR target/35225 |
| * config/sh/sh.c (find_barrier): Don't go past 'from' argument. |
| |
| 2008-03-09 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backport from mainline: |
| PR target/35190 |
| * config/sh/sh.md (jump_compact): Disable for crossing jumps. |
| |
| * config/sh/sh.c (find_barrier): Don't go past |
| NOTE_INSN_SWITCH_TEXT_SECTIONS note. |
| |
| 2008-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/35498 |
| * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift |
| wdst back after sync_compare_and_swapqhi_internal. |
| |
| 2008-03-07 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/include/texinfo.tex: Update to version 2008-03-07.10. |
| |
| 2008-03-07 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline: |
| 2008-03-05 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/35472 |
| * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store |
| whose single use_stmt has a overlapping set of loaded and |
| stored symbols as that use_stmt might be a noop assignment then. |
| |
| 2008-03-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline: |
| 2008-02-18 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/35189 |
| * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New. |
| (OPTION_MASK_ISA_3DNOW_SET): Likewise. |
| (OPTION_MASK_ISA_SSE_SET): Likewise. |
| (OPTION_MASK_ISA_SSE2_SET): Likewise. |
| (OPTION_MASK_ISA_SSE3_SET): Likewise. |
| (OPTION_MASK_ISA_SSSE3_SET): Likewise. |
| (OPTION_MASK_ISA_SSE4_1_SET): Likewise. |
| (OPTION_MASK_ISA_SSE4_2_SET): Likewise. |
| (OPTION_MASK_ISA_SSE4_SET): Likewise. |
| (OPTION_MASK_ISA_SSE4A_SET): Likewise. |
| (OPTION_MASK_ISA_SSE5_SET): Likewise. |
| (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise. |
| (OPTION_MASK_ISA_MMX_UNSET): Updated. |
| (OPTION_MASK_ISA_3DNOW_UNSET): Updated. |
| (OPTION_MASK_ISA_SSE_UNSET): Likewise. |
| (OPTION_MASK_ISA_SSE3_UNSET): Likewise. |
| (OPTION_MASK_ISA_SSSE3_UNSET): Likewise. |
| (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise. |
| (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise. |
| (OPTION_MASK_ISA_SSE4A_UNSET): Likewise. |
| (OPTION_MASK_ISA_SSE5_UNSET): Likewise. |
| (OPTION_MASK_ISA_SSE4): Removed. |
| (ix86_handle_option): Turn on bits in ix86_isa_flags and |
| ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX. |
| (override_options): Don't turn on implied SSE/MMX bits in |
| ix86_isa_flags. |
| |
| 2008-03-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes |
| for the same VAR_DECL. |
| |
| 2008-03-06 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * expmed.c (extract_bit_field): Always use adjust_address for MEM. |
| |
| 2008-03-06 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/33963 |
| * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types |
| other than structures and unions. |
| |
| 2008-03-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 4.3.1. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2008-03-05 Release Manager |
| |
| * GCC 4.3.0 released. |
| |
| 2008-03-05 Serge Belyshev <belyshev@depni.sinp.msu.ru> |
| |
| * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS |
| examples. Truncate option-names then causing overfull hbox. |
| |
| 2008-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/35222 |
| * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions |
| on hpux10. |
| * configure: Rebuilt. |
| |
| 2008-03-04 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline: |
| 2008-03-04 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/35453 |
| * config/i386/smmintrin.h (SIDD_XXX): Renamed to ... |
| (_SIDD_XXX): This. |
| |
| 2008-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR driver/35420 |
| * 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. |
| |
| 2008-02-29 Douglas Gregor <doug.gregor@gmail.com> |
| |
| PR c++/35315 |
| * tree-inline.c (build_duplicate_type): When we make a |
| duplicate type, make it unique in the canonical types system. |
| |
| 2008-02-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2008-02-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/19984 |
| * builtins.def (BUILT_IN_NAN): Define as c99 builtin |
| using DEF_C99_BUILTIN. |
| (BUILT_IN_NANF): Ditto. |
| (BUILT_IN_NANL): Ditto. |
| |
| 2008-02-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline: |
| 2008-02-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/25477 |
| * config/darwin-protos.h: Add darwin_patch_builtins prototype. |
| * config/darwin-ppc-ldouble-patch.def: New file. |
| * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro. |
| * config/rs6000/rs6000.c (rs6000_init_builtins): Call |
| SUBTARGET_INIT_BUILTINS if defined. |
| * config/darwin.c (darwin_patch_builtin, |
| darwin_patch_builtins): New functions. |
| |
| 2008-02-27 Richard Guenther <rguenther@suse.de> |
| |
| Backport from mainline: |
| 2008-02-27 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35390 |
| * fold-const.c (fold_unary): Return the correct argument, |
| converted to the result type. |
| |
| PR middle-end/34971 |
| * fold-const.c (fold_binary): Use the types precision, not the |
| bitsize of the mode if folding rotate expressions. Build rotates |
| only for full modes. |
| |
| 2008-02-25 Jan Beulich <jbeulich@novell.com> |
| |
| * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T). |
| * config/i386/netware-libgcc.exp: Add __bswap?i2, |
| __emultls_get_address, __emultls_register_common, |
| __floatundi?f, and _Unwind_GetIPInfo. |
| * config/i386/netware.c (gen_stdcall_or_fastcall_decoration): |
| Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix(). |
| (gen_regparm_prefix): Likewise. |
| (i386_nlm_encode_section_info): Sync with |
| config/i386/winnt.c:i386_pe_encode_section_info(). |
| (i386_nlm_maybe_mangle_decl_assembler_name): New. |
| i386_nlm_mangle_decl_assembler_name): New. |
| (netware_override_options): New. |
| * config/i386/netware.h (netware_override_options): Declare. |
| (OVERRIDE_OPTIONS): Re-define to netware_override_options. |
| (i386_nlm_mangle_decl_assembler_name): Declare. |
| (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define. |
| |
| 2008-02-22 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): |
| Use spe_abi. |
| * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise. |
| |
| 2008-02-22 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for |
| GENNONACR_REGS. |
| |
| 2008-02-21 Janis Johnson <janis187@us.ibm.com> |
| |
| PR target/34526 |
| * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment. |
| (rs6000_explicit_options): Split abi into spe_abi and altivec_abi, |
| add vrsave. |
| (rs6000_override_options): Set altivec_abi as default, not override, |
| for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for |
| TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI |
| is used; use new member spe_abi. |
| (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use |
| spe_abi and altivec_abi. |
| |
| 2008-02-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR bootstrap/35273 |
| * config.build (build_file_translate): Set to `CMD //c' only if |
| it works. |
| * Makefile.in (build_file_translate): Improve comment. |
| |
| 2008-02-21 Michael Matz <matz@suse.de> |
| |
| PR target/35264 |
| * config/i386/i386.c (ix86_expand_branch): Add missing breaks. |
| |
| 2008-02-20 DJ Delorie <dj@redhat.com> |
| |
| * config/h8300/h8300.md (insv): Force source operand to be a register. |
| |
| * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn |
| as a jump, not as a plain insn. |
| |
| 2008-02-20 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/invoke.texi, doc/standards.texi: Refer to |
| gcc-4.3/c99status.html. |
| |
| 2008-02-20 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35265 |
| * builtins.c (validate_arg): If we want an INTEGER_TYPE, |
| be happy with INTEGRAL_TYPE_P. |
| |
| 2008-02-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR bootstrap/35218 |
| * Makefile.in (build_file_translate): New. |
| (gcc-vers.texi): Use it for translating $(abs_srcdir). |
| * config.build (build_file_translate): Set to `CMD //c' on MinGW. |
| * configure.ac (build_file_translate): Substitute it. |
| * configure: Regenerate. |
| |
| 2008-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/35239 |
| * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special |
| 32-bit inline asm without asm alternatives for host GCC < 3.0. |
| |
| 2008-02-19 Paul Brook <paul@codesourcery.com> |
| |
| PR target/35071 |
| * config/arm/ieee754-df.S: Fix do_it typo. |
| * config/arm/ieee754-sf.S: Fix do_it typo. |
| |
| 2008-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * DEV-PHASE: Mark as prerelease. |
| |
| 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate. |
| * doc/cfg.texi: Likewise. |
| * doc/extend.texi: Likewise. |
| * doc/gty.texi: Likewise. |
| * doc/invoke.texi: Likewise. |
| * doc/loop.texi: Likewise. |
| * doc/md.texi: Likewise. |
| * doc/passes.texi: Likewise. |
| * doc/rtl.texi: Likewise. |
| * doc/sourcebuild.texi: Likewise. |
| * doc/tm.texi: Likewise. |
| * doc/tree-ssa.texi: Likewise. |
| |
| 2008-02-17 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35227 |
| * tree-complex.c (init_parameter_lattice_values): Handle parameters |
| without default definition. |
| |
| 2008-02-17 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/35231 |
| * tree-vrp.c (register_edge_assert_for): Do not assume A == 0 |
| if A | B != 1. |
| |
| 2008-02-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Revert: |
| |
| 2008-02-15 Uros Bizjak <ubizjak@gmail.com> |
| * config/i386/sfp-machine.h (CMPtype): Define as typedef using |
| libgcc_cmp_return mode. |
| |
| 2008-02-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| PR c/28368 |
| * doc/invoke.texi (-std): Clarify description of -std= and -ansi. |
| |
| 2008-02-16 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475 |
| multilibs. |
| |
| 2008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/c-tree.texi: Use `@.' where appropriate. |
| * doc/extend.texi: Likewise. |
| * doc/install.texi: Likewise. |
| * doc/invoke.texi: Likewise. |
| * doc/loop.texi: Likewise. |
| * doc/makefile.texi: Likewise. |
| * doc/md.texi: Likewise. |
| * doc/passes.texi: Likewise. |
| * doc/standards.texi: Likewise. |
| * doc/tm.texi: Likewise. |
| |
| 2008-02-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/35196 |
| * omp-low.c (expand_omp_for_generic): Don't initialize fd->v |
| in entry_bb. |
| (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb |
| rather than in entry_bb. |
| |
| 2008-02-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sfp-machine.h (CMPtype): Define as typedef using |
| libgcc_cmp_return mode. |
| |
| 2008-02-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/35130 |
| * tree-nested.c (convert_call_expr): Put FRAME.* vars into |
| OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause. |
| |
| 2008-02-15 Richard Guenther <rguenther@suse.de> |
| Zdenek Dvorak <ook@ucw.cz> |
| |
| PR tree-optimization/35164 |
| * tree-flow.h (stmt_references_abnormal_ssa_name): Declare. |
| * tree-dfa.c (stmt_references_abnormal_ssa_name): New function. |
| * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars): |
| Only propagate addresses which do not have abnormal SSA_NAMEs |
| in their operands. |
| |
| 2008-02-15 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/35088 |
| * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define. |
| |
| 2008-02-15 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/35149 |
| * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag. |
| |
| 2008-02-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/34621 |
| * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY |
| when calculating alignment_pad. |
| |
| 2008-02-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (CLEAR_RATIO): Use MIN macro. |
| (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define. |
| * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro |
| and STACK_BOUNDARY define. |
| |
| 2008-02-14 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR preprocessor/35061 |
| * c-pragma.c (handle_pragma_pop_macro): Check that |
| pushed_macro_table has been allocated. |
| |
| 2008-02-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/35136 |
| * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change. |
| (force_gimple_operand): Likewise. |
| * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases |
| for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR. |
| Also recurse on the operand for regular VIEW_CONVERT_EXPRs. |
| (find_interesting_uses_address): Check addressability and alignment |
| of the base expression only after substituting bases of IVs into it. |
| |
| 2008-02-14 Michael Matz <matz@suse.de> |
| |
| PR target/34930 |
| * function.c (instantiate_virtual_regs_in_insn): Reload address |
| before falling back to reloading the whole operand. |
| |
| 2008-02-14 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (s390_mainpool_start): Emit the pool |
| before the first section switch note. |
| |
| 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/bugreport.texi: Update copyright years. |
| * doc/c-tree.texi: Likewise. |
| * doc/cfg.texi: Likewise. |
| * doc/cpp.texi: Likewise. |
| * doc/cppinternals.texi: Likewise. |
| * doc/fragments.texi: Likewise. |
| * doc/frontends.texi: Likewise. |
| * doc/gcc.texi: Likewise. |
| * doc/gty.texi: Likewise. |
| * doc/hostconfig.texi: Likewise. |
| * doc/implement-c.texi: Likewise. |
| * doc/libgcc.texi: Likewise. |
| * doc/loop.texi: Likewise. |
| * doc/makefile.texi: Likewise. |
| * doc/options.texi: Likewise. |
| * doc/passes.texi: Likewise. |
| * doc/rtl.texi: Likewise. |
| * doc/sourcebuild.texi: Likewise. |
| * doc/standards.texi: Likewise. |
| * doc/tree-ssa.texi: Likewise. |
| * doc/trouble.texi: Likewise. |
| |
| * doc/extend.texi: Use @: or add comma where appropriate. |
| * doc/invoke.texi: Likewise. |
| * doc/tm.texi: Likewise. |
| |
| 2008-02-14 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/34393 |
| * config/rs6000/rs6000.md (restore_stack_block): Force operands[1] |
| to a reg. |
| |
| 2008-02-14 Jesper Nilsson <jesper.nilsson@axis.com> |
| |
| * doc/md.texi (clz, ctz): Add reference. |
| * doc/rtl.texi (clz, ctz): Likewise. |
| |
| 2008-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR other/35148 |
| * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of |
| srcdir. |
| |
| 2008-02-13 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (struct constant_pool): New field |
| emit_pool_after added. |
| (s390_mainpool_start): Set the emit_pool_after flag according |
| to the section switch notes. |
| (s390_mainpool_finish): Consider emit_pool_after when emitting |
| the literal pool at the end of the function. |
| (s390_chunkify_start): Force literal pool splits at section |
| switch notes. |
| |
| 2008-02-13 Michael Matz <matz@suse.de> |
| |
| PR debug/35065 |
| * var-tracking.c (clobber_variable_part): Correctly traverse the |
| list. |
| |
| 2008-02-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| PR 29673 |
| * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined. |
| Add -fdump-ipa-inline. |
| * tree-dump.c (dump_files): Remove tree-inlined dump. |
| * tree-pass.h (tree_dump_index): Remove TDI_inlined. |
| |
| 2008-02-12 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/35171 |
| * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with |
| default defs. |
| |
| 2008-02-12 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35163 |
| * fold-const.c (fold_widened_comparison): Use get_unwidened in |
| value-preserving mode. Disallow final truncation. |
| |
| 2008-02-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/35136 |
| * gimplify.c (force_gimple_operand_bsi): Move SSA renaming |
| code from here to... |
| (force_gimple_operand): ...here. |
| |
| 2008-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/35144 |
| * tree-sra.c (sra_build_assignment): fold_convert SRC if copying |
| non-compatible pointers. |
| (generate_element_copy): If SRC and DST are RECORD_TYPEs with |
| different FIELD_DECLs, try harder by comparing field offsets, sizes |
| and types. |
| |
| PR inline-asm/35160 |
| * function.c (match_asm_constraints_1): Don't replace the same input |
| multiple times. |
| |
| 2008-02-12 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (AVR_HAVE_RAMPZ): Define. |
| * config/avr/avr.c (expand_prologue): Save RAMPZ register. |
| (expand_epilogue): Restore RAMPZ register. |
| * config/avr/avr.md (RAMPZ_ADDR): New constant. |
| |
| 2008-02-11 Kai Tietz <kai.tietz@onevision.com> |
| |
| * config/i386/cygwin.asm: (__alloca): Correct calling |
| convention and alignment. |
| (__chkstk): Force 8 byte stack alignment. |
| |
| 2008-02-11 Uros Bizjak <ubizjak@gmail.com> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/33992 |
| * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of |
| the zero we compare against. |
| |
| 2008-02-10 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR libfortran/35063 |
| * gthr-win32.h (__gthread_mutex_destroy_function): New function |
| to CloseHandle after unlocking to prevent accumulation of handle |
| count. |
| |
| 2008-02-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle_end/34150 |
| * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a |
| pic_label_operand source. Similarly, add a REG_LABEL_OPERAND note |
| and update LABEL_NUSES during and after reload. |
| |
| 2008-02-08 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| PR middle-end/34627 |
| * combine.c (simplify_if_then_else): Make sure the comparison is |
| against const0_rtx when simplifying to (abs x) or (neg (abs X)). |
| |
| 2008-02-08 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR bootstrap/35051 |
| * double-int.h: Don't include gmp.h for GENERATOR_FILEs. |
| (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs. |
| * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs. |
| (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs. |
| * tree.h (get_type_static_bounds): Likewise. |
| |
| 2008-02-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| * doc/invoke.texi (Option Summary, C++ Dialect Options) |
| (Objective-C and Objective-C++ Dialect Options, Warning Options): |
| Make -Wfoo language annotations match what the compiler outputs. |
| |
| 2008-02-08 Sa Liu <saliu@de.ibm.com> |
| |
| * config/spu/spu-builtins.def: Fixed wrong parameter type in spu |
| intrinsics spu_convts, spu_convtu, spu_convtf. |
| * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages. |
| |
| 2008-02-08 Hans-Peter Nilsson <hp@axis.com> |
| |
| * doc/extend.texi (Function Attributes) <noinline>: Mention |
| asm ("") as method to keep calls. |
| |
| 2008-02-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| PR other/32754 |
| * doc/options.texi (Options): Replace references to opts.sh with |
| optc-gen.awk. |
| * opts-common.c: Likewise. |
| * optc-gen.awk: Likewise. |
| |
| 2008-02-07 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit. |
| |
| 2008-02-07 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/33410 |
| * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an |
| EXPR_LIST for the REG_EQUAL instead of a comparison with a |
| funny mode. |
| |
| 2008-02-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR tree-optimization/35085 |
| * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update |
| for operand entry oe2 in addition to operand entry oe3 in order to |
| expose more opportunities for vectorizer sum reduction. |
| |
| 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| PR other/35107 |
| * Makefile.in (LIBS): Remove $(GMPLIBS). |
| (cc1-dummy, cc1): Add $(GMPLIBS). |
| |
| 2008-02-06 Jan Hubicka <jh@suse.cz> |
| |
| PR target/23322 |
| * i386.md (moddf_integer): Do not produce partial memory stalls for |
| targets where it hurts. |
| |
| 2008-02-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/35083 |
| * optabs.c (expand_float): Do not check for decimal modes when |
| expanding unsigned integer through signed conversion. |
| |
| 2008-02-06 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup |
| inside the clobber with a match_operand and duplicated operand |
| number in the constraint. |
| (ineqbranchsi): Delete redundant comment. |
| |
| 2008-02-06 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add |
| builtin_define ("__USE_INIT_FINI__"). |
| * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add |
| -msx multilibs. |
| * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT. |
| |
| 2008-02-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR documentation/30330 |
| * doc/invoke.texi (C++ Dialect Options) |
| (Objective-C and Objective-C++ Dialect Options, Warning Options): |
| For each warning option -Wfoo that allows -Wno-foo, ensure both |
| -Wfoo and -Wno-foo are listed in the option index. Fix index |
| entry of -Wswitch-default, index -Wnormalized= including the |
| `=', and -Wlarger-than-@var{len} including @var{len}. |
| |
| 2008-02-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (floatunssisf2): Use |
| ix86_expand_convert_uns_sisf_sse also for TARGET_SSE. |
| (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2. |
| Macroize expander using MODEF mode iterator. |
| |
| 2008-02-05 Diego Novillo <dnovillo@google.com> |
| |
| http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html |
| |
| PR 33738 |
| * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738. |
| |
| 2008-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| PR other/35070 |
| * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings. |
| |
| 2008-02-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/35084 |
| * config/i386/i386.c (ix86_function_sseregparm): Add an arg |
| to indicate if a message should be generated. |
| (init_cumulative_args): Updated. |
| (function_value_32): Likewise. |
| |
| 2008-02-05 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/include/texinfo.tex: Update to version 2008-02-04.16. |
| |
| 2008-02-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/35083 |
| * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only. |
| Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2. |
| |
| 2008-02-04 Diego Novillo <dnovillo@google.com> |
| |
| http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html |
| |
| PR 33738 |
| * tree-vrp.c (vrp_evaluate_conditional): With |
| -Wtype-limits, emit a warning when comparing against a |
| constant outside the natural range of OP0's type. |
| |
| 2008-02-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/33631 |
| * expr.c (count_type_elements): Give for unions instead of |
| guessing. |
| |
| 2008-02-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35043 |
| * gimplify.c (gimplify_init_ctor_eval): Convert array indices |
| to TYPE_DOMAINs base type instead of using bitsizetype here. |
| |
| 2008-02-03 Jason Merrill <jason@redhat.com> |
| |
| * print-tree.c (print_node) [CONSTRUCTOR]: Print elements. |
| |
| 2008-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
| |
| PR other/29972 |
| * doc/invoke.texi (C++ Dialect Options, Optimize Options) |
| (HPPA Options, i386 and x86-64 Options, IA-64 Options) |
| (RS/6000 and PowerPC Options): Fix typos and markup. |
| * doc/passes.texi (Tree-SSA passes): Likewise. |
| |
| 2008-02-02 Michael Matz <matz@suse.de> |
| |
| PR target/35045 |
| * postreload-gcse.c (record_last_reg_set_info_regno): Renamed |
| from record_last_reg_set_info. |
| (record_last_reg_set_info): Take an RTX argument, iterate over all |
| constituent hardregs. |
| (record_last_set_info, record_opr_changes): Change calls to |
| new signature or to record_last_reg_set_info_regno. |
| |
| 2008-02-02 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (X86 Built-in Functions): Fix grammar. |
| |
| 2008-02-01 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR rtl-optimization/34773 |
| * reg-notes.def (EQUAL): Mention significance of combination of |
| REG_EQUAL and REG_RETVAL. |
| * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an |
| insn that has a REG_RETVAL. |
| |
| 2008-02-01 Roger Sayle <roger@eyesopen.com> |
| |
| PR bootstrap/33781 |
| * configure.ac (--enable-fixed-point): Disable unless explicitly |
| requested on IRIX. |
| * configure: Regenerate. |
| |
| 2008-02-01 Richard Guenther <rguenther@suse.de> |
| |
| PR other/35042 |
| * invoke.texi (-finline-limit): Remove no longer true parts |
| of the documentation. Note that there is no default value. |
| |
| 2008-02-01 Andrew Pinski <pinskia@gmail.com> |
| Mark Mitchell <mark@codesourcery.com> |
| Ben Elliston <bje@au.ibm.com> |
| |
| PR c/29326 |
| * doc/extend.texi (Other Builtins): Document. |
| |
| 2008-01-31 Tom Browder <tom.browder@gmail.com> |
| |
| * doc/c-tree.texi (Types): Fix grammar. |
| (Expression trees): Ditto. |
| * doc/passes.texi (Tree-SSA passes): Ditto. |
| |
| * doc/configterms.texi (Configure Terms): Fix typo. |
| * doc/cpp.texi (Common Predefined Macros): Ditto. |
| * doc/md.texi (Machine Constraints): Ditto. |
| |
| * doc/makefile.texi (Makefile): Add comma. |
| |
| 2008-01-31 Tom Browder <tom.browder@gmail.com> |
| Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/sourcebuild.texi (Front End): Remove references to CVS |
| and CVSROOT/modules. |
| (Texinfo Manuals): Replace reference to CVS by one to SVN. |
| (Back End): Remove reference to CVS. |
| |
| 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR target/34900 |
| * config/mips/mips.c (gen_load_const_gp): New function, taking a |
| comment from... |
| (mips16_gp_pseudo_reg): ...here. |
| * config/mips/mips.md (load_const_gp): Replace with... |
| (load_const_gp_<mode>): ...this :P-based insn. |
| |
| 2008-01-31 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| * doc/invoke.texi (-ansi): Mention explicitly corresponding -std= |
| options. Minor fixes. |
| (-std): Move reference to standards closer to where language |
| standards are first mentioned. |
| |
| 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR rtl-optimization/34995 |
| * reload.c (alternative_allows_const_pool_ref): Take an rtx |
| parameter and return a bool. If the rtx parameter is nonnull, |
| check that it satisfies an EXTRA_MEMORY_CONSTRAINT. |
| (find_reloads): Update call accordingly. Pass the new operand |
| if it needed no address reloads, otherwise pass null. |
| |
| 2008-01-30 Richard Henderson <rth@redhat.com> |
| |
| PR c/34993 |
| * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN |
| for unbounded arrays. |
| |
| 2008-01-30 Silvius Rus <rus@google.com> |
| |
| * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg. |
| |
| 2008-01-30 Jan Hubicka <jh@suse.cz> |
| |
| PR target/34982 |
| * i386.c (init_cumulative_args): Use real function declaration when |
| calling locally. |
| |
| 2008-01-30 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR rtl-optimization/34998 |
| * global.c (build_insn_chain): Treat non-subreg_lowpart |
| SUBREGs of pseudos as clobbering all the words covered by the |
| SUBREG, not just all the bytes. |
| * ra-conflict.c (clear_reg_in_live): Likewise. Take the |
| original df_ref rather than an extract parameter. |
| (global_conflicts): Update call accordingly. |
| |
| 2008-01-30 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange |
| the overflow check to make it easier to read. |
| (__fixtfdi): Change the type of the ll member in union |
| long_double to UDItype_x. |
| |
| 2008-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/34969 |
| * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype. |
| * cgraph.c (cgraph_update_edges_for_call_stmt): New function. |
| * tree-inline.c (fold_marked_statements): Call |
| cgraph_update_edges_for_call_stmt if folding a call statement. |
| * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for |
| debug_generic_stmt calls, reset it back afterwards. |
| |
| PR c/35017 |
| * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY |
| static decls. |
| * c-typeck.c (build_external_ref): Don't pedwarn about |
| static vars in current function's scope. |
| |
| 2008-01-29 Joseph Myers <joseph@codesourcery.com> |
| |
| * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation. |
| |
| 2008-01-29 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| PR c/35002 |
| * ipa-struct-reorg.c: Fix spelling. |
| * params.def: Ditto. |
| |
| 2008-01-29 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/35006 |
| * tree-inline.h (struct copy_body_data): Add remapping_type_depth |
| field. |
| * tree-inline.c (remap_type): Increment remapping_type_depth |
| around remapping types. |
| (copy_body_r): Only add referenced variables if they are referenced |
| from code, not types. |
| |
| 2008-01-29 Douglas Gregor <doug.gregor@gmail.com> |
| |
| PR c++/34055 |
| PR c++/34103 |
| PR c++/34219 |
| PR c++/34606 |
| PR c++/34753 |
| PR c++/34754 |
| PR c++/34755 |
| PR c++/34919 |
| PR c++/34961 |
| * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print |
| qualifiers for an ERROR_MARK_NODE or a NULL_TREE. |
| |
| 2008-01-28 Andy Hutchinson <hutchinsonandy@netscape.net> |
| |
| PR target/34412 |
| * config/avr/avr.c (expand_prologue): Use correct QI mode frame |
| pointer for tiny stack. |
| |
| 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording. |
| |
| 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * config/vx-common.h: Fix typo in comment. |
| |
| 2008-01-28 Ian Lance Taylor <iant@google.com> |
| |
| PR c++/34862 |
| PR c++/33407 |
| * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't |
| coalesce pointers if they have different DECL_NO_TBAA_P values. |
| * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies |
| between variables with different DECL_NO_TBAA_P values. |
| |
| 2008-01-28 Nathan Froyd <froydnj@codesourcery.com> |
| |
| PR 31535 |
| * config/rs6000/rs6000.c (small_data_operand): Vectors and floats |
| are not legitimate small data references on SPE targets. |
| |
| 2008-01-28 David Daney <ddaney@avtrex.com> |
| |
| * doc/install.texi (mips-*-*): Recommend binutils 2.18. |
| |
| 2008-01-28 David Daney <ddaney@avtrex.com> |
| |
| * doc/install.texi (--disable-libgcj-bc): Reword documentation. |
| |
| 2008-01-27 Joseph Myers <joseph@codesourcery.com> |
| |
| * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*, |
| m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*, |
| *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*, |
| *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout, |
| hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*, |
| i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*, |
| i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*, |
| vax-*-bsd*, vax-*-ultrix*): Mark obsolete. |
| |
| 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * basic-block.h (condjump_equiv_p): Fix comment. |
| |
| 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * tree-pretty-print.c (print_generic_decl, print_generic_stmt, |
| print_generic_stmt_indented): Fix comment. |
| |
| 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * configure.ac (__stack_chk_fail): Add detecion for availability |
| of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined. |
| * configure: Regenerate. |
| |
| 2008-01-26 Maxim Kuvyrkov <maxim@codesourcery.com> |
| |
| PR middle-end/34688 |
| * final.c (output_addr_const): Handle TRUNCATE. |
| |
| 2008-01-26 Zdenek Dvorak <ook@ucw.cz> |
| |
| PR target/34711 |
| * tree-ssa-loop-ivopts.c (comp_cost): New type. |
| (zero_cost, infinite_cost): New constants. |
| (struct cost_pair): Change type of cost to comp_cost. |
| (struct iv_ca): Change type of cand_use_cost and cost to comp_cost. |
| (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p): |
| New functions. |
| (set_use_iv_cost, force_expr_to_var_cost, force_var_cost, |
| split_address_cost, ptr_difference_cost, difference_cost, |
| get_computation_cost_at, get_computation_cost, |
| determine_use_iv_cost_generic, determine_use_iv_cost_address, |
| determine_use_iv_cost_condition, determine_use_iv_costs, |
| cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp, |
| iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend, |
| iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set): |
| Change type of cost to comp_cost. |
| (determine_iv_cost): Increase cost of non-original ivs, instead |
| of decreasing the cost of original ones. |
| (get_address_cost): Indicate the complexity of the addressing mode |
| in comp_cost. |
| (try_add_cand_for): Prefer using ivs not specific to some object. |
| * tree-flow.h (force_expr_to_var_cost): Declaration removed. |
| |
| 2008-01-26 Peter Bergner <bergner@vnet.ibm.com> |
| Janis Johnson <janis187@us.ibm.com> |
| |
| PR target/34814 |
| * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document. |
| (TARGET_INSTANTIATE_DECLS): Likewise. |
| * target.h (expand_to_rtl_hook): New target hook. |
| (instantiate_decls): Likewise. |
| * function.c (instantiate_decl): Make non-static. Rename to... |
| (instantiate_decl_rtl): ... this. |
| (instantiate_expr): Use instantiate_decl_rtl. |
| (instantiate_decls_1): Likewise. |
| (instantiate_decls): Likewise. |
| (instantiate_virtual_regs: Call new instantiate_decls taget hook. |
| * function.h (instantiate_decl_rtl): Add prototype. |
| * cfgexpand.c (target.h): New include. |
| (tree_expand_cfg): Call new expand_to_rtl_hook target hook. |
| * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define. |
| (TARGET_INSTANTIATE_DECLS): Likewise. |
| (TARGET_INITIALIZER): New target hooks added. |
| * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx): |
| New prototype. |
| * config/rs6000/rs6000.c (tree-flow.h): New include. |
| (machine_function): Add sdmode_stack_slot field. |
| (rs6000_alloc_sdmode_stack_slot): New function. |
| (rs6000_instantiate_decls): Likewise. |
| (rs6000_secondary_memory_needed_rtx): Likewise. |
| (rs6000_check_sdmode): Likewise. |
| (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined. |
| (TARGET_INSTANTIATE_DECLS): Likewise. |
| (rs6000_hard_regno_mode_ok): Allow SDmode. |
| (num_insns_constant): Likewise. Handle _Decimal32 constants. |
| (rs6000_emit_move): Handle SDmode. |
| (function_arg_advance): Likewise. |
| (function_arg): Likewise. |
| (rs6000_gimplify_va_arg): Likewise. Add special handling of |
| SDmode var args for 32-bit compiles. |
| (rs6000_secondary_reload_class): Handle SDmode. |
| (rs6000_output_function_epilogue): Likewise. |
| (rs6000_function_value): Simplify if statement. |
| (rs6000_libcall_value): Likewise. |
| * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode. |
| (SECONDARY_MEMORY_NEEDED_RTX): Add define. |
| * config/rs6000/dfp.md (movsd): New define_expand and splitter. |
| (movsd_hardfloat): New define_insn. |
| (movsd_softfloat): Likewise. |
| (movsd_store): Likewise. |
| (movsd_load): Likewise. |
| (extendsddd2): Likewise. |
| (extendsdtd2): Likewise. |
| (truncddsd2): Likewise. |
| (movdd_hardfloat64): Fixup comment. |
| (UNSPEC_MOVSD_LOAD): New constant. |
| (UNSPEC_MOVSD_STORE): Likewise. |
| |
| 2008-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/34965 |
| * c-pretty-print.c (pp_c_exclusive_or_expression): Handle |
| TRUTH_XOR_EXPR. |
| (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR. |
| (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR. |
| (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR |
| and TRUTH_XOR_EXPR. |
| |
| 2008-01-26 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/34794 |
| * config.gcc: Separate AIX 5.3 from AIX 6.1. |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define |
| __LONGDOUBLE128 too. |
| * config/rs6000/aix61.h: New file. |
| |
| 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR rtl-optimization/34959 |
| * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz, |
| popcount and parity rtxes the same mode as their operand. |
| Truncate or extend the result to the return value's mode |
| if necessary. |
| |
| 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR target/34981 |
| * config/mips/mips-protos.h (mips_expand_call): Return an rtx. |
| * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO |
| to GOT_VERSION_REGNUM. |
| (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0. |
| (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT. |
| * config/mips/mips.c (mips_emit_call_insn): New function. |
| (mips_call_tls_get_addr): Call mips_expand_call directly. |
| (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than |
| emit_call_insn. |
| (mips16_build_call_stub): Likewise. Return the call insn or null. |
| (mips_expand_call): Update the call to mips16_build_call_stub |
| accordingly and a remove redundant condition. Assert that MIPS16 |
| stubs do not use lazy binding. Use mips_emit_call_insn and return |
| the call insn. |
| (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if |
| TARGET_USE_GOT. |
| (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM. |
| (mips_avoid_hazard): Remove hazard_set handling. |
| * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to... |
| (UNSPEC_RESTORE_GP): ...this. |
| (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants. |
| (FAKE_CALL_REGNO): Rename to... |
| (GOT_VERSION_REGNUM): ...this. |
| (type): Add "ghost" value. Add an associated insn reservation. |
| (hazard_set): Remove. |
| (exception_receiver): Rename to... |
| (restore_gp): ...this and update the unspec identifier accordingly. |
| (exception_receiver, nonlocal_got_receiver): New expanders. |
| (load_call<mode>): Use GOT_VERSION_REGNUM. Don't set |
| FAKE_CALL_REGNO. Remove hazard_set attribute. |
| (set_got_version, update_got_version): New patterns. |
| |
| 2008-01-26 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/34970 |
| * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define. |
| |
| 2008-01-25 Joseph Myers <joseph@codesourcery.com> |
| |
| PR other/31955 |
| * doc/install.texi2html: Generate gcc-vers.texi. |
| |
| 2008-01-25 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. |
| |
| 2008-01-25 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/c4x: Remove directory. |
| * config.gcc (crx-*, mt-*): Mark obsolete. |
| (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*, |
| h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*, |
| sh-*-rtemscoff*): Remove cases. |
| * defaults.h (C4X_FLOAT_FORMAT): Remove. |
| * real.c (encode_c4x_single, decode_c4x_single, |
| encode_c4x_extended, decode_c4x_extended, c4x_single_format, |
| c4x_extended_format): Remove. |
| * real.h (c4x_single_format, c4x_extended_format): Remove. |
| * doc/extend.texi (interrupt, naked): Remove mention of attributes |
| on C4x. |
| (Pragmas): Remove comment about c4x pragmas. |
| * doc/install.texi (c4x): Remove target-specific instructions. |
| * doc/invoke.texi (TMS320C3x/C4x Options): Remove. |
| * doc/md.texi (Machine Constraints): Remove C4x documentation. |
| * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not |
| refer to C4x source files as examples. |
| (C4X_FLOAT_FORMAT): Remove documentation. |
| |
| 2008-01-25 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/bfin.c (override_options): Reorder tests so that |
| flag_pic gets enabled for -msep-data. |
| |
| 2008-01-25 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/32244 |
| * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR |
| to its bitfield precision if required. |
| |
| 2008-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/33880 |
| * tree-nested.c (walk_omp_for): New function. |
| (convert_nonlocal_reference, convert_local_reference): Call |
| walk_omp_for on OMP_FOR. |
| (convert_call_expr): Call walk_body on OMP_FOR's |
| OMP_FOR_PRE_INIT_BODY. |
| |
| 2008-01-25 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34966 |
| * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but |
| default defs and PHI_NODEs we have to insert after the |
| defining statement. |
| |
| 2008-01-24 Nick Clifton <nickc@redhat.com> |
| |
| * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD): |
| Provide a default definition. |
| (LIBGCC2_UNITS_PER_WORD): Likewise. |
| |
| * config/stormy16/stormy16.c: Include df.h for the prototype |
| for df_regs_ever_live_p. |
| (xstormy16_expand_builtin_va_start): Convert the stack offset |
| into a component_ref and then use POINTER_PLUS_EXPR to add it |
| to the incoming_virtual_args_rtx. |
| (xstormy16_gimplify_va_arg_expr): Rename to |
| xstormy16_gimplify_va_arg_expr. |
| Use POINTER_PLUS_EXPR when performing pointer arithmetic. |
| (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed |
| xstormy16_gimplify_va_arg_expr. |
| Fix up some formatting issues. |
| |
| * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand): |
| Move to predicates.md. |
| (xs_hi_general_operand): Likewise. |
| (xs_hi_nonmemory_operand): Likewise. |
| * config/stormy16/predicates.md: |
| (xstormy16_carry_plus_operand): New predicate. |
| (xs_hi_general_operand): New predicate. |
| (xs_hi_nonmemory_operand): New predicate. |
| * config/stormy16/stormy16-protos.h: |
| (xstormy16_carry_plus_operand): Delete prototype. |
| (xs_hi_general_operand): Likewise. |
| (xs_hi_nonmemory_operand): Likewise. |
| |
| * config/storm16/stormy16.md (addhi3): Remove earlyclobber |
| modifiers as they are no longer needed and they can trigger |
| reload spill failures. |
| |
| * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup |
| with a match_operand in order to help reload. |
| |
| * config/storm16/stormy16.md (movhi_internal): Replace 'r' |
| constraint with 'e' for the 8th alternative as this version of |
| the mov.w instruction only accepts the lower 8 registers. |
| |
| 2008-01-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/34856 |
| * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]: |
| Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant |
| vector elements. |
| |
| 2008-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/33333 |
| * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY. |
| |
| 2008-01-25 Golovanevsky Olga <olga@il.ibm.com> |
| |
| * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs): |
| New functions. |
| (remove_structure): Update allocations list before removing structure. |
| |
| 2008-01-25 Golovanevsky Olga <olga@il.ibm.com> |
| |
| * ipa-struct-reorg.c (is_safe_cond_expr, |
| create_new_stmts_for_cond_expr): Use integer_zerop function, |
| that recognize not only zero-pointer, but zero-integer too. |
| |
| 2008-01-25 Ben Elliston <bje@au.ibm.com> |
| |
| PR other/22232 |
| * fixproto: Escape "." in sed expression that strips leading "./". |
| |
| 2008-01-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR driver/34904 |
| * gcc.c (SWITCH_OK): Removed. |
| (SWITCH_LIVE): Changed to bit. |
| (SWITCH_FALSE): Likewise. |
| (SWITCH_IGNORE): Likewise. |
| (switchstr): Change live_cond to unsigned int. |
| (process_command): Replace SWITCH_OK with 0. |
| (do_self_spec): Likewise. |
| (set_collect_gcc_options): Check the SWITCH_IGNORE bit. |
| (give_switch): Likewise. |
| (used_arg): Likewise. |
| (do_spec_1): Set the SWITCH_IGNORE bit. |
| (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE |
| bits. Set the SWITCH_LIVE bit. |
| |
| 2008-01-24 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.h (MOVE_RATIO): Define new target macro. |
| |
| 2008-01-24 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR tree-optimization/34472 |
| * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA |
| parameter to a "bool *" and set *DATA to false if there is |
| an unsafe access. Do not delete the structure here. |
| (check_cond_exprs): Delete it here instead. |
| (check_cond_exprs, exclude_cold_structs): Do not increase |
| I when removing a structure. |
| |
| 2008-01-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/34856 |
| * config/i386/i386.c (ix86_expand_vector_init): Consider only |
| CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements. |
| |
| 2008-01-24 Jakub Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/34934 |
| * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of |
| a fixed vector for stack. |
| |
| 2008-01-24 Ben Elliston <bje@au.ibm.com> |
| |
| PR c++/25701 |
| * doc/gcc.texi (Software development): Add a direntry for g++. |
| |
| 2008-01-23 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop |
| stale and straggling -fforce-addr comments above. |
| |
| * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't |
| define. |
| * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define. |
| * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define. |
| |
| 2008-01-23 Michael Matz <matz@suse.de> |
| |
| PR debug/34895 |
| * dwarf2out.c (force_type_die): Use modified_type_die instead of |
| gen_type_die. |
| |
| 2008-01-23 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * ipa-struct-reorg.c (create_new_malloc): Use pointer type as |
| malloc result type. |
| |
| 2008-01-23 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.c (avr_current_arch): New variable. |
| (avr_arch_types): Add 'avr31' and 'avr51' entries. |
| (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'. |
| (avr_mcu_types): Add 'avr31' and 'avr51' architectures. |
| (avr_override_options): Init 'avr_current_arch'. |
| (base_arch_s): Move from here... |
| * config/avr/avr.h (base_arch_s): ... here. Add new members |
| 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename |
| 'mega' to 'have_jmp_call'. |
| (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", |
| "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__" |
| macros. |
| (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' |
| architectures. |
| * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, |
| MULTILIB_MATCHES): (Ditto.). |
| |
| 2008-01-23 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/31529 |
| * cgraphunit.c (cgraph_reset_node): Always mark the node |
| not reachable if it is not queued already. |
| |
| 2008-01-23 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros. |
| * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere. |
| (cputype_selected): New static variable. |
| (bfin_handle_option): Set it if -mcpu is used. |
| (override_option): Select default set of workarounds if no cpu type |
| selected on the command line. |
| (workaround_rts_anomaly): Only run if ENABLE_WA_RETS. |
| |
| From Michael Frysinger <michael.frysinger@analog.com> |
| * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add |
| BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526. |
| |
| * config/bfin/elf.h (LIB_SPEC): Use proper linker script |
| for bf547, bf523, bf524, and bf526. |
| * config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and |
| bf526. |
| * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define |
| __ADSPBF523__ for bf523, __ADSPBF524__ for bf524, |
| __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as |
| __ADSPBF547__ and __ADSPBF54x__ for bf547. |
| * doc/invoke.texi (Blackfin Options): Document that |
| -mcpu now accept bf547, bf523, bf524, and bf526. |
| |
| 2008-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/34628 |
| * combine.c (try_combine): Stop and undo after the first combination |
| if an autoincrement side-effect on the first insn has effectively |
| been lost. |
| |
| 2008-01-22 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/34529 |
| * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): |
| Offset addresses are not valid for Altivec or paired float modes. |
| |
| 2008-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/34607 |
| * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for |
| if DECL_INITIAL (decl) is error_mark_node. |
| |
| PR c++/34914 |
| * c-common.c (handle_vector_size_attribute): Only allow |
| integral, scalar float and fixed point types. Handle OFFSET_TYPE |
| the same way as pointer, array etc. types. |
| * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE. |
| |
| PR c++/34917 |
| * tree.c (build_type_attribute_qual_variant): Call |
| build_qualified_type if attributes are equal, but quals are not. |
| |
| 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| PR 32102 |
| * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1. |
| * flags.h (warn_strict_aliasing): Remove. |
| (warn_strict_overflow): Remove. |
| * opts.c (warn_strict_aliasing): Remove. |
| (warn_strict_overflow): Remove. |
| * c-opts.c (c_common_handle_option): -Wall only sets |
| -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized. |
| (c_common_post_options): Give default values to -Wstrict-aliasing |
| and -Wstrict-overflow if they are uninitialized. |
| * common.opt (Wstrict-aliasing): Specify Var and Init. |
| (Wstrict-overflow): Likewise. |
| |
| 2008-01-22 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| PR rtl-optimization/26854 |
| PR rtl-optimization/34400 |
| PR rtl-optimization/34884 |
| * ddg.c (create_ddg_dep_from_intra_loop_link): Use |
| DF_RD->gen. |
| * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted |
| (df_rd_bb_info.expanded_lr_out): Deleted |
| * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag. |
| * loop_iv.c (iv_analysis_loop_init): Ditto. * df-problems.c |
| (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n, |
| df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free): |
| Removed code to allocate, initialize or free expanded_lr_out. |
| (df_rd_bb_local_compute_process_def): Restructured to make more |
| understandable. |
| (df_rd_confluence_n): Removed code to no apply invalidate_by_call |
| sets if the sets are being trimmed. |
| |
| 2008-01-22 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR bootstrap/32287 |
| * configure.ac (ld_vers): Support GNU linker version xx.xx.* |
| (as_vers): Likewise. |
| * configure: Regenerated. |
| |
| 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| PR middle-end/33092 |
| * tree-pass.h (pass_build_alias): New pass. |
| * tree-ssa-alias.c (gate_build_alias): New. |
| (pass_build_alias): New. |
| * passes.c (init_optimization_passes): Add pass_build_alias after |
| pass_create_structure_vars. |
| |
| 2008-01-22 Wolfgang Gellerich <gellerich@de.ibm.com> |
| |
| * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER): |
| Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER. |
| (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to |
| S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER. |
| (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to |
| S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER. |
| (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to |
| S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER. |
| (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant. |
| (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant. |
| (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant. |
| (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant. |
| * config/s390/s390.md (FP_ALL): New mode iterator. |
| (_d): New mode attribute. |
| ("*signbit<mode>2>"): Changed mode of first operand. |
| ("isinf<mode>2"): Changed mode of first operand. |
| ("*TDC_insn"): Adaptation for DFP modes. |
| |
| 2008-01-22 Ben Elliston <bje@au.ibm.com> |
| |
| * tree.c (check_qualified_type): Improve function description. |
| |
| 2008-01-21 Jason Merrill <jason@redhat.com> |
| |
| PR c++/34196 |
| * tree.h (TRY_CATCH_IS_CLEANUP): New macro. |
| * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR |
| if it is set. |
| |
| 2008-01-21 DJ Delorie <dj@redhat.com> |
| |
| * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not |
| return zero. |
| |
| 2008-01-21 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34856 |
| * tree-cfg.c (verify_expr): Allow all invariant expressions |
| instead of just constant class ones as reference argument. |
| * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR |
| like any other constant. |
| * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise. |
| |
| 2008-01-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * regmove.c (fixup_match_1): Update call crossed frequencies. |
| |
| 2008-01-21 Richard Guenther <rguenther@suse.de> |
| |
| PR c/34885 |
| * tree-inline.c (setup_one_parameter): Deal with mismatched |
| types using a VIEW_CONVERT_EXPR. |
| |
| 2008-01-21 Alon Dayan <alond@il.ibm.com> |
| Olga Golovanevsky <olga@il.ibm.com> |
| |
| PR tree-optimization/34701 |
| * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation |
| when the structure size is not a power of 2. |
| |
| 2008-01-20 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| * doc/install.texi: Add doc for --enable-checking=df. |
| |
| 2008-01-20 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR rtl-optimization/34808 |
| * emit-rtl.c (try_split): Handle REG_RETVAL notes. |
| |
| 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per |
| input. |
| |
| 2008-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> |
| |
| PR rtl-optimization/26854 |
| PR rtl-optimization/34400 |
| * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use |
| DF_RD->gen. |
| * df.h (df_changeable_flags.DF_RD_NO_TRIM): New. |
| (df_rd_bb_info.expanded_lr_out): New. |
| * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag. |
| * loop_iv.c (iv_analysis_loop_init): Ditto. |
| * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n, |
| df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free): |
| Added code to allocate, initialize or free expanded_lr_out. |
| (df_rd_bb_local_compute_process_def): Restructured to make |
| more understandable. |
| (df_rd_confluence_n): Add code to do nothing with fake edges and |
| code to no apply invalidate_by_call sets if the sets are being trimmed. |
| (df_lr_local_finalize): Renamed to df_lr_finalize. |
| (df_live_local_finalize): Renamed to df_live_finalize. |
| |
| 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| PR target/34831 |
| * config/mips/mips.md (div<mode>3): Use <recip_condition> when |
| deciding whether to use reciprocal instructions. |
| |
| 2008-01-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * dwarf2out.c (dwarf2out_switch_text_section): Do not call |
| dwarf2out_note_section_used if cold_text_section is NULL. |
| |
| 2008-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR gcov-profile/34610 |
| * tree-cfg.c (make_edges): Mark both outgoing edges from |
| OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL. |
| * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits |
| from OMP_FOR and OMP_CONTINUE outgoing edges. |
| |
| * tree-profile.c (tree_profiling): Return early if |
| cfun->after_tree_profile != 0. Set cfun->after_tree_profile |
| at the end. |
| * omp-low.c (expand_omp_parallel): Copy after_tree_profile |
| from cfun to child_cfun. |
| * function.h (struct function): Add after_tree_profile bit. |
| |
| 2008-01-19 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.S (_exit): Disable interrupt. |
| |
| 2008-01-18 Kenneth Zadeck <zadeck@naturalbridge.com> |
| Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| PR rtl-optimization/26854 |
| PR rtl-optimization/34400 |
| * df-problems.c (df_live_scratch): New scratch bitmap. |
| (df_live_alloc): Allocate df_live_scratch when doing df_live. |
| (df_live_reset): Clear the proper bitmaps. |
| (df_live_bb_local_compute): Only process the artificial defs once |
| since the order is not important. |
| (df_live_init): Init the df_live sets only with the variables |
| found live by df_lr. |
| (df_live_transfer_function): Use the df_lr sets to prune the |
| df_live sets as they are being computed. |
| (df_live_free): Free df_live_scratch. |
| |
| 2008-01-18 Ian Lance Taylor <iant@google.com> |
| |
| * common.opt: Add fmerge-debug-strings. |
| * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test |
| flag_merge_debug_strings rather than flag_merge_constants. |
| * doc/invoke.texi (Option Summary): Mention |
| -fmerge-debug-strings. |
| (Debugging Options): Document -fmerge-debug-strings. |
| |
| 2008-01-18 Ian Lance Taylor <iant@google.com> |
| |
| PR c++/33407 |
| * tree.h (DECL_IS_OPERATOR_NEW): Define. |
| (struct tree_function_decl): Add new field operator_new_flag. |
| * tree-inline.c (expand_call_inline): When inlining a call to |
| operator new, force the return value to go into a variable, and |
| set DECL_NO_TBAA_P on that variable. |
| * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag. |
| |
| 2008-01-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR debug/34484 |
| * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with |
| DWARF2_DEBUGGING_INFO. |
| (dwarf2out_note_section_used): Ditto. Add prototype. |
| (have_multiple_function_sections, text_section_used, |
| cold_text_section_used, *cold_text_sections): Move declarations |
| before their uses. |
| |
| 2008-01-17 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc |
| field and add signal_ra. |
| * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove |
| assignments to frame state pc. Move end of stack check after |
| MD_FALLBACK_FRAME_STATE_FOR. |
| (uw_update_context_1): Use frame state signal_regs if set, instead |
| of checking signal_frame flag. |
| (uw_update_context): Use frame state signal_ra if set. |
| * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define. |
| * config/xtensa/linux-unwind.h: New file. |
| |
| 2008-01-18 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * modulo-sched.c (get_sched_window): Fix comment typo. |
| |
| 2008-01-17 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/34648 |
| * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying. |
| |
| 2008-01-17 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around. |
| * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add. |
| |
| 2008-01-17 Seongbae Park <seongbae.park@gmail.com> |
| |
| PR rtl-optimization/34400 |
| * df-core.c (df_worklist_dataflow_overeager, |
| df_worklist_dataflow_doublequeue): New functions. |
| (df_worklist_dataflow): Two different worklist solvers. |
| * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR): |
| New param. |
| |
| 2008-01-16 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR testsuite/34821 |
| * doc/invoke.texi: Document the dependence on pthread for fopenmp |
| and ftree-parallelize-loops. |
| |
| 2008-01-17 Mircea Namolaru <namolaru@il.ibm.com> |
| |
| PR rtl-optimization/34826 |
| * loop-doloop (doloop_modify): Update the REG_BR_PROB note. |
| |
| 2008-01-17 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * global.c (find_reg): Mark the eh regs as used if necessary. |
| * ra-conflict.c (global_conflicts): Set no_eh_reg flag. |
| * ra.h (struct allocno): no_eh_reg field added. Changed |
| no_stack_reg type to bitfield. |
| |
| 2008-01-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.c (substitute_in_expr): Add missing 'break'. |
| |
| 2008-01-17 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34825 |
| * tree-ssa-math-opts.c (is_division_by): Do not recognize |
| x / x as division to handle. |
| |
| 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or |
| "-pthread" is specified. |
| * pa-hpux11.h (LIB_SPEC): Likewise. |
| |
| 2008-01-16 Janis Johnson <janis187@us.ibm.com> |
| Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR rtl-optimization/33796 |
| * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc. |
| |
| 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR libgfortran/34699 |
| * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on |
| static links. |
| * pa-hpux10.h (LINK_SPEC): Likewise. |
| * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1. |
| |
| 2008-01-16 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/32628 |
| * fold-const.c (fold_convert_const_int_from_int): Do not |
| set overflow if that occured only because of a sign extension |
| change when converting from/to a sizetype with the same |
| precision and signedness. |
| |
| 2008-01-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR debug/34249 |
| * dwarf2out.c (output_call_frame_info): Move output of FDE initial |
| location address to the correct place. Update copyright year. |
| |
| 2008-01-16 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * lambda-code.c (lambda_transform_legal_p): Handle the case of |
| no dependences in the dependence_relations vector. |
| |
| 2008-01-16 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl-optimization/31396 |
| * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED. |
| * cfg.c (dump_reg_info): Print it. |
| * regs.h (struct reg_info_t): add freq_calls_crossed. |
| (REG_FREQ_CALLS_CROSSED): New macro. |
| * global.c (global_alloc): Compute freq_calls_crossed for allocno. |
| (find_reg): Update call of CALLER_SAVE_PROFITABLE. |
| * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2, |
| regmove_optimize): Update call crossed frequencies. |
| * local-alloc.c (struct qty): Add freq_calls_crossed. |
| (alloc_qty): Copute freq_calls_crossed. |
| (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED. |
| (find_free_reg): Update call of CALLER_SAVE_PROFITABLE. |
| * ra.h (struct allocno): Add freq_calls_crossed. |
| |
| 2008-01-16 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for |
| libgomp when compiling with ftree-parallelize-loops. |
| (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops. |
| |
| 2008-01-16 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34769 |
| * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458. |
| * tree.c (int_cst_value): Instead make this function more |
| permissive in what it accepts as valid input. Document this |
| function always sign-extends the value. |
| |
| 2008-01-16 Jakub Jelinek <jakub@redhat.com> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR c/34668 |
| * gimplify.c (fold_indirect_ref_rhs): Rename to ... |
| (gimple_fold_indirect_ref_rhs): ... this. |
| (gimple_fold_indirect_ref): New function with foldings |
| that preserve lvalueness. |
| (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs. |
| * tree-flow.h (gimple_fold_indirect_ref): Declare. |
| * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref |
| to fold an INDIRECT_REF, fall back to the old use of |
| fold_indirect_ref_1. |
| |
| 2008-01-16 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-data-ref.c (subscript_dependence_tester_1): Call |
| free_conflict_function. |
| (compute_self_dependence): Same. |
| |
| 2008-01-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR debug/34249 |
| * debug.h (dwarf2out_switch_text_section): Move declaration from ... |
| * dwarf2out.c (dwarf2out_switch_text_section): ... here. Make |
| function global. |
| * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]: |
| Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section |
| for DWARF2_UNWIND_INFO targets. |
| |
| 2008-01-16 Richard Guenther <rguenther@suse.de> |
| |
| PR c/34768 |
| * c-typeck.c (common_pointer_type): Do not merge inconsistent |
| type qualifiers for function types. |
| |
| 2008-01-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for |
| loop_iterator li from previous commit. |
| |
| 2008-01-15 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-parloops.c (gen_parallel_loop): Free loop bound estimations. |
| |
| 2008-01-12 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New. |
| (parallelize_loops): Don't parallelize irreducible components. |
| |
| 2008-01-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| PR c++/24924 |
| * c-opts (c_common_post_options): Do not enable CPP |
| flag_pedantic_errors by default. |
| |
| 2008-01-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/31944 |
| * cse.c (remove_pseudo_from_table): New function. |
| (merge_equiv_classes): Use above function to remove pseudo-registers. |
| (invalidate): Likewise. |
| |
| 2008-01-13 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34601 |
| * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE |
| instead of TYPE_MODE to deal with calls from expand_one_error_var. |
| |
| 2008-01-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * gcse.c (cprop_jump): Call validate_unshare_change instead of |
| validate_change to unshare the source of the PC set. |
| |
| 2008-01-12 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/32135 |
| * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct |
| references above array bounds. This might trigger bounds checks for |
| pointers to arrays. |
| |
| 2008-01-12 Sebastian Pop <sebastian.pop@amd.com> |
| |
| * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and |
| new_replaceable_dependencies. |
| |
| 2008-01-12 Doug Kwan <dougkwan@google.com> |
| |
| * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers |
| instead of OPT_Wreturn_type in warning due to ignored return type |
| qualifiers. |
| * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to |
| options included in -Wextra. |
| * c.opt: New option -Wignored_qualifiers. |
| * doc/invoke.texi (Warning Options, -Wextra): Add new option |
| -Wignore_qualifiers. |
| (-Wignored-qualifiers): Document. |
| (-Wreturn-type): Remove description of functionality now handled |
| by -Wignored-qualifiers. |
| |
| 2008-01-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/33788 |
| * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing |
| NOP_EXPR if it is between integral types with the same precision. |
| |
| 2008-01-12 Jan Hubicka <jh@suse.cz> |
| |
| PR other/28023 |
| * invoke.texi (max-inline-recursive-depth): Fix default value. |
| |
| 2008-01-12 Zdenek Dvorak <ook@ucw.cz> |
| |
| * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the |
| correct type. |
| |
| 2008-01-11 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.c (override_options): Set flag_shlib. |
| |
| 2008-01-11 James E. Wilson <wilson@specifix.com> |
| |
| PR target/26015 |
| * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define. |
| |
| 2008-01-11 Anatoly Sokolov <aesok@post.ru> |
| |
| * config/avr/avr.c (expand_prologue, expand_epilogue): Don't |
| save/restore frame pointer register and don't use 'call-prologues' |
| optimization in function with "OS_task" attribute. |
| |
| 2008-01-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/31309 |
| * expr.c (copy_blkmode_from_reg): Use a mode suited to the size |
| when copying to memory. |
| |
| 2008-01-11 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| PR rtl-optimization/30905 |
| * cfgcleanup.c: Include dce.h |
| (crossjumps_occured): New global variable. |
| (try_crossjump_bb): Exit loop after finding a fallthru edge. |
| If something changed, set crossjumps_occured to true. |
| (try_optimize_cfg): Clear crossjumps_occured at the beginning. |
| Don't add/remove fake edges to exit here... |
| (cleanup_cfg): ...but do it here, when crossjumping. |
| Run a fast DCE when successful crossjumps occured in the latest |
| iteration of try_optimize_cfg. |
| |
| 2008-01-11 Richard Guenther <rguenther@suse.de> |
| |
| * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode. |
| (struct vn_unary_op_s): Likewise. |
| (vn_reference_insert): Free old reference on hash collision. |
| |
| 2008-01-10 Raksit Ashok <raksit@google.com> |
| |
| PR rtl-optimization/27971 |
| * combine.c (find_split_point): Split PLUS expressions which are |
| inside a MEM rtx, and whose first operand is complex. |
| |
| 2008-01-10 DJ Delorie <dj@redhat.com> |
| |
| * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from... |
| (m32c_hard_regno_nregs): ...this, which is now a wrapper. |
| (m32c_hard_regno_ok): Call the underlying function. |
| |
| 2008-01-10 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34683 |
| * tree-cfg.c (tree_merge_blocks): Do not go through the |
| full-blown folding and stmt updating path if we just deal |
| with virtual operands. |
| * tree-ssa-copy.c (may_propagate_copy): Do not short-cut |
| test for abnormal SSA_NAMEs. |
| |
| 2008-01-10 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| PR middle-end/34641 |
| * reload.c (push_reload): Add assertions. All constants from |
| reg_equiv_constant should have been used for replacing the respective |
| pseudo earlier. |
| (find_reloads_address): Invoke find_reloads_address_part for |
| constant taken from the reg_equiv_constant array. |
| |
| 2008-01-10 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed |
| field (valnum) the first in the struct. Replace bools with |
| unit bit fields. |
| |
| 2008-01-10 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34651 |
| * tree-sra.c (sra_build_assignment): Sanitize. Use the correct |
| types and ordering for masking and converting. |
| |
| 2008-01-09 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/34017 |
| * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code |
| also for PHI_NODE expressions. |
| |
| 2008-01-09 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/34708 |
| * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR |
| based on number of case labels. |
| (init_inline_once): Remove switch_cost. |
| * tree-inline.h (eni_weights_d): Remove switch_cost. |
| |
| 2008-01-09 Richard Guenther <rguenther@suse.de> |
| Andrew Pinski <andrew_pinski@playstation.sony.com> |
| |
| PR middle-end/30132 |
| * gimplify.c (gimplify_cond_expr): Do not create an addressable |
| temporary if an rvalue is ok or an lvalue is not required. |
| |
| 2008-01-09 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34458 |
| * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst, |
| adjust return type. |
| |
| 2008-01-09 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34679 |
| * tree.c (host_integerp): Check for sizetype only if the |
| type is an integer type. |
| |
| 2008-01-09 Steven Bosscher <stevenb.gcc@gmail.com> |
| |
| PR debug/26364 |
| * opts.c (decode_options): Disable inlining of functions called |
| once if not in unit-at-a-time mode. |
| |
| 2008-01-09 Alexandre Oliva <aoliva@redhat.com> |
| |
| * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency. |
| |
| 2008-01-08 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/31863 |
| * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail |
| out early if the result will be unused. |
| |
| 2008-01-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/34709 |
| Revert: |
| |
| 2008-01-05 Uros Bizjak <ubizjak@gmail.com> |
| * config/i386/i386.c (ix86_builtin_reciprocal): Remove check |
| for TARGET_RECIP. |
| |
| 2008-01-08 Jan Sjodin <jan.sjodin@amd.com> |
| |
| * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs |
| for vectorization tuned. |
| |
| 2008-01-08 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34683 |
| * tree-ssa-operands.c (operand_build_cmp): Export. |
| * tree-ssa-operands.h (operand_build_cmp): Declare. |
| * tree-vn.c (vuses_compare): Remove. |
| (sort_vuses): Use operand_build_cmp. |
| (sort_vuses_heap): Likewise. |
| * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc |
| to re-use old VEC if available. Do not sort already sorted VUSEs. |
| (vdefs_to_vec): Do not sort already sorted VDEFs. |
| |
| 2008-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/34694 |
| * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION. |
| |
| 2008-01-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/34702 |
| * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document |
| limitations of reciprocal sequences on x86 targets. |
| |
| 2008-01-08 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34683 |
| * tree-flow-inline.h (var_ann): Remove overzealous asserts. |
| |
| 2008-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/34622 |
| * config/darwin.c (darwin_mergeable_string_section): Don't use |
| .cstring if int_size_in_bytes != TREE_STRING_LENGTH. |
| |
| 2008-01-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/34682 |
| * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and |
| negxf2. Macroize expander using X87MODEF mode iterator. Change |
| predicates of op0 and op1 to register_operand. |
| (abs<mode>2): Rename from abssf2, absdf2 and negxf2. Macroize |
| expander using X87MODEF mode iterator. Change predicates of |
| op0 and op1 to register_operand. |
| ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from |
| corresponding patterns and macroize using MODEF macro. Change |
| predicates of op0 and op1 to register_operand and remove |
| "m" constraint. Disparage "r" alternative with "!". |
| ("*absneg<mode>2_i387"): Rename from corresponding patterns and |
| macroize using X87MODEF macro. Change predicates of op0 and op1 |
| to register_operand and remove "m" constraint. Disparage "r" |
| alternative with "!". |
| (absneg splitter with memory operands): Remove. |
| ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding |
| patterns and macroize using X87MODEF mode iterator. |
| * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2): |
| Change predicate of op1 to register_operand. |
| * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support |
| for memory operands. |
| |
| 2008-01-07 Nathan Froyd <froydnj@codesourcery.com> |
| |
| * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548. |
| |
| 2008-01-07 Richard Guenther <rguenther@suse.de> |
| |
| * basic-block.h (struct edge_def): Pair dest_idx with goto_locus |
| fields. |
| |
| 2008-01-07 Richard Guenther <rguenther@suse.de> |
| |
| PR tree-optimization/34683 |
| * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of |
| VOPs of the needed size to save memory. Use VEC_quick_push |
| to save compile-time. |
| (vdefs_to_vec): Likewise. |
| |
| 2008-01-07 Sa Liu <saliu@de.ibm.com> |
| |
| * config/spu/spu.md (divdf3): Genetate inline code for double |
| division. The implementation doesn't handle INF or NAN, therefore it |
| only applies when -ffinite-math-only is given. |
| |
| 2008-01-06 Paolo Carlini <pcarlini@suse.de> |
| |
| PR libstdc++/34680 |
| * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate. |
| * doc/cpp.texi ([Common Predefined Macros]): Document. |
| |
| 2008-01-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in |
| order to use commutative addition instead of subtraction. |
| |
| 2008-01-06 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| Mircea Namolaru <namolaru@il.ibm.com> |
| Vladimir Yanovsky <yanov@il.ibm.com> |
| Revital Eres <eres@il.ibm.com> |
| |
| PR tree-optimization/34263 |
| * tree-outof-ssa.c (process_single_block_loop_latch, |
| contains_tree_r): New functions. |
| (analyze_edges_for_bb): Call process_single_block_loop_latch |
| function to empty single-basic-block latch block if possible. |
| |
| 2008-01-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_builtin_reciprocal): Remove check |
| for TARGET_RECIP. |
| (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion. |
| |
| 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR. |
| |
| 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check. |
| |
| 2008-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/34618 |
| * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P |
| flag from T. |
| |
| 2008-01-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/34673 |
| * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands |
| in the call to gen_rtx_NE. Remove unneeded VECTOR_MODE_P check. |
| Update copyright year. |
| |
| * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH. |
| Update copyright year. |
| * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand |
| using NR fixup. |
| |
| 2008-01-05 Zhouyi Zhou <zhouzhouyi@FreeBSD.org> |
| |
| * tree-vrp.c (find_conditional_asserts): Remove redundant check that |
| edge does not point to current bb before changing need_assert. |
| |
| 2008-01-04 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34029 |
| * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs |
| for verifying purposes if they are is_gimple_min_invariant. |
| |
| 2008-01-04 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR tree-optimization/34448 |
| PR tree-optimization/34465 |
| * gimplify.c (gimplify_init_constructor): Add new parameter |
| notify_temp_creation. Use it. |
| (gimplify_modify_expr_rhs): Take volatiles into account when |
| optimizing constructors. |
| Do not optimize constructors if gimplify_init_constructor will dump to |
| memory. |
| * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles. |
| * gcc.c-torture/compile/pr34448.c: New. |
| |
| 2008-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR gcov-profile/34609 |
| * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on |
| return_slot if result is TREE_ADDRESSABLE. |
| |
| 2008-01-04 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| * config/mips/mips.md (sqrt_condition): Tweak comment. |
| (recip_condition): Likewise. Require TARGET_FLOAT64 for DFmode. |
| |
| 2008-01-03 Tom Tromey <tromey@redhat.com> |
| |
| PR c/34457 |
| * c-common.c (c_type_hash): Handle VLAs. |
| |
| 2008-01-03 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/31081 |
| * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to |
| 0 when inlining and not inlining to first basic block. |
| (remap_decl): When var is initialized to 0, don't set default_def. |
| (expand_call_inline): Set entry_bb. |
| * tree-inline.h (copy_body_data): Add entry_bb. |
| |
| 2008-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/34619 |
| * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL |
| before returning. |
| |
| PR tree-optimization/29484 |
| * tree-inline.c (inline_forbidden_p_2): New function. |
| (inline_forbidden_p): Disallow inlining if some static var |
| has an address of a local LABEL_DECL in its initializer. |
| * doc/extend.texi (Labels as Values): Document &&foo behaviour |
| vs. inlining. |
| |
| 2008-01-03 Sebastian Pop <sebastian.pop@amd.com> |
| |
| PR tree-optimization/34635 |
| * tree-data-ref.c (add_other_self_distances): Make sure that the |
| evolution step is constant. |
| |
| 2008-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/34608 |
| * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn. |
| |
| 2008-01-02 Richard Sandiford <rsandifo@nildram.co.uk> |
| |
| * tree-sra.c (scalarize_init): Insert the generate_element_init |
| statements after the generate_element_zero statements. |
| |
| 2008-01-02 Richard Guenther <rguenther@suse.de> |
| |
| PR middle-end/34093 |
| PR middle-end/31976 |
| * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer |
| for very large number of operands instead of ICEing. |
| |
| 2008-01-02 Arthur Norman <acn1@cam.ac.uk> |
| |
| PR target/34013 |
| * config/i386/i386.c (ix86_expand_prologue): Save red-zone |
| while stack probing. |
| |
| 2008-01-01 Douglas Gregor <doug.gregor@gmail.com> |
| |
| * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when |
| in C++0x mode. |
| |
| 2008-01-01 Volker Reichelt <v.reichelt@netcologne.de> |
| |
| PR libmudflap/26442 |
| * tree-mudflap.c (mx_register_decls): Guard warning by |
| !DECL_ARTIFICIAL check. |
| |
| 2008-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si, |
| sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi, |
| sse5_perm<mode>): Fix constraints. |