blob: 31ab1795712f1366092fdf2d88455ad5d839197a [file] [log] [blame]
2012-06-11 Roland McGrath <>
* gthr-posix.h [neither FreeBSD nor Solaris] (__gthread_active_p):
If __GLIBC__ is defined, refer to __pthread_key_create instead of
2011-06-18 H.J. Lu <>
* longlong.h (count_leading_zeros): Use long long builtin for
(count_trailing_zeros): Likewise.
2010-01-21 Release Manager
* GCC 4.4.3 released.
2010-01-20 Richard Guenther <>
PR tree-optimization/41826
* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Avoid
access to re-allocated vector fields.
2010-01-20 Jakub Jelinek <>
* dwarf2out.c (loc_descriptor_from_tree_1): Don't handle unsigned
division. Handle signed modulo using DW_OP_{over,over,div,mul,minus}.
* unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
modulo instead of signed.
PR middle-end/42803
* varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
argument, call initializer_constant_valid_p_1 instead of
initializer_constant_valid_p, pass CACHE to it, return NULL
immediately if first call returns NULL.
(initializer_constant_valid_p_1): New function.
(initializer_constant_valid_p): Use it.
2010-01-18 Uros Bizjak <>
PR target/42774
* config/alpha/ (aligned_memory_operand): Return 0 for
memory references with unaligned offsets. Remove CQImode handling.
(unaligned_memory_operand): Return 1 for memory references with
unaligned offsets. Remove CQImode handling.
2010-01-17 H.J. Lu <>
Backport from mainline:
2010-01-13 Steve Ellcey <>
PR target/42542
* config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
them signed.
2010-01-17 Richard Guenther <>
PR tree-optimization/42773
* tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
(compute_antic_aux): Likewise.
(compute_partial_antic_aux): Likewise.
2010-01-16 Jakub Jelinek <>
PR middle-end/42760
Backport from trunk
2009-06-17 Steve Ellcey <>
* expr.c (expand_assignment): Change complex type check.
2010-01-15 Jing Yu <>
PR rtl-optimization/42691
* combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
a pseudo to a constant and are merged, and adjust comments.
2010-01-15 Richard Guenther <>
* tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
2010-01-14 Jakub Jelinek <>
PR middle-end/42674
* c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
functions with noreturn attribute.
PR c++/42608
* varasm.c (declare_weak): Add weak attribute to decl if it
doesn't have one already.
(assemble_external): Only add decls to weak_decls if they also
have weak attribute.
2010-01-14 Jakub Jelinek <>
PR c/42721
Port from no-undefined-overflow branch
2009-03-09 Richard Guenther <>
* fold-const.c (add_double_with_sign): Fix unsigned overflow
2010-01-14 Jakub Jelinek <>
Backport from mainline
2010-01-10 Richard Guenther <>
PR middle-end/42667
* builtins.c (fold_builtin_strlen): Add type argument and
convert the resulting length to it.
(fold_builtin_1): Adjust.
2010-01-13 Sebastian Pop <>
PR middle-end/40281
* tree-scalar-evolution.c (instantiate_scev_1): Base and stride
evolutions should not variate in inner loops.
2010-01-12 Ramana Radhakrishnan <>
* Backport from mainline
2010-01-12 Julian Brown <>
* config/arm/ (Utils): Don't try to
open missing module.
(find_with_result): New.
2010-01-12 Jakub Jelinek <>
PR debug/42662
* simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
sharing when canonicalizing ({lt,ge}u (plus a b) b).
2010-01-09 Jakub Jelinek <>
* gcc.c (process_command): Update copyright notice dates.
* gcov.c (print_version): Likewise.
* gcov-dump.c (print_version): Likewise.
* mips-tfile.c (main): Likewise.
* mips-tdump.c (main): Likewise.
2010-01-07 H.J. Lu <>
Backport from mainline
2010-01-05 Paolo Bonzini <>
H.J. Lu <>
PR target/42542
* config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
operands to make them signed.
2010-01-07 Uros Bizjak <>
* ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
PR target/42511
* ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
note itself is not function_invariant_p.
2010-01-05 Eric Botcazou <>
PR target/42564
* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
* config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(sparc_tls_referenced_p): Likewise.
* config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
and adjust calls to legitimize_pic_address.
(legitimate_constant_p) Use sparc_tls_referenced_p.
(legitimate_pic_operand_p): Likewise.
(sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
(sparc_tls_symbol_ref_1): Delete.
(sparc_tls_referenced_p): Make static, recognize specific patterns.
(legitimize_tls_address): Make static, handle CONST patterns.
(legitimize_pic_address): Make static, remove unused parameter and
adjust recursive calls.
(sparc_legitimize_address): Make static, use sparc_tls_referenced_p
and adjust call to legitimize_pic_address.
(sparc_output_mi_thunk): Likewise.
2010-01-05 Richard Guenther <>
PR tree-optimization/42614
* tree-ssa-alias.c (compute_flow_insensitive_aliasing):
Compute SMT aliases before symbol aliases.
2010-01-05 Jakub Jelinek <>
PR other/42611
* cfgexpand.c (expand_one_var): Diagnose too large variables.
2010-01-04 Mikael Pettersson <>
PR target/42503
Backport from mainline:
2009-09-09 Jakub Jelinek <>
* config/t-slibgcc-elf-ver (SHLIB_MAKE_SOLINK, SHLIB_INSTALL_SOLINK):
New variables.
* config/t-slibgcc-libgcc: New file.
2009-10-19 Matthias Klose <>
PR target/40134
* config.gcc (arm*-*-linux-*eabi): Use config/t-slibgcc-libgcc.
2010-01-04 Ira Rosen <>
PR tree-optimization/41956
* tree-vect-analyze.c (vect_supported_load_permutation_p): Add check
that the load indices differ.
2010-01-02 Richard Guenther <>
Backport from mainline
2009-12-10 Richard Guenther <>
PR tree-optimization/42337
* tree-ssa-pre.c (seen_during_translate): Remove.
(phi_translate_1): Collapse into ...
(phi_translate): ... this. Remove seen parameter and
adjust recursive calls.
2010-01-02 Uros Bizjak <>
PR target/42448
* config/alpha/ (aligned_memory_operand): Return false
for CQImode.
(unaligned_memory_operand): Return true for CQImode.
* config/alpha/alpha.c (get_aligned_mem): Assert that location
doesn not cross aligned SImode word boundary.
2009-12-30 Ian Lance Taylor <>
PR middle-end/42099
* expmed.c (expand_divmod): Don't shift HOST_WIDE_INT value more
2009-12-30 Uros Bizjak <>
PR target/42549
* config/i386/ (*mmx_subv2sf3): Fix insn operand number for
alternative 1.
2009-12-28 H.J. Lu <>
Backport from mainline:
2009-12-28 H.J. Lu <>
PR middle-end/41344
* omp-low.c (diagnose_sb_2): Handle GIMPLE_COND.
2009-12-27 Martin Jambor <>
PR tree-optimization/42231
* ipa-cp.c (ipcp_update_cloned_node): Add missing edges manually
instead of relying on rebuild_cgraph_edges and mark them as
indirect calls.
(ipcp_update_callgraph): Always redirect indirect edges.
2009-12-23 Jakub Jelinek <>
PR rtl-optimization/42475
* combine.c (make_compound_operation) <case SUBREG>: Use mode of
SUBREG_REG (x) instead of tem's mode.
2009-12-21 Jakub Jelinek <>
PR rtl-optimization/42429
* reload.c (find_reloads_subreg_address): When adjusting mode of
MEM, update also MEM_SIZE if it is set.
2009-12-17 Dave Korn <>
* config/i386/cygwin.h (LINK_SPEC): Add -tsaware flag if !mno-cygwin.
2009-12-11 Ramana Radhakrishnan <>
PR target/42263
Backport from mainline
2009-12-03 Richard Earnshaw <>
* arm/linux-atomic.c (SYNC_LOCK_RELEASE): Place memory barrier
before the lock release.
2009-12-11 Ramana Radhakrishnan <>
PR target/42263
2009-08-11 Andrew Haley <>
* config/arm/arm.c (arm_init_libfuncs): Add __sync_synchronize.
2009-12-11 Ramana Radhakrishnan <>
PR target/41196
2009-10-14 Daniel Gutson <>
* config/arm/ (neon_vshll_n<mode>): Checking Bounds fixed.
2009-12-11 Ramana Radhakrishnan <>
2009-10-05 Doug Kwan <>
PR rtl-optimization/41574
* combine.c (distribute_and_simplify_rtx): Quit if RTX mode is
floating point and we are not doing unsafe math optimizations.
2009-12-11 Ramana Radhakrishnan <>
PR target/41939
Backport from mainline:
2009-06-05 Julian Brown <>
* config/arm/ieee754-df.S (cmpdf2): Avoid writing below SP.
* config/arm/ieee754-sf.S (cmpsf2): Likewise.
2009-12-09 Andreas Krebbel <>
* config/s390/ ("copysign<mode>3"): Pattern removed.
2009-12-07 Uros Bizjak <>
* config/i386/ (*iorqi_ext_2): Fix insn mnemonic typo.
2009-12-06 Richard Henderson <>
* tree-ssa-dom.c (degenerate_phi_result): Check for NULL phi
argument earlier.
2009-12-04 Ulrich Weigand <>
Backport from mainline:
2009-05-22 Trevor Smigiel <>
* config/spu/spu-protos.h (aligned_mem_p, spu_valid_mov): Remove.
(spu_split_load, spu_split_store): Change return type to int.
(spu_split_convert): Declare.
* config/spu/ (spu_mem_operand): Remove.
(spu_mov_operand): Update.
(spu_dest_operand, shiftrt_operator, extend_operator): Define.
* config/spu/spu.c (regno_aligned_for_load): Remove.
(reg_aligned_for_addr, spu_expand_load): Define.
(spu_expand_extv): Reimplement and handle MEM.
(spu_expand_insv): Handle MEM.
(spu_sched_reorder): Handle insn's with length 0.
(spu_legitimate_address): Reimplement.
(store_with_one_insn_p): Return TRUE for any mode with size
larger than 16 bytes.
(address_needs_split): Define.
(spu_expand_mov): Call spu_split_load and spu_split_store for MEM
(spu_convert_move): Define.
(spu_split_load): Use spu_expand_load and change all MEM's to
(spu_split_store): Change all MEM's to TImode.
(spu_init_expanders): Preallocate registers that correspond to
LAST_VIRTUAL_REG+1 and LAST_VIRTUAL_REG+2 and set them with
(spu_split_convert): Define.
* config/spu/ (QHSI, QHSDI): New mode iterators.
(_move<mode>, _movdi, _movti): Update predicate and condition.
(load, store): Change to define_split.
(extendqiti2, extendhiti2, extendsiti2, extendditi2): Simplify to
(zero_extendqiti2, zero_extendhiti2, <v>lshr<mode>3_imm): Define.
(lshr<mode>3, lshr<mode>3_imm, lshr<mode>3_re): Simplify to one
define_insn_and_split of lshr<mode>3.
(shrqbybi_<mode>, shrqby_<mode>): Simplify to define_expand.
(<v>ashr<mode>3_imm): Define.
(extv, extzv, insv): Allow MEM operands.
(trunc_shr_ti<mode>, trunc_shr_tidi, shl_ext_<mode>ti,
shl_ext_diti, sext_trunc_lshr_tiqisi, zext_trunc_lshr_tiqisi,
sext_trunc_lshr_tihisi, zext_trunc_lshr_tihisi): Define for combine.
(_spu_convert2): Change to define_insn_and_split and remove the
corresponding define_peephole2.
(stack_protect_set, stack_protect_test, stack_protect_test_si):
Change predicates to memory_operand.
2009-04-27 Trevor Smigiel <>
* spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
instruction is correct.
2009-04-27 Trevor Smigiel <>
Allow non-constant arguments to conversion intrinsics.
* spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare.
* (spu_inv_exp2_operand, spu_exp2_operand): New.
* spu.c (print_operand): Handle 'v' and 'w'.
(exp2_immediate_p, spu_gen_exp2): Define.
* spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
spu_convtf_1): Update parameter descriptions.
* (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu):
* ('v', 'w'): New.
(i2f, I2F): New define_mode_attr.
(floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2,
floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2,
fixuns_truncv4sfv4si2): Update to use mode attribute.
(float<mode><i2f>2_mul, float<mode><i2f>2_div,
fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul,
floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New
patterns for combine.
2009-12-03 Jakub Jelinek <>
PR middle-end/42049
* builtins.c (expand_builtin_strcpy_args): Handle COMPOUND_EXPRs
potentially returned from folding strcpy.
2009-12-02 Chao-ying Fu <>
Backport from mainline
2009-11-30 Chao-ying Fu <>
* config/mips/ (mips_lhx_<mode>): Use sign_extend.
2009-12-02 Richard Earnshaw <>
* arm/ (thumb_andsi_not_shiftsi_si): Final condition should
2009-12-01 Jakub Jelinek <>
PR c++/42234
* tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb
contains no statements.
2009-11-27 Andreas Krebbel <>
* config/s390/s390.c (last_scheduled_insn): New variable.
(s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New
(s390_sched_reorder, s390_sched_variable_issue): New functions.
2009-11-27 Jakub Jelinek <>
* opts.c (decode_options): If optimize is bigger than 255,
set it to 255.
2009-11-25 Jakub Jelinek <>
PR target/42165
* config/i386/i386.c (print_operand): For 32-byte memory use
YMMWORD in -masm=intel mode. Use TBYTE instead of XWORD.
* config/i386/ (crc32modesuffix): Expand to nothing
in -masm=intel mode.
(sse4_2_crc32di): Print just crc32 instead of crc32q in
-masm=intel mode.
* config/i386/ (*mmx_pinsrw): Print correct size of
memory operand in -masm=intel mode.
* config/i386/ (*avx_pinsr<ssevecsize>, *sse4_1_pinsrb,
*sse2_pinsrw): Likewise.
(sse_cvtss2siq, sse_cvtss2siq_2, sse_cvttss2siq): Don't print
q suffix in -masm=intel mode.
2009-11-24 John David Anglin <>
* pa.c (output_call): Only use sr4 for long interspace calls if
call binds local and generating non PIC code.
(attr_length_call): Adjust length calculation for above.
2009-11-24 Wolfgang Gellerich <>
* config/s390/ Added agen condition to operand
forwarding bypasses.
Added bypass for early address generation use of int results.
Updated comments.
2009-11-23 Uros Bizjak <>
PR target/42113
* config/alpha/ (*cmp_sadd_si): Change mode
of scratch register to SImode.
(*cmp_sadd_sidi): Ditto.
(*cmp_ssub_si): Ditto.
(*cmp_ssub_sidi): Ditto.
2009-11-18 Matthias Klose <>
* config.gcc: Update ARM --with-fpu option list.
2009-11-17 Ulrich Weigand <>
* config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC
registers in leaf functions if possible.
2009-11-14 Uros Bizjak <>
* config/i386/ (call_register_no_elim_operand):
New predicate. Reject stack register as valid call operand
for 32bit targets.
(call_insn_operand): Use call_register_no_elim_operand.
2009-11-13 Richard Henderson <>
* function.c (stack_protect_prologue): Don't bypass expand_expr
for stack_protect_guard and guard_decl.
(stack_protect_epilogue): Likewise.
2009-11-13 Uros Bizjak <>
PR target/41900
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm"
as operand 1 constraint.
* config/i386/ (call_insn_operand): Depend on
index_register_operand to avoid %esp register.
2009-11-13 Uros Bizjak <>
2009-11-04 Uros Bizjak <>
PR target/41900
* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
(TARGET_CALL_ESP): New define.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
* config/i386/ (*call_pop_1_esp, *call_1_esp,
*call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
*call_1, *call_value_pop_1 and *call_value_1. Depend on
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
New patterns, use "lsm" as operand 1 constraint.
* config/i386/ (call_insn_operand): Depend on
index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
2009-11-13 Jakub Jelinek <>
PR middle-end/42029
* gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on
tmp_load if needed.
2009-11-11 Kai Tietz <>
Backported from trunk
* config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed.
* c-pragma.c (def_pragma_macro_value): Likewise.
(def_pragma_macro): Likewise.
(pushed_macro_table): Likewise.
(HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded code.
* doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): Removed.
2009-11-10 Chao-ying Fu <>
Backport from mainline
2009-10-29 Chao-ying Fu <>
* config/mips/mips.c (mips_emit_unary, mips_force_unary): New
(mips_expand_synci_loop): Use the length rtx to control the
synci loop from the begin rtx that points to the first byte of
the cache line.
2009-11-09 Jakub Jelinek <>
PR middle-end/40946
Backport from mainline
2009-09-09 Richard Guenther <>
PR middle-end/41317
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Remove
code dealing with plain pointer bases.
(maybe_fold_offset_to_reference): Likewise.
(maybe_fold_stmt_addition): Adjust.
2009-11-08 Uros Bizjak <>
Backport from mainline:
2009-11-06 Michael Matz <>
PR middle-end/41963
* tree-ssa-math-opts.c (execute_cse_reciprocals): Check all uses
of a potential reciprocal to really be reciprocals.
2009-11-07 Jakub Jelinek <>
PR tree-optimization/41643
Backport from mainline
2009-04-03 Richard Guenther <>
* tree-tailcall.c (tree_optimize_tail_calls_1): Also split the
edge from the entry block if we have degenerate PHI nodes in
the first basic block.
2009-11-05 Jakub Jelinek <>
* c-common.c (fold_offsetof_1): Revert the recently added
-Warray-bounds checking of offsetof arguments.
2009-11-04 Jason Merrill <>
PR c++/36912
* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
(output_constant): Avoid crash after error.
2009-11-04 Uros Bizjak <>
PR target/41900
* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
(TARGET_CALL_ESP): New define.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
* config/i386/ (*call_pop_1_esp, *call_1_esp,
*call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
*call_1, *call_value_pop_1 and *call_value_1. Depend on
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
New patterns, use "lsm" as operand 1 constraint.
* config/i386/ (call_insn_operand): Depend on
index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
2009-11-04 Jakub Jelinek <>
* c-common.c (fold_offsetof_1): Use %wd instead of
2009-11-03 Jakub Jelinek <>
PR rtl-optimization/41917
* rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second
operand isn't known to be 0, return 1.
2009-11-03 Dodji Seketeli <>
* c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC.
2009-11-03 Dodji Seketeli <>
PR c++/38699
* c-common.c (fold_offsetof_1): Issue errors when the member
designator of the offsetof expression is not legitimate.
2009-10-28 Jakub Jelinek <>
PR target/41762
* config/i386/i386.c (ix86_pic_register_p): Don't call
rtx_equal_for_cselib_p for VALUEs discarded as useless.
2009-10-27 Jakub Jelinek <>
PR c/41842
* c-typeck.c (convert_arguments): Return -1 if any of the arguments is
2009-10-27 Kai Tietz <>
Backport from mainline:
2009-10-20 Pascal Obry <>
Eric Botcazou <>
* config/i386/cygming.h (DWARF_FRAME_REGNUM): Add enclosing parens.
2009-10-23 John David Anglin <>
Backport from mainline:
2009-08-19 John David Anglin <>
* (reload_inhi, reload_outhi, reload_inqi, reload_outqi): New
* pa.c (emit_move_sequence): Check if address of operand1 is valid
for mode mode of operand0 when doing secondary reload for SAR.
2009-10-21 Jakub Jelinek <>
Backport from mainline:
2009-06-13 Joerg Sonnenberger <>
* doc/invoke.texi: Add missing option -Wp,OPTION in list,
fix index entry for -Xpreprocessor.
2009-10-20 John David Anglin <>
Backport from mainline:
2009-10-15 John David Anglin <>
PR target/41702
* (casesi): Use sign extended index in call to gen_casesi64p.
(casesi64p): Update pattern to reflect above.
2009-10-20 Joseph Myers <>
* config/arm/arm.c (output_move_neon): Use DImode in call to
2009-10-19 Jakub Jelinek <>
* unwind-dw2.c (execute_stack_op): Fix operand order for
DW_OP_le, DW_OP_ge, DW_OP_lt and DW_OP_gt.
2009-10-19 Andreas Krebbel <>
* config/s390/s390.c (s390_z10_optimize_cmp): Don't touch FP compares.
2009-10-19 Andreas Krebbel <>
* config/s390/s390.c (s390_z10_optimize_cmp): Skip notes and debug
insns when investigating previous or next insns.
2009-10-19 Jakub Jelinek <>
Backport from mainline:
2009-10-16 Jakub Jelinek <>
PR debug/40521
* debug.h (struct gcc_debug_hooks): Add assembly_start hook.
* cgraphunit.c (cgraph_optimize): Call it.
* dwarf2out.c (dwarf2out_init): Move .cfi_sections printing into...
(dwarf2out_assembly_start): ... here. New hook.
(dwarf2out_debug_hooks): Add dwarf2out_assembly_start.
* debug.c (do_nothing_debug_hooks): Do nothing for assembly_start
* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
* sdbout.c (sdb_debug_hooks): Likewise.
* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_assembly_start.
(vmsdbgout_assembly_start): New hook.
2009-10-09 Jakub Jelinek <>
PR debug/40521
* dwarf2out.c (dwarf2out_init): Test whether
HAVE_GAS_CFI_SECTIONS_DIRECTIVE is non-zero instead of checking
it is defined.
2009-10-02 Jakub Jelinek <>
PR debug/40521
* configure: Regenerated.
* Regenerated.
* dwarf2out.c (dwarf2out_do_cfi_asm): Return false if
!HAVE_GAS_CFI_SECTIONS_DIRECTIVE and not emitting .eh_frame.
(dwarf2out_init): If HAVE_GAS_CFI_SECTIONS_DIRECTIVE and
not emitting .eh_frame, emit .cfi_sections .debug_frame
2009-10-15 John David Anglin <>
Backport from mainline
2009-09-17 Michael Haubenwallner <>
PR target/40913
* config/pa/t-hpux-shlib: Set soname in
Backport from mainline
2009-05-05 Ben Elliston <>
* config/pa/linux-atomic.c: Eliminate conditional include of
errno.h on non-LP64 systems to simplify build requirements.
2009-10-15 Uros Bizjak <>
Backport from mainline:
2009-10-07 Vladimir Makarov <>
PR middle-end/22072
* ira-lives.c (check_and_make_def_conflict): Process all operands.
2009-10-15 H.J. Lu <>
Backport from mainline:
2009-10-11 H.J. Lu <>
PR target/41665
* config/i386/ (addsi_1_zext): Get the proper second
operand for lea.
2009-10-15 Jakub Jelinek <>
* BASE-VER: Set to 4.4.3.
* DEV-PHASE: Set to prerelease.
2009-10-15 Release Manager
* GCC 4.4.2 released.
2009-10-14 Hans-Peter Nilsson <>
PR target/38948
* config/cris/cris.h (SECONDARY_RELOAD_CLASS): Handle reload
requests between special registers.
2009-10-13 Andreas Krebbel <>
* config/s390/s390.c (s390_encode_section_info): Handle BLKmode
2009-10-12 Hans-Peter Nilsson <>
PR target/26515
* config/cris/ (andu): Check that operand 1 is one of the
general registers. Fix typo in head comment.
2009-10-12 Jakub Jelinek <>
PR target/41680
* config/i386/ (split after *testqi_ext_3_rex64): Only narrow
paradoxical subregs to prevent partial register stalls if the inner
mode is integer mode.
PR rtl-optimization/41646
* calls.c (expand_call): For BLKmode types returned in registers
avoid likely spilled hard regs in copy_blkmode_from_reg generated
2009-10-09 Andreas Krebbel <>
* config/s390/ ("prefetch"): Remove stcmh for prefetching.
2009-10-07 Andreas Krebbel <>
* config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and
2009-10-05 Ramana Radhakrishnan <>
Backport from mainline.
* config/arm/arm.c (arm_override_options): Really initialize
flag_dwarf2_cfi_asm to 0.
2009-10-02 Ramana Radhakrishnan <>
Backport from mainline.
2009-10-01 Ramana Radhakrishnan <>
* config/arm/arm.c (arm_override_options): Turn off
flag_dwarf2_cfi_asm for AAPCS variants.
2009-09-30 Uros Bizjak <>
PR target/22093
* config/alpha/ (unaligned_storehi_be): Force operand
of plus RTX into register.
2009-09-30 Andreas Krebbel <>
* config/s390/fixdfdi.h: Add Runtime Library Exception wording to
the License text.
2009-09-25 Jakub Jelinek <>
* tree-vect-transform.c (vectorizable_call): Call
mark_symbols_for_renaming after vect_finish_stmt_generation.
2009-09-25 Alan Modra <>
* config/rs6000/ (load_toc_v4_PIC_3c): Correct POWER
form of instruction.
2009-09-24 Kai Tietz <>
* libgcc2.c (L_trampoline): Prototype for getpagesize
and mprotect in WINNT case.
2009-09-24 Alan Modra <>
PR target/40473
* config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
call final to emit non-scheduled prologue, instead insert at entry.
2009-09-23 Dodji Seketeli <>
PR debug/41065
* function.h (types_used_by_vars_hash): Declare new hash table.
(types_used_by_vars_eq, types_used_by_var_decl_insert): Declare
equality and hash function for the hash table.
(types_used_by_cur_var_decl): Declare a new global chained list.
(types_used_by_var_decl_insert): Declare new function.
* function.c (types_used_by_vars_hash): Define the hashtable ...
(types_used_by_vars_eq, types_used_by_vars_do_hash): ... as well as
its equality and hash functions.
(hash_types_used_by_vars_entry): New hash helper.
(types_used_by_cur_var_decl): Define the global chained list.
(used_types_insert): Update the list of types used by the global
variable being parsed.
(types_used_by_var_decl_insert): Define new function.
* c-common.h (record_types_used_by_current_var_decl): Declare ...
* c-common.c (record_types_used_by_current_var_decl): ... new
* c-decl.c (finish_decl): Record the types used by the global
variable declaration we've just parsed.
* dwarf2out.c (premark_used_types): Insert a new line between
comment and function.
(premark_used_types_helper): Fix comment.
premark_types_used_by_global_vars): New functions.
(prune_unused_types): Do not prune types used by global variables.
2009-09-23 Uros Bizjak <>
PR c/39779
* c-typeck.c (build_binary_op) <short_shift>: Check that integer
constant is more than zero.
2009-09-21 Richard Sandiford <>
* config/mips/mips.c (mips_override_options): Force
flag_dwarf2_cfi_asm to zero.
2009-09-21 Kai Tietz <>
* config/i386/i386.c (ix86_expand_epilogue): Adjust offset for
xmm register restore.
2009-09-20 Kai Tietz <>
Pascal Obry <>
Backport from mainline
* unwind-dw2-fde.c (classify_object_over_fdes):
Cast the constant 1 to _Unwind_Ptr.
(add_fdes): Likewise.
(linear_search_fdes): Likewise.
2009-09-18 Jason Merrill <>
* c.opt: Add -fno-deduce-init-list.
2009-09-18 Janis Johnson <>
PR c/41049
* real.c decimal_from_integer, decimal_integer_string): New.
(real_from_integer): Use them as special case for decimal float.
* config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
(_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
Do not append zero after the decimal point in string to convert.
2009-09-16 Richard Guenther <>
Backport from mainline
2009-09-09 Richard Guenther <>
PR tree-optimization/41101
* tree-ssa-pre.c (maximal_set): Remove.
(compute_antic_aux): Treat the maximal set as implicitly all ones.
Defer all blocks we didn't visit at least one successor.
(add_to_exp_gen): Do not add to the maximal set.
(make_values_for_phi): Likewise.
(compute_avail): Likewise.
(init_pre): Do not allocate the maximal set.
(execute_pre): Do not dump it.
2009-09-14 Uros Bizjak <>
* config/alpha/ (smaxsf3): Disable for IEEE mode.
(sminsf3): Ditto.
2009-09-13 Kai Tietz <>
* config.gcc (i?86-*-mingw* and x86_64-*-mingw*): Set
need_64bit_hwint for x64 case to yes.
* Set for x64 mingw the option
use_long_long_for_widest_fast_int to yes.
2009-09-12 Gerald Pfeifer <>
* doc/install.texi (avr): Remove obsolete reference site.
2009-09-12 Gerald Pfeifer <>
* doc/install.texi (Binaries): Adjust AIX link.
2009-09-11 Akim Demaille <>
* doc/invoke.texi (-fstrict-aliasing): Correct two examples.
Use an imperative sentence.
2009-09-09 Kai Tietz <>
* config/i386.c (ix86_can_use_return_insn_p): Check for
padding0, too.
(ix86_expand_prologue): Take frame.padding0 into logic of
to_allocate checks.
(ix86_expand_epilogue): Likewise.
2009-09-07 Uros Bizjak <>
Backport from mainline:
2009-08-27 Uros Bizjak <>
PR rtl-optimization/40861
* simplify-rtx.c (simplify_subreg): Do not call simplify_gen_subreg to
extract word from a multi-word subreg for negative byte positions.
2009-09-04 Wolfgang Gellerich <>
* config/s390/ Removed two incorrect bypasses.
(z10_fsimpdf): Fixed latency.
(z10_fhex): New insn_reservation.
(z10_floaddf): Fixed latency.
(z10_floadsf): Fixed latency.
(z10_ftrunctf): Fixed latency.
(z10_ftruncdf): Fixed latency.
* config/s390/s390.c (z10_cost): Fixed values.
(s390_adjust_priority): Added z10 path.
* config/s390/ (type): Added fhex.
(*mov<mode>_64dfp): Updated type attribute.
(*mov<mode>_64): Updated type attribute.
(*mov<mode>_31): Updated type attribute.
(*mov<mode>"): Likewise.
* config/s390/ (x_fsimpdf): Updated condition.
2009-08-31 Chris Demetriou <>
* config/i386/i386.c (ix86_vectorize_builtin_conversion): Never
vectorize if not TARGET_SSE2.
2009-08-31 Gerald Pfeifer <>
* doc/install.texi (Final install): Adjust reference on where to
order printed manuals.
2009-08-29 Kai Tietz<>
* config/i386.c (ix86_expand_epilogue): Correct stack adjustment for
2009-08-28 Jan Beulich <>
* config/i386/netware.c: Include langhooks.h.
(i386_nlm_encode_section_info): Simplify.
(netware_override_options): Delete.
* config/i386/netware.h (netware_override_options): Delete
(OVERRIDE_OPTIONS): Delete definition.
* config/i386/nwld.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
2009-08-28 Uros Bizjak <>
Backport from mainline:
2009-08-26 Uros Bizjak <>
* config/alpha/ Update comment about unpredictable LL/SC lock
clearing by a taken branch.
(sync_<fetchop_name><mode>): Split when epilogue_completed is set,
effectively after bbro pass.
(sync_nand<mode>): Ditto.
(sync_old_<fetchop_name><mode>): Ditto.
(sync_old_nand<mode>): Ditto.
(sync_new_<fetchop_name><mode>): Dito.
(sync_new_nand<mode>): Ditto.
(sync_compare_and_swap<mode>_1): Ditto.
(*sync_compare_and_swap<mode>): Ditto.
(sync_lock_test_and_set<mode>_1): Ditto.
("sync_lock_test_and_set<mode>): Ditto.
2009-08-25 Uros Bizjak <>
* config/alpha/ (*cmpdf_ieee_ext[123]): Remove.
(*cmpdf_internal): Enable for all ALPHA_FPTM levels.
(*movdfcc_ext[1234]): Disable for IEEE mode.
2009-08-16 Uros Bizjak <>
* config/alpha/alpha.c (alpha_end_function): Handle NULL_RTX returned
from prev_active_insn.
2009-08-27 Gerald Pfeifer <>
* doc/service.texi (service directory): Update URL.
2009-08-26 Anatoly Sokolov <>
* doc/invoke.texi (AVR Options): Remove documentation of -minit-stack
2009-08-25 Anatoly Sokolov <>
PR target/34412
* config/avr/avr.c (expand_epilogue): Use correct QI mode frame
pointer for tiny stack.
2009-08-24 Richard Guenther <>
PR middle-end/41094
* builtins.c (fold_builtin_pow): Fold pow(pow(x,y),z) to
pow(x,y*z) only if x is nonnegative.
2009-08-23 Uros Bizjak <>
PR target/40718
* config/i386/i386.c (*call_pop_1): Disable for sibling calls.
(*call_value_pop_1): Ditto.
(*sibcall_pop_1): New insn pattern.
(*sibcall_value_pop_1): Ditto.
2009-08-20 Andreas Krebbel <>
* config/s390/s390.c (Z10_PREDICT_DISTANCE): New macro.
(s390_z10_fix_long_loop_prediction): New function.
(s390_z10_optimize_cmp): INSN walk moved to callee - s390_reorg.
(s390_reorg): Walk over the INSNs and invoke
s390_z10_fix_long_loop_prediction and s390_z10_optimize_cmp.
2009-08-19 Jakub Jelinek <>
PR middle-end/41123
* expr.c (expand_expr_real_1) <normal_inner_ref>: Handle all kinds
of CONCAT, not just bitpos 0 bitsize size of the whole CONCAT.
2009-08-18 Jakub Jelinek <>
PR target/40971
* config/rs6000/rs6000.c (rs6000_legitimize_address): For
[DT][FDI]mode ensure the offset isn't 4/8/12 bytes below 0x8000.
2009-08-16 Uros Bizjak <>
Backport from mainline:
2009-08-14 Uros Bizjak <>
PR target/41019
* config/i386/ (SSEMODE124C8): New mode iterator.
(vcond<SSEMODEF2P:mode>): Assert that operation is supported by
(vcond<SSEMODE124C8:mode>): Use SSEMODE124C8 instead of SSEMODE124.
Assert that operation is supported by ix86_expand_int_vcond.
(vcondu<SSEMODE124C8:mode>): Ditto.
2009-08-16 Dodji Seketeli <>
PR debug/37801
* gcc/dwarf2out.c (gen_inlined_subroutine_die): Concentrate on
generating inlined subroutine die only. We shouldn't be
called for anything else.
(gen_block_die): Don't generate inline subroutine debug info for
abstract blocks.
2009-08-13 Uros Bizjak <>
Backport from mainline:
2009-08-11 Uros Bizjak <>
PR target/8603
* config/alpha/ (addsi3): Remove expander.
(addsi3): Rename from *addsi3_internal insn pattern.
(subsi3): Remove expander.
(subsi3): Rename from *subsi3_internal insn pattern.
2009-08-13 Andrey Belevantsev <>
PR rtl-optimization/41033
* alias.c (nonoverlapping_component_refs_p): Punt when strict
aliasing is disabled.
2009-08-11 SUGIOKA Toshinobu <>
Backport from mainline:
2009-08-10 SUGIOKA Toshinobu <>
PR target/41015
* longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
(sub_ddmmss): Likewise.
2009-08-10 Andreas Tobler <>
PR bootstrap/41018
* config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
2009-08-09 Richard Guenther <>
PR tree-optimization/41016
* tree-ssa-ifcombine.c (get_name_for_bit_test): Fix tuplification bug.
(operand_precision): Remove.
(integral_operand_p): Likewise.
(recognize_single_bit_test): Adjust.
2009-08-05 Uros Bizjak <>
Mikulas Patocka <>
PR target/40906
* config/i386/i386.c (ix86_split_long_move): Fix push of multi-part
source operand.
2009-08-05 Richard Earnshaw <>
* (movdi2): Copy non-reg values to DImode registers.
2009-08-05 Jakub Jelinek <>
PR rtl-optimization/40924
* dse.c (canon_address): Before calling cselib_expand_value_rtx
make sure canon_rtx (mem_address) isn't simpler than
canon_rtx (expanded_mem_address).
2009-08-03 Janis Johnson <>
PR c/39902
* simplify-rtx.c (simplify_binary_operation_1): Disable
simplifications for decimal float operations.
2009-08-03 Jakub Jelinek <>
PR middle-end/40943
* tree-ssa.c (warn_uninitialized_var): Even on LHS warn for
operand of INDIRECT_REF.
2009-08-03 Uros Bizjak <>
* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
constants referencing TLS symbols.
2009-07-30 Andreas Krebbel <>
* config/s390/s390.c (override_options): Default
max-unrolled-insns to 100 for z10 tuning.
2009-07-30 Andreas Krebbel <>
* config/s390/ (ZQ, ZR, ZS, ZT): New constraints.
(U, W): Constraints are now deprecated and will be removed if we
run out of letters.
* config/s390/ (U, W): Replaced with ZQZR, ZSZT throughout
the file.
("prefetch"): Add the stcmh instruction for prefetching.
* config/s390/s390.c (s390_symref_operand_p): Function moved. No
(s390_short_displacement): Return always true if compiling for
machines not providing the long displacement facility.
(s390_mem_constraint): Support the new constraint letter Z.
(s390_check_qrst_address): New function.
2009-07-30 Uros Bizjak <>
PR target/40577
* config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src
to DImode when generating insq_le insn.
2009-07-20 John David Anglin <>
Backport from mainline:
2009-07-20 John David Anglin <>
* pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb.
Cast "1" to unsigned HOST_WIDE_INT.
(compute_zdepdi_operands): Limit maximum length to 64 bits. Limit
deposit length to the maximum length - lsb. Extend length if
2009-07-25 Mark Loeser <>
PR build/40010
* (gcc.pod): Depend on gcc-vers.texi.
2009-07-23 Uros Bizjak <>
PR target/40832
* config/i386/i386.c (output_387_ffreep): Rewrite to use
ASM_SHORT instead of .word.
* config/i386/ (*tls_global_dynamic_64): Use ASM_SHORT
instead of .word in asm template.
2009-07-22 Kaz Kojima <>
Backport from mainline:
2009-07-15 Eric Botcazou <>
PR rtl-optimization/40710
* resource.c (mark_target_live_regs): Reset DF problem to LR.
2009-07-22 Richard Guenther <>
PR tree-optimization/40321
* tree-ssa-pre.c (add_to_exp_gen): Also add names defined by
PHI nodes to the maximal set.
(make_values_for_phi): Add PHI arguments to the maximal set.
(execute_pre): Dump PHI_GEN and the maximal set.
2009-07-22 Jakub Jelinek <>
* BASE-VER: Set to 4.4.2.
* DEV-PHASE: Set to prerelease.
2009-07-22 Release Manager
* GCC 4.4.1 released.
2009-07-21 Jakub Jelinek <>
PR tree-optimization/40813
* tree-inline.c (copy_bb): Regimplify RHS after last stmt, not before
2009-07-21 Uros Bizjak <>
Backport from mainline:
2009-04-29 Richard Guenther <>
PR target/39943
* config/i386/i386.c (ix86_vectorize_builtin_conversion): Only
allow conversion to signed integers.
2009-07-20 Jakub Jelinek <>
PR tree-optimization/40792
* tree.c (build_function_type_skip_args): Remove bogus assert.
2009-07-17 Jakub Jelinek <>
PR c++/40780
* gimplify.c (gimplify_conversion): Don't change non-conversions into
2009-07-15 Jakub Jelinek <>
PR middle-end/40747
* fold-const.c (fold_cond_expr_with_comparison): When folding
< and <= to MIN, make sure the MIN uses the same type as the
comparison's operands.
2009-07-12 Kai Tietz <>
* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define _X86_
just for 32-bit case.
2009-07-11 Jakub Jelinek <>
PR rtl-optimization/40667
* defaults.h (MINIMUM_ALIGNMENT): Define if not defined.
* doc/tm.texi (MINIMUM_ALIGNMENT): Document it.
* config/i386/i386.h (MINIMUM_ALIGNMENT): Define.
* config/i386/i386.c (ix86_minimum_alignment): New function.
* config/i386/i386-protos.h (ix86_minimum_alignment): New prototype.
* cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT.
* emit-rtl.c (gen_reg_rtx): Likewise.
* function.c (assign_parms): Likewise. If nominal_type needs
bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment
rather than passed_type's alignment.
PR target/40668
* function.c (assign_parm_setup_stack): Adjust
MEM_OFFSET (data->stack_parm) if promoted_mode is different
from nominal_mode on big endian.
2009-07-08 Richard Henderson <>
PR target/38900
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move to i386.c.
(enum reg_class): Add CLOBBERED_REGS.
* config/i386/i386.c (ix86_conditional_register_usage): Moved
(ix86_function_ok_for_sibcall): Tidy. Disallow MS->SYSV sibcalls.
(ix86_expand_call): Use sibcall_insn_operand when needed. Don't
force 64-bit sibcalls into R11.
* config/i386/ (U): New constraint.
* config/i386/ (sibcall_1, sibcall_value_1): Use it.
(sibcall_1_rex64, sibcall_value_1_rex64): Likewise.
(sibcall_1_rex64_v, sibcall_value_1_rex64_v): Remove.
2009-07-07 Eric Botcazou <>
PR debug/40666
* dbxout.c (dbxout_symbol) <PARM_DECL>: Deal with parameters pointing
to variables for debugging purposes.
2009-07-07 Jakub Jelinek <>
PR middle-end/40669
* tree-tailcall.c (adjust_return_value_with_ops,
create_tailcall_accumulator): Set DECL_GIMPLE_REG_P on the temporary
if it has complex or vector type.
Backport from mainline:
2009-06-03 Richard Guenther <>
PR middle-end/40328
* fold-const.c (fold_convert): Fold the build COMPLEX_EXPR.
2009-07-03 Vladimir Makarov <>
PR target/40587
* ira.c (build_insn_chain): Use DF_LR_OUT instead of
2009-07-02 Richard Guenther <>
PR middle-end/40585
* tree-cfg.c (gimple_can_duplicate_bb_p): Disallow duplicating
basic blocks with GIMPLE_RESX.
2009-07-01 Martin Jambor <>
Backport from mainline:
2009-05-11 Martin Jambor <>
* ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
2009-06-30 Jakub Jelinek <>
PR c++/40566
* convert.c (convert_to_integer) <case COND_EXPR>: Don't convert
to type arguments that have void type.
2009-06-30 Ira Rosen <>
PR tree-optimization/40542
* tree-vect-analyze.c (vect_determine_vectorization_factor): Don't
vectorize volatile types.
2009-06-29 Janis Johnson <>
PR c/39902
* tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
Special-case decimal float constants.
2009-06-29 Uros Bizjak <>
* doc/extend.texi (Additional Floating Types): __float128 is also
supported on i386 targets.
2009-06-29 Richard Guenther <>
PR tree-optimization/40579
* tree-vrp.c (vrp_evaluate_conditional): Bail out early if
the IL to simplify has constants that overflowed.
2009-06-28 Uros Bizjak <>
PR tree-optimization/40550
* tree-vect-generic.c (expand_vector_operations_1): Compute in
vector_compute_type only when the size of vector_compute_type is
less than the size of type.
2009-06-27 Kai Tietz <>
Merged from trunk rev/148061
2009-06-01 Jakub Jelinek <>
PR other/40024
* emutls.c (__emutls_get_address): Change arr->size to mean number
of allocated arr->data entries instead of # of slots + 1.
2009-06-22 Steven Bosscher <>
Matthias Klose <>
PR objc/28050
* c-parser.c (c_parser_objc_message_args): Return error_mark_node
instead of NULL if a parser error occurs.
2009-06-18 H.J. Lu <>
Backport from mainline:
2009-06-18 H.J. Lu <>
PR target/40470
* config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Add SSE_FIRST_REG.
2009-06-17 Richard Guenther <>
PR middle-end/40460
* tree-chrec.h (build_polynomial_chrec): If we cannot determine
if there is no evolution of left in the loop bail out.
* tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
2009-06-17 Richard Guenther <>
PR middle-end/40389
* tree-ssa-operands.c (parse_ssa_operands): Add NRV results
to the addresses taken bitmap.
2009-06-16 Jakub Jelinek <>
PR middle-end/40446
* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Don't
use gen_lowpart if op0 has complex mode.
2009-06-14 Andreas Krebbel <>
* config/s390/ ("bswap<mode>2"): Only available on z900.
2009-06-11 H.J. Lu <>
Backport from mainline:
2009-06-10 H.J. Lu <>
* doc/extend.texi: Add description for __builtin_ia32_crc32di.
2009-06-05 Jakub Jelinek <>
PR middle-end/40340
* tree-ssa-live.c (remove_unused_scope_block_p): Don't prune
inlined_function_outer_scope_p blocks for artificial inlines
even at -g0/-g1.
* tree.c (tree_nonartificial_location): Rewrite using
2009-06-03 Jakub Jelinek <>
* dwarf2out.c (output_cfi_directive): Pass 1 instead of
0 to second argument of DWARF2_FRAME_REG_OUT macros.
2009-06-02 Kaz Kojima <>
Backport from mainline:
2009-05-31 Kaz Kojima <>
* config/sh/ (ashldi3_std): New define_expand.
(ashldi3): Use it.
2009-06-02 Jakub Jelinek <>
* dwarf2out.c (dwarf2out_cfi_label): Add FORCE argument, if true,
force output of the label even for dwarf2out_do_cfi_asm.
(add_fde_cfi): If -g2 and above and cfi might change CFA,
force creation of CFI label and chain DW_CFA_set_loc jumping to it
for convert_cfa_to_fb_loc_list. Adjust other dwarf2out_cfi_label
(dwarf2out_stack_adjust, dwarf2out_frame_debug): Adjust
dwarf2out_cfi_label callers.
* tree.h (dwarf2out_cfi_label): Adjust prototype.
* config/arm/arm.c (thumb_pushpop, thumb1_output_function_prologue):
Adjust dwarf2out_cfi_label callers.
* config/vax/vax.c (vax_output_function_prologue): Likewise.
2009-05-29 Jakub Jelinek <>
PR middle-end/40291
* builtins.c (expand_builtin_memcmp): Convert len to sizetype
before expansion.
PR target/40017
* config/rs6000/rs6000-c.c (_Bool_keyword): New variable.
(altivec_categorize_keyword, init_vector_keywords,
rs6000_cpu_cpp_builtins): Define _Bool as conditional macro
similar to bool.
2009-05-28 Alexandre Oliva <>
* tree-inline.c (remap_decls): Enable nonlocalized variables
when not optimizing.
2009-05-28 Alexandre Oliva <>
* tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
Simplify other tests involving optimize.
2009-05-27 H.J. Lu <>
Backport from mainline:
2009-05-27 H.J. Lu <>
PR target/40266
* config/i386/driver-i386.c (host_detect_local_cpu): Support
2009-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
PR bootstrap/40027
* config/i386/i386.c (USE_HIDDEN_LINKONCE): Only define if missing.
* config/i386/sol2.h [!TARGET_GNU_LD] (USE_HIDDEN_LINKONCE): Define.
2009-05-24 Kaz Kojima <>
* gcc/config/sh/sh.c (sh_set_return_address): Mark store of
return address with a USE.
2009-05-23 Eric Botcazou <>
* doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
Remove outdated reference to flow.c and fix nits.
* doc/gccint.texi: Tweak RTL description.
* doc/rtl.texi: Likewise.
2009-05-22 Zdenek Dvorak <>
PR tree-optimization/40087
* tree-ssa-loop-niter.c (number_of_iterations_ne_max,
number_of_iterations_ne): Rename never_infinite argument.
(number_of_iterations_lt_to_ne, number_of_iterations_lt,
number_of_iterations_le): Handle pointer-type ivs when
exit_must_be_taken is false.
(number_of_iterations_cond): Do not always assume that
exit_must_be_taken if the control variable is a pointer.
2009-05-22 Vladimir Makarov <>
PR target/39856
* reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note
for clobber.
2009-05-21 Kaz Kojima <>
PR rtl-optimization/40105
Backport from mainline:
2009-04-29 Eric Botcazou <>
Steven Bosscher <>
* (cfgrtl.o): Add $(INSN_ATTR_H).
* cfgrtl.c: Include insn-attr.h.
(rest_of_pass_free_cfg): New function.
(pass_free_cfg): Use rest_of_pass_free_cfg as execute function.
2009-04-27 Richard Sandiford <>
Eric Botcazou <>
* resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
a label's basic block.
(mark_target_live_regs): Tidy and rework obsolete comments.
Change back DF problem to LIVE. If a label starts a basic block,
assume that all registers that used to be live then still are.
(init_resource_info): If a label starts a basic block, set its
BLOCK_FOR_INSN accordingly.
(free_resource_info): Undo the setting of BLOCK_FOR_INSN.
2009-05-21 Jakub Jelinek <>
PR target/39942
* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Don't emit second
.p2align 3 if MAX_SKIP is smaller than 7.
* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
2009-05-20 Jakub Jelinek <>
PR middle-end/40204
* fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite
recursion if build_int_cst_type returns the same INTEGER_CST as
2009-05-19 Richard Guenther <>
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do
not falsely claim to have propagated into all uses.
2009-05-18 Dodji Seketeli <>
PR debug/40109
* dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a
child of the containing namespace's DIE.
2009-05-18 Richard Guenther <>
PR tree-optimization/39999
* gimple.h (gimple_expr_type): Use the expression type looking
through useless conversions.
* tree-ssa-sccvn.c (vn_nary_op_lookup_stmt): Use gimple_expr_type.
(vn_nary_op_insert_stmt): Likewise.
(simplify_binary_expression): Likewise.
2009-05-16 Richard Earnshaw <>
PR target/40153
* (cstoresi_nltu_thumb1): Use a neg of ltu as the pattern name
2009-05-14 H.J. Lu <>
Backport from mainline:
2009-05-14 H.J. Lu <>
PR middle-end/40147
* ipa-utils.h (memory_identifier_string): Moved to ...
* tree.h (memory_identifier_string): Here. Add GTY(()).
2009-05-14 Ben Elliston <>
Backport from mainline:
2009-05-14 Jakub Jelinek <>
Ben Elliston <>
PR middle-end/40035
* dse.c (check_mem_read_rtx): Guard against width == -1.
2009-05-13 Uros Bizjak <>
PR target/37179
* config/i386/driver-i386.c (processor_signatures): New enum.
(SIG_GEODE): Move from vendor_signatures to processor_signatures.
(host_detect_local_cpu): For SIG_AMD vendor, check for SIG_GEODE
processor signature to detect geode processor.
2009-05-12 Jakub Jelinek <>
Backport from mainline:
2009-05-05 Jakub Jelinek <>
PR middle-end/39666
* gimplify.c (gimplify_switch_expr): If case labels cover the whole
range of the type, but default label is missing, add it with one
of the existing labels instead of adding a new label for it.
2009-05-11 H.J. Lu <>
Backport from mainline:
2009-05-11 H.J. Lu <>
* tree-vect-analyze.c (vect_analyze_group_access): Use
HOST_WIDE_INT for gap.
2009-05-11 Ira Rosen <>
PR tree-optimization/40074
* tree-vect-analyze.c (vect_analyze_group_access): Take gaps into
account in group size and step comparison.
2009-05-08 Richard Guenther <>
PR tree-optimization/40062
* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
Avoid exponential behavior.
2009-05-07 Janis Johnson <>
PR middle-end/39986
* dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
decode_decimal64, encode_decimal128, decode_decimal128): Avoid
32-bit memcpy into long.
2009-05-07 Jakub Jelinek <>
PR middle-end/40057
* dojump.c (prefer_and_bit_test): Use immed_double_const instead of
GEN_INT for 1 << bitnum.
(do_jump) <case BIT_AND_EXPR>: Use build_int_cst_wide_type instead of
2009-05-07 Uros Bizjak <>
* doc/md.texi (Standard Pattern Names For Generation) [sync_nand]:
Remove wrong description of "nand" operation.
2009-05-06 H.J. Lu <>
Backport from mainline:
2009-05-06 H.J. Lu <>
* config/i386/ (*avx_<code><mode>3_finite): Replace
ssemodesuffixf2c with avxmodesuffixf2c.
2009-05-06 Richard Guenther <>
PR tree-optimization/40022
* tree-ssa-phiprop.c (phivn_valid_p): Fix tuplification error.
2009-05-04 DJ Delorie <>
* config/m32c/m32c.c (m32c_override_options): Disable -fivopts for
-mcpu=m32c until ivopts supports sizeof(ptr) != sizeof(size_t).
(m32c_legitimize_reload_address): Work around reload bug until
reload supports sizeof(ptr) != sizeof(size_t).
2009-05-03 Uros Bizjak <>
Backport from mainline:
2009-04-28 Uros Bizjak <>
PR rtl-optimization/39914
* ira-conflicts.c (ira_build_conflicts): Prohibit call used
registers for allocnos created from user-defined variables only
when not optimizing.
2009-04-29 Kaveh R. Ghazi <>
* toplev.c (print_version): Update GMP version string calculation.
2009-04-28 H.J. Lu <>
Backport from mainline:
2009-04-27 H.J. Lu <>
PR target/39903
* config/i386/i386.c (construct_container): Don't call
gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS,
2009-04-27 Jakub Jelinek <>
PR rtl-optimization/39794
* alias.c (canon_true_dependence): Add x_addr argument.
* rtl.h (canon_true_dependence): Adjust prototype.
* cse.c (check_dependence): Adjust canon_true_dependence callers.
* cselib.c (cselib_invalidate_mem): Likewise.
* gcse.c (compute_transp): Likewise.
* dse.c (scan_reads_nospill): Likewise.
(record_store, check_mem_read_rtx): Likewise. For non-const-or-frame
addresses pass base->val_rtx as mem_addr, for const-or-frame addresses
canon_base_addr of the group, plus optional offset.
(struct group_info): Rename canon_base_mem to
(get_group_info): Set canon_base_addr to canon_rtx of base, not
canon_rtx of base_mem.
2009-04-26 Jakub Jelinek <>
PR inline-asm/39543
* fwprop.c (forward_propagate_asm): New function.
(forward_propagate_and_simplify): Propagate also into __asm, if it
doesn't increase the number of referenced registers.
PR c/39889
* stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.
2009-04-24 Andreas Krebbel <>
* config/s390/ ('I', 'J'): Fix condition.
2009-04-24 Paolo Bonzini <>
PR middle-end/39867
* fold-const.c (fold_cond_expr_with_comparison): When folding
> and >= to MAX, make sure the MAX uses the same type as the
comparison's operands.
2009-04-23 Ulrich Weigand <>
* config/spu/spu-builtins.h: Delete file.
* config/spu/spu.h (enum spu_builtin_type): Move here from
(struct spu_builtin_description): Likewise. Add GTY marker.
Do not use enum spu_function_code or enum insn_code.
(spu_builtins): Add extern declaration.
* config/spu/spu.c: Do not include "spu-builtins.h".
(enum spu_function_code, enum spu_builtin_type_index,
V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
unsigned_V8HI_type_node, unsigned_V4SI_type_node,
unsigned_V2DI_type_node): Move here from spu-builtins.h.
(spu_builtin_types): Make static. Add GTY marker.
(spu_builtins): Add extern declaration with GTY marker.
Include "gt-spu.h".
* config/spu/spu-c.c: Do not include "spu-builtins.h".
(spu_resolve_overloaded_builtin): Do not use spu_function_code.
Check programmatically whether all parameters are scalar.
* config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
2009-04-22 Jing Yu <>
PR testsuite/39781
* config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
2009-04-22 Eric Botcazou <>
Backport from mainline:
2009-04-17 Eric Botcazou <>
* dbxout.c (dbxout_block): Reinstate test on TREE_USED.
* tree-ssa-live.c (remove_unused_scope_block_p): Update TREE_USED bit.
2009-04-22 Jakub Jelinek <>
* alias.c (find_base_term): Move around LO_SUM case, so that
CONST falls through into PLUS/MINUS handling.
PR c/39855
* fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
into 0, use omit_one_operand.
2009-04-22 Vladimir Makarov <>
PR rtl-optimization/39762
* ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
ira_may_move_out_cost): Add comments about way of their usage.
(ira_get_register_move_cost, ira_get_may_move_cost): New functions.
* ira-conflicts.c (process_regs_for_copy): Use function
ira_get_register_move_cost instead of global
* ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
color_pass, move_spill_restore, update_curr_costs): Ditto.
* ira-lives.c (process_single_reg_class_operands): Ditto.
* ira-emit.c (emit_move_list): Ditto.
* ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
(record_reg_classes): Ditto. Use functions
ira_get_register_move_cost and ira_get_may_move_cost instead of
global vars ira_register_move_cost, ira_may_move_out_cost and
(record_address_regs): Don't call ira_init_register_move_cost.
Use function ira_get_may_move_cost instead of global
(process_bb_node_for_hard_reg_moves): Use function
ira_get_register_move_cost instead of global ira_register_move_cost.
(ira_costs): Don't call ira_init_register_move_cost.
2009-04-22 Richard Guenther <>
PR tree-optimization/39824
* tree-ssa-ccp.c (fold_const_aggregate_ref): For INDIRECT_REFs
make sure the types are compatible.
2009-04-21 Jakub Jelinek <>
* BASE-VER: Set to 4.4.1.
* DEV-PHASE: Set to prerelease.
2009-04-21 Release Manager
* GCC 4.4.0 released.
2009-04-20 Anatoly Sokolov <>
* config/avr/ (*rotlsi3_8, *rotlsi3_16, *rotlsi3_24 ): Check
whether operands 0 and 1 overlaps.
2009-04-20 Ira Rosen <>
PR tree-optimization/39675
* tree-vect-transform.c (vect_transform_loop): Remove currently
redundant check of the return code of vect_schedule_slp. Check that
stmt_vec_info still exists for the statement, before checking its
vectorization type.
2009-04-17 Aurelien Jarno <>
* config.gcc: Add soft-fp/t-softfp and i386/t-linux to tmake_file
for i[34567]86-*-kfreebsd*-gnu*, x86_64-*-kfreebsd*-gnu*.
2009-04-16 Kaz Kojima <>
Backport from mainline:
PR target/39767
* config/sh/ (arith_operand): Check if the operand
2009-04-15 Richard Guenther <>
Backport from mainline:
PR tree-optimization/39764
* tree-ssa-ccp.c (get_value): Canonicalize value with
2009-04-14 H.J. Lu <>
Backport from mainline:
2009-04-09 H.J. Lu <>
PR target/39678
* config/i386/i386.c (classify_argument): Handle SCmode with
(bit_offset % 64) != 0.
2009-04-14 Uros Bizjak <>
Backport from mainline:
2009-04-12 Uros Bizjak <>
PR target/39740
* config/alpha/ (local_symbolic_operand): Return 1 for
offseted label references.
2009-04-11 Richard Guenther <>
PR tree-optimization/39713
* tree-ssa-sccvn.c (vn_get_expr_for): Make sure built
reference trees have SSA_NAME operands.
2009-04-10 H.J. Lu <>
Backport from mainline:
2009-04-10 H.J. Lu <>
* config/rs6000/darwin-vecsave.asm: Remove extra "*/".
2009-04-09 Nick Clifton <>
* unwind-compat.c: Change copyright header to refer to version
3 of the GNU General Public License with version 3.1 of the
GCC Runtime Library Exception and to point readers at the
COPYING3 and COPYING3.RUNTIME files and the FSF's license web
* config/alpha/crtfastmath.c: Likewise.
* config/alpha/linux-unwind.h: Likewise.
* config/alpha/qrnnd.asm: Likewise.
* config/alpha/vms-crt0-64.c: Likewise.
* config/alpha/vms-crt0.c: Likewise.
* config/alpha/vms-dwarf2.asm: Likewise.
* config/alpha/vms-dwarf2eh.asm: Likewise.
* config/alpha/vms-psxcrt0-64.c: Likewise.
* config/alpha/vms-psxcrt0.c: Likewise.
* config/alpha/vms_tramp.asm: Likewise.
* config/arc/initfini.c: Likewise.
* config/arc/lib1funcs.asm: Likewise.
* config/arm/bpabi-v6m.S: Likewise.
* config/arm/bpabi.S: Likewise.
* config/arm/bpabi.c: Likewise.
* config/arm/crti.asm: Likewise.
* config/arm/crtn.asm: Likewise.
* config/arm/ieee754-df.S: Likewise.
* config/arm/ieee754-sf.S: Likewise.
* config/arm/lib1funcs.asm: Likewise.
* config/arm/libunwind.S: Likewise.
* config/arm/linux-atomic.c: Likewise.
* config/arm/mmintrin.h: Likewise.
* config/arm/pr-support.c: Likewise.
* config/arm/unaligned-funcs.c: Likewise.
* config/arm/unwind-arm.c: Likewise.
* config/arm/unwind-arm.h: Likewise.
* config/avr/libgcc.S: Likewise.
* config/bfin/crti.s: Likewise.
* config/bfin/crtlibid.s: Likewise.
* config/bfin/crtn.s: Likewise.
* config/bfin/lib1funcs.asm: Likewise.
* config/bfin/linux-unwind.h: Likewise.
* config/cris/arit.c: Likewise.
* config/cris/cris_abi_symbol.c: Likewise.
* config/darwin-64.c: Likewise.
* config/darwin-crt2.c: Likewise.
* config/darwin-crt3.c: Likewise.
* config/darwin.h: Likewise.
* config/dbxelf.h: Likewise.
* config/dfp-bit.c: Likewise.
* config/dfp-bit.h: Likewise.
* config/elfos.h: Likewise.
* config/fixed-bit.c: Likewise.
* config/fixed-bit.h: Likewise.
* config/fp-bit.c: Likewise.
* config/fp-bit.h: Likewise.
* config/fr30/crti.asm: Likewise.
* config/fr30/crtn.asm: Likewise.
* config/fr30/lib1funcs.asm: Likewise.
* config/freebsd-spec.h: Likewise.
* config/frv/cmovd.c: Likewise.
* config/frv/cmovh.c: Likewise.
* config/frv/cmovw.c: Likewise.
* config/frv/frvbegin.c: Likewise.
* config/frv/frvend.c: Likewise.
* config/frv/lib1funcs.asm: Likewise.
* config/h8300/clzhi2.c: Likewise.
* config/h8300/crti.asm: Likewise.
* config/h8300/crtn.asm: Likewise.
* config/h8300/ctzhi2.c: Likewise.
* config/h8300/fixunssfsi.c: Likewise.
* config/h8300/lib1funcs.asm: Likewise.
* config/h8300/parityhi2.c: Likewise.
* config/h8300/popcounthi2.c: Likewise.
* config/i386/ammintrin.h: Likewise.
* config/i386/att.h: Likewise.
* config/i386/avxintrin.h: Likewise.
* config/i386/biarch64.h: Likewise.
* config/i386/bmmintrin.h: Likewise.
* config/i386/cpuid.h: Likewise.
* config/i386/cross-stdarg.h: Likewise.
* config/i386/crtfastmath.c: Likewise.
* config/i386/crtprec.c: Likewise.
* config/i386/cygming-crtbegin.c: Likewise.
* config/i386/cygming-crtend.c: Likewise.
* config/i386/cygwin.asm: Likewise.
* config/i386/emmintrin.h: Likewise.
* config/i386/gmm_malloc.h: Likewise.
* config/i386/gthr-win32.c: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/immintrin.h: Likewise.
* config/i386/linux-unwind.h: Likewise.
* config/i386/linux64.h: Likewise.
* config/i386/mm3dnow.h: Likewise.
* config/i386/mmintrin-common.h: Likewise.
* config/i386/mmintrin.h: Likewise.
* config/i386/nmmintrin.h: Likewise.
* config/i386/pmm_malloc.h: Likewise.
* config/i386/pmmintrin.h: Likewise.
* config/i386/smmintrin.h: Likewise.
* config/i386/sol2-c1.asm: Likewise.
* config/i386/sol2-ci.asm: Likewise.
* config/i386/sol2-cn.asm: Likewise.
* config/i386/sol2-gc1.asm: Likewise.
* config/i386/tmmintrin.h: Likewise.
* config/i386/unix.h: Likewise.
* config/i386/w32-unwind.h: Likewise.
* config/i386/wmmintrin.h: Likewise.
* config/i386/x86-64.h: Likewise.
* config/i386/x86intrin.h: Likewise.
* config/i386/xmmintrin.h: Likewise.
* config/ia64/crtbegin.asm: Likewise.
* config/ia64/crtend.asm: Likewise.
* config/ia64/crtfastmath.c: Likewise.
* config/ia64/crti.asm: Likewise.
* config/ia64/crtn.asm: Likewise.
* config/ia64/fde-glibc.c: Likewise.
* config/ia64/lib1funcs.asm: Likewise.
* config/ia64/linux-unwind.h: Likewise.
* config/ia64/quadlib.c: Likewise.
* config/ia64/unwind-ia64.c: Likewise.
* config/linux.h: Likewise.
* config/m32c/m32c-lib1.S: Likewise.
* config/m32c/m32c-lib2.c: Likewise.
* config/m32r/initfini.c: Likewise.
* config/m68hc11/larith.asm: Likewise.
* config/m68hc11/m68hc11-crt0.S: Likewise.
* config/m68k/ Likewise.
* config/m68k/crti.s: Likewise.
* config/m68k/crtn.s: Likewise.
* config/m68k/lb1sf68.asm: Likewise.
* config/m68k/linux-unwind.h: Likewise.
* config/mcore/crti.asm: Likewise.
* config/mcore/crtn.asm: Likewise.
* config/mcore/lib1.asm: Likewise.
* config/mips/linux-unwind.h: Likewise.
* config/mips/loongson.h: Likewise.
* config/mips/mips16.S: Likewise.
* config/mmix/crti.asm: Likewise.
* config/mmix/crtn.asm: Likewise.
* config/pa/fptr.c: Likewise.
* config/pa/hpux-unwind.h: Likewise.
* config/pa/lib2funcs.asm: Likewise.
* config/pa/linux-atomic.c: Likewise.
* config/pa/linux-unwind.h: Likewise.
* config/pa/milli64.S: Likewise.
* config/pa/quadlib.c: Likewise.
* config/pa/stublib.c: Likewise.
* config/picochip/libgccExtras/adddi3.asm: Likewise.
* config/picochip/libgccExtras/ashlsi3.asm: Likewise.
* config/picochip/libgccExtras/ashlsi3.c: Likewise.
* config/picochip/libgccExtras/ashrsi3.asm: Likewise.
* config/picochip/libgccExtras/ashrsi3.c: Likewise.
* config/picochip/libgccExtras/cmpsi2.asm: Likewise.
* config/picochip/libgccExtras/divmod15.asm: Likewise.
* config/picochip/libgccExtras/divmodhi4.asm: Likewise.
* config/picochip/libgccExtras/divmodsi4.asm: Likewise.
* config/picochip/libgccExtras/longjmp.asm: Likewise.
* config/picochip/libgccExtras/lshrsi3.asm: Likewise.
* config/picochip/libgccExtras/lshrsi3.c: Likewise.
* config/picochip/libgccExtras/parityhi2.asm: Likewise.
* config/picochip/libgccExtras/popcounthi2.asm: Likewise.
* config/picochip/libgccExtras/setjmp.asm: Likewise.
* config/picochip/libgccExtras/subdi3.asm: Likewise.
* config/picochip/libgccExtras/ucmpsi2.asm: Likewise.
* config/picochip/libgccExtras/udivmodhi4.asm: Likewise.
* config/picochip/libgccExtras/udivmodsi4.asm: Likewise.
* config/rs6000/750cl.h: Likewise.
* config/rs6000/altivec.h: Likewise.
* config/rs6000/biarch64.h: Likewise.
* config/rs6000/crtresfpr.asm: Likewise.
* config/rs6000/crtresgpr.asm: Likewise.
* config/rs6000/crtresxfpr.asm: Likewise.
* config/rs6000/crtresxgpr.asm: Likewise.
* config/rs6000/crtsavfpr.asm: Likewise.
* config/rs6000/crtsavgpr.asm: Likewise.
* config/rs6000/darwin-asm.h: Likewise.
* config/rs6000/darwin-fallback.c: Likewise.
* config/rs6000/darwin-fpsave.asm: Likewise.
* config/rs6000/darwin-ldouble.c: Likewise.
* config/rs6000/darwin-tramp.asm: Likewise.
* config/rs6000/darwin-unwind.h: Likewise.
* config/rs6000/darwin-vecsave.asm: Likewise.
* config/rs6000/darwin-world.asm: Likewise.
* config/rs6000/e500crtres32gpr.asm: Likewise.
* config/rs6000/e500crtres64gpr.asm: Likewise.
* config/rs6000/e500crtres64gprctr.asm: Likewise.
* config/rs6000/e500crtrest32gpr.asm: Likewise.
* config/rs6000/e500crtrest64gpr.asm: Likewise.
* config/rs6000/e500crtresx32gpr.asm: Likewise.
* config/rs6000/e500crtresx64gpr.asm: Likewise.
* config/rs6000/e500crtsav32gpr.asm: Likewise.
* config/rs6000/e500crtsav64gpr.asm: Likewise.
* config/rs6000/e500crtsav64gprctr.asm: Likewise.
* config/rs6000/e500crtsavg32gpr.asm: Likewise.
* config/rs6000/e500crtsavg64gpr.asm: Likewise.
* config/rs6000/e500crtsavg64gprctr.asm: Likewise.
* config/rs6000/eabi-ci.asm: Likewise.
* config/rs6000/eabi-cn.asm: Likewise.
* config/rs6000/eabi.asm: Likewise.
* config/rs6000/linux-unwind.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/rs6000/paired.h: Likewise.
* config/rs6000/ Likewise.
* config/rs6000/ppc64-fp.c: Likewise.
* config/rs6000/ppu_intrinsics.h: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/rs6000/si2vmx.h: Likewise.
* config/rs6000/sol-ci.asm: Likewise.
* config/rs6000/sol-cn.asm: Likewise.
* config/rs6000/spe.h: Likewise.
* config/rs6000/spu2vmx.h: Likewise.
* config/rs6000/sysv4.h: Likewise.
* config/rs6000/tramp.asm: Likewise.
* config/rs6000/vec_types.h: Likewise.
* config/s390/linux-unwind.h: Likewise.
* config/s390/tpf-unwind.h: Likewise.
* config/score/crti.asm: Likewise.
* config/score/crtn.asm: Likewise.
* config/sh/crt1.asm: Likewise.
* config/sh/crti.asm: Likewise.
* config/sh/crtn.asm: Likewise.
* config/sh/divtab-sh4-300.c: Likewise.
* config/sh/divtab-sh4.c: Likewise.
* config/sh/divtab.c: Likewise.
* config/sh/lib1funcs-4-300.asm: Likewise.
* config/sh/lib1funcs-Os-4-200.asm: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/lib1funcs.h: Likewise.
* config/sh/linux-atomic.asm: Likewise.
* config/sh/linux-unwind.h: Likewise.
* config/sh/shmedia.h: Likewise.
* config/sh/sshmedia.h: Likewise.
* config/sh/ushmedia.h: Likewise.
* config/sparc/crtfastmath.c: Likewise.
* config/sparc/linux-unwind.h: Likewise.
* config/sparc/sol2-c1.asm: Likewise.
* config/sparc/sol2-ci.asm: Likewise.
* config/sparc/sol2-cn.asm: Likewise.
* config/spu/divmodti4.c: Likewise.
* config/spu/divv2df3.c: Likewise.
* config/spu/float_disf.c: Likewise.
* config/spu/float_unsdidf.c: Likewise.
* config/spu/float_unsdisf.c: Likewise.
* config/spu/float_unssidf.c: Likewise.
* config/spu/mfc_multi_tag_release.c: Likewise.
* config/spu/mfc_multi_tag_reserve.c: Likewise.
* config/spu/mfc_tag_release.c: Likewise.
* config/spu/mfc_tag_reserve.c: Likewise.
* config/spu/mfc_tag_table.c: Likewise.
* config/spu/multi3.c: Likewise.
* config/spu/spu_internals.h: Likewise.
* config/spu/spu_intrinsics.h: Likewise.
* config/spu/spu_mfcio.h: Likewise.
* config/spu/vec_types.h: Likewise.
* config/spu/vmx2spu.h: Likewise.
* config/stormy16/stormy16-lib2.c: Likewise.
* config/svr4.h: Likewise.
* config/sync.c: Likewise.
* config/v850/lib1funcs.asm: Likewise.
* config/vxlib-tls.c: Likewise.
* config/vxlib.c: Likewise.
* config/vxworks-dummy.h: Likewise.
* config/xtensa/crti.asm: Likewise.
* config/xtensa/crtn.asm: Likewise.
* config/xtensa/ieee754-df.S: Likewise.
* config/xtensa/ieee754-sf.S: Likewise.
* config/xtensa/lib1funcs.asm: Likewise.
* config/xtensa/lib2funcs.S: Likewise.
* config/xtensa/linux-unwind.h: Likewise.
* config/xtensa/unwind-dw2-xtensa.c: Likewise.
* config/xtensa/unwind-dw2-xtensa.h: Likewise.
* coretypes.h: Likewise.
* crtstuff.c: Likewise.
* defaults.h: Likewise.
* dwarf2.h: Likewise.
* emutls.c: Likewise.
* gbl-ctors.h: Likewise.
* gcov-io.h: Likewise.
* ginclude/float.h: Likewise.
* ginclude/iso646.h: Likewise.
* ginclude/stdarg.h: Likewise.
* ginclude/stdbool.h: Likewise.
* ginclude/stddef.h: Likewise.
* ginclude/stdfix.h: Likewise.
* ginclude/tgmath.h: Likewise.
* gthr-aix.h: Likewise.
* gthr-dce.h: Likewise.
* gthr-gnat.c: Likewise.
* gthr-gnat.h: Likewise.
* gthr-lynx.h: Likewise.
* gthr-mipssde.h: Likewise.
* gthr-nks.h: Likewise.
* gthr-posix.c: Likewise.
* gthr-posix.h: Likewise.
* gthr-posix95.h: Likewise.
* gthr-rtems.h: Likewise.
* gthr-single.h: Likewise.
* gthr-solaris.h: Likewise.
* gthr-tpf.h: Likewise.
* gthr-vxworks.h: Likewise.
* gthr-win32.h: Likewise.
* gthr.h: Likewise.
* libgcc2.c: Likewise.
* libgcc2.h: Likewise.
* libgcov.c: Likewise.
* tsystem.h: Likewise.
* typeclass.h: Likewise.
* unwind-c.c: Likewise.
* unwind-compat.h: Likewise.
* unwind-dw2-fde-compat.c: Likewise.
* unwind-dw2-fde-darwin.c: Likewise.
* unwind-dw2-fde-glibc.c: Likewise.
* unwind-dw2-fde.c: Likewise.
* unwind-dw2-fde.h: Likewise.
* unwind-dw2.c: Likewise.
* unwind-dw2.h: Likewise.
* unwind-generic.h: Likewise.
* unwind-pe.h: Likewise.
* unwind-sjlj.c: Likewise.
* Likewise.
* config/arm/ Change generated copyright header to
refer to version 3 of the GNU General Public License with
version 3.1 of the GCC Runtime Library Exception and to point
readers at the COPYING3 and COPYING3.RUNTIME files and the
FSF's license web page.
* config/arm/arm_neon.h: Regenerate.
2009-04-09 Jakub Jelinek <>
* config/cris/ Change copyright header to refer to version
3 of the GNU General Public License.
* doc/install.texi2html: Change copyright header to refer to version
3 of the GNU General Public License and to point readers at the
COPYING3 file and the FSF's license web page.
2009-04-08 Jakub Jelinek <>
PR middle-end/39573
* omp-low.c (expand_omp_taskreg): Finalize taskreg static local_decls
2009-04-08 David Ayers <>
PR objc/27377
* c-typeck.c (build_conditional_expr): Emit ObjC warnings
by calling objc_compare_types and surpress warnings about
incompatible C pointers that are compatible ObjC pointers.
2009-04-07 Alan Modra <>
PR target/39634
* config.gcc (powerpc-*-linux*): Include soft-fp/t-softfp after
2009-04-04 Richard Earnshaw <>
PR target/39501
* (movsfcc): Disable if not TARGET_HARD_FLOAT.
* testsuite/gcc.c-torture/execute/pr39501.c: New file.
* testsuite/gcc.c-torture/execute/pr39501.x: New file.
2009-04-04 Jakub Jelinek <>
* unwind-dw2.h (_Unwind_FrameState): Add REG_UNDEFINED enum value.
* unwind-dw2.c (execute_cfa_program): Set how to REG_UNDEFINED
instead of REG_UNSAVED for DW_CFA_undefined.
(uw_update_context_1): Handle REG_UNDEFINED the same as REG_UNSAVED.
(uw_update_context): If RA column is REG_UNDEFINED, mark it as
outermost frame.
2009-04-02 Ira Rosen <>
PR tree-optimization/39595
* tree-vect-analyze.c (vect_build_slp_tree): Check that the size of
interleaved loads group is not greater than the SLP group size.
2009-04-01 Eric Botcazou <>
PR rtl-optimization/39588
* combine.c (merge_outer_ops): Do not set the constant when this
is not necessary.
(simplify_shift_const_1): Do not modify it either in this case.
2009-04-01 Steven Bosscher <>
* config/ia64/ia64.c (ia64_handle_option): Inform user that Itanium1
tuning is deprecated if -mtune value is set to an Itanium1 variant.
2009-04-01 Jakub Jelinek <>
PR target/39226
* config/rs6000/ (andsi3_internal5_nomc,
anddi3_internal2_nomc, anddi3_internal3_nomc): Removed.
(booldi3_internal3): Use boolean_or_operator instead of
PR c/37772
* c-parser.c (c_parser_asm_statement): Skip until close paren and
return if c_parser_asm_string_literal returned NULL.
2009-04-01 Kai Tietz <>
Andrey Galkin <>
* config/i386/host-mingw32.c (mingw32_gt_pch_use_address):
Make object_name unique for each process.
2009-04-01 Anatoly Sokolov <>
* config/avr/avr.c (avr_override_options): Inform user that
-mno-tablejump option is deprecated.
* doc/invoke.texi (AVR Options): Update -mno-tablejump.
2009-04-01 Jakub Jelinek <>
PR other/39591
* omp-low.c (remove_exit_barrier): Don't optimize if there are any
addressable variables in the parallel that could go out of scope while
running queued tasks.
2009-03-30 Sebastian Pop <>
* doc/invoke.texi (-floop-interchange, -floop-strip-mine,
-floop-block): Document dependences on PPL, CLooG and Graphite.
2009-03-30 Jakub Jelinek <>
2009-03-27 H.J. Lu <>
* c-common.c (pointer_int_sum): Use %wd on return from
2009-03-27 H.J. Lu <>
* c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC
on return from tree_low_cst.
2009-03-27 Manuel Lopez-Ibanez <>
PR c++/35652
* builtins.h (c_strlen): Do not warn here.
* c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
* c-common.c (pointer_int_sum): Take an explicit location.
Warn about offsets out of bounds.
* c-common.h (pointer_int_sum): Adjust declaration.
2009-03-29 H.J. Lu <>
Backport from mainline:
2009-03-29 H.J. Lu <>
PR target/39545
* config/i386/i386.c (classify_argument): Ignore flexible array
member in struct and warn ABI change.
2009-03-29 Joseph Myers <>
* doc/invoke.texi, doc/standards.texi: Refer to
2009-03-28 Anatoly Sokolov <>
* config/avr/avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and
atmega8m1 devices.
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.)
2009-03-28 Jakub Jelinek <>
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro
following vector keyword has expansion starting with pixel or bool
keyword, expand vector to __vector and pixel or bool to __pixel or
PR c++/39554
* opts.c (warning_disallowed_functions, warn_disallowed_functions,
warn_if_disallowed_function_p): Removed.
(common_handle_option): Don't handle OPT_Wdisallowed_function_list_.
* c-parser.c (c_parser_postfix_expression_after_primary): Don't call
* flags.h (warn_if_disallowed_function_p,
warn_disallowed_functions): Removed.
* common.opt (Wdisallowed-function-list=): Removed.
* doc/invoke.texi (-Wdisallowed-function-list=): Removed.
2009-03-27 Mark Mitchell <>
* DEV-PHASE: Mark "prerelease".
2009-03-27 Xinliang David Li <>
PR tree-optimization/39557
* tree-ssa.c (warn_uninitialized_vars): free postdom info.
2009-03-27 Xinliang David Li <>
PR tree-optimization/39548
* tree-ssa-copy.c (copy_prop_visit_phi_node): Add copy
candidate check.
2009-03-27 H.J. Lu <>
* c-common.c (pointer_int_sum): Use %wd on return from
2009-03-27 H.J. Lu <>
* c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC
on return from tree_low_cst.
2009-03-27 Andrew Pinski <>
PR c++/36799
* ginclude/stdarg.h (va_copy): Define also for
2009-03-27 Manuel Lopez-Ibanez <>
PR c++/35652
* builtins.h (c_strlen): Do not warn here.
* c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
* c-common.c (pointer_int_sum): Take an explicit location.
Warn about offsets out of bounds.
* c-common.h (pointer_int_sum): Adjust declaration.
2009-03-26 Ralf Wildenhues <>
* doc/invoke.texi (i386 and x86-64 Windows Options): Fix texinfo
markup glitch.
2009-03-26 Jakub Jelinek <>
PR c++/39554
* opts.c (warn_if_disallowed_function_p): Don't assume
get_callee_fndecl must return non-NULL.
2009-03-26 Vladimir Makarov <>
PR rtl-optimization/39522
* reload1.c (reload_as_needed): Invalidate reg_last_reload_reg too
when reg_reloaded_valid is set.
2009-03-26 Ulrich Weigand <>
* config/spu/divv2df3.c: New file.
* config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add it.
(DPBIT_FUNCS): Filter out _div_df.
2009-03-26 Bernd Schmidt <>
* config/bfin/bfin.c (bfin_optimize_loop): If the LSETUP goes before
a jump insn, count that jump in the distance to the loop start.
2009-03-25 Kaz Kojima <>
PR target/39523
* config/sh/sh.c (calc_live_regs): Fix condition for global
registers except PIC_OFFSET_TABLE_REGNUM.
2009-03-25 Kai Tietz <>
* doc/invoke.texi (-mconsole): New.
(-mcygwin): New.
(-mno-cygwin): New.
(-mdll): New.
(-mnop-fun-dllimport): New.
(-mthread): New.
(-mwin32): New.
(-mwindows): New.
(sub section "i386 and x86-64 Windows Options"): New.
2009-03-25 Ralf Cors├ępius <>
* config/arm/rtems-elf.h: Remove LINK_GCC_C_SEQUENCE_SPEC.
* config/rs6000/t-rtems: Remove MULTILIB_EXTRA_OPTS.
2009-03-25 Richard Guenther <>
PR middle-end/39497
* (dfp.o-warn): Use -fno-strict-aliasing instead
of -Wno-error.
2009-03-25 Andrey Belevantsev <>
* config/ia64/ia64.c (ia64_set_sched_flags): Zero spec_info->mask when
neither of haifa/selective schedulers are working.
2009-03-25 Ralf Wildenhues <>
* doc/invoke.texi (Debugging Options): Fix description of
2009-03-24 Hans-Peter Nilsson <>
* config/cris/libgcc.ver: New version-script.
* config/cris/t-linux (SHLIB_MAPFILES): Use it.
* <GAS features, nop mnemonic>: Add pattern
crisv32-*-* for "nop".
<GAS features, Thread-local storage>: Add item for CRIS and
CRIS v32.
* configure: Regenerate.
2009-03-24 Ira Rosen <>
PR tree-optimization/39529
* tree-vect-transform.c (vect_create_data_ref_ptr): Call
mark_sym_for_renaming for the tag copied to the new vector
2009-03-24 Arthur Loiret <>
* (alpha*-*-linux*): Use driver-alpha.o and
* config/alpha/linux.h (host_detect_local_cpu): Declare, add to
* config/alpha/driver-alpha.c, config/alpha/x-alpha: New.
* doc/invoke.texi (DEC Alpha Options): Document 'native' value for
-march and -mtune options.
2009-03-24 Ralf Cors├ępius <>
* config/m68k/t-rtems: Add m5329 multilib.
2009-03-24 Dodji Seketeli <>
Jakub Jelinek <>
PR debug/39524
* dwarf2out.c (gen_variable_die): Avoid adding duplicate declaration
2009-03-23 Jakub Jelinek <>
PR c/39495
* c-parser.c (c_parser_omp_for_loop): Call c_parser_binary_expression
instead of c_parser_expression_conv, if original_code isn't one of the
4 allowed comparison codes, fail.
2009-03-23 Richard Guenther <>
* cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
* tree.h (struct tree_type): Likewise.
* reload.h (struct insn_chain): Likewise.
* dwarf2out.c (struct dw_loc_descr_struct): Likewise.
* function.h (struct function): Likewise.
* tree-ssa-structalias.c (struct equiv_class_label): Likewise.
2009-03-23 Jakub Jelinek <>
PR tree-optimization/39516
* lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
2009-03-23 Bingfeng Mei <>
* config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint
should be set true if BITS_PER_WORD of target is bigger than 32
2009-03-22 Hans-Peter Nilsson <>
* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
Translate -B-options to -rpath-link. Correct existing
rpath-link and conditionalize on !nostdlib.
2009-03-22 Ralf Wildenhues <>
* doc/extend.texi (Function Attributes, Variable Attributes):
Fix typos.
* doc/invoke.texi (Debugging Options, Optimize Options)
(i386 and x86-64 Options, MCore Options): Likewise.
2009-03-20 Jakub Jelinek <>
PR debug/37890
* dwarf2out.c (gen_namespace_die): Add context_die argument and use
it for block local namespace aliases.
(gen_decl_die): Pass context_die to gen_namespace_die.
2009-03-19 Jakub Jelinek <>
PR c/39495
* c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
minimum or maximum value.
2009-03-19 Alexandre Oliva <>
* reginfo.c (globalize_reg): Recompute derived reg sets.
2009-03-19 Ozkan Sezer <>
PR target/39063
* libgcc2.c (mprotect): Do not use signed arguments for
VirtualProtect, use DWORD arguments. Also fix the 'may
be used uninitialized' warning for the np variable.
2009-03-19 Jakub Jelinek <>
PR target/39496
* config/i386/i386.c (ix86_function_regparm): Don't optimize local
functions using regparm calling conventions when not optimizing.
(ix86_function_sseregparm): Similarly for sseregparm calling
2009-03-19 Li Feng <>
PR middle-end/39500
* tree-data-ref.c (analyze_subscript_affine_affine): There is no
dependence if the first conflict is after niter iterations.
2009-03-19 Hans-Peter Nilsson <>
PR middle-end/38609
* config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
functions with dynamic stack-pointer adjustments.
2009-03-19 Ben Elliston <>
* doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
option; change to -msdata=data.
2009-03-18 Ralf Wildenhues <>
* c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
and -fopenmp.
2009-03-18 Eric Botcazou <>
PR target/35180
* config/sparc/ (do_builtin_setjmp_setup): Prettify asm output.
2009-03-18 Sandra Loosemore <>
* doc/invoke.texi (Code Gen Options): Expand discussion of
2009-03-18 Jakub Jelinek <>
* dse.c (struct group_info): Reorder fields for 64-bit hosts.
* matrix-reorg.c (struct matrix_info): Likewise.
* tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
* rtl.h (struct mem_attrs): Likewise.
* df.h (struct df): Likewise.
* tree-data-ref.h (struct data_dependence_relation): Likewise.
* ira-int.h (struct ira_allocno): Likewise.
* df-scan.c (struct df_collection_rec): Likewise.
* ira.c (struct equivalence): Likewise.
* function.c (struct temp_slot): Likewise.
* cfgloop.h (struct loop): Likewise.
PR debug/39485
* function.c (use_register_for_decl): When not optimizing, disregard
register keyword for variables with types containing methods.
2009-03-18 Sebastian Pop <>
PR middle-end/39447
* graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
(is_simple_operand): Call contains_component_ref_p before calling data
reference analysis that would fail on COMPONENT_REFs.
* tree-vrp.c (search_for_addr_array): Fix formatting.
2009-03-18 Richard Guenther <>
* tree-vect-transform.c (vect_loop_versioning): Fold the
generated comparisons.
* tree-vectorizer.c (set_prologue_iterations): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
2009-03-17 Ralf Wildenhues <>
PR middle-end/37805
* opts.c (print_specific_help): In addition to `undocumented',
accept `separate' and `joined' flags if passed alone. Describe
output by the first matched one of those.
(common_handle_option): Skip over empty strings.
* gcc.c (display_help): Fix help string for `--help='.
* doc/invoke.texi (Option Summary, Overall Options): With
`--help=', classes and qualifiers can both be repeated, but
only the latter can be negated. One should not pass only
negated qualifiers. Fix markup and examples.
2008-10-14 Jakub Jelinek <>
PR middle-end/37805
* opts.c (common_handle_option): Don't ICE on -fhelp=joined
and -fhelp=separate.
2009-03-17 Jing Yu <>
PR middle-end/39378
* function.h (struct rtl_data): Move is_thunk from here...
(struct function): here.
* cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
* varasm.c (assemble_start_function): Change is_thunk from crtl to
* config/alpha/alpha.c (alpha_sa_mask): Change is_thunk from crtl to
(alpha_does_function_need_gp, alpha_start_function): Likewise.
(alpha_output_function_end_prologue): Likewise.
(alpha_end_function, alpha_output_mi_thunk_osf): Likewise.
* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likewise.
(rs6000_output_function_epilogue): Likewise.
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
2009-03-17 Uros Bizjak <>
PR target/39482
* config/i386/ (*truncdfsf_mixed): Avoid combining registers
from different units in a single alternative.
(*truncdfsf_i387): Ditto.
(*truncxfsf2_mixed): Ditto.
(*truncxfdf2_mixed): Ditto.
2009-03-17 Jakub Jelinek <>
* dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
PR debug/39474
* tree-ssa-live.c (remove_unused_locals): Don't remove local
unused non-artificial variables when not optimizing.
PR debug/39471
* dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
DW_TAG_imported_module even if decl is IMPORTED_DECL with
PR middle-end/39443
* optabs.c (set_user_assembler_libfunc): New function.
* expr.h (set_user_assembler_libfunc): New prototype.
* c-common.c: Include libfuncs.h.
(set_builtin_user_assembler_name): Call set_user_assembler_libfunc
for memcmp, memset, memcpy, memmove and abort.
* (c-common.o): Depend on libfuncs.h.
PR debug/39412
* dwarf2out.c (gen_inlined_enumeration_type_die,
gen_inlined_structure_type_die, gen_inlined_union_type_die,
gen_tagged_type_instantiation_die): Removed.
(gen_decl_die): For TYPE_DECL_IS_STUB with non-NULL decl_origin
do nothing.
2009-03-17 Janis Johnson <>
PR testsuite/38526
* (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
its use.
(check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
(check-parallel-%): Ditto.
(check-consistency): Ditto.
2009-03-17 Kai Tietz <>
* ipa-struct-reorg.c (create_general_new_stmt): Initialize
local variable rhs by NULL_TREE.
2009-03-17 H.J. Lu <>
PR target/39477
* doc/extend.texi: Correct register behavior for regparm on Intel 386.
2009-03-17 H.J. Lu <>
PR target/39476
* config/i386/i386.c (ix86_function_regparm): Rewrite for 64bit.
2009-03-17 H.J. Lu <>
PR target/39473
* config/i386/i386.c (ix86_expand_call): Check extra clobbers
for ms->sysv ABI calls only in 64bit mode.
* config/i386/ (untyped_call): Support 32bit.
2009-03-16 H.J. Lu <>
* doc/extend.texi: Replace x86_65 with x86_64.
2009-03-16 Jakub Jelinek <>
PR tree-optimization/39455
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
mismatches for POINTER_TYPE_P (type).
(number_of_iterations_le): Likewise.
2009-03-16 Hariharan Sandanagobalane <>
* config/picochip/picochip.c: Removed profiling support.
* config/picochip/ Removed profiling instruction.
* config/picochip/picochip.h: Removed profiling builtin.
2009-03-16 Joseph Myers <>
* doc/install.texi (--with-host-libstdcxx): Document.
2009-03-14 Anatoly Sokolov <>
PR target/34299
* config/avr/avr.c (avr_handle_fndecl_attribute): Move code for
generate a warning if the function name does not begin with
"__vector" and the function has either the 'signal' or 'interrupt'
attribute, from here to ...
(avr_declare_function_name): New function.
* config/avr/avr.h (ASM_DECLARE_FUNCTION_NAME): Redefine.
* config/avr/avr-protos.h (avr_declare_function_name): Declare.
2009-03-14 Jakub Jelinek <>
PR bootstrap/39454
* cse.c (fold_rtx): Don't modify original const_arg1 when
canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
separate variable instead.
* rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
from out of range shift counts.
(num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
2008-03-13 Catherine Moore <>
* gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
diagnostic.h with $(DIAGNOSTIC_H).
2008-03-12 Jakub Jelinek <>
PR target/39431
* config/i386/ (cmpxchg8b_pic_memory_operand): New
* config/i386/ (sync_compare_and_swap<mode>,
sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
into a register.
sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
cmpxchg8b_pic_memory_operand instead of just memory_operand.
2009-03-12 H.J. Lu <>
PR target/39445
* config/i386/i386.c (ix86_expand_push): Don't set memory alignment.
2009-03-12 H.J. Lu <>
PR target/39327
* config/i386/ (avx_addsubv8sf3): Correct item bits.
(avx_addsubv4df3): Likewise.
(*avx_addsubv4sf3): Likewise.
(sse3_addsubv4sf3): Likewise.
2009-03-12 H.J. Lu <>
PR target/38824
* config/i386/ Compare REGNO on the new peephole2 patterns.
2009-03-12 Vladimir Makarov <>
PR debug/39432
* ira-int.h (struct allocno): Fix comment for calls_crossed_num.
* ira-conflicts.c (ira_build_conflicts): Prohibit call used
registers for allocnos created from user-defined variables.
2009-03-11 Ulrich Weigand <>
PR target/39181
* config/spu/spu.c (spu_expand_mov): Handle invalid subregs
of non-integer mode as well.
2009-03-11 Adam Nemet <>
* gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
for functions for which the parameter types are unknown.
2009-03-11 Jakub Jelinek <>
PR target/39137
* cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT macro.
* defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
* config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
* config/i386/i386.c (ix86_local_alignment): For
-m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
long long variables on the stack to avoid dynamic realignment.
Allow the first argument to be a decl rather than type.
* doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
2009-03-11 Nick Clifton <>
PR target/5362
* config/mcore/mcore.opt: Remove deprecated m4align and m8align
Add description to mno-lsim option.
* config/mcore/mcore.h: Remove comment about deprecated m4align
(TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
* doc/invoke.texi: Add description of mno-lsim and
mstack-increment options.
* config/fr30/fr30.opt: Document the -mno-lsim option.
* doc/invoke.texi: Add descriptions of the FR30's -msmall-model
and -mno-lsim options.
2009-03-11 Ulrich Weigand <>
* fold-const.c (fold_comparison): Only call fold_inf_compare
if the mode supports infinities.
2009-03-11 Jason Merrill <>
PR debug/39086
* tree-nrv.c (tree_nrv): Don't do this optimization if the front
end already did. Notice GIMPLE_CALL modifications of the result.
Don't copy debug information from an ignored decl or a decl from
another function.
2009-03-10 Richard Guenther <>
Nathan Froyd <>
PR middle-end/37850
* libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
(__divMODE3): Likewise.
2009-03-09 Jakub Jelinek <>
PR tree-optimization/39394
* gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
DECL_SIZE_UNIT of variable length FIELD_DECLs.
2009-03-09 Andreas Krebbel <>
* recog.c (verfiy_changes): Disallow renaming of hard regs in
inline asms for register asm ("") declarations.
2009-03-09 Eric Botcazou <>
* fold-const.c (fold_unary): Fix comment.
2009-03-07 Jan Hubicka <>
PR target/39361
* tree-inline.c (setup_one_parameter): Do replacement of const
argument by constant in SSA form.
2009-03-07 Ulrich Weigand <>
PR middle-end/38028
* function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
determine alignment passed to assign_stack_local.
(assign_parms_unsplit_complex): Likewise.
* except.c (sjlj_build_landing_pads): Likewise.
2009-03-06 Jakub Jelinek <>
PR middle-end/39360
* tree-flow.h (add_referenced_var): Return bool instead of void.
* tree-dfa.c (add_referenced_var): Return result of
referenced_var_check_and_insert call.
* tree-inline.c (expand_call_inline): Call add_referenced_var instead
of referenced_var_check_and_insert.
PR debug/39372
* dwarf2out.c (add_abstract_origin_attribute): Return origin_die.
(gen_variable_die): Emit DW_AT_location on abstract static variable's
DIE, don't emit it if abstract origin already has it.
* tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
2009-03-06 Jan-Benedict Glaw <>
* genpreds.c: (needs_variable): Fix parentheses at variable name
(write_tm_constrs_h): Indent generated code.
2009-03-06 Ramana Radhakrishnan <>
* doc/extend.texi (Function Attributes): Add documentation
for isr attributes.
2009-03-06 Jakub Jelinek <>
PR debug/39387
* dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
take locus from its DECL_SOURCE_LOCATION instead of input_location.
2009-03-05 Bernd Schmidt <>
* config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
the loop as bad.
2009-03-05 Jakub Jelinek <>
PR debug/39379
* tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
with blocks containing IMPORTED_DECLs in BLOCK_VARS.
2009-03-05 Uros Bizjak <>
* config/i386/ (R8_REG, R9_REG): New constants.
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
constants instead of magic numbers.
(QI_REG_P): Ditto.
* config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
(x86_64_ms_abi_int_parameter_registers): Ditto.
(x86_64_int_return_registers): Ditto.
(ix86_maybe_switch_abi): Ditto.
(ix86_expand_call): Ditto for clobbered_registers array.
(ix86_hard_regno_mode_ok): Ditto.
(x86_extended_QIreg_mentioned_p): Ditto.
2009-03-05 J"orn Rennecke <>
PR tree-optimization/39349
* cse.c (cse_insn): Fix loop to stop at VOIDmode.
* combine.c (gen_lowpart_for_combine): Use omode when generating
2009-03-04 J"orn Rennecke <>
PR rtl-optimization/39235
* loop-iv.c (get_simple_loop_desc): Use XCNEW.
2009-03-04 Zdenek Dvorak <>
* graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
2009-03-04 Richard Guenther <>
PR tree-optimization/39362
* tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
that occur in abnormal PHIs should be varying.
2009-03-04 Zdenek Dvorak <>
* tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
Extend comments.
(simple_iv): Take loop as an argument instead of statement.
* tree-scalar-evolution.h (simple_iv): Declaration changed.
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
to simple_iv.
* tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
* tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
* matrix-reorg.c (analyze_transpose): Ditto.
* tree-data-ref.c (dr_analyze_innermost): Ditto.
* tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
* tree-predcom.c (ref_at_iteration): Ditto.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
2009-03-04 Richard Guenther <>
PR tree-optimization/39358
* tree-ssa-structalias.c (do_sd_constraint): Fix check for
escaped_id and callused_id.
(solve_graph): Likewise.
2009-03-04 Richard Guenther <>
PR tree-optimization/39339
* tree-sra.c (try_instantiate_multiple_fields): Make it
no longer ICE on the above.
2009-03-03 Joseph Myers <>
* emit-rtl.c (adjust_address_1): Reduce offset to a signed value
that fits within Pmode.
2009-03-03 Steve Ellcey <>
PR middle-end/10109
* tm.texi (LIBCALL_VALUE): Update description.
2009-03-03 Steve Ellcey <>
PR middle-end/34443
* doc/extend.texi (section): Update description.
2009-03-03 H.J. Lu <>
PR middle-end/39345
* tree-inline.c (remapped_type): New.
(can_be_nonlocal): Call remapped_type instead of remap_type.
2009-03-03 Jakub Jelinek <>
PR fortran/39354
* gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
2009-03-03 Richard Guenther <>
PR middle-end/39272
* tree.c (tree_nonartificial_location): New function.
* tree.h (tree_nonartificial_location): Declare.
* builtins.c (expand_builtin_memory_chk): Provide location
of the call location for artificial function pieces.
(maybe_emit_chk_warning): Likewise.
(maybe_emit_sprintf_chk_warning): Likewise.
(maybe_emit_free_warning): Likewise.
* expr.c (expand_expr_real_1): Likewise.
2009-03-03 Jakub Jelinek <>
PR tree-optimization/39343
* tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
2009-03-02 Sebastian Pop <>
PR middle-end/39335
* tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
when the type precision of the induction variable should be
larger than the type precision of nit.
(gen_parallel_loop): Update use of canonicalize_loop_ivs.
* graphite.c (graphite_loop_normal_form): Same.
* tree-flow.h (canonicalize_loop_ivs): Update declaration.
2009-03-02 Uros Bizjak <>
* config/i386/ (ST?_REG, MM?_REG): New constants.
(*call_1_rex64_ms_sysv): Use named constants instead of magic
numbers to describe clobbered registers.
(*call_value_0_rex64_ms_sysv): Ditto.
* config/i386/ (mmx_emms): Ditto.
(mmx_femms): Ditto.
2009-03-02 Richard Sandiford <>
* config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
of ABI_64.
2009-03-02 Ulrich Weigand <>
* config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
(spu_section_type_flags): New function.
2009-03-02 Uros Bizjak <>
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
reg_class_contents of FLOAT_REGS into a temporary.
2009-03-02 Richard Guenther <>
Ira Rosen <>
PR tree-optimization/39318
* tree-vect-transform.c (vectorizable_call): Transfer the EH region
information to the vectorized statement.
2009-03-01 Uros Bizjak <>
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
variable. Use defined names instead of magic constants for REX SSE
2009-03-01 Richard Guenther <>
PR tree-optimization/39331
* omp-low.c (lower_send_shared_vars): Do not receive new
values for the reference of DECL_BY_REFERENCE parms or results.
2009-03-01 Jan Hubicka <>
PR debug/39267
(tree_block): Add nonlocalized_vars.
* dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
gen_decl_die): Add origin argument. Allow generation of die with
origin at hand only.
(gen_member_die, gen_type_die_with_usage, force_decl_die,
declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
of gen_*.
(gen_block_die): Fix checking for unused blocks.
(process_scope_var): Break out from .... ; work with origins only.
(decls_for_scope) ... here; process nonlocalized list.
(dwarf2out_ignore_block): Look for nonlocalized vars.
* tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
(dump_scope_block): Dump them.
* tree-inline.c (remap_decls): Handle nonlocalized vars.
(remap_block): Likewise.
(can_be_nonlocal): New predicate.
(copy_bind_expr, copy_gimple_bind): Update use of remap_block.
2009-03-01 Ralf Wildenhues <>
* configure: Regenerate.
2009-03-01 Ralf Wildenhues <>
* optc-gen.awk: No need to duplicate option flags twice.
Reuse help texts for duplicate options which do not have any.
* gcc.c (display_help): Document --version.
* gcc.c (main): If print_help_list and verbose_flag, ensure
driver output comes before subprocess output.
* optc-gen.awk: Assign all remaining fields to help string,
space-separated, for multi-line help in *.opt.
* doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
-Wno-pedantic-ms-format is for MinGW targets only.
* doc/options.texi (Option file format): Fix bad indentation,
restoring dropped sentence.
2009-02-28 Jan Hubicka <>
* tree-inline.c (tree_function_versioning): Output debug info.
2009-02-28 Jan Hubicka <>
PR debug/39267
* tree-inline.c (setup_one_parameter): Do not copy propagate
arguments when not optimizing.
2009-02-28 H.J. Lu <>
PR target/39327
* config/i386/ (avx_addsubv8sf3): Correct item bits.
(avx_addsubv4df3): Likewise.
(*avx_addsubv4sf3): Likewise.
(sse3_addsubv4sf3): Likewise.
(*avx_addsubv2df3): Likewise.
(sse3_addsubv2df3): Likewise.
(avx_unpckhps256): Correct item selectors.
(avx_unpcklps256): Likewise.
(avx_unpckhpd256): Likewise.
(avx_unpcklpd256): Likewise.
2009-02-28 Jan Hubicka <>
* tree-inline.c (expand_call_inline): Avoid duplicate declarations of
static vars.
(copy_arguments_for_versioning): If var is declared don't declare it.
(tree_function_versioning): First setup substitutions and then copy
2009-02-27 Jan Hubicka <>
PR debug/39267
* cgraph.h (varpool_output_debug_info): Remove.
* cgraphunit.c (varpool_output_debug_info): Remove.
* dwarf2out.c (deferred_locations_struct): New struct
(deferred_locations): New type.
(deferred_locations_list): New static var.
(deffer_location): New function.
(gen_variable_die): Use it.
(decls_for_scope): Output info on local static vars.
(dwarf2out_finish): Process deferred locations.
* varpool.c (varpool_output_debug_info): Remove.
2009-02-27 Jan Hubicka <>
PR debug/39267
* tree.h (TREE_PROTECTED): Fix comment.
(struct tree_block): Remove handler_block add body_block.
(inlined_function_outer_scope_p): New.
(is_body_block): Remove.
* dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
* dwarf2out.c (is_inlined_entry_point): Remove.
(add_high_low_attributes): Use inlined_function_outer_scope_p.
(gen_block_die): Use is_inlined_entry_point check. Remove body block
* langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
* gimplify.c (gimplify_expr): Gimplify body blocks.
* tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
block with multiple subblocks.
(dump_scope_block): Prettier output; dump more flags and info.
(dump_scope_blocks): New.
(remove_unused_locals): Use dump_scope_blocks.
* tree-flow.h (dump_scope_blocks): Declare.
* tree-cfg.c (execute_build_cfg): Dump scope blocks.
* stmt.c (is_body_block): Remove.
* tree-inline.c (remap_block): Copy BODY_BLOCK info.
* langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
2009-02-27 Sebastian Pop <>
PR middle-end/39308
* graphite.c (graphite_loop_normal_form): Do not call
number_of_iterations_exit from a gcc_assert.
2009-02-27 Andreas Krebbel <>
* gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
jumps if COND is NULL.
(find_cond_jump): New function.
(s390_z10_optimize_cmp): Handling for reg-reg compares added.
* gcc/config/s390/ Remove z10_cobra attribute value.
2009-02-26 Uros Bizjak <>
* config/alpha/alpha.h (alpha_expand_mov): Return false if
force_const_mem returns NULL_RTX.
2009-02-26 Jan Hubicka <>
PR debug/39267
* cgraph.h (varpool_output_debug_info): Remove.
* cgraphunit.c (varpool_output_debug_info): Remove.
* dwarf2out.c (deferred_locations_struct): New struct
(deferred_locations): New type.
(deferred_locations_list): New static var.
(deffer_location): New function.
(gen_variable_die): Use it.
(decls_for_scope): Output info on local static vars.
(dwarf2out_finish): Process deferred locations.
* varpool.c (varpool_output_debug_info): Remove.
2009-02-25 H.J. Lu <>
PR rtl-optimization/39241
* jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
to subreg_offset_representable_p.
2009-02-25 Paolo Bonzini <>
* regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
execute function prototype. Get f and nregs from max_reg_num
and get_insns. Remove the first backward pass as it's dead,
guard the forward pass by flag_expensive_optimizations.
(rest_of_handle_regmove): Delete.
(pass_regmove): Replace it with regmove_optimize.
2009-02-25 Martin Jambor <>
PR tree-optimization/39259
* tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
calls_alloca function flags.
(copy_bb): Set calls_setjmp and alls_alloca function flags if such
calls are detected.
2009-02-25 Paolo Bonzini <>
* regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
flags_set_1_rtx, flags_set_1_set): Delete.
(regmove_optimize): Do not call mark_flags_life_zones.
2009-02-24 Julian Brown <>
PR target/35965
* config/arm/arm.c (require_pic_register): Only set
cfun->machine->pic_reg once per function.
2009-02-24 Sandra Loosemore <>
* doc/invoke.texi (Link Options): Document an easier way to pass
options that take arguments to the GNU linker using -Xlinker and -Wl.
2009-02-24 Steve Ellcey <>
PR target/33785
* doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
2009-02-24 Richard Guenther <>
PR debug/39285
* dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
2009-02-24 Richard Guenther <>
Zdenek Dvorak <>
PR tree-optimization/39233
* tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
from converting them to a generic type.
2009-02-23 Sebastian Pop <>
PR tree-optimization/39260
* graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
contains a condition with a real type.
(build_scop_conditions_1): Conditions are always last_stmt of a bb.
2009-02-23 Jason Merrill <>
PR c++/38880
* varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
(narrowing_initializer_constant_valid_p): Don't return
null_pointer_node for adding a pointer to itself.
2009-02-23 Jan Hubicka <>
PR c/12245
* ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
2009-02-23 Jan Hubicka <>
PR tree-optimization/37709
* tree.c (block_ultimate_origin): Move here from dwarf2out.
* tree.h (block_ultimate_origin): Declare.
* dwarf2out.c (block_ultimate_origin): Move to tree.c
* tree-ssa-live.c (remove_unused_scope_block_p):
Eliminate blocks containig no instructions nor live variables nor
nested blocks.
(dump_scope_block): New function.
(remove_unused_locals): Enable removal of dead blocks by default;
enable dumping at TDF_DETAILS.
2009-02-21 H.J. Lu <>
* config/i386/i386.c (classify_argument): Don't allow COImode
and OImode.
(function_arg_advance_32): Don't allow OImode.
(function_arg_32): Likewise.
(function_value_32): Likewise.
(return_in_memory_32): Likewise.
(function_arg_64): Remove OImode comment.
2009-02-21 H.J. Lu <>
PR target/39261
* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
ix86_expand_vector_set for V4DImode in 64bit mode only.
(ix86_expand_vector_init_one_var): Likewise.
2009-02-21 Sebastian Pop <>
* graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
2009-02-21 Richard Sandiford <>
PR bootstrap/39257
* loop-iv.c: Revert last change.
* emit-rtl.c: Likewise.
2009-02-21 H.J. Lu <>
PR target/39256
* config/i386/i386.c (type_natural_mode): Remove an extra
space in the warning message.
(function_value_32): Handle 32-byte vector modes.
(return_in_memory_32): Likewise.
2009-02-21 Richard Sandiford <>
* loop-iv.c (truncate_value): New function.
(iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
of lowpart_subreg.
(lowpart_subreg): Move to...
* emit-rtl.c:
2009-02-21 Danny Smith <>
* config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
accidental and undocumented change at revision 140860.
2009-02-21 Joseph Myers <>
* config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
take gimple_seq * arguments.
(arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
types_compatible_p langhook.
2009-02-20 Mark Mitchell <>
Joseph Myers <>
* config/arm/arm.c (arm_builtin_va_list): New function.
(arm_expand_builtin_va_start): Likewise.
(arm_gimplify_va_arg_expr): Likewise.
(va_list_type): New variable.
(arm_mangle_type): Mangle va_list_type appropriately.
2009-02-20 Jakub Jelinek <>
PR middle-end/39157
* (loop-invariant.o): Depend on $(PARAMS_H).
* params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
* params.def (loop-invariant-max-bbs-in-loop): New parameter.
* opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
parameter to 1000 for -O1 by default.
* doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
* loop-invariant.c: Include params.h.
(move_loop_invariants): Don't call move_single_loop_invariants on
very large loops.
2009-02-20 Jaka Mocnik <>
* calls.c (emit_library_call_value_1): Use slot_offset instead of
offset when calculating bounds for indexing stack_usage_map. Fixes
a buffer overflow with certain target setups.
2009-02-20 Jakub Jelinek <>
PR target/39240
* calls.c (expand_call): Clear try_tail_call if caller and callee
disagree in promotion of function return value.
2009-02-19 Jakub Jelinek <>
PR target/39175
* c-common.c (c_determine_visibility): If visibility changed and
DECL_RTL has been already set, call make_decl_rtl to update symbol
2009-02-19 H.J. Lu <>
PR c++/39188
* varasm.c (assemble_variable): Don't check DECL_NAME when
globalizing a variable.
2009-02-19 Joseph Myers <>
PR c/38483
* builtins.c (gimplify_va_arg_expr): Evaluate the va_list
expression before any __builtin_trap call.
* c-typeck.c (build_function_call): Convert and check function
arguments before generating a call to a trap. Evaluate the
function arguments before the trap.
2009-02-19 Uros Bizjak <>
PR target/39228
* config/i386/ (isinfxf2): Split from isinf<mode>2.
(UNSPEC_FXAM_MEM): New unspec.
(fxam<mode>2_i387_with_temp): New insn and split pattern.
(isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
memory using fxam<mode>2_i387_with_temp to remove excess precision.
2009-02-19 Richard Guenther <>
PR tree-optimization/39207
PR tree-optimization/39074
* tree-ssa-structalias.c (storedanything_id, var_storedanything,
storedanything_tree): New.
(do_ds_constraint): Simplify ANYTHING shortcutting. Update
the STOREDANYTHING solution if the lhs solution contains ANYTHING.
(build_succ_graph): Add edges from STOREDANYTHING to all
non-direct nodes.
(init_base_vars): Initialize STOREDANYTHING.
(compute_points_to_sets): Free substitution info after
building the succ graph.
(ipa_pta_execute): Likewise.
* tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
(do_ds_constraint): Do not add to special var or non-pointer
field solutions.
(type_could_have_pointers): Split out from ...
(could_have_pointers): ... here. For arrays use the element type.
(create_variable_info_for): Initialize may_have_pointers.
(new_var_info): Likewise.
(handle_lhs_call): Make the HEAP variable unknown-sized.
(intra_create_variable_infos): Use a type with pointers for
PARM_NOALIAS, make it unknown-sized.
2009-02-18 H.J. Lu <>
PR target/39224
* config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
2009-02-18 Jason Merrill <>
PR target/39179
* tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
* tree-sra.c (sra_walk_gimple_assign): Likewise.
* target.h (gcc_target::binds_local_p): Clarify "module".
* tree.h (TREE_PUBLIC): Clarify "module".
2009-02-17 Xuepeng Guo <>
PR target/38891
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
initialization for MS_ABI prior to the hunk of !TARGET_MMX.
2009-02-17 H.J. Lu <>
PR target/39082
* c.opt (Wabi): Support C and ObjC.
(Wpsabi): New.
* c-opts.c (c_common_handle_option): Handle OPT_Wabi.
* config/i386/i386.c (classify_argument): Warn once about the ABI
change when passing union with long double.
* doc/invoke.texi: Update -Wabi for warning psABI changes.
2009-02-18 Joseph Myers <>
PR c/35447
* c-parser.c (c_parser_compound_statement): Always enter and leave
a scope.
2009-02-17 John David Anglin <>
PR target/34587
* config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
2009-02-18 Jakub Jelinek <>
PR tree-optimization/36922
* tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
* tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
2009-02-17 Richard Sandiford <>
* config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
to 0 for EABI64.
2009-02-17 Richard Sandiford <>
* config/mips/ (type): Reclassify lui_movf as "unknown".
2009-02-17 Richard Sandiford <>
* config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
tree sharing.
2009-02-17 Ruan Beihong <>
Richard Sandiford <>
* config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
* config/mips/ (reduc_uplus_<mode>): Rename to...
(loongson_biadd): ...this.
2009-02-17 Richard Guenther <>
PR tree-optimization/39202
* tree-ssa-structalias.c (do_structure_copy): Before collapsing
a var make sure to follow existing collapses.
2009-02-17 Richard Guenther <>
PR middle-end/39214
* langhooks.c (lhd_print_error_function): Check for NULL block.
2009-02-17 Richard Guenther <>
PR tree-optimization/39204
* tree-ssa-pre.c (phi_translate_1): Lookup the value-number
of the PHI arg.
2009-02-17 Uros Bizjak <>
* config/soft-fp/double.h: Update from glibc CVS.
2009-02-17 Richard Guenther <>
PR tree-optimization/39207
* tree-ssa-structalias.c (find_what_p_points_to): Do not emit
strict-aliasing warnings for pointers pointing to NULL.
2009-02-16 Joseph Myers <>
PR c/35446
* c-parser.c (c_parser_braced_init): Call pop_init_level when
skipping until next close brace.
2009-02-16 H.J. Lu <>
PR target/37049
* config/i386/i386.c (ix86_expand_push): Set memory alignment
to function argument boundary.
2009-02-16 Hariharan Sandanagobalane <>
* config/picochip/ (lea_add): Allow any nonimmediate
in the lea_add. Reload eventually constraints it properly.
* config/picochip/ : Remove the target constraint
"b", since it is not needed anymore.
2009-02-16 Jakub Jelinek <>
* gthr-dce.h: Uglify function parameter and local variable names.
* gthr-gnat.h: Likewise.
* gthr-mipssde.h: Likewise.
* gthr-nks.h: Likewise.
* gthr-posix95.h: Likewise.
* gthr-posix.h: Likewise.
* gthr-rtems.h: Likewise.
* gthr-single.h: Likewise.
* gthr-solaris.h: Likewise.
* gthr-tpf.h: Likewise.