diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 669741c3c72..851ccfd3d7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-03-21 Uros Bizjak + + * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop + between a call and its CALL_ARG_LOCATION note. + 2011-03-21 Eric Botcazou * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag. @@ -68,13 +73,11 @@ * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support. (LIB_SPEC): Likewise. * config/sol2.opt (threads): Remove. - * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads - support. + * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support. (sparc*-*-solaris2*): Likewise. * configure.ac (enable_threads): Enable solaris support. * configure: Regenerate. - * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove - -threads. + * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads. * doc/install.texi (Configuration, --enable-threads=lib): Remove solaris. @@ -131,13 +134,10 @@ 2011-03-21 Kai Tietz PR target/12171 - * doc/plugins.texi: Adjust documentation - for plugin register_callback. - * tree.h (attribute_spec): Add new member - affects_type_identity. - - Zitierten Text anzeigen - - * attribs.c (empty_attribute_table): Adjust - attribute_spec initializers. + * doc/plugins.texi: Adjust documentation for plugin register_callback. + * tree.h (attribute_spec): Add new member affects_type_identity. + * attribs.c (empty_attribute_table): Adjust attribute_spec + initializers. * config/alpha/alpha.c: Likewise. * config/arc/arc.c: Likewise. * config/arm/arm.c: Likewise. @@ -235,8 +235,7 @@ 2011-03-18 Andreas Krebbel * config/s390/s390.c (s390_chunkify_start): Prevent literal pool - splitting between a call and its corresponding CALL_ARG_LOCATION - note. + splitting between a call and its corresponding CALL_ARG_LOCATION note. 2011-03-18 Maxim Kuvyrkov @@ -974,10 +973,10 @@ 2011-03-08 Georg-Johann Lay - * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. - * config/avr/avr.c (TARGET_REGISTER_MOVE_COST, - TARGET_MEMORY_MOVE_COST): Define. - (avr_register_move_cost, avr_memory_move_cost): New Functions. + * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. + * config/avr/avr.c (TARGET_REGISTER_MOVE_COST) + (TARGET_MEMORY_MOVE_COST): Define. + (avr_register_move_cost, avr_memory_move_cost): New Functions. 2011-03-08 Jakub Jelinek diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 78b4d1789e6..c9bafeb2903 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1,6 +1,6 @@ /* Subroutines used for code generation on the DEC Alpha. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) @@ -9645,10 +9645,20 @@ alpha_pad_noreturn (void) for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) { - if (!CALL_P (insn) - || !find_reg_note (insn, REG_NORETURN, NULL_RTX)) + if (! (CALL_P (insn) + && find_reg_note (insn, REG_NORETURN, NULL_RTX))) continue; + /* Make sure we do not split a call and its corresponding + CALL_ARG_LOCATION note. */ + if (CALL_P (insn)) + { + next = NEXT_INSN (insn); + if (next && NOTE_P (next) + && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) + insn = next; + } + next = next_active_insn (insn); if (next)