+2008-11-19 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build2_stat): Allow non-POINTER_PLUS_EXPRs with
+ non-sizetype offsets if their precision matches that of
+ the pointer.
+ * expr.c (expand_expr_real_1): Always sign-extend the offset
+ operand of a POINTER_PLUS_EXPR.
+
+2008-11-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config.gcc: Unobsolete mips-sgi-irix[56]*.
+ (mips-sgi-irix[56]*): No need to use fixproto.
+
+2008-11-19 Maxim Kuvyrkov <maxim@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ * config/m68k/lb1sf68.asm: Add GNU-stack annotation to avoid
+ executable stack.
+
+2008-11-19 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/m68k/m68k.c (sched_attr_op_type): Handle all CONSTs.
+
+2008-11-19 Razya Ladelsky <razya@il.ibm.com>
+
+ PR target/38156
+ * tree-parloops.c (loop_parallel_p): NULL vect_dump.
+ (separate_decls_in_region): Create shared struct even when there
+ are only reductions.
+
+2008-11-19 Hariharan Sandanagobalane <hariharan@picochip.com>
+ * config/picochip/picochip.c (headers): Remove an unnecessary
+ header file.
+
+2008-11-19 Andrew Stubbs <ams@codesourcery.com>
+
+ PR target/36133
+ * config/m68k/m68k.h (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY): New defines.
+ * config/m68k/m68k.c (notice_update_cc): Set cc_status properly for
+ shift instructions.
+ * config/m68k/m68k.md: Adjust all conditional branches that use the
+ carry and overflow flags so they understand CC_OVERFLOW_UNUSABLE.
+
+2008-11-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/37362
+ * config/mips/mips.md (move_doubleword_fpr<mode>): Check that "high"
+ is a register or zero operand in the correct mode before generating
+ mtch1 insn or a register operand in the correct mode before generating
+ mfch1 insn.
+ (mtch1<mode>): Correct operand 1 predicate to reg_or_0_operand.
+
+2008-11-18 Adam Nemet <anemet@caviumnetworks.com>
+
+ * config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
+ (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
+ mipsisa*-*-elf*. Handle mipsisa64r2*.
+ * config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
+ * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+ mips64r2.
+ (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
+ * config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+ mips64r2.
+ (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64. Add mips64r2/mips16.
+ Fix mips16 if mips64 or mips64r2 are multilib defaults.
+ * config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
+ mips64r2.
+
+2008-11-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/38130
+ * config/i386/i386.md (allocate_stack_worker_32,
+ allocate_stack_worker_64): Don't use match_dup between input and
+ output operand.
+ (allocate_stack): Adjust gen_stack_worker_{32,64} caller.
+ * config/i386/i386.c (ix86_expand_prologue): Likewise.
+
+2008-11-18 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def
+ is forced when trying to do a symbol link for it.
+
+2008-11-17 Adam Nemet <anemet@caviumnetworks.com>
+
+ * expmed.c (extract_bit_field_1): Also use a temporary and
+ convert_extracted_bit_field when the conversion from ext_mode to
+ the target mode requires explicit truncation.
+
+2008-11-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.h (REG_ALLOC_ORDER): Put accumulators first.
+ Tweak formatting.
+ * config/mips/mips.c (mips_ira_cover_classes): Don't use accumulator
+ registers when not optimizing.
+
+2008-11-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.md (*mul_acc_si): Remove middle alternative
+ and its associated define_split. Expose the all-d alternative
+ to the register allocator, but mark it with "?". Mark the first
+ alternative with "*?*?".
+ (*mul_sub_si): Likewise.
+ (*mul_acc_si_r3900): New pattern.
+
+2008-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/38140
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If
+ propagating x = &a into *x = b, add a cast if not useless
+ type conversion or don't optimize if another stmt would be
+ needed.
+
+2008-11-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/37908
+ * optabs.c (expand_sync_operation): Properly handle NAND case
+ by calculating ~(t1 & val) instead of (~t1 & val).
+ * builtins.c (expand_builtin_sync_operation): Warn for changed
+ semantics in NAND builtins.
+ * c.opt (Wsync-nand): New warning option. Describe -Wsync-nand.
+
+ * doc/invoke.texi (Warning options): Add Wsync-nand.
+ * doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
+ __sync_fetch_and_nand builtin operation in the example. Add a note
+ about changed semantics in GCC 4.4.
+ [__sync_nand_and_fetch]: Correct __sync_nand_and_fetch builtin
+ operation in the example. Add a note about changed semantics in
+ GCC 4.4.
+
+2008-11-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_function_body_availability): Fix test of externally
+ visible.
+
+2008-11-16 Joshua Kinard <kumba@gentoo.org>
+
+ * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=r1[0246]000
+ to -mips4.
+
+2008-11-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/38052
+ * config/mips/mips.c (mips_cfun_call_saved_reg_p)
+ (mips_cfun_might_clobber_call_saved_reg_p): New functions,
+ split out from...
+ (mips_save_reg_p): ...here. Always consult TARGET_CALL_SAVED_GP
+ rather than call_really_used_regs when handling $gp.
+
+2008-11-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/38052
+ * config/mips/mips.c (machine_function): Update the comment
+ above global_pointer.
+ (mips_global_pointer): Use INVALID_REGNUM rather than 0 to indicate
+ that a function doesn't need a global pointer.
+ (mips_current_loadgp_style): Update accordingly.
+ (mips_restore_gp): Likewise.
+ (mips_output_cplocal): Likewise.
+ (mips_expand_prologue): Likewise.
+
+2008-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (function_arg_vector_value): Remove 'base_mode'
+ parameter. Use DImode for computing the number of registers.
+ (function_arg): Adjust for above change.
+ (function_value): Likewise.
+
+2008-11-15 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/37950
+ * tree-flow-inline.h (memory_partition): Return NULL when aliases were
+ not computed for the current function.
+
+2008-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/38123
+ * config/i386/i386.c (ix86_gimplify_va_arg): Don't share valist between
+ gpr and other COMPONENT_REFs.
+
+2008-11-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/38051
+ * tree-ssa-alias.c (update_alias_info_1): Manually find
+ written variables.
+
+2008-11-15 Joshua Kinard <kumba@gentoo.org>
+
+ * doc/invoke.texi (-mfix-r10000): Document.
+ * config/mips/mips.opt (mfix-r10000): New option.
+ * config/mips/mips-protos.h (mips_output_sync_loop): Declare.
+ * config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Use %?.
+ (MIPS_COMPARE_AND_SWAP_12): Likewise.
+ (MIPS_SYNC_OP): Likewise.
+ (MIPS_SYNC_OP_12): Likewise.
+ (MIPS_SYNC_OLD_OP_12): Likewise.
+ (MIPS_SYNC_NEW_OP_12): Likewise.
+ (MIPS_SYNC_OLD_OP): Likewise.
+ (MIPS_SYNC_NAND): Likewise.
+ (MIPS_SYNC_OLD_NAND): Likewise.
+ (MIPS_SYNC_EXCHANGE): Likewise.
+ (MIPS_SYNC_EXCHANGE_12): Likewise.
+ (MIPS_SYNC_NEW_OP): Likewise, using %~ to fill branch-likely
+ delay slots.
+ (MIPS_SYNC_NEW_NAND): Likewise.
+ * config/mips/mips.c (mips_print_operand_punctuation): Handle '~'.
+ (mips_init_print_operand_punct): Treat '~' as a punctuation character.
+ (mips_output_sync_loop): New function.
+ (mips_override_options): Make -march=r10000 imply -mfix-r10000.
+ Make -mfix-r10000 require branch-likely instructions.
+ * config/mips/sync.md (sync_compare_and_swap<mode>): Use
+ mips_output_sync_loop.
+ (compare_and_swap_12): Likewise.
+ (sync_add<mode>): Likewise.
+ (sync_<optab>_12): Likewise.
+ (sync_old_<optab>_12): Likewise.
+ (sync_new_<optab>_12): Likewise.
+ (sync_nand_12): Likewise.
+ (sync_old_nand_12): Likewise.
+ (sync_new_nand_12): Likewise.
+ (sync_sub<mode>): Likewise.
+ (sync_old_add<mode>): Likewise.
+ (sync_old_sub<mode>): Likewise.
+ (sync_new_add<mode>): Likewise.
+ (sync_new_sub<mode>): Likewise.
+ (sync_<optab><mode>): Likewise.
+ (sync_old_<optab><mode>): Likewise.
+ (sync_new_<optab><mode>): Likewise.
+ (sync_nand<mode>): Likewise.
+ (sync_old_nand<mode>): Likewise.
+ (sync_new_nand<mode>): Likewise.
+ (sync_lock_test_and_set<mode>): Likewise.
+ (test_and_set_12): Likewise.
+
2008-11-15 Eric Botcazou <ebotcazou@adacore.com>
* gcc.c (cc1_options): Fix comment.
* ira-color.c (push_allocnos_to_stack): Check ALLOCNO_BAD_SPILL_P.
- * ira-build.c (ira_create_allocno): Initialize
- ALLOCNO_BAD_SPILL_P.
+ * ira-build.c (ira_create_allocno): Initialize ALLOCNO_BAD_SPILL_P.
(create_cap_allocno, propagate_allocno_info,
- remove_unnecessary_allocnos): Set up or update
- ALLOCNO_BAD_SPILL_P.
+ remove_unnecessary_allocnos): Set up or update ALLOCNO_BAD_SPILL_P.
(update_bad_spill_attribute): New function.
(ira_build): Call it.
* configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/Hurd
systems, which are assumend to always provide SSP-support in glibc.
- * configure: Regenerate.
-
- * configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/kFreeBSD,
- GNU/kNetBSD systems in the `*-*-linux*' case.
+ Also consider GNU/kFreeBSD, GNU/kNetBSD systems in the `*-*-linux*'
+ case.
* configure: Regenerate.
2008-11-14 Jakub Jelinek <jakub@redhat.com>
2008-11-13 Thomas Schwinge <tschwinge@gnu.org>
PR target/28102
- * config.gcc (*-*-gnu*): Move Alpha parts into the `alpha*-*-gnu*', x86
- parts into the `i[34567]86-*-linux*' and parts that are independent of
- the processor architecture into the `*-*-linux*' cases.
+ * config.gcc (*-*-gnu*): Move Alpha parts into the `alpha*-*-gnu*',
+ x86 parts into the `i[34567]86-*-linux*' and parts that are
+ independent of the processor architecture into the `*-*-linux*' cases.
(*-*-linux*): Consider `linux.opt' only for Linux-based configurations.
* config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Redefine.
(TARGET_OS_CPP_BUILTINS, LINK_SPEC): Don't redefine.
2008-11-11 Richard Sandiford <rdsandiford@googlemail.com>
PR rtl-optimization/37363
- * simplify-rtx.c (simplify_plus_minus): Don't create (const (minus ...))
- expresisons.
+ * simplify-rtx.c (simplify_plus_minus): Don't create
+ (const (minus ...)) expresisons.
2008-11-11 Eric Botcazou <ebotcazou@adacore.com>