1169689Skan2006-12-29 Paolo Bonzini <bonzini@gnu.org> 2169689Skan 3169689Skan PR bootstrap/29544 4169689Skan * gcc/Makefile.in (STAGE1_CHECKING): Rename to... 5169689Skan (STAGE1_CHECKING_CFLAGS): ... this. 6169689Skan 7169689Skan2006-12-28 H.J. Lu <hongjiu.lu@intel.com> 8169689Skan 9169689Skan Backport from mainline: 10169689Skan 2006-12-02 H.J. Lu <hongjiu.lu@intel.com> 11169689Skan 12169689Skan PR target/30040 13169689Skan * config/i386/driver-i386.c: Include "coretypes.h" and "tm.h". 14169689Skan (host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite 15169689Skan processor detection. 16169689Skan 17169689Skan * config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for 18169689Skan -march=native if there is no -mtune=*. 19169689Skan 20169689Skan * config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H) 21169689Skan coretypes.h. 22169689Skan 23169689Skan2006-12-27 Ian Lance Taylor <iant@google.com> 24169689Skan 25169689Skan PR debug/26964 26169689Skan * dwarf2out.c (gen_type_die): Don't write out a DIE for 27169689Skan ENUMERAL_TYPE if it was already written out. 28169689Skan 29169689Skan2006-12-23 Eric Botcazou <ebotcazou@adacore.com> 30169689Skan 31169689Skan * dwarf2out.c (dbx_reg_number): Do leaf register remapping 32169689Skan only if the function is leaf. 33169689Skan (multiple_reg_loc_descriptor): Likewise. 34169689Skan 35169689Skan2006-12-21 Jakub Jelinek <jakub@redhat.com> 36169689Skan 37169689Skan PR middle-end/30262 38169689Skan PR middle-end/30263 39169689Skan * tree-nested.c (walk_asm_expr): New function. 40169689Skan (walk_stmts): Use it for ASM_EXPR. 41169689Skan 42169689Skan PR target/30230 43169689Skan * config/ia64/ia64.c (ia64_add_bundle_selector_before): New function. 44169689Skan (bundling): Use it. 45169689Skan 46169689Skan2006-12-17 Matthias Klose <doko@debian.org> 47169689Skan 48169689Skan PR libstdc++/11953 49169689Skan * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend. 50169689Skan 51169689Skan2006-12-16 Joseph Myers <joseph@codesourcery.com> 52169689Skan David Edelsohn <edelsohn@gnu.org> 53169689Skan 54169689Skan PR target/24036 55169689Skan * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING, 56169689Skan HARD_REGNO_NREGS_WITH_PADDING): Document new target macros. 57169689Skan * defaults.h (HARD_REGNO_NREGS_HAS_PADDING, 58169689Skan HARD_REGNO_NREGS_WITH_PADDING): Define. 59169689Skan * config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING, 60169689Skan HARD_REGNO_NREGS_WITH_PADDING): Define. 61169689Skan * rtlanal.c (subreg_regno_offset, subreg_offset_representable_p): 62169689Skan Use new macros to detect modes with holes; do not look at integer 63169689Skan units. 64169689Skan (subreg_offset_representable_p): Check for and disallow cases 65169689Skan where the modes use different numbers of bits from registers. 66169689Skan * config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode 67169689Skan constant for soft-float. 68169689Skan (rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs 69169689Skan containing doubles. 70169689Skan (rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves 71169689Skan in E500 double case. 72169689Skan * config/rs6000/rs6000.md (movtf): Allow soft-float. 73169689Skan (movtf_softfloat): New. 74169689Skan 75169689Skan2006-12-15 Jakub Jelinek <jakub@redhat.com> 76169689Skan 77169689Skan PR target/30185 78169689Skan * config/rs6000/rs6000.md (div<mode>3): Use correct mode in 79169689Skan force_reg call. 80169689Skan 81169689Skan2006-12-13 Richard Guenther <rguenther@suse.de> 82169689Skan 83169689Skan * ipa-inline.c (cgraph_flatten_node): Replace leafify with 84169689Skan flatten. 85169689Skan (cgraph_decide_inlining): Likewise. 86169689Skan 87169689Skan2006-12-13 Richard Guenther <rguenther@suse.de> 88169689Skan 89169689Skan * ipa-reference.c (scan_for_static_refs): Also scan 90169689Skan tcc_comparison class trees. 91169689Skan 92169689Skan2006-12-12 Daniel Berlin <dberlin@dberlin.org> 93169689Skan 94169689Skan * tree-ssa-structalias.c (handle_ptr_arith): Return false when we 95169689Skan can't handle the pointer arithmetic. 96169689Skan 97169689Skan2006-12-12 Jakub Jelinek <jakub@redhat.com> 98169689Skan 99169689Skan PR libstdc++/11953 100169689Skan * gthr-posix.h (_REENTRANT): Only define if __osf__ is defined. 101169689Skan 102169689Skan * config/ia64/linux.h (CPP_SPEC): Define. 103169689Skan * config/s390/linux.h (CPP_SPEC): Define. 104169689Skan 105169689Skan2006-12-12 Jim Wilson <wilson@specifix.com> 106169689Skan Jakub Jelinek <jakub@redhat.com> 107169689Skan 108169689Skan PR rtl-optimization/27761 109169689Skan * combine.c (try_combine): Don't create a useless garbage SET 110169689Skan if PATTERN (i2) is a PARALLEL. If added_sets_1, save 111169689Skan PATTERN (i1) resp. SET from i1src to i1dest in i1pat 112169689Skan and use it to prevent accidental modification of i1src. 113169689Skan 114169689Skan2006-12-12 Richard Guenther <rguenther@suse.de> 115169689Skan 116169689Skan PR middle-end/30147 117169689Skan * fold-const.c (fold_read_from_constant_string): Only fold read 118169689Skan from constant string if the result type is integer. 119169689Skan 120169689Skan2006-12-09 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 121169689Skan 122169689Skan * haifa-sched.c (schedule_block): Remove excessive sanity check. 123169689Skan 124169689Skan2006-12-08 Mike Stump <mrs@apple.com> 125169689Skan 126169689Skan * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build 127169689Skan libgcc with -mmacosx-version-min=10.4. 128169689Skan * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to 129169689Skan G4 for 10.5+ unless doing kernel builds. 130169689Skan 131169689Skan2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 132169689Skan 133169689Skan PR target/30039 134169689Skan * pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit 135169689Skan patterns. Correct length of high:DI instruction sequence. 136169689Skan 137169689Skan2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 138169689Skan 139169689Skan PR target/29794 140169689Skan * sched-rgn.c (add_block1): Use correct initializer. 141169689Skan 142169689Skan2006-12-05 H.J. Lu <hongjiu.lu@intel.com> 143169689Skan 144169689Skan PR driver/30074 145169689Skan * config.host: Add driver-i386.o only if compiling for x86 or 146169689Skan x86_64. 147169689Skan 148169689Skan2006-12-04 Jakub Jelinek <jakub@redhat.com> 149169689Skan 150169689Skan PR libgomp/29947 151169689Skan * omp-low.c (expand_omp_for_static_nochunk, 152169689Skan expand_omp_for_static_chunk): Do all arithmetics in signed rather than 153169689Skan unsigned type. 154169689Skan 155169689Skan PR middle-end/29965 156169689Skan * omp-low.c (determine_parallel_type): Don't try to optimize combined 157169689Skan parallels if region->exit or region->inner->exit is NULL. 158169689Skan (expand_omp_parallel): Handle NULL region->exit even if cfg is already 159169689Skan built. 160169689Skan (expand_omp_for_generic): Handle NULL region->cond and region->exit. 161169689Skan (expand_omp_for): Use expand_omp_for_generic if either region->cond 162169689Skan or region->exit is NULL. 163169689Skan (expand_omp_sections): Handle NULL region->cond or region->exit. 164169689Skan (expand_omp_synch): 165169689Skan 166169689Skan2006-12-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 167169689Skan 168169689Skan * doc/install.texi: Update MPFR prerequisite to version 2.2.1. 169169689Skan 170169689Skan2006-12-02 Andrew Pinski <pinskia@gmail.com> 171169689Skan 172169689Skan PR tree-opt/29984 173169689Skan * tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR 174169689Skan and MIN_EXRP. 175169689Skan 176169689Skan2006-11-29 Joseph Myers <joseph@codesourcery.com> 177169689Skan 178169689Skan * config/rs6000/predicates.md (gpc_reg_operand): Check 179169689Skan invalid_e500_subreg. 180169689Skan * config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any 181169689Skan SImode subregs of SPE vectors. 182169689Skan * config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs. 183169689Skan * jump.c (true_regnum): Require subregs to satisfy 184169689Skan subreg_offset_representable_p. 185169689Skan 186169689Skan2006-11-29 Jie Zhang <jie.zhang@analog.com> 187169689Skan 188169689Skan * doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately. 189169689Skan 190169689Skan2006-11-29 Jim Tison <jtison@us.ibm.com> 191169689Skan 192169689Skan * gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, 193169689Skan __gthread_recursive_mutex_init): Define. 194169689Skan 195169689Skan2006-11-29 Joseph Myers <joseph@codesourcery.com> 196169689Skan 197169689Skan * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If 198169689Skan STRICT_ALIGNMENT and the type is more aligned than the saved 199169689Skan registers, copy via a temporary. 200169689Skan 201169689Skan2006-11-28 Joseph Myers <joseph@codesourcery.com> 202169689Skan 203169689Skan * function.c (instantiate_virtual_regs_in_insn): Call force_reg 204169689Skan inside start_sequence / end_sequence pair. 205169689Skan 206169689Skan2006-11-27 Michael Matz <matz@suse.de> 207169689Skan Andreas Krebbel <krebbel1@de.ibm.com> 208169689Skan 209169689Skan PR target/29319 210169689Skan * config/s390/predicates.md (larl_operand): Check addend of larl 211169689Skan operand to be in range of -/+2GB. 212169689Skan * config/s390/s390.c (legitimize_pic_address): Likewise. 213169689Skan Changed type of variable even to HOST_WIDE_INT. 214169689Skan 215169689Skan2006-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 216169689Skan 217169689Skan * doc/install.texi: Remove documentation for --with-mpfr-dir 218169689Skan and --with-gmp-dir, add documentation for --with-mpfr-include, 219169689Skan --with-mpfr-lib, --with-gmp-include and --with-gmp-lib. 220169689Skan 221169689Skan2006-11-25 Andrew Pinski <andrew_pinski@playstation.sony.com> 222169689Skan 223169689Skan PR tree-opt/29964 224169689Skan * ipa-pure-const.c (check_tree): If the original tree 225169689Skan is volatile return early and say the function is not pure 226169689Skan nor const. Remove the volatile check for writes. 227169689Skan (analyze_function): Print out the result of the local 228169689Skan analysis pass. 229169689Skan 230169689Skan2006-11-24 Jakub Jelinek <jakub@redhat.com> 231169689Skan 232169689Skan PR c/29955 233169689Skan * c-tree.h (c_maybe_initialize_eh): New prototype. 234169689Skan * c-decl.c (finish_decl): Move EH initialization... 235169689Skan (c_maybe_initialize_eh): ... here. New function. 236169689Skan * c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh 237169689Skan if not #pragma omp atomic. 238169689Skan 239169689Skan PR c/29736 240169689Skan * c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE 241169689Skan or UNION_TYPE inner types. 242169689Skan 243169689Skan2006-11-24 Joseph Myers <joseph@codesourcery.com> 244169689Skan 245169689Skan * config/rs6000/eabispe.h (TARGET_DEFAULT): Include 246169689Skan MASK_STRICT_ALIGN. 247169689Skan * config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise. 248169689Skan * config/rs6000/rs6000.c (rs6000_override_options): Use 249169689Skan MASK_STRICT_ALIGN for 8540 and 8548. Add MASK_STRICT_ALIGN to 250169689Skan POWERPC_MASKS. 251169689Skan 252169689Skan2006-11-24 Andreas Krebbel <krebbel1@de.ibm.com> 253169689Skan 254169689Skan * config/s390.c (s390_emit_compare_and_swap): New function. 255169689Skan (s390_expand_cs_hqi, s390_expand_atomic): Call 256169689Skan s390_emit_compare_and_swap. 257169689Skan 258169689Skan2006-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 259169689Skan 260169689Skan * pa.c (return_addr_rtx): Change 0xe0400002 to -532676606. 261169689Skan 262169689Skan2006-11-22 Joseph Myers <joseph@codesourcery.com> 263169689Skan 264169689Skan * config/rs6000/spe.md (SPE64): New mode macro. 265169689Skan (mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0. Add 266169689Skan memory load. 267169689Skan (mov_si<mode>_e500_subreg0_2): New. 268169689Skan (mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4. Add 269169689Skan memory load. 270169689Skan (mov_si<mode>_e500_subreg4_2): New. 271169689Skan * config/rs6000/predicates.md (input_operand): Do not allow 272169689Skan invalid E500 subregs. 273169689Skan (rs6000_nonimmediate_operand): Check for invalid E500 subregs also 274169689Skan if TARGET_SPE. 275169689Skan * config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs 276169689Skan involving DFmode if TARGET_E500_DOUBLE. Check for subregs 277169689Skan involving vector modes if TARGET_SPE. 278169689Skan 279169689Skan2006-11-20 Anatoly Sokolov <aesok@post.ru> 280169689Skan 281169689Skan PR target/18553 282169689Skan PR target/29449 283169689Skan * config/avr/avr.h (OBJECT_FORMAT_ELF): Define. 284169689Skan 285169689Skan * config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define. 286169689Skan 287169689Skan2006-11-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 288169689Skan 289169689Skan PR target/29114 290169689Skan * pa.c (emit_move_sequence): Don't split constants with PLUS for modes 291169689Skan larger than BITS_PER_WORD. 292169689Skan 293169689Skan2006-11-19 Richard Guenther <rguenther@suse.de> 294169689Skan 295169689Skan Backport from mainline: 296169689Skan 2006-11-15 Paolo Bonzini <bonzini@gnu.org> 297169689Skan 298169689Skan PR middle-end/29753 299169689Skan * gimplify.c (fold_indirect_ref_rhs): Use 300169689Skan STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS. 301169689Skan 302169689Skan2006-11-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 303169689Skan 304169689Skan PR fortran/27885 305169689Skan PR middle-end/28176 306169689Skan * stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types 307169689Skan to MAX_FIXED_MODE_SIZE. 308169689Skan 309169689Skan2006-11-18 Aldy Hernandez <aldyh@redhat.com> 310169689Skan 311169689Skan * doc/invoke.texi: Fix mno-isel typo. 312169689Skan 313169689Skan2006-11-18 Joseph Myers <joseph@codesourcery.com> 314169689Skan 315169689Skan * config/rs6000/spe.md (movv4hi_internal): Add alternative for 316169689Skan easy vector constant loads. 317169689Skan 318169689Skan2006-11-18 Joseph Myers <joseph@codesourcery.com> 319169689Skan 320169689Skan * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define. 321169689Skan * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define 322169689Skan __NO_LWSYNC__ if TARGET_NO_LWSYNC. 323169689Skan * config/rs6000/sync.md (lwsync): Emit plain sync if 324169689Skan TARGET_NO_LWSYNC. 325169689Skan 326169689Skan2006-11-17 Jakub Jelinek <jakub@redhat.com> 327169689Skan 328169689Skan PR middle-end/29584 329169689Skan * tree-ssa-forwprop.c (simplify_switch_expr): Don't 330169689Skan optimize if DEF doesn't have integral type. 331169689Skan 332169689Skan2006-11-17 Uros Bizjak <ubizjak@gmail.com> 333169689Skan 334169689Skan * config/i386/i386.c (ix86_function_sseregparm): Fix comment: 335169689Skan number of arguments passed to local functions in SSE registers is 3. 336169689Skan 337169689Skan * doc/invoke.texi (Function Attributes) [sseregparm]: Correct 338169689Skan number of arguments passed in SSE registers to 3. 339169689Skan 340169689Skan2006-11-16 Eric Botcazou <ebotcazou@adacore.com> 341169689Skan 342169689Skan PR middle-end/26306 343169689Skan * gimplify.c (gimplify_expr): Only force a load for references to 344169689Skan non-BLKmode volatile values. 345169689Skan * doc/implement-c.texi (Qualifiers implementation): Document the 346169689Skan interpretation of what a volatile access is. 347169689Skan * doc/extend.texi (C++ Extensions): Rework same documentation. 348169689Skan 349169689Skan2006-11-16 Andrew Pinski <andrew_pinski@playstation.sony.com> 350169689Skan 351169689Skan PR tree-opt/29788 352169689Skan * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down 353169689Skan to what is the const decl is a place holder for. 354169689Skan 355169689Skan2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 356169689Skan 357169689Skan PR target/29201 358169689Skan * cfgrtl.c (rtl_delete_block): Move the code for getting last insn of 359169689Skan bb to ... 360169689Skan (get_last_bb_insn): ... new global function. 361169689Skan (basic_block.h): Declare it. 362169689Skan * haifa-sched.c (create_recovery_block): Use it. 363169689Skan 364169689Skan2006-11-16 Joseph Myers <joseph@codesourcery.com> 365169689Skan 366169689Skan * config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable 367169689Skan memory operand. 368169689Skan 369169689Skan2006-11-15 Steve Ellcey <sje@cup.hp.com> 370169689Skan 371169689Skan * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode 372169689Skan routines for integer division. 373169689Skan 374169689Skan2006-11-15 Steve Ellcey <sje@cup.hp.com> 375169689Skan 376169689Skan PR other/25028 377169689Skan * config/ia64/t-hpux (LIB1ASMFUNCS): Filter out _fixtfdi, 378169689Skan _fixunstfdi, and _floatditf 379169689Skan 380169689Skan2006-11-15 Jakub Jelinek <jakub@redhat.com> 381169689Skan 382169689Skan PR tree-optimization/29581 383169689Skan * lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT, 384169689Skan REPLACEMENTS, FIRSTBSI arguments. If initial condition or 385169689Skan type is different between Y and USE, create a temporary 386169689Skan variable, initialize it at the beginning of the body bb 387169689Skan and use it as replacement instead of Y. 388169689Skan 389169689Skan2006-11-15 Richard Guenther <rguenther@suse.de> 390169689Skan 391169689Skan Backport from mainline: 392169689Skan 2006-11-12 Michael Matz <matz@suse.de> 393169689Skan Roger Sayle <roger@eyesopen.com> 394169689Skan 395169689Skan PR rtl-optimization/29797 396169689Skan * ifcvt.c (noce_try_bitop): Correct calculation of bitnum on 397169689Skan BITS_BIG_ENDIAN targets. 398169689Skan 399169689Skan2006-11-14 Eric Christopher <echristo@apple.com> 400169689Skan 401169689Skan * configure: Regenerate with autoconf 2.59. 402169689Skan 403169689Skan2006-11-13 DJ Delorie <dj@redhat.com> 404169689Skan 405169689Skan * config/m32c/m32c.c (m32c_prepare_shift): Use a separate 406169689Skan temporary for intermediates. 407169689Skan 408169689Skan2006-11-13 Jakub Jelinek <jakub@redhat.com> 409169689Skan 410169689Skan * configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL 411169689Skan test. 412169689Skan * configure: Rebuilt. 413169689Skan 414169689Skan * configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715 415169689Skan style versions. 416169689Skan * configure: Rebuilt. 417169689Skan 418169689Skan2006-11-13 Andrew Pinski <andrew_pinski@playstation.sony.com> 419169689Skan 420169689Skan PR tree-opt/29439 421169689Skan * tree-vrp.c (vrp_int_const_binop): Use the correct tree when 422169689Skan checking for overflow. 423169689Skan 424169689Skan2006-11-13 Richard Guenther <rguenther@suse.de> 425169689Skan 426169689Skan Backport from mainline: 427169689Skan 2006-10-23 Richard Guenther <rguenther@suse.de> 428169689Skan 429169689Skan PR middle-end/21032 430169689Skan * convert.c (convert_to_real): Fold (float)-x to -(float)x 431169689Skan only if not flag_rounding_math. 432169689Skan 433169689Skan2006-11-12 Jason Merrill <jason@redhat.com> 434169689Skan Andrew Pinski <pinskia@physics.uc.edu> 435169689Skan 436169689Skan PR middle-end/28915 437169689Skan * gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT 438169689Skan vector ctors. 439169689Skan * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT 440169689Skan vector ctors. 441169689Skan * expmed.c (make_tree): Handle CONST, SYMBOL_REF. 442169689Skan * tree.c (build_vector): Handle non-_CST elements. 443169689Skan 444169689Skan2006-11-12 Daniel Berlin <dberlin@dberlin.org> 445169689Skan 446169689Skan Fix PR tree-optimization/29587 447169689Skan * tree-ssa-structalias.c (process_constraint): Don't 448169689Skan mark address taken due only to escaped vars constraint. 449169689Skan 450169689Skan2006-11-12 Jie Zhang <jie.zhang@analog.com> 451169689Skan 452169689Skan Revert 453169689Skan 2006-11-11 Jie Zhang <jie.zhang@analog.com> 454169689Skan * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ 455169689Skan and __BFIN__. 456169689Skan 457169689Skan * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std 458169689Skan instead of builtin_define for bfin and BFIN. 459169689Skan 460169689Skan2006-11-11 Jie Zhang <jie.zhang@analog.com> 461169689Skan 462169689Skan * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ 463169689Skan and __BFIN__. 464169689Skan 465169689Skan2006-11-11 Richard Sandiford <richard@codesourcery.com> 466169689Skan 467169689Skan PR middle-end/27528 468169689Skan * stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the 469169689Skan constraints accept neither registers or memories. 470169689Skan 471169689Skan2006-11-11 Jie Zhang <jie.zhang@analog.com> 472169689Skan 473169689Skan * config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO. 474169689Skan (NO_PROFILE_COUNTERS): Define as 1. 475169689Skan 476169689Skan2006-11-09 Serge Belyshev <belyshev@depni.sinp.msu.ru> 477169689Skan 478169689Skan PR middle-end/29726 479169689Skan * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name. 480169689Skan 481169689Skan2006-11-09 Eric Christopher <echristo@apple.com> 482169689Skan 483169689Skan PR bootstrap/26892 484169689Skan PR bootstrap/27814 485169689Skan PR other/28994 486169689Skan * configure: Regenerate. 487169689Skan * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks. 488169689Skan * config.gcc (powerpc64-*-darwin*): New target. 489169689Skan * config.host: Ditto. 490169689Skan * config/rs6000/darwin64.h: New file. 491169689Skan * config/rs6000/x-darwin64: Ditto. 492169689Skan * config/rs6000/host-ppc64-darwin.c: Ditto. 493169689Skan 494169689Skan2006-11-08 Brooks Moses <brooks.moses@codesourcery.com> 495169689Skan 496169689Skan * doc/invoke.texi: Minor formatting fixes in option lists. 497169689Skan 498169689Skan2006-11-08 Eric Christopher <echristo@apple.com> 499169689Skan 500169689Skan Backport from mainline: 501169689Skan * config.gcc: Add x86_64-darwin host support. 502169689Skan * config.host: Ditto. 503169689Skan * config/i386/darwin64.h: New file. 504169689Skan * config/i386/t-darwin64: Ditto. 505169689Skan 506169689Skan2006-11-08 Janis Johnson <janis187@us.ibm.com> 507169689Skan 508169689Skan * gcc/doc/sourcebuild.texi (Test Directives): Add output-exists 509169689Skan and output-exists-not. 510169689Skan 511169689Skan2006-11-07 Richard Guenther <rguenther@suse.de> 512169689Skan 513169689Skan PR tree-optimization/29610 514169689Skan * tree-cfgcleanup.c (cleanup_control_flow): Honor return value 515169689Skan of tree_purge_dead_eh_edges as it may free dominators. 516169689Skan 517169689Skan * g++.dg/other/pr29610.C: New testcase. 518169689Skan 519169689Skan2006-11-07 Jie Zhang <jie.zhang@analog.com> 520169689Skan 521169689Skan * gcc.c (process_command): Treat -b as normal switch if its argument 522169689Skan has no dash. 523169689Skan 524169689Skan2006-11-06 Vladimir Prus <vladimir@codesourcery.com> 525169689Skan 526169689Skan Backport from mainline: 527169689Skan * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do not 528169689Skan set inhibit_libc. 529169689Skan * config/arm/t-strongarm-elf: Likewise. 530169689Skan * config/arm/t-pe: Likewise. 531169689Skan * config/arm/t-arm-elf: Likewise. 532169689Skan * config/arm/t-xscale-elf: Likewise. 533169689Skan * config/arm/t-arm-coff: Likewise. 534169689Skan * config/arm/t-xscale-coff: Likewise. 535169689Skan * config/arm/t-wince-pe: Likewise. 536169689Skan 537169689Skan2006-11-06 Richard Guenther <rguenther@suse.de> 538169689Skan 539169689Skan Backport from mainline: 540169689Skan 2006-10-21 Richard Guenther <rguenther@suse.de> 541169689Skan 542169689Skan PR target/19116 543169689Skan * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP 544169689Skan if flag_unsafe_math_optimizations is specified. We have 545169689Skan flag_finite_math_only for that. 546169689Skan * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP 547169689Skan or flag_unsafe_math_optimizations. 548169689Skan 549169689Skan PR middle-end/28796 550169689Skan * simplify-rtx.c (simplify_const_relational_operation): 551169689Skan Do not constant-fold ORDERED and UNORDERED for 552169689Skan flag_unsafe_math_optimizations but only we do not need to 553169689Skan honor NaNs for the given mode. 554169689Skan 555169689Skan2006-11-05 Jakub Jelinek <jakub@redhat.com> 556169689Skan 557169689Skan PR middle-end/29695 558169689Skan * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0 559169689Skan simplification. 560169689Skan 561169689Skan2006-11-02 Brooks Moses <brooks.moses@codesourcery.com> 562169689Skan 563169689Skan * doc/invoke.texi: Fix mfp-trap-mode typo. 564169689Skan 565169689Skan2006-11-02 Eric Botcazou <ebotcazou@libertysurf.fr> 566169689Skan 567169689Skan * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build 568169689Skan instructions. 569169689Skan (sparc64-sun-solaris2*): Likewise. 570169689Skan 571169689Skan2006-11-02 Uros Bizjak <ubizjak@gmail.com> 572169689Skan 573169689Skan PR target/29377 574169689Skan * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size" 575169689Skan argument to HOST_WIDE_INT. Update function prototype. 576169689Skan (round_frame_size): Change return type to HOST_WIDE_INT. Change 577169689Skan "size" argument to HOST_WIDE_INT. Update function prototype. 578169689Skan 579169689Skan2006-11-01 Chris Johns <chris@contemporary.net.au> 580169689Skan 581169689Skan PR bootstrap/28400 582169689Skan * Makefile.in (install-driver): Use exeext when installing 583169689Skan $target-gcc-$version. 584169689Skan 585169689Skan2006-11-01 Andrew Haley <aph@redhat.com> 586169689Skan 587169689Skan * fold-const.c (fold_unary): Don't fold (t1)(t2) to (t1) if this 588169689Skan is a Java program. 589169689Skan 590169689Skan2006-11-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 591169689Skan 592169689Skan * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE. 593169689Skan 594169689Skan2006-10-31 Eric Botcazou <ebotcazou@libertysurf.fr> 595169689Skan 596169689Skan PR target/24071 597169689Skan * gthr-posix.h (__gthread_active_p): New implementation on Solaris. 598169689Skan * gthr-posix95.h (__gthread_active_p): Likewise. 599169689Skan 600169689Skan2006-10-30 Jakub Jelinek <jakub@redhat.com> 601169689Skan 602169689Skan PR tree-optimization/29637 603169689Skan * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT 604169689Skan of the innertype is the innertype itself. 605169689Skan 606169689Skan * gcc.dg/pr29637.c: New test. 607169689Skan 608169689Skan2006-10-27 Mike Stump <mrs@apple.com> 609169689Skan 610169689Skan * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and 611169689Skan __DYNAMIC__ from here back to ... 612169689Skan * config/darwin.h (CPP_SPEC): ... here. 613169689Skan 614169689Skan2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com> 615169689Skan 616169689Skan * config/s390/s390.c (s390_init_frame_layout): Check positive 617169689Skan frame_size. 618169689Skan 619169689Skan2006-10-26 Ben Elliston <bje@au.ibm.com> 620169689Skan 621169689Skan * doc/extend.texi (Variable Attributes): Typo fix. 622169689Skan 623169689Skan2006-10-25 Steve Ellcey <sje@cup.hp.com> 624169689Skan 625169689Skan * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++. 626169689Skan Add unix98.o to link line. 627169689Skan 628169689Skan2006-10-25 Richard Sandiford <richard@codesourcery.com> 629169689Skan David Daney <ddaney@avtrex.com> 630169689Skan 631169689Skan PR middle-end/29519 632169689Skan * rtlanal.c (nonzero_address_p): Remove check for values wrapping. 633169689Skan 634169689Skan2006-10-25 Daniel Berlin <dberlin@dberlin.org> 635169689Skan 636169689Skan * tree-ssa-structalias.c (intra_create_variable_infos): 637169689Skan Don't recreate nonlocal_all if it already exists. 638169689Skan 639169689Skan2006-10-23 Ulrich Weigand <uweigand@de.ibm.com> 640169689Skan 641169689Skan * config/s390/predicates.md ("bras_sym_operand"): Do not accept 642169689Skan nonlocal function symbols if flag_pic. 643169689Skan 644169689Skan2006-10-22 Richard Sandiford <richard@codesourcery.com> 645169689Skan 646169689Skan * config/mips/mips.c (mips_split_const): Don't accept bare PLUS 647169689Skan expressions. 648169689Skan 649169689Skan2006-10-20 Mark Mitchell <mark@codesourcery.com> 650169689Skan 651169689Skan * DEV-PHASE: Mark as prerelease. 652169689Skan 653169689Skan2006-10-20 Daniel Berlin <dberlin@dberlin.org> 654169689Skan 655169689Skan * tree.h (DECL_PTA_ARTIFICIAL): Remove. 656169689Skan (tree_decl_with_vis): Remove artificial_pta_var flag. 657169689Skan * tree-flow.h (referenced_var_check_and_insert): Expose. 658169689Skan (nonlocal_all): New prototype. 659169689Skan * tree-ssa-structalias.c (nonlocal_for_type): Remove. 660169689Skan (nonlocal_all): Make global. 661169689Skan (nonlocal_lookup): Remove. 662169689Skan (nonlocal_insert): Ditto. 663169689Skan (create_nonlocal_var): Do not call nonlocal_insert. 664169689Skan (get_nonlocal_id_for_type): Remove. 665169689Skan (find_global_initializers): Mark new vars we find for renaming. 666169689Skan (intra_create_variable_infos): Only create one nonlocal. 667169689Skan (expand_nonlocal_solutions): Remove. 668169689Skan (compute_points_to_sets): Don't call it. 669169689Skan (ipa_pta_execute): Ditto. 670169689Skan (init_alias_heapvars): Don't create nonlocal_for_type. 671169689Skan (delete_alias_heapvars): Don't remove it. 672169689Skan * tree-ssa-operands.c (access_can_touch_variable): Don't prune 673169689Skan nonlocal_all. 674169689Skan 675169689Skan2006-10-19 Brooks Moses <bmoses@stanford.edu> 676169689Skan 677169689Skan * doc/install.texi (Downloading GCC): Clarify mention of 678169689Skan Fortran in the "full distribution" description. 679169689Skan 680169689Skan2006-10-19 Daniel Berlin <dberlin@dberlin.org> 681169689Skan 682169689Skan Fix PR tree-optimization/28778 683169689Skan Fix PR tree-optimization/29156 684169689Skan Fix PR tree-optimization/29415 685169689Skan * tree.h (DECL_PTA_ARTIFICIAL): New macro. 686169689Skan (tree_decl_with_vis): Add artificial_pta_var flag. 687169689Skan * tree-ssa-alias.c (is_escape_site): Remove alias info argument, 688169689Skan pushed into callers. 689169689Skan * tree-ssa-structalias.c (nonlocal_for_type): New variable. 690169689Skan (nonlocal_all): Ditto. 691169689Skan (struct variable_info): Add directly_dereferenced member. 692169689Skan (var_escaped_vars): New variable. 693169689Skan (escaped_vars_tree): Ditto. 694169689Skan (escaped_vars_id): Ditto. 695169689Skan (nonlocal_vars_id): Ditto. 696169689Skan (new_var_info): Set directly_dereferenced. 697169689Skan (graph_size): New variable 698169689Skan (build_constraint_graph): Use graph_size. 699169689Skan (solve_graph): Don't process constraints that cannot change the 700169689Skan solution, don't try to propagate an empty solution to our 701169689Skan successors. 702169689Skan (process_constraint): Set directly_dereferenced. 703169689Skan (could_have_pointers): New function. 704169689Skan (get_constraint_for_component_ref): Don't process STRING_CST. 705169689Skan (nonlocal_lookup): New function. 706169689Skan (nonlocal_insert): Ditto. 707169689Skan (create_nonlocal_var): Ditto. 708169689Skan (get_nonlocal_id_for_type): Ditto. 709169689Skan (get_constraint_for): Allow results vector to be empty in the case 710169689Skan of string constants. 711169689Skan Handle results of calls properly. 712169689Skan (update_alias_info): Update alias info stats on number and type of 713169689Skan calls. 714169689Skan (find_func_aliases): Use could_have_pointers. 715169689Skan (make_constraint_from_escaped): Renamed from 716169689Skan make_constraint_to_anything, and changed to make constraints from 717169689Skan escape variable. 718169689Skan (make_constraint_to_escaped): New function. 719169689Skan (find_global_initializers): Ditto. 720169689Skan (create_variable_info_for): Make constraint from escaped to any 721169689Skan global variable, and from any global variable to the set of 722169689Skan escaped vars. 723169689Skan (intra_create_variable_infos): Deal with escaped instead of 724169689Skan pointing to anything. 725169689Skan (set_uids_in_ptset): Do type pruning on directly dereferenced 726169689Skan variables. 727169689Skan (find_what_p_points_to): Adjust call to set_uids_with_ptset. 728169689Skan (init_base_vars): Fix comment, and initialize escaped_vars. 729169689Skan (need_to_solve): Removed. 730169689Skan (find_escape_constraints): New function. 731169689Skan (expand_nonlocal_solutions): Ditto. 732169689Skan (compute_points_to_sets): Call find_escape_constraints and 733169689Skan expand_nonlocal_solutions. 734169689Skan (delete_points_to_sets): Don't fall off the end of the graph. 735169689Skan (init_alias_heapvars): Initialize nonlocal_for_type and 736169689Skan nonlocal_all. 737169689Skan (delete_alias_heapvars): Free nonlocal_for_type and null out 738169689Skan nonlocal_all. 739169689Skan 740169689Skan2006-10-19 Eric Botcazou <ebotcazou@adacore.com> 741169689Skan 742169689Skan * fold-const.c (add_double): Rename to add_double_with_sign. 743169689Skan Add 'unsigned_p' parameter and take it into account for the overflow. 744169689Skan (mul_double): Rename to mul_double_with_sign. 745169689Skan Add 'unsigned_p' parameter and take it into account for the overflow. 746169689Skan (fold_div_compare): Call add_double_with_sign instead of add_double 747169689Skan and mul_double_with_sign instead of mul_double, passing them the 748169689Skan unsignedness of the type. 749169689Skan * tree.h (add_double): Macroize. 750169689Skan (add_double_with_sign): New prototype. 751169689Skan (mul_double): Macroize. 752169689Skan (mul_double_with_sign): New prototype. 753169689Skan 754169689Skan2006-10-19 Chen Liqin <liqin@sunnorth.com.cn> 755169689Skan 756169689Skan * config/score/crti.asm: New file. 757169689Skan * config/score/crtn.asm: New file. 758169689Skan * config/score/elf.h: New file. 759169689Skan * config/score/mac.md: New file. 760169689Skan * config/score/misc.md: New file. 761169689Skan * config/score/mul-div.S: New file. 762169689Skan * config/score/predicates.md: New file. 763169689Skan * config/score/score7.md: New file. 764169689Skan * config/score/score.c: New file. 765169689Skan * config/score/score-conv.h: New file. 766169689Skan * config/score/score.h: New file. 767169689Skan * config/score/score.md: New file. 768169689Skan * config/score/score-mdaux.c: New file. 769169689Skan * config/score/score-mdaux.h: New file. 770169689Skan * config/score/score-modes.def: New file. 771169689Skan * config/score/score.opt: New file. 772169689Skan * config/score/score-protos.h: New file. 773169689Skan * config/score/score-version.h: New file. 774169689Skan * config/score/t-score-elf: New file. 775169689Skan * config.gcc: Add score*-*-* configurations(Update before). 776169689Skan * doc/invoke.texi (Score Options): New section. 777169689Skan * doc/md.texi (Score family): New section to document constraints. 778169689Skan 779169689Skan2006-10-19 Nick Clifton <nickc@redhat.com> 780169689Skan 781169689Skan * config/arm/arm.c: Fix spelling typo. 782169689Skan 783169689Skan2006-10-18 Tom Tromey <tromey@redhat.com> 784169689Skan 785169689Skan * doc/install.texi (Prerequisites): Mention automake 1.9.6. 786169689Skan 787169689Skan2006-10-18 Jan Hubicka <jh@suse.cz> 788169689Skan 789169689Skan PR middle-end/29299 790169689Skan * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user 791169689Skan are used. 792169689Skan 793169689Skan2006-10-18 Marcin Dalecki <martin@dalecki.de> 794169689Skan 795169689Skan * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of 796169689Skan TSI_SAME_STMT, since that's the desired entity. 797169689Skan 798169689Skan2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com> 799169689Skan 800169689Skan * config/s390/contraints.md: New file. 801169689Skan * config/s390/s390-protos.h (s390_mem_constraint, 802169689Skan s390_O_constraint_str, s390_N_constraint_str, 803169689Skan s390_float_const_zero_p): Function prototypes added. 804169689Skan * config/s390/s390.c (s390_extra_constraint_str, 805169689Skan s390_const_double_ok_for_constraint_p, 806169689Skan s390_const_ok_for_constraint_p): Functions removed. 807169689Skan (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str, 808169689Skan s390_float_const_zero_p): New functions. 809169689Skan * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P, 810169689Skan CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR, 811169689Skan EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN): 812169689Skan Macro definitions removed. 813169689Skan (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p, 814169689Skan s390_extra_constraint_str): Functions removed. 815169689Skan 816169689Skan2006-10-17 Andrew Pinsiki <pinskia@gmail.com> 817169689Skan Richard Sandiford <richard@codesourcery.com> 818169689Skan 819169689Skan PR target/29413 820169689Skan * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override. 821169689Skan * config/mips/mips.h (CC1_SPEC): Override any earlier definition. 822169689Skan 823169689Skan2006-10-16 Geoffrey Keating <geoffk@apple.com> 824169689Skan 825169689Skan * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h. 826169689Skan (DWARF2_FRAME_REG_OUT): Likewise. 827169689Skan * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h. 828169689Skan (DWARF2_FRAME_REG_OUT): Likewise. 829169689Skan 830169689Skan2006-10-17 Paul Brook <paul@codesourcery.com> 831169689Skan 832169689Skan * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate. 833169689Skan 834169689Skan2006-10-16 Brooks Moses <bmoses@stanford.edu> 835169689Skan 836169689Skan * doc/contrib.texi, doc/install.texi, doc/standards.texi: 837169689Skan Standardize on "GNU Fortran" as the official name of the Fortran 838169689Skan compiler. 839169689Skan 840169689Skan2006-10-16 Mike Stump <mrs@apple.com> 841169689Skan 842169689Skan * doc/invoke.texi (Darwin Options): Document -mkernel. 843169689Skan * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add 844169689Skan -mkernel support. 845169689Skan (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add 846169689Skan SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout. 847169689Skan (CC1_SPEC): Don't turn on -fPIC when -mkernel is given. 848169689Skan (OS_MISSING_ALTIVEC): Add. 849169689Skan * config/i386/i386.c (override_options): Add 850169689Skan SUBSUBTARGET_OVERRIDE_OPTIONS callout. 851169689Skan * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when 852169689Skan -mkernel, -static or -mdynamic-no-pic is given. 853169689Skan (C_COMMON_OVERRIDE_OPTIONS): Add. 854169689Skan * config/darwin.opt (fapple-kext): Add. 855169689Skan (mkernel): Add. 856169689Skan * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add 857169689Skan -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and 858169689Skan -mkernel support. 859169689Skan (SUBSUBTARGET_OVERRIDE_OPTIONS): Add. 860169689Skan (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add. 861169689Skan (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here... 862169689Skan (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility. 863169689Skan (TARGET_CXX_CDTOR_RETURNS_THIS): Add. 864169689Skan (flag_mkernel): Add. 865169689Skan (flag_apple_kext): Add. 866169689Skan (TARGET_KEXTABI): Add. 867169689Skan * config/darwin.c (darwin_handle_kext_attribute): Add. 868169689Skan (DARWIN_VTABLE_P): Add. 869169689Skan (darwin_binds_local_p): Add partial support for rebinding vtables 870169689Skan in kexts. 871169689Skan (darwin_kextabi_p): Add. 872169689Skan (darwin_override_options): Add. 873169689Skan * config/darwin-protos.h (darwin_handle_kext_attribute): Add. 874169689Skan (darwin_kextabi_p): Add. 875169689Skan (darwin_override_options): Add. 876169689Skan * config/darwin-c.c (darwin_cpp_builtins): ... move defines for 877169689Skan __DYNAMIC__ and __STATIC__ here. 878169689Skan 879169689Skan2006-10-16 Brooks Moses <bmoses@stanford.edu> 880169689Skan 881169689Skan * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi: 882169689Skan Added mention of "make pdf" target, and Texinfo requirements for 883169689Skan same. 884169689Skan 885169689Skan2006-10-16 DJ Delorie <dj@redhat.com> 886169689Skan 887169689Skan * config/s390/s390.c (s390_decompose_address): Allow symbol+offset 888169689Skan into the GOT in case we need a subreg of the address. 889169689Skan 890169689Skan2006-10-16 Richard Guenther <rguenther@suse.de> 891169689Skan 892169689Skan PR target/25519 893169689Skan * doc/extend.texi (X86 Built-in Functions): Fix typos in 894169689Skan SSE builtin documentation. Document SSE2 builtins. 895169689Skan 896169689Skan2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 897169689Skan 898169689Skan * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined 899169689Skan symbol in the output file for non-shared links when -nostdlib or 900169689Skan -nodefaultlibs isn't specified. 901169689Skan 902169689Skan * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to 903169689Skan posix thread support. 904169689Skan 905169689Skan2006-10-15 Jan Hubicka <jh@suse.cz> 906169689Skan 907169689Skan PR middle-end/29241 908169689Skan * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions 909169689Skan declared always_inline even when not inlining. 910169689Skan 911169689Skan2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr> 912169689Skan John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 913169689Skan Andrew Pinski <pinskia@gmail.com> 914169689Skan 915169689Skan PR middle-end/29111 916169689Skan * builtins.c (get_pointer_alignment): Return 0 if TER is not run. 917169689Skan 918169689Skan2006-10-15 Jan Hubicka <jh@suse.cz> 919169689Skan Richard Guenther <rguenther@suse.de> 920169689Skan 921169689Skan PR middle-end/29299 922169689Skan * cgraphunit.c (cgraph_finalize_compilation_unit): Call 923169689Skan process_function_and_variable_attributes on all variables, including 924169689Skan those discovered during cgraph construction phase. 925169689Skan 926169689Skan2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org> 927169689Skan 928169689Skan * final.c: Update Copyright year. Commentary typo fix. Fix whitespace 929169689Skan 930169689Skan2006-10-14 Uros Bizjak <uros@kss-loka.si> 931169689Skan 932169689Skan * config/i386/athlon.md (athlon_fist): Add fisttp. 933169689Skan 934169689Skan2006-10-13 David Edelsohn <edelsohn@gnu.org> 935169689Skan Ian Lance Taylor <ian@airs.com> 936169689Skan 937169689Skan PR middle-end/29250 938169689Skan * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR, 939169689Skan CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when 940169689Skan recursing. 941169689Skan 942169689Skan2006-10-14 Kazu Hirata <kazu@codesourcery.com> 943169689Skan 944169689Skan * config/score/score.c, config/score/score.h: Fix comment 945169689Skan typos. 946169689Skan 947169689Skan2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 948169689Skan 949169689Skan PR bootstrap/29402 950169689Skan * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of 951169689Skan shell pipeline. 952169689Skan 953169689Skan2006-10-13 Eric Christopher <echristo@apple.com> 954169689Skan 955169689Skan * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. 956169689Skan 957169689Skan2006-10-13 Carlos O'Donell <carlos@codesourcery.com> 958169689Skan 959169689Skan Revert this change: 960169689Skan 2006-10-13 Carlos O'Donell <carlos@codesourcery.com> 961169689Skan * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest 962169689Skan alignment supported by 32-bit ELF. 963169689Skan 964169689Skan2006-10-13 Eric Christopher <echristo@apple.com> 965169689Skan 966169689Skan * config/darwin.c (darwin_emit_unwind_label): Strip 967169689Skan name encoding. Use DECL_ASSEMBLER_NAME_SET_P. 968169689Skan 969169689Skan2006-10-13 Richard Guenther <rguenther@suse.de> 970169689Skan 971169689Skan PR tree-optimization/29446 972169689Skan * tree-vrp.c (fix_equivalence_set): Remove. 973169689Skan (extract_range_from_assert): Do not call fix_equivalence_set. 974169689Skan (debug_value_range): Print a newline. 975169689Skan (compare_name_with_value): For equivalence sets with 976169689Skan inconsistent value ranges conservatively bail out. 977169689Skan (compare_names): Likewise. 978169689Skan 979169689Skan2006-10-13 David Edelsohn <edelsohn@gnu.org> 980169689Skan 981169689Skan * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP 982169689Skan and MPFR for gfortran. 983169689Skan 984169689Skan2006-10-13 Carlos O'Donell <carlos@codesourcery.com> 985169689Skan 986169689Skan * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest 987169689Skan alignment supported by 32-bit ELF. 988169689Skan 989169689Skan2006-10-13 Paolo Bonzini <bonzini@gnu.org> 990169689Skan 991169689Skan PR c/29092 992169689Skan 993169689Skan * c-typeck.c (digest_init): Always allow initializing vectors 994169689Skan that have static storage duration with compound literals. 995169689Skan * tree.c (build_type_attribute_qual_variant): New, based on 996169689Skan build_type_attribute_variant. 997169689Skan (build_type_attribute_variant): Rewrite using the former. 998169689Skan (make_vector_type): Use build_type_attribute_qual_variant to build 999169689Skan type variants. Use type_hash_canon on the others. 1000169689Skan 1001169689Skan2006-10-13 Daniel Berlin <dberlin@dberlin.org> 1002169689Skan Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com> 1003169689Skan 1004169689Skan * tree-flow-inline.h (zero_ssa_operands): Fix comment. 1005169689Skan 1006169689Skan2006-10-12 Jan Hubicka <jh@suse.cz> 1007169689Skan 1008169689Skan PR c/28419 1009169689Skan * c-decl.c (c_make_fname_decl): Do not segfault in case where 1010169689Skan current_function_decl is set but current_function_scope is not. 1011169689Skan 1012169689Skan2006-10-12 Jie Zhang <jie.zhang@analog.com> 1013169689Skan 1014169689Skan * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of 1015169689Skan emit_insn to emit eh_return_internal instruction. 1016169689Skan (eh_return_internal): Explicitly set pc. 1017169689Skan 1018169689Skan2006-10-11 Richard Guenther <rguenther@suse.de> 1019169689Skan 1020169689Skan PR tree-optimization/28230 1021169689Skan * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling 1022169689Skan to the correct place. 1023169689Skan 1024169689Skan2006-10-11 Richard Guenther <rguenther@suse.de> 1025169689Skan 1026169689Skan PR inline-asm/29119 1027169689Skan * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue 1028169689Skan addressable. 1029169689Skan 1030169689Skan2006-10-10 Brooks Moses <bmoses@stanford.edu> 1031169689Skan 1032169689Skan * configure.ac: Added pdf to "Make-hooks" 1033169689Skan * Makefile.in: Added TEXI2PDF definition, and various pdf-file 1034169689Skan targets and *.pdf file patterns in cleanup targets. 1035169689Skan * configure: Regenerated. 1036169689Skan 1037169689Skan2006-10-10 Anatoly Sokolov <aesok@post.ru> 1038169689Skan 1039169689Skan * config/avr/predicates.md: New file. 1040169689Skan * config/avr/avr.md: Include it. 1041169689Skan (REG_SP): New constant. 1042169689Skan (peepholes): Use predicates. 1043169689Skan (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch, 1044169689Skan difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch, 1045169689Skan sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto. 1046169689Skan 1047169689Skan2006-10-10 Adam Nemet <anemet@caviumnetworks.com> 1048169689Skan 1049169689Skan * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to 1050169689Skan avoid alias set 0. 1051169689Skan 1052169689Skan2006-10-10 Jakub Jelinek <jakub@redhat.com> 1053169689Skan 1054169689Skan PR middle-end/29272 1055169689Skan * builtins.c (var_decl_component_p): New function. 1056169689Skan (fold_builtin_memset, fold_builtin_memory_op): Restrict 1057169689Skan single entry optimization to variables and components thereof. 1058169689Skan 1059169689Skan2006-10-10 Richard Guenther <rguenther@suse.de> 1060169689Skan 1061169689Skan PR rtl-optimization/29323 1062169689Skan * except.c (set_nothrow_function_flags): For functions 1063169689Skan that do not bind local bail out early. 1064169689Skan 1065169689Skan2006-10-10 Ben Elliston <bje@au.ibm.com> 1066169689Skan 1067169689Skan * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the 1068169689Skan -mdlmzb option. 1069169689Skan 1070169689Skan2006-10-09 Richard Henderson <rth@redhat.com> 1071169689Skan 1072169689Skan Revert emutls patch. 1073169689Skan 1074169689Skan2006-10-09 Richard Guenther <rguenther@suse.de> 1075169689Skan 1076169689Skan PR middle-end/29254 1077169689Skan * cgraphunit.c (verify_cgraph_node): Bail out on earlier 1078169689Skan errors. 1079169689Skan 1080169689Skan2006-10-09 Steve Ellcey <sje@cup.hp.com> 1081169689Skan 1082169689Skan PR target/27880 1083169689Skan * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo. 1084169689Skan * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo. 1085169689Skan * configure: Regenerate. 1086169689Skan * config.in: Regenerate. 1087169689Skan 1088169689Skan2006-10-09 Aldy Hernandez <aldyh@redhat.com> 1089169689Skan 1090169689Skan * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE. 1091169689Skan 1092169689Skan2006-10-08 Richard Sandiford <richard@codesourcery.com> 1093169689Skan 1094169689Skan * config/mips/mips.c (mips_legitimize_tls_address): Implement 1095169689Skan all TLS models in the same way as local exec if !TARGET_ABICALLS. 1096169689Skan Remove stray newline. 1097169689Skan 1098169689Skan2006-10-08 Richard Sandiford <richard@codesourcery.com> 1099169689Skan 1100169689Skan * config/mips/mips.c (mips_classify_symbol): Do not return 1101169689Skan SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK. 1102169689Skan (mips_in_small_data_p): Tweak comments. 1103169689Skan 1104169689Skan2006-10-08 Richard Sandiford <richard@codesourcery.com> 1105169689Skan 1106169689Skan * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define. 1107169689Skan 1108169689Skan2006-10-07 Kazu Hirata <kazu@codesourcery.com> 1109169689Skan 1110169689Skan * gimplify.c, sched-int.h: Fix comment typos. 1111169689Skan 1112169689Skan * sched-int.h: Fix comment typos. 1113169689Skan 1114169689Skan2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 1115169689Skan 1116169689Skan * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P): 1117169689Skan New macros. 1118169689Skan * sched-ebb.c (begin_schedule_ready): Use them. 1119169689Skan * haifa-sched.c (schedule_insn, move_insn, try_ready, 1120169689Skan add_to_speculative_block, create_check_block_twin, speculate_insn, 1121169689Skan fix_jump_move, move_block_after_check): Ditto. 1122169689Skan * sched-rgn.c (new_ready): Ditto. 1123169689Skan 1124169689Skan2006-10-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 1125169689Skan 1126169689Skan PR rtl-optimization/29128 1127169689Skan * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro. 1128169689Skan * sched-ebb.c (advance_target_bb): Use it to fix condition to 1129169689Skan allow interblock movement of speculation checks. 1130169689Skan 1131169689Skan2006-10-06 Zdenek Dvorak <dvorakz@suse.cz> 1132169689Skan 1133169689Skan PR middle-end/29256 1134169689Skan * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers 1135169689Skan casted to integer type. 1136169689Skan (get_address_cost): Decrease cost of [symbol + index] addressing modes 1137169689Skan if they are significantly more expensive than [reg + index] ones. 1138169689Skan 1139169689Skan2006-10-06 Jakub Jelinek <jakub@redhat.com> 1140169689Skan 1141169689Skan PR tree-optimization/29330 1142169689Skan * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro. 1143169689Skan (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer 1144169689Skan on newly allocated ddrs. 1145169689Skan (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer 1146169689Skan to VEC (loop_p, heap) pointer. 1147169689Skan (compute_data_dependences_for_loop): Adjust caller. 1148169689Skan (free_dependence_relations): Free DDR_LOOP_NEST. 1149169689Skan 1150169689Skan * tree-loop-linear.c (linear_transform_loops): Don't forget to 1151169689Skan free DEPENDENCE_RELATIONS and DATAREFS. 1152169689Skan 1153169689Skan PR target/28924 1154169689Skan * builtins.c (expand_builtin_sync_operation, 1155169689Skan expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set): 1156169689Skan Use convert_to_mode to handle promoted arguments. 1157169689Skan 1158169689Skan2006-10-06 J"orn Rennecke <joern.rennecke@st.com> 1159169689Skan 1160169689Skan * print-tree.c (print_node_brief, print_node): Print sign of Inf. 1161169689Skan 1162169689Skan2006-10-06 J"orn Rennecke <joern.rennecke@st.com> 1163169689Skan 1164169689Skan * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define. 1165169689Skan 1166169689Skan2006-10-05 Uros Bizjak <uros@kss-loka.si> 1167169689Skan 1168169689Skan * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>", 1169169689Skan "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"): 1170169689Skan Use <modeconstraint> instead of "r" as operand 1 constraint. 1171169689Skan 1172169689Skan2006-10-06 Olivier Hainque <hainque@adacore.com> 1173169689Skan 1174169689Skan * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]: 1175169689Skan Don't recurse on the pointed-to type. 1176169689Skan * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or 1177169689Skan DECL context, attach an artificial TYPE_DECL to anonymous pointed-to 1178169689Skan types with components of variable size. 1179169689Skan 1180169689Skan2006-10-06 Danny Smith <dannysmith@users.sourceforge.net> 1181169689Skan 1182169689Skan config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp. 1183169689Skan 1184169689Skan2006-10-06 Jakub Jelinek <jakub@redhat.com> 1185169689Skan 1186169689Skan PR tree-optimization/29290 1187169689Skan * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has 1188169689Skan multiple exits. 1189169689Skan 1190169689Skan PR target/29198 1191169689Skan * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols. 1192169689Skan * config/i386/predicates.md (local_symbolic_operand): Likewise. 1193169689Skan 1194169689Skan PR c/29091 1195169689Skan * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than 1196169689Skan the number of vector elements fill the rest with zeros. 1197169689Skan 1198169689Skan2006-10-05 Richard Sandiford <richard@codesourcery.com> 1199169689Skan 1200169689Skan * config/mips/mips.c (mips_pass_by_reference): Do not return false 1201169689Skan for EABI if type is NULL. Use a size check based on GET_MODE_SIZE 1202169689Skan instead. 1203169689Skan 1204169689Skan2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com> 1205169689Skan 1206169689Skan * config/bfin/bfin.md (subsi3): Lose expander, change previously 1207169689Skan unnamed pattern into subsi3. Use correct constraints/predicates. 1208169689Skan * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7". 1209169689Skan * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New. 1210169689Skan 1211169689Skan2006-10-05 Ira Rosen <irar@il.ibm.com> 1212169689Skan 1213169689Skan * doc/loop.texi: Add data references analysis description. 1214169689Skan 1215169689Skan2006-10-04 Brooks Moses <bmoses@stanford.edu> 1216169689Skan 1217169689Skan * doc/gcov.texi: Add formatting to "Invoking gcov" section head. 1218169689Skan 1219169689Skan2006-10-04 Richard Henderson <rth@redhat.com> 1220169689Skan Jakub Jelinek <jakub@redhat.com> 1221169689Skan 1222169689Skan * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c. 1223169689Skan * builtin-types.def (BT_WORD): Make unsigned. 1224169689Skan (BT_FN_VOID_PTR_WORD_WORD_PTR): New. 1225169689Skan * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New. 1226169689Skan (BUILT_IN_EMUTLS_REGISTER_COMMON): New. 1227169689Skan * c-decl.c (grokdeclarator): Don't error if !have_tls. 1228169689Skan * c-parser.c (c_parser_omp_threadprivate): Likewise. 1229169689Skan * cgraph.c (decide_is_variable_needed): Look at force_output. 1230169689Skan Recurse for emulated tls. 1231169689Skan * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove 1232169689Skan checks redundant with decide_is_variable_needed. 1233169689Skan (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls. 1234169689Skan * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for 1235169689Skan emulated tls. 1236169689Skan * expr.c (emutls_var_address): New. 1237169689Skan (expand_expr_real_1): Expand emulated tls. 1238169689Skan (expand_expr_addr_expr_1): Likewise. 1239169689Skan * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common. 1240169689Skan * output.h (emutls_finish): Declare. 1241169689Skan * toplev.c (compile_file): Call it. 1242169689Skan * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the 1243169689Skan address before wrapping in CONST. 1244169689Skan * varasm.c (emutls_htab, emutls_object_type): New. 1245169689Skan (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New. 1246169689Skan (get_emutls_object_name, get_emutls_object_type): New. 1247169689Skan (get_emutls_init_templ_addr, emutls_decl): New. 1248169689Skan (emutls_common_1, emutls_finish): New. 1249169689Skan (assemble_variable): When emulating tls, swap decls; generate 1250169689Skan constructor for the emutls objects. 1251169689Skan (do_assemble_alias): When emulating tls, swap decl and target name. 1252169689Skan (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT 1253169689Skan for emulated tls. 1254169689Skan * emutls.c: New file. 1255169689Skan * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit 1256169689Skan tls_object for real tls. 1257169689Skan 1258169689Skan2006-10-04 Zack Weinberg <zackw@panix.com> 1259169689Skan 1260169689Skan Fix bug in constraint-check generator, reported by Rask Ingemann 1261169689Skan Lambertsen: 1262169689Skan * genpreds.c (add_constraint): Don't remove anything from the 1263169689Skan expression here. 1264169689Skan (write_tm_constrs_h): Detect whether "op" argument is used, and 1265169689Skan mark it ARG_UNUSED if it isn't. 1266169689Skan (write_insn_const_int_ok_for_constraint): Skip the part of the 1267169689Skan expression that would test whether "op" (which is not available 1268169689Skan here) is a CONST_INT. 1269169689Skan 1270169689Skan2006-10-04 Ryan Mansfield <rmansfield@qnx.com> 1271169689Skan 1272169689Skan PR c++/28448 1273169689Skan * doc/invoke.texi (fdiagnostics-show-option): Fix typos. 1274169689Skan 1275169689Skan2006-10-03 Geoffrey Keating <geoffk@apple.com> 1276169689Skan 1277169689Skan * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for 1278169689Skan current Leopard versions. 1279169689Skan * config/rs6000/darwin-libgcc.10.5.ver: Likewise. 1280169689Skan 1281169689Skan2006-10-03 Kazu Hirata <kazu@codesourcery.com> 1282169689Skan 1283169689Skan * doc/install.texi: Fix typos. 1284169689Skan 1285169689Skan2006-10-03 Eric Botcazou <ebotcazou@libertysurf.fr> 1286169689Skan 1287169689Skan * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX. 1288169689Skan * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX. 1289169689Skan * config/sparc/sparc.h (FRAME_ADDR_RTX): Define. 1290169689Skan 1291169689Skan2006-10-02 Jack Howarth <howarth@bromo.med.uc.edu> 1292169689Skan 1293169689Skan * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first 1294169689Skan arg to be struct mach_header_64* instead. 1295169689Skan 1296169689Skan2006-10-02 Jakub Jelinek <jakub@redhat.com> 1297169689Skan 1298169689Skan PR c/29154 1299169689Skan * gimplify.c (gimplify_self_mod_expr): Run inner expression's post 1300169689Skan side effects after the outer expression's post side effects. 1301169689Skan 1302169689Skan2006-10-01 Sandra Loosemore <sandra@codesourcery.com> 1303169689Skan 1304169689Skan * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): Fix 1305169689Skan comments to reflect actual behavior and relationship between 1306169689Skan DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN. 1307169689Skan 1308169689Skan * doc/c-tree.texi (Working with declarations): Fix documentation 1309169689Skan of FIELD_DECL likewise. 1310169689Skan 1311169689Skan2006-10-01 Ryan Mansfield <rmansfield@qnx.com> 1312169689Skan 1313169689Skan PR c/20533 1314169689Skan * doc/extend.texi: Add used variable attribute description. 1315169689Skan 1316169689Skan2006-09-30 Joseph S. Myers <joseph@codesourcery.com> 1317169689Skan 1318169689Skan PR c/24010 1319169689Skan * c.opt (Woverride-init): New. 1320169689Skan * c-opts.c (c_common_post_options): Default warn_override_init to 1321169689Skan extra_warnings. 1322169689Skan * c-typeck.c (add_pending_init, output_init_element): Warn for 1323169689Skan overriding initializers without side effects. 1324169689Skan * doc/invoke.texi (-Woverride-init): Document. 1325169689Skan (-Wextra): Update. 1326169689Skan 1327169689Skan2006-09-30 Eric Botcazou <ebotcazou@libertysurf.fr> 1328169689Skan 1329169689Skan PR rtl-optimization/28096 1330169689Skan * ifcvt.c (check_cond_move_block): Return FALSE if the source of an 1331169689Skan assignment has already been used as a destination earlier in the block. 1332169689Skan 1333169689Skan2006-09-29 Eric Botcazou <ebotcazou@adacore.com> 1334169689Skan 1335169689Skan * builtins.c (expand_builtin_setjmp): Delete. 1336169689Skan (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable. 1337169689Skan <BUILT_IN_SETJMP_SETUP>: New case. 1338169689Skan <BUILT_IN_SETJMP_DISPATCHER>: Likewise. 1339169689Skan <BUILT_IN_SETJMP_RECEIVER>: Likewise. 1340169689Skan * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub. 1341169689Skan (BUILT_IN_SETJMP_DISPATCHER): Likewise. 1342169689Skan (BUILT_IN_SETJMP_RECEIVER): Likewise. 1343169689Skan * gimple-low.c (struct lower_data): New field calls_builtin_setjmp. 1344169689Skan (lower_function_body): Initialize it to false. If it is set to true 1345169689Skan at the end of the processing, emit the setjmp dispatcher. 1346169689Skan (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee 1347169689Skan is __builtin_setjmp and set calls_builtin_setjmp to true as well. 1348169689Skan <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR 1349169689Skan on the rhs of the assignment. 1350169689Skan (lower_builtin_setjmp): New function. 1351169689Skan * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP, 1352169689Skan BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes. 1353169689Skan * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate 1354169689Skan to detect calls that can go to non-local labels. Use specific 1355169689Skan helper to create the abnormal edges associated with them. 1356169689Skan <MODIFY_EXPR>: Likewise. 1357169689Skan (make_abnormal_goto_edges): New function extracted from... 1358169689Skan (make_goto_expr_edges): ...here. Call it for computed gotos. 1359169689Skan (simple_goto_p): Minor tweak. 1360169689Skan (tree_can_make_abnormal_goto): New predicate. 1361169689Skan (tree_redirect_edge_and_branch): Return zero on all abnormal edges. 1362169689Skan (tree_purge_dead_abnormal_call_edges): New function. 1363169689Skan * tree-flow.h (tree_can_make_abnormal_goto): Declare. 1364169689Skan (tree_purge_dead_abnormal_call_edges): Likewise. 1365169689Skan (make_abnormal_goto_edges): Likewise. 1366169689Skan * tree-inline.c (expand_call_inline): Simplify statement frobbing. 1367169689Skan Purge all dead abnormal edges if the call was in the last statement. 1368169689Skan * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate. 1369169689Skan (execute_fixup_cfg): If there are non-local labels in the function, 1370169689Skan scan the basic blocks and split them at calls that can go to non-local 1371169689Skan labels or add missing abnormal call edges. Write down the CFG in the 1372169689Skan dump file. 1373169689Skan (pass_fixup_cfg): Remove TODO_dump_func flag. 1374169689Skan * unwind-sjlj.c: Poison setjmp. 1375169689Skan * doc/install.texi (enable-sjlj-exceptions): Use more general wording. 1376169689Skan * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise. 1377169689Skan (TARGET_UNWIND_TABLES_DEFAULT): Fix typo. 1378169689Skan (DONT_USE_BUILTIN_SETJMP): Document it. 1379169689Skan 1380169689Skan2006-09-28 Geoffrey Keating <geoffk@apple.com> 1381169689Skan 1382169689Skan PR target/28617 1383169689Skan * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define 1384169689Skan to 1 when __ppc64__ is defined. 1385169689Skan * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and 1386169689Skan darwin-64.c. 1387169689Skan * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined. 1388169689Skan 1389169689Skan2006-09-28 Steve Ellcey <sje@cup.hp.com> 1390169689Skan 1391169689Skan * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c. 1392169689Skan * config/ia64/unwind-hpux.c: Delete. 1393169689Skan 1394169689Skan2006-09-28 Eric Botcazou <ebotcazou@adacore.com> 1395169689Skan 1396169689Skan * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr 1397169689Skan on the element before gimplifying it, instead of punting if it is of 1398169689Skan variable size. 1399169689Skan 1400169689Skan2006-09-28 Zdenek Dvorak <dvorakz@suse.cz> 1401169689Skan 1402169689Skan * doc/loop.texi: New file. 1403169689Skan * doc/gccint.texi: Reference loop.texi. 1404169689Skan * Makefile.in (loop.texi): Add. 1405169689Skan 1406169689Skan2006-09-27 Geoffrey Keating <geoffk@apple.com> 1407169689Skan 1408169689Skan * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not 1409169689Skan __sysctl. 1410169689Skan * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove. 1411169689Skan * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove. 1412169689Skan 1413169689Skan2006-09-28 Kaz Kojima <kkojima@gcc.gnu.org> 1414169689Skan 1415169689Skan * config/sh/sh.md (divsi_inv_m0): Remove unused variable. 1416169689Skan 1417169689Skan2006-09-27 Steven G. Kargl <kargl@gcc.gnu.org> 1418169689Skan 1419169689Skan * doc/install.texi: Document required versions of GMP and MPFR. 1420169689Skan 1421169689Skan2006-09-27 Paul Brook <paul@codesourcery.com> 1422169689Skan 1423169689Skan PR target/29230 1424169689Skan * config/arm/arm.md (arith_adjacentmem): Handle large offsets. 1425169689Skan 1426169689Skan2006-09-27 Richard Sandiford <richard@codesourcery.com> 1427169689Skan 1428169689Skan * reload1.c (alter_reg): Require the alignment of the stack slot to 1429169689Skan be at least reg_max_ref_width bytes. 1430169689Skan (scan_paradoxical_subregs): Record the largest width in 1431169689Skan reg_max_ref_width. 1432169689Skan 1433169689Skan2006-09-26 Jakub Jelinek <jakub@redhat.com> 1434169689Skan 1435169689Skan PR middle-end/25261 1436169689Skan PR middle-end/28790 1437169689Skan * tree-nested.c (struct nesting_info): Added static_chain_added. 1438169689Skan (convert_call_expr): Set static_chain_added when adding static 1439169689Skan chain. Handle OMP_PARALLEL and OMP_SECTION. 1440169689Skan 1441169689Skan2006-09-25 Matthias Klose <doko@debian.org> 1442169689Skan 1443169689Skan * doc/invoke.texi: Add missing full stop. 1444169689Skan 1445169689Skan2006-09-25 Richard Henderson <rth@redhat.com> 1446169689Skan 1447169689Skan * cgraph.c (dump_cgraph_varpool_node): Don't crash if called 1448169689Skan before cgraph_function_flags_ready. 1449169689Skan 1450169689Skan2006-09-24 Zdenek Dvorak <dvorakz@suse.cz> 1451169689Skan Adam Nemet <anemet@caviumnetworks.com> 1452169689Skan 1453169689Skan * tree-ssa-loop-ivopts.c (aff_combination_convert, 1454169689Skan determine_common_wider_type): New functions. 1455169689Skan (get_computation_aff): Use them to simplify arithmetic between 1456169689Skan UBASE and CBASE if they are shortened from the same type. 1457169689Skan 1458169689Skan2006-09-24 Kazu Hirata <kazu@codesourcery.com> 1459169689Skan 1460169689Skan PR target/28911 1461169689Skan * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use 1462169689Skan -2147483647 - 1 instead of 0x80000000. 1463169689Skan 1464169689Skan2006-09-23 Revital1 Eres <ERES@il.ibm.com> 1465169689Skan 1466169689Skan * flags.h (HONOR_NANS): Fix typo in comment. 1467169689Skan 1468169689Skan2006-09-23 Uros Bizjak <uros@kss-loka.si> 1469169689Skan 1470169689Skan * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype. 1471169689Skan 1472169689Skan2006-09-23 Jakub Jelinek <jakub@redhat.com> 1473169689Skan 1474169689Skan PR c/28706 1475169689Skan PR c/28712 1476169689Skan * tree.c (merge_attributes, attribute_list_contained): If both 1477169689Skan TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of 1478169689Skan simple_cst_equal. 1479169689Skan * c-typeck.c (comptypes_internal): Don't consider aggregates 1480169689Skan in different TUs as compatible if there one set of attributes is 1481169689Skan not a subset of the other type's attributes. 1482169689Skan (composite_type): Try harder not to create a new aggregate type. 1483169689Skan 1484169689Skan2006-09-22 Geoffrey Keating <geoffk@apple.com> 1485169689Skan 1486169689Skan * config/i386/driver-i386.c: Always define host_detect_local_cpu. 1487169689Skan * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386 1488169689Skan or x86_64 host. Define HAVE_LOCAL_CPU_DETECT. 1489169689Skan (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather 1490169689Skan than replicating condition above. 1491169689Skan * config.host (i[34567]86-*-*): Always use driver-i386.o. 1492169689Skan 1493169689Skan * config/darwin.h (LINK_SYSROOT_SPEC): New. 1494169689Skan (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to 1495169689Skan the linker by default. 1496169689Skan 1497169689Skan2006-09-22 Mike Stump <mrs@apple.com> 1498169689Skan 1499169689Skan * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with 1500169689Skan code. 1501169689Skan 1502169689Skan2006-09-22 Richard Guenther <rguenther@suse.de> 1503169689Skan 1504169689Skan PR middle-end/28964 1505169689Skan * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make 1506169689Skan sort of stack variables stable. 1507169689Skan 1508169689Skan2006-09-22 Peter Bergner <bergner@vnet.ibm.com> 1509169689Skan 1510169689Skan PR middle-end/28690 1511169689Skan * explow.c (force_reg): Set REG_POINTER flag according to 1512169689Skan MEM_POINTER flag. 1513169689Skan 1514169689Skan2006-09-22 Zdenek Dvorak <dvorakz@suse.cz> 1515169689Skan 1516169689Skan PR tree-optimization/28888 1517169689Skan * tree-if-conv.c (combine_blocks): Rewritten. 1518169689Skan * tree-cfg.c (tree_verify_flow_info): Check that edges with 1519169689Skan EDGE_TRUE/FALSE_VALUE follow COND_EXPR. 1520169689Skan 1521169689Skan2006-09-22 Jakub Jelinek <jakub@redhat.com> 1522169689Skan 1523169689Skan * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if 1524169689Skan needed. 1525169689Skan 1526169689Skan2006-09-21 Richard Sandiford <richard@codesourcery.com> 1527169689Skan 1528169689Skan * varasm.c (copy_constant): Fix reversed gcc_assert check. 1529169689Skan 1530169689Skan2006-09-21 Janis Johnson <janis187@us.ibm.com> 1531169689Skan 1532169689Skan * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins. 1533169689Skan 1534169689Skan2006-09-21 Roger Sayle <roger@eyesopen.com> 1535169689Skan 1536169689Skan PR debug/29132 1537169689Skan * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label, 1538169689Skan dw_fde_current_label, to be the start of the function, i.e. the same 1539169689Skan value as dw_fde_begin. 1540169689Skan 1541169689Skan2006-09-20 Richard Sandiford <richard@codesourcery.com> 1542169689Skan 1543169689Skan * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete. 1544169689Skan * config/mips/mips.md (UNSPEC_ABS_PS): New constant. 1545169689Skan (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2) 1546169689Skan (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1. 1547169689Skan (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS. 1548169689Skan (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise. 1549169689Skan (abs<mode>2, neg<mode>2): Likewise. 1550169689Skan * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand. 1551169689Skan (*mips_abs_ps): New define_insn. 1552169689Skan 1553169689Skan2006-09-20 Josh Conner <jconner@apple.com> 1554169689Skan 1555169689Skan PR middle-end/25505 1556169689Skan * calls.c (expand_call): Allow reuse of structure return stack 1557169689Skan temp. 1558169689Skan 1559169689Skan2006-09-20 Paul Brook <paul@codesourcery.com> 1560169689Skan 1561169689Skan * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for 1562169689Skan positive offsets. 1563169689Skan 1564169689Skan2006-09-20 Janis Johnson <janis187@us.ibm.com> 1565169689Skan 1566169689Skan * doc/extend.texi (Decimal Float): Update for latest draft TR, 1567169689Skan clean up terminology. 1568169689Skan 1569169689Skan2006-09-20 Steve Ellcey <sje@cup.hp.com> 1570169689Skan 1571169689Skan PR target/28574 1572169689Skan * ifcvt.c (dead_or_predicable): Don't predicate then blocks 1573169689Skan with tablejumps in them. 1574169689Skan 1575169689Skan2006-09-20 Jakub Jelinek <jakub@redhat.com> 1576169689Skan 1577169689Skan PR middle-end/28046 1578169689Skan * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough, 1579169689Skan wrap it into TARGET_EXPR. 1580169689Skan 1581169689Skan2006-09-20 Eric Christopher <echristo@apple.com> 1582169689Skan 1583169689Skan * config/i386/i386.c (x86_fisttp): Remove. 1584169689Skan * config/i386/i386.h (x86_fisttp): Ditto. 1585169689Skan (TARGET_FISTTP): Ditto. 1586169689Skan 1587169689Skan2006-09-19 Eric Christopher <echristo@apple.com> 1588169689Skan 1589169689Skan * doc/tm.texi (OBJC_JBLEN): Describe. 1590169689Skan * config/i386/darwin.h (OBJC_JBLEN): Define. 1591169689Skan * config/rs6000/darwin.h: Ditto. 1592169689Skan 1593169689Skan2006-09-19 Steven Bosscher <steven@gcc.gnu.org> 1594169689Skan 1595169689Skan PR rtl-optimization/21299 1596169689Skan * reload1.c (reload): Purge invalid ASMs in the final pass. 1597169689Skan 1598169689Skan2006-09-19 Steve Ellcey <sje@cup.hp.com> 1599169689Skan 1600169689Skan PR 28490 1601169689Skan * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function 1602169689Skan pointers as legitimate constants. 1603169689Skan 1604169689Skan2006-09-19 Paul Brook <paul@codesourcery.com> 1605169689Skan 1606169689Skan PR target/28516 1607169689Skan * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const. 1608169689Skan 1609169689Skan2006-09-17 Zdenek Dvorak <dvorakz@suse.cz> 1610169689Skan 1611169689Skan PR tree-optimization/28887 1612169689Skan * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable 1613169689Skan component parts from the reference. 1614169689Skan (gather_memory_references_ref): Record the reference without the 1615169689Skan nonaddressable component parts. 1616169689Skan 1617169689Skan2006-09-17 Steven Bosscher <steven@gcc.gnu.org> 1618169689Skan 1619169689Skan PR c/25993 1620169689Skan * c-opts.c (c_common_handle_option): Ignore the -std options 1621169689Skan if the input language is assembly. 1622169689Skan 1623169689Skan2006-09-17 Ira Rosen <irar@il.ibm.com> 1624169689Skan 1625169689Skan PR tree-opt/21591 1626169689Skan * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory 1627169689Skan tag first. 1628169689Skan (ptr_ptr_may_alias_p): Likewise. 1629169689Skan (record_record_differ_p): New function. 1630169689Skan (base_object_differ_p): Call record_record_differ_p. 1631169689Skan 1632169689Skan2006-09-16 Andrew Pinski <pinskia@physics.uc.edu> 1633169689Skan 1634169689Skan PR tree-opt/29059 1635169689Skan * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right 1636169689Skan away for the expr argument. 1637169689Skan 1638169689Skan2006-09-16 Steven Bosscher <steven@gcc.gnu.org> 1639169689Skan 1640169689Skan PR tree-opt/27742 1641169689Skan * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location 1642169689Skan before using it for dumping after vectorizing loops. 1643169689Skan 1644169689Skan2006-09-16 Andrew Pinski <pinskia@physics.uc.edu> 1645169689Skan Jack Howarth <howarth@bromo.med.uc.edu> 1646169689Skan 1647169689Skan PR target/29030 1648169689Skan * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse) 1649169689Skan skip on error_mark_node. 1650169689Skan (rs6000_darwin64_record_arg_recurse): Likewise. 1651169689Skan 1652169689Skan2006-09-16 Steven Bosscher <steven@gcc.gnu.org> 1653169689Skan 1654169689Skan * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove. 1655169689Skan * doc/rtl.texi: Remove related documentation. 1656169689Skan 1657169689Skan2006-09-16 Bernd Schmidt <bernd.schmidt@analog.com> 1658169689Skan 1659169689Skan * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging 1660169689Skan printf. 1661169689Skan 1662169689Skan2006-09-15 Jim Wilson <wilson@specifix.com> 1663169689Skan 1664169689Skan * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST): 1665169689Skan Handle symbol offsets same as they are handled in ia64_expand_move 1666169689Skan and move_operand. 1667169689Skan 1668169689Skan2006-09-16 Andreas Tobler <a.tobler@schweiz.org> 1669169689Skan 1670169689Skan * loop-doloop.c (doloop_optimize): Change type of max_cost to int. 1671169689Skan Add forgotten parameter to the fprintf call. 1672169689Skan 1673169689Skan2006-09-15 Steve Ellcey <sje@cup.hp.com> 1674169689Skan 1675169689Skan * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define. 1676169689Skan 1677169689Skan2006-09-15 Uros Bizjak <uros@kss-loka.si> 1678169689Skan 1679169689Skan * doc/contrib.texi: Add my entry. 1680169689Skan 1681169689Skan2006-09-15 Nick Clifton <nickc@redhat.com> 1682169689Skan 1683169689Skan * doc/md.texi (Processor pipeline description): Fix typo in 1684169689Skan example of how to use the absence_set directive and reword the 1685169689Skan description to make it slightly easier to read. 1686169689Skan 1687169689Skan2006-09-15 Bernd Schmidt <bernd.schmidt@analog.com> 1688169689Skan 1689169689Skan * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New. 1690169689Skan * loop-doloop.c (doloop_optimize): Use it to limit costs of 1691169689Skan expanding the number of iterations. 1692169689Skan * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD. 1693169689Skan 1694169689Skan * cfgrtl.c (emit_insn_at_entry): New function. 1695169689Skan * rtl.h (emit_insn_at_entry): Declare it. 1696169689Skan * integrate.c (emit_initial_value_sets): Use it. 1697169689Skan 1698169689Skan * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort. 1699169689Skan 1700169689Skan * config/bfin/bfin.c (struct loop_info): New members block_bitmap and 1701169689Skan bad. 1702169689Skan (struct loop_work and related VEC declarations): Delete. 1703169689Skan (bfin_dump_loops): Print out new member bad. 1704169689Skan (bfin_bb_in_loop): Use plain bitmap test. Don't recurse. 1705169689Skan (bfin_scan_loop): Don't recurse. 1706169689Skan (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad 1707169689Skan loops. No longer need to update outer loops if the current one is 1708169689Skan found bad. Move some validitiy checks to bfin_discover_loop. 1709169689Skan (bfin_discover_loop): New function, mostly split from bfin_reorg_loops, 1710169689Skan but changed not to check for nesting. Also changed to use the new bad 1711169689Skan flag. 1712169689Skan (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a 1713169689Skan time. Use bitmap based test to discover loop nesting. 1714169689Skan 1715169689Skan2006-09-15 Kazu Hirata <kazu@codesourcery.com> 1716169689Skan 1717169689Skan * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in 1718169689Skan one line. 1719169689Skan 1720169689Skan2006-09-14 Richard Guenther <rguenther@suse.de> 1721169689Skan Kazu Hirata <kazu@codesourcery.com> 1722169689Skan 1723169689Skan PR middle-end/28884. 1724169689Skan * doc/tm.texi (TARGET_FUNCTION_VALUE): Document. 1725169689Skan (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate. 1726169689Skan Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE 1727169689Skan with TARGET_FUNCTION_VALUE. 1728169689Skan 1729169689Skan2006-09-14 Anatoly Sokolov <aesok@post.ru> 1730169689Skan 1731169689Skan PR target/26504 1732169689Skan * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define. 1733169689Skan 1734169689Skan2006-09-13 Aldy Hernandez <aldyh@redhat.com> 1735169689Skan 1736169689Skan * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand 1737169689Skan of a RETURN_EXPR 1738169689Skan 1739169689Skan2006-09-13 Andrew Pinski <pinskia@physics.uc.edu> 1740169689Skan 1741169689Skan PR debug/28980 1742169689Skan * dwarf2out.c (loc_descriptor_from_tree_1): Handle 1743169689Skan FUNCTION_DECL. 1744169689Skan 1745169689Skan2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com> 1746169689Skan 1747169689Skan * basic_block.h (bb_has_eh_pred): Fix comment. 1748169689Skan 1749169689Skan2006-09-13 Andreas Krebbel <krebbel1@de.ibm.com> 1750169689Skan 1751169689Skan * flow.c (calculate_global_regs_live): Invalidate eh registers 1752169689Skan on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge. 1753169689Skan (propagate_block): Handle eh registers as if they were set at basic 1754169689Skan block start. 1755169689Skan * except.c (dw2_build_landing_pads): Don't emit clobbers for eh 1756169689Skan registers. 1757169689Skan * global.c (global_conflicts): Make eh registers to conflict with 1758169689Skan pseudos live at basic block begin. 1759169689Skan * basic_block.h (bb_has_eh_pred): New function. 1760169689Skan 1761169689Skan2006-09-13 Richard Sandiford <richard@codesourcery.com> 1762169689Skan 1763169689Skan PR rtl-optimization/28982 1764169689Skan * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the 1765169689Skan index of a PRE_MODIFY or POST_MODIFY address. 1766169689Skan * reload1.c (inc_for_reload): Use find_replacement on the original 1767169689Skan base and index registers. 1768169689Skan 1769169689Skan2006-09-12 H.J. Lu <hongjiu.lu@intel.com> 1770169689Skan 1771169689Skan * doc/invoke.texi (mpreferred-stack-boundary): Remove exception 1772169689Skan for -Os. Update __m128 alignment requirement. 1773169689Skan 1774169689Skan2006-09-13 Jan Hubicka <jh@suse.cz> 1775169689Skan 1776169689Skan * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic. 1777169689Skan 1778169689Skan2006-09-12 Eric Botcazou <ebotcazou@libertysurf.fr> 1779169689Skan 1780169689Skan PR rtl-optimization/28243 1781169689Skan * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past 1782169689Skan the insn to which the note was originally attached. 1783169689Skan 1784169689Skan2006-09-12 Andrew Pinski <pinskia@physics.uc.edu> 1785169689Skan Roger Sayle <roger@eyesopen.com> 1786169689Skan 1787169689Skan * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration 1788169689Skan outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure 1789169689Skan on platforms that don't use dwarf for debug info. 1790169689Skan 1791169689Skan2006-09-12 Jason Merrill <jason@redhat.com> 1792169689Skan 1793169689Skan PR middle-end/28493 1794169689Skan * builtins.c (expand_builtin_setjmp_receiver): Clobber 1795169689Skan hard_frame_pointer_rtx after using it to update the frame pointer. 1796169689Skan 1797169689Skan2006-09-12 Roger Sayle <roger@eyesopen.com> 1798169689Skan 1799169689Skan * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef. 1800169689Skan (TARGET_ASM_CLOSE_PAREN): Likewise. 1801169689Skan * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define. 1802169689Skan (TARGET_ASM_CLOSE_PAREN): Likewise. 1803169689Skan 1804169689Skan2006-09-12 Roger Sayle <roger@eyesopen.com> 1805169689Skan 1806169689Skan PR target/22223 1807169689Skan * config/alpha/alpha.c (alpha_start_function): Don't emit stack 1808169689Skan frame information for frames larger than 512 Kbytes on Tru64 when 1809169689Skan using the native assembler. 1810169689Skan 1811169689Skan2006-09-12 Roger Sayle <roger@eyesopen.com> 1812169689Skan 1813169689Skan PR middle-end/4520 1814169689Skan PR bootstrap/28784 1815169689Skan * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels 1816169689Skan and symbols. Instead use the implementation from cse.c's hash_rtx. 1817169689Skan 1818169689Skan2006-09-12 Jan Hubicka <jh@suse.cz> 1819169689Skan 1820169689Skan PR rtl-optimization/28071 1821169689Skan * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast. 1822169689Skan (vect_transform_loop): Likewise. 1823169689Skan * tree-vectorizer.c (new_loop_vec_info): Likewise. 1824169689Skan (new_loop_vec_info): Likewise. 1825169689Skan (destroy_loop_vec_info): Likewise. 1826169689Skan * tree-dfa.c (create_var_ann): Use GCC_CNEW. 1827169689Skan (create_stmt_ann): Likewise. 1828169689Skan (create_tree_ann): Rename to ... 1829169689Skan (create_tree_common_ann): ... this one; allocate only the common part 1830169689Skan of annotations. 1831169689Skan * tree-vn.c (set_value_handle): Use get_tree_common_ann. 1832169689Skan (get_value_handle): Likewise. 1833169689Skan * tree-ssa-pre.c (phi_translate): Delay annotation allocation for 1834169689Skan get_tree_common_ann. 1835169689Skan * tree-vectorizer.h (set_stmt_info): Take stmt annotation. 1836169689Skan (vinfo_for_stmt): Use stmt annotations. 1837169689Skan * tree-flow.h (tree_ann_common_t): New type. 1838169689Skan (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New. 1839169689Skan (tree_ann, get_tree_ann, create_tree_ann): New. 1840169689Skan * tree-flow-inline.h (get_function_ann): Do more type checking. 1841169689Skan (stmt_ann): Likewise. 1842169689Skan (tree_ann): Rename to ... 1843169689Skan (tree_common_ann): ... this one; return ony common_ann 1844169689Skan (get_tree_ann): Rename to ... 1845169689Skan (tree_common_ann): This one; return only common_ann. 1846169689Skan * tree-vect-patterns.c (vect_pattern_recog_1): Update call 1847169689Skan of set_stmt_info. 1848169689Skan 1849169689Skan2006-09-11 Geoffrey Keating <geoffk@apple.com> 1850169689Skan 1851169689Skan * config.gcc (i[34567]86-*-darwin*): Set with_arch and 1852169689Skan with_cpu by default. 1853169689Skan 1854169689Skan * dwarf2out.c (dwarf_file_data): New. 1855169689Skan (enum dw_val_class): Add dw_val_class_file. 1856169689Skan (struct dw_val_struct): Add val_file. 1857169689Skan (file_table): Change to a hash table. 1858169689Skan (file_table_emitted): Delete. 1859169689Skan (file_table_last_lookup_index): Delete. 1860169689Skan (emitcount): Delete. 1861169689Skan (last_emitted_file): New. 1862169689Skan (lookup_filename): Change prototype to return a struct dwarf_file_data. 1863169689Skan (init_file_table): Delete. 1864169689Skan (maybe_emit_file): Change prototype to take a struct dwarf_file_data. 1865169689Skan (AT_addr): Add comment. 1866169689Skan (add_AT_file): New. 1867169689Skan (AT_file): New. 1868169689Skan (get_AT_file): New. 1869169689Skan (print_die): Handle dw_val_class_file. 1870169689Skan (print_dwarf_line_table): Update for new file table structure. 1871169689Skan (attr_checksum): Do checksum a filename. 1872169689Skan (same_dw_val_p, same_attr_p): Do compare a filename. 1873169689Skan (size_of_die): Handle dw_val_class_file. 1874169689Skan (value_format): Likewise. 1875169689Skan (output_die): Likewise. Also, call maybe_emit_file here. 1876169689Skan (struct file_info): Constify filenames. Make file_idx a pointer 1877169689Skan to a struct dwarf_file_data. 1878169689Skan (struct dir_info): Constify directory names. Remove 'used' field. 1879169689Skan (struct file_name_acquire_data): New. 1880169689Skan (file_name_acquire): New. 1881169689Skan (output_file_names): Modify to handle new file data structures. 1882169689Skan (add_src_coords_attributes): Use add_AT_file. 1883169689Skan (add_call_src_coords_attributes): Likewise. 1884169689Skan (dwarf2out_imported_module_or_decl): Likewise. 1885169689Skan (gen_subprogram_die): Modify for new file data structures. 1886169689Skan (gen_variable_die): Likewise. 1887169689Skan (file_table_eq): New. 1888169689Skan (file_table_hash): New. 1889169689Skan (file_table_last_lookup): New. 1890169689Skan (lookup_filename): Rewrite to handle new file data structures. 1891169689Skan (maybe_emit_file): Rewrite to handle new file data structures. 1892169689Skan (dwarf2out_source_line): Always call lookup_filename and 1893169689Skan maybe_emit_file. 1894169689Skan (dwarf2out_init): Create file_table here. 1895169689Skan (prune_unused_types_walk_attribs): Don't call maybe_emit_file here. 1896169689Skan (file_table_relative_p): New. 1897169689Skan (dwarf2out_finish): Change detection of relative filenames 1898169689Skan to work with new file data structures. Move output_line_info call 1899169689Skan after debug_info output. 1900169689Skan 1901169689Skan2006-09-11 H.J. Lu <hongjiu.lu@intel.com> 1902169689Skan 1903169689Skan PR target/13685 1904169689Skan PR target/27537 1905169689Skan PR target/28621 1906169689Skan * config/i386/i386.c (override_options): Always default to 16 1907169689Skan byte stack boundary. 1908169689Skan 1909169689Skan2006-09-11 Alexandre Oliva <aoliva@redhat.com> 1910169689Skan 1911169689Skan PR target/28672 1912169689Skan * var-tracking.c (dump_dataflow_set): Start dumping at 1913169689Skan register zero. 1914169689Skan (clobber_variable_part): Kill only the variable part in 1915169689Skan registers holding it, leaving other variables alone. 1916169689Skan 1917169689Skan2006-09-11 Josh Triplett <josh@freedesktop.org> 1918169689Skan 1919169689Skan * doc/extend.texi (Other Builtins): Actually use the macro 1920169689Skan argument in the documentation example for 1921169689Skan __builtin_types_compatible_p. 1922169689Skan 1923169689Skan2006-09-11 Eric Botcazou <ebotcazou@libertysurf.fr> 1924169689Skan 1925169689Skan PR rtl-optimization/28726 1926169689Skan * sched-deps.c (sched_analyze_reg): New function extracted from... 1927169689Skan (sched_analyze_1): ...here. Call it to analyze references to 1928169689Skan registers. Treat again writes to a stack register as writing to the 1929169689Skan register. 1930169689Skan (sched_analyze_2): ...and here. Call it to analyze references to 1931169689Skan registers. Treat again reads of a stack register as reading the 1932169689Skan register. 1933169689Skan 1934169689Skan2006-09-11 Guenter Roeck <guenter@roeck-us.net> 1935169689Skan David Edelsohn <edelsohn@gnu.org> 1936169689Skan 1937169689Skan PR target/27287 1938169689Skan * config/rs6000/spe.md (frob_df_di): Remove %H. 1939169689Skan (frob_di_df): Remove %H. Change evmergelo to mr. 1940169689Skan (frob_di_df_2): Remove %H. Change evldd to two loads. 1941169689Skan 1942169689Skan2006-09-11 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp> 1943169689Skan 1944169689Skan * doc/cpp.texi: Fix names of charset options. 1945169689Skan 1946169689Skan2006-09-10 Andrew Pinski <pinskia@physics.uc.edu> 1947169689Skan 1948169689Skan PR target/29009 1949169689Skan * config/i386/i386.c (override_options): Use 128-bit 1950169689Skan stack boundary always for 64bits. 1951169689Skan 1952169689Skan2006-09-10 Eric Botcazou <ebotcazou@libertysurf.fr> 1953169689Skan 1954169689Skan PR rtl-optimization/28636 1955169689Skan * combine.c (force_to_mode): Test for side-effects before 1956169689Skan substituting by zero. 1957169689Skan (simplify_shift_const): Likewise for zero or other constants. 1958169689Skan 1959169689Skan2006-09-10 Steven Bosscher <steven@gcc.gnu.org> 1960169689Skan 1961169689Skan PR middle-end/26983 1962169689Skan * builtins.c (expand_builtin_setjmp): Force next_lab to be 1963169689Skan preserved. 1964169689Skan 1965169689Skan2006-09-10 Richard Sandiford <richard@codesourcery.com> 1966169689Skan 1967169689Skan PR target/29006 1968169689Skan * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare. 1969169689Skan * config/mips/mips.c (mips_expand_unaligned_store): Use the mode 1970169689Skan returned by mode_for_size, rather than the mode of src itself, 1971169689Skan to choose between 32-bit and 64-bit patterns. 1972169689Skan (mips_mem_fits_mode_p): New function. 1973169689Skan * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check 1974169689Skan that the size of the source matches the size of the destination. 1975169689Skan (mov_<store>l, mov_<store>r): Likewise. 1976169689Skan 1977169689Skan2006-09-10 Eric Christopher <echristo@apple.com> 1978169689Skan 1979169689Skan * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR 1980169689Skan for literal16. 1981169689Skan 1982169689Skan2006-09-09 Eric Christopher <echristo@apple.com> 1983169689Skan 1984169689Skan PR target/28995 1985169689Skan * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT 1986169689Skan for literal16. 1987169689Skan 1988169689Skan2006-09-09 Roger Sayle <roger@eyesopen.com> 1989169689Skan Nicolas Setton <setton@adacore.com> 1990169689Skan 1991169689Skan * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc. 1992169689Skan 1993169689Skan2006-09-10 Andreas Schwab <schwab@suse.de> 1994169689Skan 1995169689Skan * config/m68k/m68k.md (bungt_rev): New pattern. 1996169689Skan 1997169689Skan2006-09-09 Paolo Bonzini <bonzini@gnu.org> 1998169689Skan Dale Johannesen <dalej@apple.com> 1999169689Skan 2000169689Skan PR target/26778 2001169689Skan * regclass.c (struct reg_pref): Update documentation. 2002169689Skan (regclass): Set prefclass to NO_REGS if memory is the best option. 2003169689Skan (record_reg_classes): Cope with a prefclass set to NO_REGS. 2004169689Skan 2005169689Skan2006-09-08 Eric Christopher <echristo@apple.com> 2006169689Skan 2007169689Skan * config.gcc (i?86-*-darwin): Add 64-bit HWI support. 2008169689Skan * config/t-slibgcc-darwin: Support x86_64 multilib. 2009169689Skan * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): 2010169689Skan Return 1 for x86_64-darwin. 2011169689Skan * config/i386/t-darwin: Add m64 multilib. 2012169689Skan (LIB2_SIDITI_CONV_FUNCS): Use. 2013169689Skan (LIB2FUNCS_EXTRA): Ditto. 2014169689Skan * config/i386/darwin.h: Support x86_64. 2015169689Skan * config/i386/i386.c (override_options): Turn on flag_pic 2016169689Skan for x86_64-darwin. Disable flag_omit_pointer. 2017169689Skan (get_pc_thunk_name): Assert !TARGET_64BIT. 2018169689Skan (legitimate_address_p): Disable machopic addressing for 2019169689Skan x86_64. 2020169689Skan (legitimize_pic_address): Ditto. 2021169689Skan (ix86_expand_move): Ditto. 2022169689Skan (ix86_expand_call): Ditto. 2023169689Skan (machopic_output_stub): Ditto. 2024169689Skan * config/darwin.c (machopic_select_section): Support literal16. 2025169689Skan (machopic_select_rtx_section): Ditto. 2026169689Skan * config/darwin-sections.def: Ditto. 2027169689Skan * config/darwin-64.c: New. 2028169689Skan 2029169689Skan2006-09-08 Joseph S. Myers <joseph@codesourcery.com> 2030169689Skan 2031169689Skan PR c/28504 2032169689Skan * c-tree.h (struct c_arg_info): Add pending_sizes. 2033169689Skan * c-parser.c (c_parser_parms_declarator, 2034169689Skan c_parser_parms_list_declarator): Initialize pending_sizes. 2035169689Skan * c-decl.c (get_parm_info): Initialize pending_sizes. 2036169689Skan (get_parm_info): Set pending_sizes. 2037169689Skan (grokdeclarator): Call put_pending_sizes for parameters for 2038169689Skan function definition only. 2039169689Skan 2040169689Skan2006-09-07 Jason Merrill <jason@redhat.com> 2041169689Skan 2042169689Skan PR middle-end/27724 2043169689Skan * varasm.c (output_constant): Only strip actual no-op conversions. 2044169689Skan 2045169689Skan PR target/13685 2046169689Skan * config/i386/i386.c (override_options): Use 128-bit 2047169689Skan stack boundary if -msse. 2048169689Skan 2049169689Skan2006-09-07 Eric Christopher <echristo@apple.com> 2050169689Skan 2051169689Skan * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update 2052169689Skan comment. 2053169689Skan * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): 2054169689Skan Redefine. 2055169689Skan 2056169689Skan2006-09-07 Geoffrey Keating <geoffk@apple.com> 2057169689Skan 2058169689Skan * dwarf2out.c: Remove strange characters from comment above 2059169689Skan dwarf2out_frame_debug_expr. 2060169689Skan 2061169689Skan2006-09-07 Eric Christopher <echristo@apple.com> 2062169689Skan 2063169689Skan * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here... 2064169689Skan * config/darwin.h: ... to here. 2065169689Skan 2066169689Skan2006-09-07 H.J. Lu <hongjiu.lu@intel.com> 2067169689Skan 2068169689Skan * config/i386/i386.c (x86_partial_flag_reg_stall): New. 2069169689Skan 2070169689Skan * config/i386/i386.h (x86_partial_flag_reg_stall): New. 2071169689Skan (TARGET_PARTIAL_FLAG_REG_STALL): New. 2072169689Skan 2073169689Skan * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for 2074169689Skan TARGET_PARTIAL_FLAG_REG_STALL. 2075169689Skan (*ashldi3_cconly_rex64): Likewise. 2076169689Skan (*ashlsi3_cmp): Likewise. 2077169689Skan (*ashlsi3_cconly): Likewise. 2078169689Skan (*ashlsi3_cmp_zext): Likewise. 2079169689Skan (*ashlhi3_cmp): Likewise. 2080169689Skan (*ashlhi3_cconly): Likewise. 2081169689Skan (*ashlqi3_cmp): Likewise. 2082169689Skan (*ashlqi3_cconly): Likewise. 2083169689Skan (*ashrdi3_cmp_rex64): Likewise. 2084169689Skan (*ashrdi3_cconly_rex64): Likewise. 2085169689Skan (*ashrsi3_cmp): Likewise. 2086169689Skan (*ashrsi3_cconly): Likewise. 2087169689Skan (*ashrsi3_cmp_zext): Likewise. 2088169689Skan (*ashrhi3_cmp): Likewise. 2089169689Skan (*ashrhi3_cconly): Likewise. 2090169689Skan (*ashrqi3_cmp): Likewise. 2091169689Skan (*ashrqi3_cconly): Likewise. 2092169689Skan (*lshrdi3_cmp_rex64): Likewise. 2093169689Skan (*lshrdi3_cconly_rex64): Likewise. 2094169689Skan (*lshrsi3_cmp): Likewise. 2095169689Skan (*lshrsi3_cconly): Likewise. 2096169689Skan (*lshrsi3_cmp_zext): Likewise. 2097169689Skan (*lshrhi3_cmp): Likewise. 2098169689Skan (*lshrhi3_cconly): Likewise. 2099169689Skan (*lshrqi2_cmp): Likewise. 2100169689Skan (*lshrqi2_cconly): Likewise. 2101169689Skan 2102169689Skan2006-09-07 Uros Bizjak <uros@kss-loka.si> 2103169689Skan 2104169689Skan PR target/28946 2105169689Skan * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly", 2106169689Skan "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64", 2107169689Skan "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly", 2108169689Skan "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly", 2109169689Skan "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly", 2110169689Skan "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64", 2111169689Skan "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly", 2112169689Skan "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly", 2113169689Skan "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to 2114169689Skan implement only CC setting effects of shift instructions. 2115169689Skan 2116169689Skan2006-09-07 Martin Michlmayr <tbm@cyrius.com> 2117169689Skan 2118169689Skan * doc/contrib.texi: Add myself. 2119169689Skan 2120169689Skan2006-09-07 Andrew Pinski <pinskia@physics.uc.edu> 2121169689Skan 2122169689Skan PR middle-end/28862 2123169689Skan * stor-layout.c (relayout_decl): Don't zero the alignment if it 2124169689Skan was set by the user. 2125169689Skan 2126169689Skan2006-09-07 Paolo Bonzini <bonzini@gnu.org> 2127169689Skan 2128169689Skan PR target/27117 2129169689Skan * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns. 2130169689Skan (divsi_inv_m1): Use them. 2131169689Skan (UNSPEC_DIV_INV_TABLE): New constant. 2132169689Skan 2133169689Skan2006-09-06 James E Wilson <wilson@specifix.com> 2134169689Skan 2135169689Skan PR rtl-opt/27883 2136169689Skan * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES 2137169689Skan then call count_or_remove_death_notes. 2138169689Skan 2139169689Skan2006-09-06 Jason Merrill <jason@redhat.com> 2140169689Skan 2141169689Skan PR c++/27371 2142169689Skan * tree-inline.c (copy_result_decl_to_var): New fn. 2143169689Skan (declare_return_variable): Use it. Call declare_inline_vars here. 2144169689Skan (expand_call_inline): Not here. 2145169689Skan 2146169689Skan2006-09-06 Diego Novillo <dnovillo@redhat.com> 2147169689Skan 2148169689Skan * doc/contrib.texi: Update my entry. 2149169689Skan 2150169689Skan2006-09-06 Nick Clifton <nickc@redhat.com> 2151169689Skan 2152169689Skan * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define. 2153169689Skan 2154169689Skan2006-09-05 Andrew Pinski <pinskia@physics.uc.edu> 2155169689Skan 2156169689Skan PR tree-opt/28937 2157169689Skan * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int. 2158169689Skan (canonicalize_induction_variables): Likewise. 2159169689Skan (tree_unroll_loops_completely): Likewise. 2160169689Skan (tree_ssa_prefetch_arrays): Likewise. 2161169689Skan (remove_empty_loops): Likewise. 2162169689Skan * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return 2163169689Skan TODO_cleanup_cfg instead of directly calling 2164169689Skan cleanup_tree_cfg_loop. 2165169689Skan * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): 2166169689Skan Likewise. 2167169689Skan (tree_unroll_loops_completely): Likewise. 2168169689Skan (remove_empty_loops): Likewise. 2169169689Skan * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. 2170169689Skan * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value 2171169689Skan of tree_ssa_unswitch_loops. 2172169689Skan (tree_ssa_loop_ivcanon): Use the return value of 2173169689Skan canonicalize_induction_variables. 2174169689Skan (tree_ssa_empty_loop): Use the return value of 2175169689Skan remove_empty_loops. 2176169689Skan (tree_complete_unroll): Use the return value of 2177169689Skan tree_unroll_loops_completely. 2178169689Skan (tree_ssa_loop_prefetch): Use the return value of 2179169689Skan tree_ssa_prefetch_arrays. 2180169689Skan * passes.c (execute_todo): Before Cleanup CFG, set 2181169689Skan updating_used_alone and after cleanup CFG, call 2182169689Skan recalculate_used_alone. 2183169689Skan 2184169689Skan2006-09-05 Andrew Pinski <pinskia@physics.uc.edu> 2185169689Skan 2186169689Skan PR tree-opt/28952 2187169689Skan * tree-vect-transform.c (vectorizable_condition): Move the check 2188169689Skan for the type after the check for simple condition. 2189169689Skan 2190169689Skan2006-09-05 J"orn Rennecke <joern.rennecke@st.com> 2191169689Skan Kaz Kojima <kkojima@gcc.gnu.org> 2192169689Skan 2193169689Skan PR target/28764 2194169689Skan * mode-switching.c (optimize_mode_switching): Make the destination 2195169689Skan block of an abnormal edge have no anticipatable mode. Don't 2196169689Skan insert mode switching code at the end of the source block of 2197169689Skan an abnormal edge. 2198169689Skan 2199169689Skan2006-09-05 Paolo Bonzini <bonzini@gnu.org> 2200169689Skan 2201169689Skan PR rtl-optimization/26847 2202169689Skan * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix. 2203169689Skan (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno. 2204169689Skan (simplify_plus_minus): Count n_constants while filling ops. Replace 2205169689Skan qsort with insertion sort. Before going through the array to simplify 2206169689Skan pairs, sort it. Delay early exit until after the first sort, exiting 2207169689Skan only if no swaps occurred. Simplify pairs in reversed order, without 2208169689Skan special-casing the first iteration. Pack ops after simplifying pairs. 2209169689Skan 2210169689Skan2006-09-05 Anatoly Sokolov <aesok@post.ru> 2211169689Skan 2212169689Skan * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device. 2213169689Skan * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). 2214169689Skan * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). 2215169689Skan (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED. 2216169689Skan 2217169689Skan2006-09-05 Richard Guenther <rguenther@suse.de> 2218169689Skan 2219169689Skan PR tree-optimization/28900 2220169689Skan * tree-if-conv.c (find_phi_replacement_condition): Gimplify 2221169689Skan compound conditional before creating COND_EXPR condition. 2222169689Skan 2223169689Skan2006-09-05 Richard Guenther <rguenther@suse.de> 2224169689Skan 2225169689Skan PR tree-optimization/28905 2226169689Skan * tree-vrp.c (fix_equivalence_set): Manually implement 2227169689Skan !value_ranges_intersect_p to also handle symbolic ranges. 2228169689Skan 2229169689Skan2006-09-05 Richard Guenther <rguenther@suse.de> 2230169689Skan 2231169689Skan PR middle-end/28935 2232169689Skan * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition 2233169689Skan of a COND_EXPR. 2234169689Skan 2235169689Skan2006-09-04 Eric Botcazou <ebotcazou@libertysurf.fr> 2236169689Skan 2237169689Skan PR rtl-optimization/27616 2238169689Skan * cse.c (table_size): New static variable. 2239169689Skan (new_basic_block): Initialize it to 0. 2240169689Skan (remove_from_table): Decrement it. 2241169689Skan (insert): Increment it. 2242169689Skan (fold_rtx_mem_1): New function, renamed from fold_rtx_mem. 2243169689Skan (fold_rtx_mem): Enforce a cap on the recursion depth. Call 2244169689Skan fold_rtx_mem_1 if under the cap. 2245169689Skan (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little 2246169689Skan the lookup of the equivalent expression and test for equality of the 2247169689Skan first operand of the equivalent expression before in turn looking up 2248169689Skan an equivalent constant for the second operand. 2249169689Skan 2250169689Skan2006-09-02 Geoffrey Keating <geoffk@apple.com> 2251169689Skan 2252169689Skan Revert this change: 2253169689Skan 2006-03-17 Alexandre Oliva <aoliva@redhat.com> 2254169689Skan * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack 2255169689Skan pointer, instead of assuming it is possible to derive the 2256169689Skan correct args size from a call insn. 2257169689Skan 2258169689Skan2006-09-02 Jakub Jelinek <jakub@redhat.com> 2259169689Skan 2260169689Skan PR middle-end/27567 2261169689Skan * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove. 2262169689Skan (fold_builtin_mempcpy): Rename to... 2263169689Skan (fold_builtin_memory_op): ... this. Optimize one element copy 2264169689Skan into an assignment. 2265169689Skan (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New 2266169689Skan functions. 2267169689Skan (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR. 2268169689Skan (expand_builtin_memcpy, expand_builtin_mempcpy, 2269169689Skan expand_builtin_memmove): Likewise. Use fold_builtin_memory_op. 2270169689Skan (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and 2271169689Skan BUILT_IN_BCOPY. Use fold_builtin_memory_op for 2272169689Skan BUILT_IN_MEM{CPY,PCPY,MOVE}. 2273169689Skan 2274169689Skan2006-09-01 DJ Delorie <dj@redhat.com> 2275169689Skan 2276169689Skan * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload. 2277169689Skan (stzx_16): Likewise. 2278169689Skan ("stzx_24_<mode>"): Likewise. 2279169689Skan ("stzx_reversed_<mode>"): Likewise, and make mode-specific. 2280169689Skan ("cmp<mode>_op"): New. 2281169689Skan (cmp<mode>): Change to expander; just save operands. 2282169689Skan (b<code>_op): New. 2283169689Skan (b<code>): Change to expander, emit compare here. 2284169689Skan (s<code>_op): Change to use split and expander. 2285169689Skan (s<code>_24_op): Likewise. 2286169689Skan (s<code>_<mode>): New. 2287169689Skan (s<code>_<mode>_24): New. 2288169689Skan (movqicc_<code>_<mode): New. 2289169689Skan (movhicc_<code>_<mode>): New. 2290169689Skan (s<code>): New. 2291169689Skan (s<code>_24): New. 2292169689Skan * config/m32c/m32c.c (compare_op0, compare_op1): New. 2293169689Skan (m32c_pend_compare): New. 2294169689Skan (m32c_unpend_compare): New. 2295169689Skan (m32c_expand_scc): New. 2296169689Skan (m32c_expand_movcc): Emit the compare also. 2297169689Skan * config/m32c/predicates.md (mra_nopp_operand): New. 2298169689Skan 2299169689Skan2006-09-01 J"orn Rennecke <joern.rennecke@st.com> 2300169689Skan Richard Guenther <rguenther@suse.de> 2301169689Skan Adam Nemet <anemet@caviumnetworks.com> 2302169689Skan 2303169689Skan PR middle-end/27226 2304169689Skan * builtins.c (get_pointer_alignment): Handle more forms 2305169689Skan of base addresses that can be used to derive more precise 2306169689Skan information about alignment. 2307169689Skan 2308169689Skan2006-09-01 Jason Merrill <jason@redhat.com> 2309169689Skan 2310169689Skan PR c++/28899 2311169689Skan * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle 2312169689Skan want_value. 2313169689Skan 2314169689Skan * gimplify.c (voidify_wrapper_expr): Handle null type. 2315169689Skan 2316169689Skan2006-09-01 Josh Conner <jconner@apple.com> 2317169689Skan 2318169689Skan PR c++/25505 2319169689Skan * tree-nrv.c (dest_safe_for_nrv_p): New function. 2320169689Skan (execute_return_slot_opt): Use it. 2321169689Skan 2322169689Skan2006-08-31 Josh Conner <jconner@apple.com> 2323169689Skan 2324169689Skan PR c++/25505 2325169689Skan * tree-gimple.c (is_gimple_mem_rhs): Recognize functions 2326169689Skan returning aggregates. 2327169689Skan 2328169689Skan2006-08-31 Zdenek Dvorak <dvorakz@suse.cz> 2329169689Skan 2330169689Skan PR tree-optimization/28839 2331169689Skan * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in 2332169689Skan blocks in that phi arguments appear. 2333169689Skan 2334169689Skan2006-08-31 Roger Sayle <roger@eyesopen.com> 2335169689Skan 2336169689Skan PR other/22313 2337169689Skan * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is 2338169689Skan NULL, otherwise use an advance_loc4 to adjust relative to the 2339169689Skan current label. 2340169689Skan (output_cfi) <DW_CFA_set_loc>: Update the current label. 2341169689Skan (dwarf2out_switch_text_section): Reset the current label to avoid 2342169689Skan using advance_loc4 over section boundaries. 2343169689Skan 2344169689Skan2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com> 2345169689Skan 2346169689Skan PR target/24367 2347169689Skan * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like 2348169689Skan r12 + SYMBOLIC_CONST. 2349169689Skan 2350169689Skan2006-08-30 Richard Guenther <rguenther@suse.de> 2351169689Skan 2352169689Skan * Makefile.in (see.o): Add $(EXPR_H) dependency. 2353169689Skan 2354169689Skan2006-08-30 Zdenek Dvorak <dvorakz@suse.cz> 2355169689Skan 2356169689Skan PR rtl-optimization/27735 2357169689Skan * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop): 2358169689Skan Add new argument to keep track of whether an irreducible region 2359169689Skan was affected. All callers changed. 2360169689Skan (fix_irreducible_loops): Removed. 2361169689Skan (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP 2362169689Skan flags were invalidated. 2363169689Skan 2364169689Skan2006-08-29 H.J. Lu <hongjiu.lu@intel.com> 2365169689Skan 2366169689Skan * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands 2367169689Skan instead of SF operands. 2368169689Skan (*fop_df_comm_sse): Likewise. 2369169689Skan (*fop_df_comm_i387): Likewise. 2370169689Skan (*fop_df_1_mixed): Likewise. 2371169689Skan (*fop_df_1_sse): Likewise. 2372169689Skan 2373169689Skan2006-08-29 Andrew Pinski <pinskia@physics.uc.edu> 2374169689Skan J"orn Rennecke <joern.rennecke@st.com> 2375169689Skan 2376169689Skan PR tree-optimization/17506 2377169689Skan * tree-ssa.c (warn_uninit): If warning about a location outside of 2378169689Skan the current function, note where the variable was declared. 2379169689Skan 2380169689Skan2006-08-28 Zdenek Dvorak <dvorakz@suse.cz> 2381169689Skan 2382169689Skan PR tree-optimization/28411 2383169689Skan * double-int.c (double_int_div): Use double_int_divmod. 2384169689Skan (double_int_divmod, double_int_sdivmod, double_int_udivmod, 2385169689Skan double_int_mod, double_int_smod, double_int_umod): New functions. 2386169689Skan * double-int.h (double_int_divmod, double_int_sdivmod, 2387169689Skan double_int_udivmod, double_int_mod, double_int_smod, double_int_umod): 2388169689Skan Declare. 2389169689Skan * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result 2390169689Skan in double_int. 2391169689Skan (get_computation_aff, get_computation_cost_at): Handle double_int 2392169689Skan return type of constant_multiple_of. 2393169689Skan 2394169689Skan2006-08-28 Kazu Hirata <kazu@codesourcery.com> 2395169689Skan 2396169689Skan PR middle-end/26632 2397169689Skan * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on 2398169689Skan an implicit conversion. 2399169689Skan 2400169689Skan2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com> 2401169689Skan 2402169689Skan * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New. 2403169689Skan 2404169689Skan2006-08-27 Roger Sayle <roger@eyesopen.com> 2405169689Skan 2406169689Skan * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute 2407169689Skan x87 instructions. 2408169689Skan 2409169689Skan2006-08-27 Kazu Hirata <kazu@codesourcery.com> 2410169689Skan 2411169689Skan * config/i386/crtfastmath.c: Fix a comment typo. 2412169689Skan 2413169689Skan2006-08-26 Roger Sayle <roger@eyesopen.com> 2414169689Skan 2415169689Skan * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating 2416169689Skan temporary visit flags on CASE_LABEL_EXPRs. 2417169689Skan * c-common.c (match_case_to_enum): Add function comment. Avoid 2418169689Skan O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN. 2419169689Skan (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and 2420169689Skan CASE_HIGH_SEEN for enumerated types. If the switch expression is 2421169689Skan a constant, only warn if that constant value isn't handled. 2422169689Skan 2423169689Skan2006-08-26 Joseph S. Myers <joseph@codesourcery.com> 2424169689Skan 2425169689Skan PR c++/24009 2426169689Skan * input.h (restore_input_file_stack): Declare. 2427169689Skan (INPUT_FILE_STACK_BITS): Define. 2428169689Skan * toplev.c (fs_p, input_file_stack_history, 2429169689Skan input_file_stack_restored, restore_input_file_stack): New. 2430169689Skan (push_srcloc, pop_srcloc): Check for input_file_stack_tick 2431169689Skan overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack. 2432169689Skan (pop_srcloc): Don't free old state of stack. 2433169689Skan 2434169689Skan2006-08-26 David Edelsohn <edelsohn@gnu.org> 2435169689Skan 2436169689Skan PR target/27544 2437169689Skan * doc/extend.texi (PowerPC Variable Attributes): Mention altivec. 2438169689Skan (PowerPC Type Attributes): New. 2439169689Skan 2440169689Skan2006-08-26 Bob Wilson <bob.wilson@acm.org> 2441169689Skan 2442169689Skan * config/xtensa/xtensa.c (function_arg_boundary): New. 2443169689Skan (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to 2444169689Skan STACK_BOUNDARY. 2445169689Skan * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new 2446169689Skan function_arg_boundary function that limits alignment to STACK_BOUNDARY. 2447169689Skan 2448169689Skan2006-08-26 Jakub Jelinek <jakub@redhat.com> 2449169689Skan 2450169689Skan PR middle-end/28683 2451169689Skan * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly 2452169689Skan 3 following insns. 2453169689Skan 2454169689Skan2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2455169689Skan 2456169689Skan * flow.c (verify_wide_reg): Use internal_error for consistency failure. 2457169689Skan (verify_local_live_at_start): Likewise. 2458169689Skan 2459169689Skan2006-08-25 Joseph S. Myers <joseph@codesourcery.com> 2460169689Skan 2461169689Skan PR c/27893 2462169689Skan * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval, 2463169689Skan omp_add_variable): Treat sizes as variable whenever not 2464169689Skan INTEGER_CST. 2465169689Skan 2466169689Skan2006-08-26 Richard Guenther <rguenther@suse.de> 2467169689Skan 2468169689Skan PR middle-end/28814 2469169689Skan * fold-const.c (fold_binary): Fold temporary to correct 2470169689Skan type before constructing new comparison. 2471169689Skan 2472169689Skan2006-08-25 Fariborz Jahanian <fjahanian@apple.com> 2473169689Skan 2474169689Skan PR c/28418 2475169689Skan * c-gimplify.c (gimplify_compound_literal_expr): Don't add 2476169689Skan variable again if DECL_SEEN_IN_BIND_EXPR_P. 2477169689Skan 2478169689Skan2006-08-25 Joseph S. Myers <joseph@codesourcery.com> 2479169689Skan 2480169689Skan PR c/28299 2481169689Skan * c-decl.c (start_function): Don't try to process prototype 2482169689Skan information from old declaration that isn't a function. 2483169689Skan 2484169689Skan2006-08-25 Jan Hubicka <jh@suse.cz> 2485169689Skan 2486169689Skan PR target/28621 2487169689Skan * config/i386/crtfastmath.c (set_fast_math): Force stack alignment. 2488169689Skan 2489169689Skan2006-08-25 Alan Modra <amodra@bigpond.net.au> 2490169689Skan 2491169689Skan PR target/27075 2492169689Skan * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax 2493169689Skan for 8 byte objects. 2494169689Skan 2495169689Skan2006-08-25 J"orn Rennecke <joern.rennecke@st.com> 2496169689Skan 2497169689Skan PR tree-optimization/16876 2498169689Skan * c-typeck.c (c_convert_parm_for_inlining): Don't take early 2499169689Skan exit if PARM doesn't match VALUE. 2500169689Skan 2501169689Skan2006-08-25 Bob Wilson <bob.wilson@acm.org> 2502169689Skan 2503169689Skan * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a 2504169689Skan literal_prefix directive. 2505169689Skan (XTENSA_DECLARE_FUNCTION_SIZE): Delete. 2506169689Skan * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete. 2507169689Skan * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete. 2508169689Skan 2509169689Skan2006-08-25 David Edelsohn <edelsohn@gnu.org> 2510169689Skan 2511169689Skan PR target/28753 2512169689Skan * config/rs6000/rs6000.md (movcc_internal1): Change operand 1 2513169689Skan predicate to general_operand. Add 0->y and I->r alternatives. 2514169689Skan 2515169689Skan2006-08-25 Kazu Hirata <kazu@codesourcery.com> 2516169689Skan 2517169689Skan * doc/tm.texi: Fix a typo. 2518169689Skan * predict.c: Fix comment typos. 2519169689Skan 2520169689Skan2006-08-25 Nick Clifton <nickc@redhat.com> 2521169689Skan 2522169689Skan * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add 2523169689Skan assertions of "cpu" and "machine". 2524169689Skan 2525169689Skan2006-08-24 Andrew Pinski <pinskia@physics.uc.edu> 2526169689Skan 2527169689Skan PR tree-opt/28807 2528169689Skan * tree-ssa-operands.c (access_can_touch_variable): Don't say 2529169689Skan the access through a base which has an alias set of 0 cannot 2530169689Skan touch the variable. 2531169689Skan 2532169689Skan2006-08-24 Bill Wendling <wendling@apple.com> 2533169689Skan 2534169689Skan * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English. 2535169689Skan 2536169689Skan2006-08-24 Jan Hubicka <jh@suse.cz> 2537169689Skan 2538169689Skan * reload1.c (emit_reload_insns): Fix yet another typo in my patch. 2539169689Skan 2540169689Skan2006-08-24 Jan Hubicka <jh@suse.cz> 2541169689Skan 2542169689Skan PR debug/26881 2543169689Skan * cgraph.c: Fix comments. 2544169689Skan (cgraph_varpool_mark_needed_node): Mark only variables not already 2545169689Skan output to file. 2546169689Skan * cgraphunit.c: Update comments; include gt-cgraphunit.h 2547169689Skan (cgraph_varpool_assembled_nodes_queue): New static variable. 2548169689Skan (cgraph_varpool_assemble_decl): Record output decls for debug out code. 2549169689Skan (cgraph_varpool_output_debug_info): New function. 2550169689Skan (cgraph_finalize_compilation_unit, cgraph_optimize): Call it. 2551169689Skan * Makefile.in: Add gt-cgraphunit.h 2552169689Skan 2553169689Skan2006-08-24 Jan Hubicka <jh@suse.cz> 2554169689Skan 2555169689Skan * predict.c (probability_reliable_p): New predicate. 2556169689Skan (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise. 2557169689Skan (predict_loops): Do not predict loop exit with less than 2% 2558169689Skan probability. 2559169689Skan * basic-block.h (edge_probability_reliable_p, 2560169689Skan br_prob_note_reliable_p): Declare. 2561169689Skan * ia64.h (ia64_print_operand): Do not disable on-chip branch 2562169689Skan prediction when static predictor is not reliable. 2563169689Skan * rs6000.c (output_cbranch): Likewise. 2564169689Skan 2565169689Skan2006-08-23 Stuart Hastings <stuart@apple.com> 2566169689Skan 2567169689Skan PR 28825 2568169689Skan * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate, 2569169689Skan ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test. 2570169689Skan 2571169689Skan2006-08-21 Geoffrey Keating <geoffk@apple.com> 2572169689Skan 2573169689Skan PR debug/28692 2574169689Skan * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for 2575169689Skan complex values, nor for generic vector values. 2576169689Skan 2577169689Skan2006-08-22 Richard Guenther <rguenther@suse.de> 2578169689Skan 2579169689Skan PR middle-end/28776 2580169689Skan * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt 2581169689Skan parameter. Convert arguments to arithmetic expression to the 2582169689Skan chrecs type. 2583169689Skan (analyze_scalar_evolution_1): Adjust caller. 2584169689Skan 2585169689Skan2006-08-22 Jan Hubicka <jh@suse.cz> 2586169689Skan 2587169689Skan Patch by Paolo Bonzini 2588169689Skan * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by 2589169689Skan my previous patch. 2590169689Skan 2591169689Skan2006-08-22 Daniel Berlin <dberlin@dberlin.org> 2592169689Skan 2593169689Skan PR tree-optimization/28003 2594169689Skan * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered 2595169689Skan before grouping aliases. 2596169689Skan 2597169689Skan2006-08-22 Roger Sayle <roger@eyesopen.com> 2598169689Skan 2599169689Skan * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG 2600169689Skan if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE. 2601169689Skan 2602169689Skan2006-08-21 Jason Merrill <jason@redhat.com> 2603169689Skan 2604169689Skan PR c++/27115 2605169689Skan * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a 2606169689Skan wrapper. Loop to handle nested wrappers. 2607169689Skan (gimplify_bind_expr): Remove temp parameter. 2608169689Skan (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR 2609169689Skan and STATEMENT_LIST on the rhs. 2610169689Skan (gimplify_statement_list): Voidify the STATEMENT_LIST. 2611169689Skan (gimplify_expr): Pass pre_p to gimplify_statement_list. 2612169689Skan (gimplify_target_expr): Remove special BIND_EXPR handling. 2613169689Skan 2614169689Skan2006-08-21 J"orn Rennecke <joern.rennecke@st.com> 2615169689Skan 2616169689Skan * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with 2617169689Skan #if !__SHMEDIA__ . 2618169689Skan 2619169689Skan2006-08-21 Olivier Hainque <hainque@adacore.com> 2620169689Skan 2621169689Skan * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>: 2622169689Skan Arrange for the temporary captures of components overlapping the lhs 2623169689Skan to happen before the lhs is possibly cleared. 2624169689Skan 2625169689Skan2006-08-21 Mark Shinwell <shinwell@codesourcery.com> 2626169689Skan 2627169689Skan * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in 2628169689Skan necessary places to pass the correct "number of registers" values 2629169689Skan to _Unwind_VRS_Pop. 2630169689Skan 2631169689Skan2006-08-20 Jan Hubicka <jh@suse.cz> 2632169689Skan 2633169689Skan * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function. 2634169689Skan (create_name_tags): Instead of quadratic checking use hashtable. 2635169689Skan * bitmap.h: Include hashtab.h. 2636169689Skan (bitmap_hash): Declare. 2637169689Skan * bitmap.c (bitmap_hash): New function. 2638169689Skan 2639169689Skan2006-08-20 Jan Hubicka <jh@suse.cz> 2640169689Skan 2641169689Skan PR rtl-optimization/28071 2642169689Skan * tree-optimize.c (tree_rest_of_compilation): Do not remove edges 2643169689Skan twice. 2644169689Skan * tree-inline.c (copy_bb): Use cgraph_set_call_stmt. 2645169689Skan * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument. 2646169689Skan (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function, 2647169689Skan cgraph_decide_inlining_incrementally): Update use of 2648169689Skan cgraph_check_inline_limits. 2649169689Skan * cgraph.c (edge_hash, edge_eq): New function. 2650169689Skan (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge, 2651169689Skan cgraph_edge_remove_caller, cgraph_node_remove_callees, 2652169689Skan cgraph_remove_node): Maintain call site hash. 2653169689Skan * cgraph.h (struct cgraph_node): Add call_site_hash. 2654169689Skan (cgraph_set_call_stmt): New function. 2655169689Skan 2656169689Skan2006-08-20 Jan Hubicka <jh@suse.cz> 2657169689Skan 2658169689Skan PR rtl-optimization/28071 2659169689Skan * reload1.c (reg_has_output_reload): Turn into regset. 2660169689Skan (reload_as_needed, forget_old_reloads_1, forget_marked_reloads, 2661169689Skan choose_reload_regs, emit_reload_insns): Update to new 2662169689Skan reg_has_output_reload. 2663169689Skan 2664169689Skan2006-08-20 Jan Hubicka <jh@suse.cz> 2665169689Skan 2666169689Skan PR middle-end/28779 2667169689Skan * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute 2668169689Skan function body sizes. 2669169689Skan * cgraphunit.c (cgraph_analyze_function): Don't do so. 2670169689Skan 2671169689Skan2006-08-20 Danny Smith <dannysmith@users.sourceforge.net> 2672169689Skan 2673169689Skan PR target/28648 c: 2674169689Skan * tree.c (handle_dll_attribute): Return early if not a 2675169689Skan var or function decl. 2676169689Skan 2677169689Skan2006-08-18 Joseph Myers <joseph@codesourcery.com> 2678169689Skan 2679169689Skan PR target/27565 2680169689Skan * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust 2681169689Skan alignment of SPE vector types. 2682169689Skan 2683169689Skan2006-08-18 Christophe Jaillet <christophe.jaillet@wanadoo.fr> 2684169689Skan 2685169689Skan * tree.c (is_attribute_with_length_p): Remove a duplicated assert. 2686169689Skan 2687169689Skan2006-08-17 Jakub Jelinek <jakub@redhat.com> 2688169689Skan 2689169689Skan PR c/28744 2690169689Skan * cgraph.h (struct cgraph_node): Remove externally_visible 2691169689Skan bitfield. 2692169689Skan * cgraphunit.c (process_function_and_variable_attributes): Set 2693169689Skan local.externally_visible rather than externally_visible. 2694169689Skan 2695169689Skan PR c/28744 2696169689Skan * c-common.c (handle_externally_visible_attribute): First look 2697169689Skan at TREE_CODE and only if it is function or var decl, check for 2698169689Skan non-public objects. Don't warn for DECL_EXTERNAL. 2699169689Skan * cgraphunit.c (process_function_and_variable_attributes): Warn 2700169689Skan if externally_visible attribute is used on non-public object. 2701169689Skan 2702169689Skan2006-08-17 Jan Hubicka <jh@suse.cz> 2703169689Skan 2704169689Skan PR tree-optimization/27865 2705169689Skan * reload1.c (forget_marked_reloads): New function. 2706169689Skan (forget_old_reloads_1): When data are passed, just mark the registers 2707169689Skan for later removal. 2708169689Skan (reload_as_needed): Use the new mechanizm. 2709169689Skan 2710169689Skan2006-08-17 Alexandre Oliva <aoliva@redhat.com> 2711169689Skan 2712169689Skan PR target/28146 2713169689Skan * reload.h (reg_equiv_alt_mem_list): New declaration. 2714169689Skan * reload1.c (reg_equiv_alt_mem_list): New definition. 2715169689Skan (reload): Initialize it and release it. 2716169689Skan (delete_output_reload): Use it. 2717169689Skan * reload.c (push_reg_equiv_alt_mem): New function. 2718169689Skan (find_reloads_toplev): Call it. 2719169689Skan (find_reloads_address, find_reloads_address_1): Likewise. 2720169689Skan (find_reloads_subreg_address): Likewise. 2721169689Skan 2722169689Skan2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 2723169689Skan 2724169689Skan PR rtl-optimization/28489 2725169689Skan * sched-ebb.c (begin_schedule_ready): Create basic block 2726169689Skan at the right place. 2727169689Skan (advance_target_bb): Skip empty blocks. 2728169689Skan * haifa-sched.c (bb_note): Make global. 2729169689Skan * sched-int.h (bb_note): Add prototype. 2730169689Skan 2731169689Skan2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> 2732169689Skan 2733169689Skan PR tree-optimization/27865 2734169689Skan * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE 2735169689Skan for pointer types. 2736169689Skan * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p, 2737169689Skan fold_used_pointer, pointer_used_p): New functions. 2738169689Skan (analyze_scalar_evolution_1): Use fold_used_pointer. 2739169689Skan * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly. 2740169689Skan * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type 2741169689Skan for pointers. 2742169689Skan 2743169689Skan2006-08-17 Paolo Bonzini <bonzini@gnu.org> 2744169689Skan 2745169689Skan PR c++/28573 2746169689Skan * c-common.c (fold_offsetof_1): Add an argument and recurse down to it 2747169689Skan or the INTEGER_CST. Fail on a CALL_EXPR. 2748169689Skan (fold_offsetof): Pass new argument to fold_offsetof_1. 2749169689Skan * c-parser.c (c_parser_postfix_expression): Don't include a NULL 2750169689Skan operand into an INDIRECT_REF. 2751169689Skan * c-typeck.c (build_unary_op): Adjust call to fold_offsetof. 2752169689Skan 2753169689Skan2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> 2754169689Skan 2755169689Skan PR gcov/profile/26570 2756169689Skan * value-prof.c (static_values): Removed. 2757169689Skan (tree_find_values_to_profile): Do not set static_values. 2758169689Skan (find_values_to_profile): Do not free static_values. 2759169689Skan * profile.c (instrument_values): Do not free the values. 2760169689Skan (branch_prob): Free the values. 2761169689Skan 2762169689Skan2006-08-16 Naveen.H.S <naveenh@kpitcummins.com> 2763169689Skan 2764169689Skan * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest. 2765169689Skan 2766169689Skan2006-08-16 Joseph S. Myers <joseph@codesourcery.com> 2767169689Skan 2768169689Skan PR c/27697 2769169689Skan * c-typeck.c (build_component_ref): Combine qualifiers of 2770169689Skan structure or union and field. 2771169689Skan 2772169689Skan2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> 2773169689Skan 2774169689Skan PR rtl-optimization/28071 2775169689Skan * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare. 2776169689Skan * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions. 2777169689Skan * tree-into-ssa.c (struct dom_dfsnum): New. 2778169689Skan (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New 2779169689Skan functions. 2780169689Skan (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of 2781169689Skan compute_global_livein. 2782169689Skan (prepare_block_for_update, prepare_use_sites_for): Mark the uses 2783169689Skan in phi nodes in the correct blocks. 2784169689Skan 2785169689Skan2006-08-16 Zdenek Dvorak <dvorakz@suse.cz> 2786169689Skan 2787169689Skan PR tree-optimization/28364 2788169689Skan * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero 2789169689Skan correctly. 2790169689Skan (fold_affine_expr): New function. 2791169689Skan (may_eliminate_iv): Use fold_affine_expr. 2792169689Skan 2793169689Skan2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2794169689Skan 2795169689Skan PR c/27489 2796169689Skan * c-typeck.c (c_start_case): Handle invalid orig_type correctly. 2797169689Skan Clean up. 2798169689Skan 2799169689Skan2006-08-16 Mike Stump <mrs@apple.com> 2800169689Skan 2801169689Skan * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref. 2802169689Skan * doc/cppopts.texi (-MD): Likewise. 2803169689Skan 2804169689Skan2006-08-15 Danny Smith <dannysmith@users.sourceforge.net> 2805169689Skan 2806169689Skan PR c/28287 2807169689Skan * c-common.c (handle_weak_attribute): Ignore and warn if 2808169689Skan not a FUNCTION_ or VAR_DECL. 2809169689Skan 2810169689Skan2006-07-15 Mike Stump <mrs@apple.com> 2811169689Skan 2812169689Skan PR c/28280 2813169689Skan * c-parser.c (c_parser_typeof_specifier): Don't use 2814169689Skan c_finish_expr_stmt, open code desired semantics instead. 2815169689Skan 2816169689Skan2006-08-15 Nick Clifton <nickc@redhat.com> 2817169689Skan 2818169689Skan * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile 2819169689Skan fragment to tmake_file only if threads are enabled. 2820169689Skan * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to... 2821169689Skan * config/i386/t-gthr-win32: New file. ... here. 2822169689Skan 2823169689Skan2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2824169689Skan 2825169689Skan PR c/28649 2826169689Skan * c-parser.c (c_parser_compound_statement_nostart): Reset 2827169689Skan parser->error after each statement. 2828169689Skan 2829169689Skan2006-08-15 Jakub Jelinek <jakub@redhat.com> 2830169689Skan 2831169689Skan PR middle-end/28713 2832169689Skan * omp-low.c (lower_omp_parallel): Convert t to 2833169689Skan receiver_decl's type. 2834169689Skan (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR 2835169689Skan source before comparison. 2836169689Skan 2837169689Skan PR middle-end/28724 2838169689Skan * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival 2839169689Skan to itype in assignment to oldival2. 2840169689Skan 2841169689Skan2006-07-14 Andrew Pinski <pinksia@physics.uc.edu> 2842169689Skan 2843169689Skan PR c/27490 2844169689Skan PR c/27489 2845169689Skan * c-typeck.c (build_compound_expr): If the second expression 2846169689Skan is an error mark, then just return an error mark instead of 2847169689Skan creating a COMPOUND_EXPR. 2848169689Skan 2849169689Skan2006-07-14 Mike Stump <mrs@apple.com> 2850169689Skan 2851169689Skan * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES. 2852169689Skan 2853169689Skan2006-08-14 Kazu Hirata <kazu@codesourcery.com> 2854169689Skan 2855169689Skan * c-decl.c, var-tracking.c: Fix comment typos. 2856169689Skan 2857169689Skan2006-08-14 Richard Sandiford <richard@codesourcery.com> 2858169689Skan 2859169689Skan PR rtl-optimization/28634 2860169689Skan * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A 2861169689Skan for floating-point modes unless flag_unsafe_math_optimizations. 2862169689Skan 2863169689Skan2006-08-13 Alexandre Oliva <aoliva@redhat.com> 2864169689Skan Andrew Pinski <pinskia@physics.uc.edu> 2865169689Skan 2866169689Skan PR c/27184 2867169689Skan * tree.c (build_array_type): Unify array types with 2868169689Skan unspecified index_type. 2869169689Skan * c-decl.c (grokdeclarator): Make sure we do not modify a 2870169689Skan unified incomplete array type. 2871169689Skan * c-typeck.c (store_init_value): Create distinct type before 2872169689Skan filling in the index type in an initializer from a compound 2873169689Skan literal. 2874169689Skan 2875169689Skan * c-decl.c (grokdeclarator): Remove code where we copy the 2876169689Skan array type over. 2877169689Skan 2878169689Skan2006-08-13 Andrew Pinski <pinskia@physics.uc.edu> 2879169689Skan 2880169689Skan * tree-pass.h (TODO_update_ssa): Fix which bit is used to take 2881169689Skan into account for TODO_dump_cgraph. 2882169689Skan (TODO_update_ssa_no_phi): Likewise. 2883169689Skan (TODO_update_ssa_full_phi): Likewise. 2884169689Skan (TODO_update_ssa_only_virtuals): Likewise. 2885169689Skan (TODO_remove_unused_locals): Likewise. 2886169689Skan (TODO_set_props): Likewise. 2887169689Skan (TODO_update_stmt_usage): Likewise. 2888169689Skan 2889169689Skan2006-08-13 Dirk Mueller <dmueller@suse.de> 2890169689Skan 2891169689Skan * c-common.c (strict_aliasing_warning): Fix formatting. 2892169689Skan 2893169689Skan2006-08-13 Matthias Klose <doko@debian.org> 2894169689Skan 2895169689Skan * doc/invoke.texi: Fix spelling errors. 2896169689Skan 2897169689Skan2006-08-11 Eric Botcazou <ebotcazou@libertysurf.fr> 2898169689Skan 2899169689Skan PR rtl-optimization/23454 2900169689Skan * reorg.c (relax_delay_slots): Update comment. 2901169689Skan 2902169689Skan2006-08-11 Richard Guenther <rguenther@suse.de> 2903169689Skan 2904169689Skan PR middle-end/28651 2905169689Skan * simplify-rtx.c (simplify_const_relational_operation): 2906169689Skan Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison 2907169689Skan codes. 2908169689Skan 2909169689Skan2006-08-10 Eric Botcazou <ebotcazou@adacore.com> 2910169689Skan 2911169689Skan * tree.c (build1_stat): Also propagate the TREE_CONSTANT and 2912169689Skan TREE_INVARIANT flags for a VIEW_CONVERT_EXPR. 2913169689Skan 2914169689Skan2006-08-10 Paul Brook <paul@codesourcery.com> 2915169689Skan 2916169689Skan * final.c (final_scan_insn): Clear current_insn_predicate before 2917169689Skan outputting inline asm. 2918169689Skan 2919169689Skan2006-08-10 Dorit Nuzman <dorit@il.ibm.com> 2920169689Skan 2921169689Skan PR tree-optimization/26197 2922169689Skan * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls 2923169689Skan get_ref_base_and_extent and overlap_subvar to add only relevant 2924169689Skan subvars as may-aliases. 2925169689Skan (add_may_alias_for_new_tag): New function, factored out of 2926169689Skan new_type_alias. 2927169689Skan * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias 2928169689Skan with additional argument. 2929169689Skan * tree-flow.h (new_type_alias): Takes additional argument. 2930169689Skan 2931169689Skan2006-08-09 Nathan Sidwell <nathan@codesourcery.com> 2932169689Skan 2933169689Skan * gcov.c (no_data_file): New flag. 2934169689Skan (read_count_file): Set it if data file not present. Assume counts 2935169689Skan zero if not found. 2936169689Skan (output_lines): Don't name the data file, if there wasn't one. 2937169689Skan 2938169689Skan2006-08-09 Eric Botcazou <ebotcazou@adacore.com> 2939169689Skan 2940169689Skan * config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust. 2941169689Skan (rs6000_generate_compare): Tweak comments. 2942169689Skan * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment. 2943169689Skan 2944169689Skan2006-08-09 Alexandre Oliva <aoliva@redhat.com> 2945169689Skan 2946169689Skan * var-tracking.c (enum micro_operation_type): Add MO_COPY. 2947169689Skan (var_debug_decl): New function. 2948169689Skan (var_reg_set): Follow debug decl link. Add location even if 2949169689Skan reg is already known to hold some other variable. 2950169689Skan (var_mem_set): Follow debug decl link. 2951169689Skan (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug 2952169689Skan decl link. Delete other known locations of the variable part 2953169689Skan if requested. 2954169689Skan (var_reg_delete, var_mem_delete): Delete other known locations 2955169689Skan of the variable part if requested. 2956169689Skan (same_variable_part_p): New function. 2957169689Skan (add_stores): Select MO_COPY when appropriate. 2958169689Skan (vt_initialize): Handle it. 2959169689Skan (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete 2960169689Skan known locations for MO_SET and MO_CLOBBER. 2961169689Skan (find_variable_location_part): New function. 2962169689Skan (set_variable_part, delete_variable_part): Use it. 2963169689Skan (clobber_variable_part): New function. 2964169689Skan * dwarf2out.c (dwarf2out_var_location): Do not follow debug 2965169689Skan decl link. 2966169689Skan 2967169689Skan2006-08-07 Victor Kaplansky <victork@il.ibm.com> 2968169689Skan 2969169689Skan PR tree-optimization/26969 2970169689Skan * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch 2971169689Skan with an empty list of PHIs. 2972169689Skan 2973169689Skan2006-08-06 Paolo Bonzini <bonzini@gnu.org> 2974169689Skan 2975169689Skan PR target/27827 2976169689Skan 2977169689Skan * conffig/i386/i386.md: Add peephole2 to avoid "fld %st" 2978169689Skan instructions. 2979169689Skan 2980169689Skan2006-08-06 Andreas Schwab <schwab@suse.de> 2981169689Skan 2982169689Skan * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format 2983169689Skan string. Whitespace and comment fixup. 2984169689Skan 2985169689Skan2006-08-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2986169689Skan 2987169689Skan PR c/28502 2988169689Skan * c-decl.c (validate_proto_after_old_defn): Return false on invalid 2989169689Skan argument. 2990169689Skan 2991169689Skan PR c/27721 2992169689Skan * c-typeck.c (build_modify_expr): Test earlier for non-lvalues. 2993169689Skan 2994169689Skan PR c/28136 2995169689Skan * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify. 2996169689Skan 2997169689Skan2006-08-04 Jan Hubicka <jh@suse.cz> 2998169689Skan 2999169689Skan PR target/26655 3000169689Skan PR target/28270 3001169689Skan * reload.c (push_reload): Patch out the mismatching instruction; 3002169689Skan return early. 3003169689Skan (find_reload): Bail out if the instruction was patched out. 3004169689Skan 3005169689Skan2006-08-04 Jan Hubicka <jh@suse.cz> 3006169689Skan 3007169689Skan PR tree-optimization/24888 3008169689Skan * tree-inline.c (expand_call_inline): Do not re-record variables. 3009169689Skan (declare_inline_vars): Add variable to unexpanded_var_list. 3010169689Skan 3011169689Skan2006-08-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3012169689Skan Roger Sayle <roger@eyesopen.com> 3013169689Skan 3014169689Skan PR rtl-optimization/26244 3015169689Skan * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or 3016169689Skan inner_const are negative or greater than or equal to the bitsize of 3017169689Skan MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated. 3018169689Skan Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1. 3019169689Skan Simplify complicated if statement. For ASHIFT and LSHIFTRT, return 3020169689Skan CONST0_RTX (mode) when the new shift count is greater than or equal to 3021169689Skan to the bitsize of the object being shifted and XEXP (y, 0) has no side 3022169689Skan effects. 3023169689Skan 3024169689Skan2006-08-04 Kazu Hirata <kazu@codesourcery.com> 3025169689Skan 3026169689Skan * tree-cfg.c: Fix a comment typo. 3027169689Skan 3028169689Skan2006-08-03 Mark Mitchell <mark@codesourcery.com> 3029169689Skan 3030169689Skan PR c++/28148 3031169689Skan * varasm.c (output_constant): Give the front end another chance to 3032169689Skan expand constants, after stripping NOPs. 3033169689Skan 3034169689Skan2006-08-03 Jan Hubicka <jh@suse.cz> 3035169689Skan 3036169689Skan * domwalk.c (walk_dominator_tree): Reorganize to non-recursive 3037169689Skan implementation. 3038169689Skan 3039169689Skan2006-08-03 Dorit Nuzman <dorit@il.ibm.com> 3040169689Skan 3041169689Skan PR tree-optimization/27770 3042169689Skan * tree-vectorizer.h (get_vectype_for_scalar_type): Function 3043169689Skan declaration removed (moved to tree-flow.h). 3044169689Skan (vect_can_force_dr_alignment_p): Likewise. 3045169689Skan * tree-flow.h (get_vectype_for_scalar_type): New function declaration 3046169689Skan (moved from tree-vectorizer.h). 3047169689Skan (vect_can_force_dr_alignment_p): Likewise. 3048169689Skan * tree-vectorizer.c (vect_print_dump_info): Allow calling this function 3049169689Skan from outside the vectorizer - in particular from cgraph stage. 3050169689Skan * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase 3051169689Skan the alignment of global arrays when -fsection-anchors is enabled. 3052169689Skan * cgraphunit.c (cgraph_increase_alignment): New function. 3053169689Skan (cgraph_optimize): Call cgraph_increase_alignment. 3054169689Skan 3055169689Skan2006-08-03 David Edelsohn <edelsohn@gnu.org> 3056169689Skan 3057169689Skan PR target/27566 3058169689Skan * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do 3059169689Skan not reload a SPE symbol_ref into a lo_sum address. 3060169689Skan 3061169689Skan2006-08-02 Daniel Jacobowitz <dan@codesourcery.com> 3062169689Skan 3063169689Skan PR debug/28063 3064169689Skan * dwarf2out.c (prune_unused_types_prune): Move call to 3065169689Skan prune_unused_types_update_strings to cover the parent DIE also. 3066169689Skan 3067169689Skan2006-08-02 Jan Hubicka <jh@suse.cz> 3068169689Skan 3069169689Skan PR gcov/profile/28480 3070169689Skan * tree-cfg.c (change_bb_for_stmt): New function. 3071169689Skan (tree_merge_blocks, tree_split_blocks): Use it. 3072169689Skan 3073169689Skan2006-08-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 3074169689Skan 3075169689Skan PR c++/28250 3076169689Skan PR c++/28257 3077169689Skan PR c++/28259 3078169689Skan PR c++/28267 3079169689Skan * toplev.c (compile_file): Return early on errorcount or sorrycount. 3080169689Skan * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise. 3081169689Skan (cgraph_optimize): Likewise. 3082169689Skan 3083169689Skan2006-08-01 Stuart Hastings <stuart@apple.com> 3084169689Skan 3085169689Skan * rtl.h (UINTVAL) New. 3086169689Skan * config/rs6000/rs6000.c (SMALL_INT) Use it. 3087169689Skan * testsuite/gcc.dg/20060801-1.c: New. 3088169689Skan 3089169689Skan2006-08-01 Daniel Jacobowitz <dan@codesourcery.com> 3090169689Skan 3091169689Skan PR debug/23336 3092169689Skan * c-typeck.c (build_external_type): Mark used enum types. 3093169689Skan * dwarf2out.c (dwarf2out_abstract_function): Save and restore 3094169689Skan cfun also. 3095169689Skan (gen_subprogram_die): Whitespace fix. 3096169689Skan 3097169689Skan2006-08-01 Jan Hubicka <jh@suse.cz> 3098169689Skan 3099169689Skan * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars 3100169689Skan bitmap when not needed. 3101169689Skan * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary 3102169689Skan bitmaps. 3103169689Skan 3104169689Skan2006-08-01 Dirk Mueller <dmueller@suse.de> 3105169689Skan 3106169689Skan * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak. 3107169689Skan 3108169689Skan2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 3109169689Skan 3110169689Skan * Makefile.in: Revert part of previous patch: 3111169689Skan Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H 3112169689Skan and REGS_H. 3113169689Skan 3114169689Skan2006-07-30 Eric Christopher <echristo@apple.com> 3115169689Skan 3116169689Skan PR target/27543 3117169689Skan * doc/extend.texi (i386 Variable Attributes): Add anchor. 3118169689Skan (PowerPC Variable Attributes): New section. 3119169689Skan 3120169689Skan2006-07-30 Atsushi Nemoto <anemo@mba.ocn.ne.jp> 3121169689Skan 3122169689Skan PR target/28126 (partial fix) 3123169689Skan * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no. 3124169689Skan 3125169689Skan2006-07-28 Jan Hubicka <jh@suse.cz> 3126169689Skan 3127169689Skan PR rtl-optimization/28071 3128169689Skan * cfgrtl.c (rtl_delete_block): Free regsets. 3129169689Skan * flow.c (allocate_bb_life_data): Re-use regsets if available. 3130169689Skan 3131169689Skan2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 3132169689Skan 3133169689Skan * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies 3134169689Skan and variables used in dependencies. 3135169689Skan 3136169689Skan2006-07-27 Arjan van de Ven <arjan@linux.intel.com> 3137169689Skan 3138169689Skan * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than 3139169689Skan %fs for -mcmodel=kernel. 3140169689Skan (stack_tls_protect_test_di): Likewise. 3141169689Skan 3142169689Skan2006-07-27 Carlos O'Donell <carlos@codesourcery.com> 3143169689Skan 3144169689Skan * Makefile.in: Use mkinstalldirs. 3145169689Skan 3146169689Skan2006-07-27 H.J. Lu <hongjiu.lu@intel.com> 3147169689Skan 3148169689Skan PR driver/28437 3149169689Skan * opts-common.c (prune_options): Skip joined switches. 3150169689Skan 3151169689Skan2006-07-27 Jan Hubicka <jh@suse.cz> 3152169689Skan 3153169689Skan PR rtl-optimization/28071 3154169689Skan * cselib.c (cselib_process_insn): Don't remove useless values too 3155169689Skan often for very large hashtables. 3156169689Skan 3157169689Skan2006-07-27 Jan Hubicka <jh@suse.cz> 3158169689Skan 3159169689Skan PR rtl-optimization/28071 3160169689Skan * global.c (greg_obstack): New obstack. 3161169689Skan (allocate_bb_info): Use it. 3162169689Skan (free_bb_info): Likewise. 3163169689Skan (modify_reg_pav): Likewise. 3164169689Skan 3165169689Skan2006-07-27 Roger Sayle <roger@eyesopen.com> 3166169689Skan 3167169689Skan * builtins.c (fold_fixed_mathfn): When long and long long are the 3168169689Skan same size, canonicalize llceil*, llfloor*, llround* and llrint* 3169169689Skan functions to their lceil*, lfloor*, lround* and lrint* forms. 3170169689Skan 3171169689Skan2006-07-27 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> 3172169689Skan 3173169689Skan PR gcc/28508 3174169689Skan * config/m32r/m32r.md (branch_insn): Reduce pc range for short 3175169689Skan branch. 3176169689Skan (rev_branch_insn): Likewise. 3177169689Skan 3178169689Skan2006-07-27 Jan Hubicka <jh@suse.cz> 3179169689Skan 3180169689Skan PR rtl-optimization/28071 3181169689Skan * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour. 3182169689Skan (reg_set_in_bb, max_reg_computed): New static variables. 3183169689Skan (regmove_optimize): Free the new array. 3184169689Skan (fixup_match_1): Update call of reg_is_remote_constant_p. 3185169689Skan 3186169689Skan2006-07-26 Jan Hubicka <jh@suse.cz> 3187169689Skan 3188169689Skan PR tree-optimization/27882 3189169689Skan * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous 3190169689Skan and decl fields. 3191169689Skan * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill 3192169689Skan next pointer 3193169689Skan (cgraph_analyze_compilation_unit): Likewise. 3194169689Skan * ipa.c (cgraph_remove_unreachable_nodes): Likewise. 3195169689Skan * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise. 3196169689Skan (cgraph_early_inlinine): Make order garbage collected. 3197169689Skan * Makefile.in (gt-ipa-inline): New garbagecollected file. 3198169689Skan 3199169689Skan2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> 3200169689Skan 3201169689Skan * dbxout.c (output_types_sort): Add a comment. 3202169689Skan (output_used_types): Free the VEC. 3203169689Skan 3204169689Skan2006-07-26 Daniel Jacobowitz <dan@codesourcery.com> 3205169689Skan 3206169689Skan * function.c (reorder_fix_fragments): Delete. 3207169689Skan (reorder_blocks): Don't call it. 3208169689Skan (reorder_blocks_1): Put all subblocks under the origin block. 3209169689Skan 3210169689Skan2006-07-26 Zdenek Dvorak <dvorakz@suse.cz> 3211169689Skan 3212169689Skan PR rtl-optimization/27907 3213169689Skan * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and 3214169689Skan FLOAT_TRUNCATE. 3215169689Skan 3216169689Skan2006-07-25 Roger Sayle <roger@eyesopen.com> 3217169689Skan 3218169689Skan PR middle-end/28473 3219169689Skan * convert.c (convert_to_integer): When transforming (T)foo(x) into 3220169689Skan bar(x) check that bar's result type can represent all the values of T. 3221169689Skan 3222169689Skan2006-07-25 Zdenek Dvorak <dvorakz@suse.cz> 3223169689Skan 3224169689Skan * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure. 3225169689Skan 3226169689Skan2006-07-25 Nick Clifton <nickc@redhat.com> 3227169689Skan 3228169689Skan * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the 3229169689Skan size_lookup[] array. 3230169689Skan (ggc_alloc_stat): Use NUM_SIZE_LOOKUP. 3231169689Skan (ggc_pch_count_object): Likewise. 3232169689Skan (ggc_pch_alloc_object): Likewise. 3233169689Skan (ggc_pch_write_object): Likewise. 3234169689Skan (init_ggc): Do not attempt to initialize entries in the 3235169689Skan size_lookup[] array for objects whose size is greater than than 3236169689Skan the length of the array. 3237169689Skan 3238169689Skan2006-07-25 Daniel Jacobowitz <dan@codesourcery.com> 3239169689Skan 3240169689Skan * dbxout.c (output_used_types_helper): Push queued types 3241169689Skan on a VEC. 3242169689Skan (output_types_sort): New. 3243169689Skan (output_used_types): Collect used types on a VEC and sort them 3244169689Skan before emission. 3245169689Skan 3246169689Skan2006-07-24 Richard Guenther <rguenther@suse.de> 3247169689Skan 3248169689Skan PR middle-end/28463 3249169689Skan * cgraph.c (cgraph_remove_node): Do not check if dumps 3250169689Skan are enabled. 3251169689Skan * cgraphunit.c (cgraph_optimize): Likewise. 3252169689Skan 3253169689Skan2006-07-24 Jan Hubicka <jh@suse.cz> 3254169689Skan 3255169689Skan PR rtl-optimization/28071 3256169689Skan * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes. 3257169689Skan * tree-iterator.c (tsi_split_statement_list_before): Do not crash when 3258169689Skan splitting before first stmt. 3259169689Skan 3260169689Skan2006-07-24 Jan Hubicka <jh@suse.cz> 3261169689Skan 3262169689Skan PR rtl-optimization/28071 3263169689Skan * ipa-inline.c (update_caller_keys): Remove edges that 3264169689Skan are no longer inline candidates. 3265169689Skan 3266169689Skan2006-07-23 Daniel Jacobowitz <dan@codesourcery.com> 3267169689Skan 3268169689Skan PR debug/27473 3269169689Skan * dbxout.c (output_used_types_helper, output_used_types): New. 3270169689Skan (dbxout_symbol): Call output_used_types. 3271169689Skan 3272169689Skan2006-07-23 Jan Hubicka <jh@suse.cz> 3273169689Skan 3274169689Skan PR c/25795 3275169689Skan PR c++/27369 3276169689Skan * cgraph.c (cgraph_varpool_nodes): Export. 3277169689Skan (decide_is_variable_needed): Ignored "used" attribute in 3278169689Skan unit-at-a-time mode. 3279169689Skan * cgraph.h (cgraph_varpool_nodes): Declare. 3280169689Skan * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in 3281169689Skan unit-at-a-time mode. 3282169689Skan 3283169689Skan2006-07-23 Roger Sayle <roger@eyesopen.com> 3284169689Skan 3285169689Skan PR target/28247 3286169689Skan * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and 3287169689Skan mutex_destroy even when !_LIBOOBJC. Remove duplicate prototype of 3288169689Skan the __gthrw form of thr_keycreate. 3289169689Skan (__gthread_key_delete): Silence the unused argument warning. 3290169689Skan 3291169689Skan2006-07-23 Steven Bosscher <steven@gcc.gnu.org> 3292169689Skan 3293169689Skan PR debug/25468 3294169689Skan * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks. 3295169689Skan Cache the last found '\0' marker to avoid quadratic behavior. 3296169689Skan 3297169689Skan2006-07-23 Jan Hubicka <jh@suse.cz> 3298169689Skan 3299169689Skan * i386.md (subsi_3_zext): Fix output template. 3300169689Skan 3301169689Skan2006-07-21 Mike Stump <mrs@apple.com> 3302169689Skan 3303169689Skan * doc/invoke.texi (C++ Dialect Options): Note that 3304169689Skan -fvisibility-inlines-hidden doesn't affect explicitly 3305169689Skan instantiationed inline methods. 3306169689Skan 3307169689Skan2006-07-20 Roger Sayle <roger@eyesopen.com> 3308169689Skan 3309169689Skan * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file 3310169689Skan if the target assembler is GNU binutils' gas. 3311169689Skan * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine 3312169689Skan whether to pass GNU gas or native as command line options. 3313169689Skan 3314169689Skan2006-07-20 Jason Merrill <jason@redhat.com> 3315169689Skan 3316169689Skan * tree.c (remove_attribute): New fn. 3317169689Skan * tree.h: Declare it. 3318169689Skan 3319169689Skan2006-07-20 Paul Brook <paul@codesourcery.com> 3320169689Skan 3321169689Skan PR 27363 3322169689Skan * cse.c (cse_insn): Add destination addresses to hash table. Check if 3323169689Skan they are invalidated by this instruction. 3324169689Skan 3325169689Skan2006-07-21 Danny Smith <dannysmith@users.sourceforge.net> 3326169689Skan 3327169689Skan PR target/28427 3328169689Skan * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define. 3329169689Skan 3330169689Skan2006-07-20 Eric Christopher <echristo@apple.com> 3331169689Skan 3332169689Skan PR target/26877 3333169689Skan * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder. 3334169689Skan 3335169689Skan2006-07-19 Eric Christopher <echristo@apple.com> 3336169689Skan 3337169689Skan * config/t-slibgcc-darwin (stmp-lipo): Remove. 3338169689Skan Rewrite dependencies for libgcc_s.1.dylib. 3339169689Skan 3340169689Skan2006-07-19 Jakub Jelinek <jakub@redhat.com> 3341169689Skan 3342169689Skan * except.c (duplicate_eh_regions_1): Clear next_peer. 3343169689Skan 3344169689Skan2006-07-17 Nathan Sidwell <nathan@codesourcery.com> 3345169689Skan 3346169689Skan * doc/invoke.texi (RS/6000 and PowerPC Options): Document that 3347169689Skan -mlongcall does not guarantee all calls will be long. 3348169689Skan * doc/extend.texi (long_call/short_call): Document that longcall 3349169689Skan does not guarantee a long call will be used. 3350169689Skan (longcall/shortcall): Likewise. 3351169689Skan 3352169689Skan2006-07-18 Roger Sayle <roger@eyesopen.com> 3353169689Skan 3354169689Skan PR middle-end/28283 3355169689Skan * expmed.c (expand_shift): Additionally check that the shift_cost 3356169689Skan is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD 3357169689Skan before implementing a LSHIFT_EXPR as a sequence of additions. 3358169689Skan * config/sh/sh.c (shift_costs): Return MAX_COST to inform the 3359169689Skan middle-end that DImode shifts need to be synthesized by expand. 3360169689Skan 3361169689Skan2006-07-18 Diego Novillo <dnovillo@redhat.com> 3362169689Skan 3363169689Skan PR 28410 3364169689Skan * tree-ssa-operands.c (access_can_touch_variable): Update 3365169689Skan comment. 3366169689Skan Return true if ALIAS is .GLOBAL_VAR. 3367169689Skan 3368169689Skan2006-07-18 David Daney <ddaney@avtrex.com> 3369169689Skan 3370169689Skan * gcc.c (display_help): Fix typo in help text. 3371169689Skan 3372169689Skan2006-07-18 Olivier Hainque <hainque@adacore.com> 3373169689Skan 3374169689Skan * tree.h (categorize_ctor_elements): Adjust prototype and add 3375169689Skan descriptive comment, both in accordance with the interface change 3376169689Skan described below. 3377169689Skan * varasm.c (constructor_static_from_elts_p): New function. 3378169689Skan Whether a constructor node is a valid static constant initializer 3379169689Skan if all its elements are. 3380169689Skan (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it. 3381169689Skan * output.h: Declare it. 3382169689Skan * expr.c (categorize_ctor_elements_1): Return whether the constructor 3383169689Skan is a valid constant initializer instead of computing the number of 3384169689Skan non-constant elements. Use constructor_static_from_elts_p for this 3385169689Skan purpose. Replace the head comment with an indication that this is a 3386169689Skan helper for categorize_ctor_elements. 3387169689Skan (categorize_ctor_elements): Same interface change as for the _1 3388169689Skan helper. Former head comment from this helper moved here, adjusted to 3389169689Skan account for the interface changes. 3390169689Skan (mostly_zeros_p): Adjust call to categorize_ctor_elements. 3391169689Skan (all_zeros_p): Likewise. 3392169689Skan * gimplify.c (gimplify_init_constructor): Decide whether we can make 3393169689Skan static versions of the constructor from the categorize_ctor_elements 3394169689Skan return value instead of the formerly computed number of non-constant 3395169689Skan elements. 3396169689Skan 3397169689Skan2006-07-18 Paolo Bonzini <bonzini@gnu.org> 3398169689Skan 3399169689Skan * configure: Regenerate. 3400169689Skan * Makefile.in (build_libsubdir): New configure substitution 3401169689Skan (build_libobjdir): New variable. 3402169689Skan (BUILD_LIBIBERTY): Use it. 3403169689Skan 3404169689Skan2006-07-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 3405169689Skan 3406169689Skan PR c/28286 3407169689Skan * c-pragma.c (handle_pragma_pack): Handle invalid constants. 3408169689Skan 3409169689Skan2006-07-18 Alexandre Oliva <aoliva@redhat.com> 3410169689Skan 3411169689Skan PR c/26993 3412169689Skan * c-common.c (handle_weakref_attribute): Ignore attribute in 3413169689Skan the same conditions the alias attribute is ignored. 3414169689Skan 3415169689Skan2006-07-17 Carlos O'Donell <carlos@codesourcery.com> 3416169689Skan 3417169689Skan * dbxout.c (dbxout_function_end): Do not increment scope_labelno. 3418169689Skan (dbxout_begin_prologue): Increment scope_labelno. 3419169689Skan 3420169689Skan2006-07-17 Richard Henderson <rth@redhat.com> 3421169689Skan 3422169689Skan PR 27889 3423169689Skan * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P 3424169689Skan if needed. 3425169689Skan 3426169689Skan2006-07-17 Roger Sayle <roger@eyesopen.com> 3427169689Skan Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3428169689Skan 3429169689Skan * config/i386/gmon-sol2.c: Silence compilation warnings by partially 3430169689Skan synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0 3431169689Skan blocks. #include "tconfig.h" and "tsystem.h" to prototype system 3432169689Skan functions such as sbrk, write, etc.. Add function prototypes. 3433169689Skan Convert function declarations from K&R to ISO C. Cast pointers 3434169689Skan to "long" and "unsigned long" instead of "int" and "unsigned int". 3435169689Skan Convert tokens following #endif into comments. 3436169689Skan 3437169689Skan2006-07-17 Toon Moene <toon@moene.indiv.nluug.nl> 3438169689Skan 3439169689Skan * invoke.texi: Remove mention of f77; Reformat table for 3440169689Skan inline parameter options correctly; mention that -malign-double 3441169689Skan is default on x86-64 targets. 3442169689Skan 3443169689Skan2006-07-17 Zdenek Dvorak <dvorakz@suse.cz> 3444169689Skan 3445169689Skan * tree-chrec.c (avoid_arithmetics_in_type_p): New. 3446169689Skan (convert_affine_scev, chrec_convert_aggressive): Use 3447169689Skan avoid_arithmetics_in_type_p. Do not check for the subtypes 3448169689Skan separately. 3449169689Skan 3450169689Skan2006-07-17 Richard Sandiford <richard@codesourcery.com> 3451169689Skan 3452169689Skan PR middle-end/28403 3453169689Skan * optabs.c (expand_doubleword_shift): Wrap the call to 3454169689Skan do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP. 3455169689Skan 3456169689Skan2006-07-17 Richard Sandiford <richard@codesourcery.com> 3457169689Skan 3458169689Skan PR middle-end/28402 3459169689Skan * optabs.c (expand_binop): Pass next_methods rather than methods 3460169689Skan to expand_doubleword_shift. 3461169689Skan 3462169689Skan2006-07-17 J"orn Rennecke <joern.rennecke@st.com> 3463169689Skan 3464169689Skan PR other/28251 3465169689Skan * tree.h (dump_addr): Declare. 3466169689Skan * print-tree.c (dump_addr): New function. 3467169689Skan (print_node_brief, print_node): Use it. 3468169689Skan * print-rtl.c (print_rtx): Likewise. 3469169689Skan * common.opt (-fdump-noaddr): New option. 3470169689Skan * doc/invoke.texi (-fdump-noaddr): Document. 3471169689Skan * loop-unroll.c (si_info_hash): Make hash independent of addresses. 3472169689Skan (ve_info_hash): Likewise. 3473169689Skan 3474169689Skan2006-07-13 Andrew Haley <aph@redhat.com> 3475169689Skan 3476169689Skan PR tree-optimization/19505 3477169689Skan * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH 3478169689Skan edge leaving this block, make sure that the destination of this 3479169689Skan block has only one predecessor. 3480169689Skan 3481169689Skan2006-07-17 Richard Guenther <rguenther@suse.de> 3482169689Skan 3483169689Skan PR tree-optimization/28238 3484169689Skan * tree-inline.c (copy_bb): Check if we produced valid 3485169689Skan gimple copying and substituting a stmt. If not, gimplify 3486169689Skan it. 3487169689Skan 3488169689Skan2006-07-16 Eric Botcazou <ebotcazou@adacore.com> 3489169689Skan 3490169689Skan * optabs.c (maybe_encapsulate_block): New function extracted from... 3491169689Skan (emit_libcall_block): ...here. Invoke it on the block of insns to 3492169689Skan maybe emit REG_LIBCALL/REG_RETVAL notes around the block. 3493169689Skan (emit_no_conflict_block): Likewise. 3494169689Skan 3495169689Skan2006-07-16 Eric Botcazou <ebotcazou@libertysurf.fr> 3496169689Skan 3497169689Skan * doc/install.texi (sparc-sun-solaris2*): Add GMP version number. 3498169689Skan 3499169689Skan2006-07-15 Roger Sayle <roger@eyesopen.com> 3500169689Skan 3501169689Skan * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into 3502169689Skan a new NOP_EXPR case of the switch statement. 3503169689Skan 3504169689Skan2006-07-15 Kaz Kojima <kkojima@gcc.gnu.org> 3505169689Skan 3506169689Skan PR middle-end/28160 3507169689Skan * stor-layout.c (place_field): Take the bit field with 3508169689Skan an excessive size into account in the ms-bitfiled case. 3509169689Skan 3510169689Skan PR middle-end/28161 3511169689Skan * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of 3512169689Skan the previous bit field. 3513169689Skan 3514169689Skan2006-07-14 Eliot Dresselhaus <eliot@sonic.net> 3515169689Skan 3516169689Skan PR target/27287 3517169689Skan * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative. 3518169689Skan 3519169689Skan2006-07-14 Ulrich Weigand <uweigand@de.ibm.com> 3520169689Skan 3521169689Skan * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect 3522169689Skan signal frames correctly even when the signal was installed with 3523169689Skan sa_restorer set. 3524169689Skan 3525169689Skan2006-07-14 Carlos O'Donell <carlos@codesourcery.com> 3526169689Skan 3527169689Skan * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start. 3528169689Skan (dbxout_function_end): Use local label LFBB. Remove hook 3529169689Skan DBX_OUTPUT_NFUN. 3530169689Skan (dbxout_source_line): Use local label LFBB. 3531169689Skan (dbxout_block): Likewise. 3532169689Skan (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC. 3533169689Skan (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC. 3534169689Skan * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC, 3535169689Skan and DBX_OUTPUT_NFUN. 3536169689Skan 3537169689Skan2006-07-13 Janis Johnson <janis187@us.ibm.com> 3538169689Skan 3539169689Skan * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail. 3540169689Skan 3541169689Skan2006-07-13 Jan Hubicka <jh@suse.cz> 3542169689Skan 3543169689Skan * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call 3544169689Skan align_variable. 3545169689Skan * output.h (align_variable): Declare. 3546169689Skan * varasm.c (align_variable): Export. 3547169689Skan * value-prof.c (tree_value_profile_transformations): Recompute iterator 3548169689Skan when basic block changed. 3549169689Skan 3550169689Skan2006-07-13 Nick Clifton <nickc@redhat.com> 3551169689Skan 3552169689Skan * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst 3553169689Skan walking the LOG_LINKS chain. 3554169689Skan 3555169689Skan2006-07-12 Geoffrey Keating <geoffk@apple.com> 3556169689Skan 3557169689Skan * doc/invoke.texi (C++ Dialect Options): Explain difference 3558169689Skan between -fvisibility-inlines-hidden and setting hidden 3559169689Skan visibility explicitly. 3560169689Skan 3561169689Skan2006-07-12 Eric Christopher <echristo@apple.com> 3562169689Skan 3563169689Skan * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo. 3564169689Skan (stmp-lipo): Depend on libgcc.a. 3565169689Skan 3566169689Skan2006-07-12 Kazu Hirata <kazu@codesourcery.com> 3567169689Skan 3568169689Skan * tree.c: Fix a comment typo. 3569169689Skan 3570169689Skan2006-07-12 Naveen.H.S <naveenh@kpitcummins.com> 3571169689Skan 3572169689Skan * config/m32c/muldiv.md (umulhisi3_c): Use only registers for 3573169689Skan dest. 3574169689Skan (umulhisi3_r): Likewise. 3575169689Skan 3576169689Skan2006-07-12 Paolo Carlini <pcarlini@suse.de> 3577169689Skan 3578169689Skan PR libstdc++/27878 3579169689Skan * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x, 3580169689Skan x < 19, vs wchar_t support. 3581169689Skan 3582169689Skan2006-07-12 Nick Clifton <nickc@redhat.com> 3583169689Skan 3584169689Skan * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up 3585169689Skan instead of -isa=sh4. 3586169689Skan 3587169689Skan2006-07-12 Mike Stump <mrs@apple.com> 3588169689Skan 3589169689Skan * protoize.c (edit_fn_definition): Add volatile to clean_text_p. 3590169689Skan 3591169689Skan2006-07-10 Eric Christopher <echristo@apple.com> 3592169689Skan 3593169689Skan * config/t-slibgcc-darwin: Rewrite. 3594169689Skan 3595169689Skan2006-07-10 Laurynas Biveinis <laurynas.biveinis@gmail.com> 3596169689Skan 3597169689Skan PR bootstrap/20437 3598169689Skan * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4 3599169689Skan dependencies. 3600169689Skan 3601169689Skan2006-07-08 Matthias Klose <doko@debian.org> 3602169689Skan 3603169689Skan * doc/sourcebuild.texi: Fix typo. 3604169689Skan 3605169689Skan2006-07-07 Mike Stump <mrs@apple.com> 3606169689Skan 3607169689Skan * toplev.c (process_options): Don't give -ffunction-sections may 3608169689Skan affect debugging warning for Mach-O. 3609169689Skan 3610169689Skan2006-07-07 James E Wilson <wilson@specifix.com> 3611169689Skan 3612169689Skan * config/mips/mips.md (cpu): Add sb1a. 3613169689Skan * config/mips/sb1.md: Modify almost all patterns to accept sb1a in 3614169689Skan addition to sb1. Adjust comments to clarify SB-1A differences from 3615169689Skan SB-1. 3616169689Skan (ir_sb1a_load): New. Modify bypasses to use it. 3617169689Skan (ir_sb1a_simple_alu): Likewise. 3618169689Skan * config/mips/mips.c (mips_cpu_info_table): Add sb1a. 3619169689Skan (mips_rtx_cost_data): Add PROCESSOR_SB1A support. 3620169689Skan (mips_issue_rate): Add PROCESSOR_SB1A. 3621169689Skan (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1. 3622169689Skan * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A. 3623169689Skan (TARGET_SB1): Add PROCESSOR_SB1A check. 3624169689Skan (TUNE_SB1): Likewise. 3625169689Skan 3626169689Skan * config/mips/mips-protos.h (mips_store_data_bypass_p): New. 3627169689Skan * config/mips/mips.c (mips_store_data_bypass_p): New. 3628169689Skan * config/mips/sb1.md: Use mips_store_data_bypass_p instead of 3629169689Skan store_data_bypass_p. 3630169689Skan 3631169689Skan2006-07-08 Paul Brook <paul@codesourcery.com> 3632169689Skan 3633169689Skan PR target/27991 3634169689Skan * config/m68k/m68k.md: Add r-m patterns for 68881 movxf. 3635169689Skan 3636169689Skan2006-07-07 Richard Guenther <rguenther@suse.de> 3637169689Skan 3638169689Skan PR middle-end/28268 3639169689Skan * tree.h (build_one_cst): Declare. 3640169689Skan * tree.c (build_one_cst): New function. 3641169689Skan * tree-ssa-math-opts.c (get_constant_one): Remove. 3642169689Skan (insert_reciprocals): Use build_one_cst. 3643169689Skan * fold-const.c (fold_plusminus_mult): Likewise. 3644169689Skan 3645169689Skan2006-07-07 Roger Sayle <roger@eyesopen.com> 3646169689Skan 3647169689Skan * pointer-set.c (pointer_set_destroy): Correct whitespace. 3648169689Skan * cfgloopanal.c (dump_graph): Likewise. 3649169689Skan * dojump.c (discard_pending_stack_adjust): Likewise. 3650169689Skan * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES): 3651169689Skan Likewise. 3652169689Skan * alloc-pool.c (dump_alloc_pool_statistics): Likewise. 3653169689Skan * function.c (finalize_block_changes): Likewise. 3654169689Skan * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise. 3655169689Skan * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise. 3656169689Skan * rtl.c (dump_rtx_statistics): Likewise. 3657169689Skan * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars): 3658169689Skan Likewise. 3659169689Skan * varray.c (dump_varray_statistics): Likewise. 3660169689Skan * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64, 3661169689Skan decode_decimal64, encode_decimal128, decode_decimal128, 3662169689Skan decimal_real_to_decimal): Likewise. 3663169689Skan 3664169689Skan2006-07-07 Richard Guenther <rguenther@suse.de> 3665169689Skan 3666169689Skan PR tree-optimization/28187 3667169689Skan * tree-vrp.c (vrp_operand_equal_p): New function. 3668169689Skan (vrp_bitmap_equal_p): Likewise. 3669169689Skan (update_value_range): Use them to compare old and new 3670169689Skan max and min values. 3671169689Skan 3672169689Skan2006-07-06 Roger Sayle <roger@eyesopen.com> 3673169689Skan 3674169689Skan * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add 3675169689Skan a default case to switch statement to silence compiler warnings. 3676169689Skan 3677169689Skan2006-07-06 Roger Sayle <roger@eyesopen.com> 3678169689Skan 3679169689Skan PR target/27968 3680169689Skan * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether 3681169689Skan the configured assembler supports the x87's ffreep mnemonic. 3682169689Skan * configure: Regenerate. 3683169689Skan * config.in: Regenerate. 3684169689Skan 3685169689Skan * config/i386/i386.c (output_387_ffreep): New function. 3686169689Skan (output_fp_compare): Use output_387_ffreep to emit ffreep insns. 3687169689Skan (output_387_reg_move): Likewise. 3688169689Skan 3689169689Skan2006-07-06 Paul Eggert <eggert@cs.ucla.edu> 3690169689Skan 3691169689Skan Port to hosts whose 'sort' and 'tail' implementations 3692169689Skan treat operands with leading '+' as file names, as POSIX 3693169689Skan has required since 2001. However, make sure the code still 3694169689Skan works on pre-POSIX hosts. 3695169689Skan * Makefile.in (slowcompare): Port to POSIX 1003.1-2001, 3696169689Skan which says you should use "tail -c +N" rather than "tail +Nc". 3697169689Skan Fix a bug: the old code incorrectly skipped 15 bytes, not 16. 3698169689Skan 3699169689Skan2006-07-06 Zdenek Dvorak <dvorakz@suse.cz> 3700169689Skan 3701169689Skan * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in 3702169689Skan argument name. 3703169689Skan 3704169689Skan2006-07-06 David Edelsohn <edelsohn@gnu.org> 3705169689Skan 3706169689Skan PR target/28150 3707169689Skan * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow 3708169689Skan PRE_{INC,DEC} of TFmode. 3709169689Skan 3710169689Skan2006-07-06 David Edelsohn <edelsohn@gnu.org> 3711169689Skan Alan Modra <amodra@bigpond.net.au> 3712169689Skan 3713169689Skan PR target/28170 3714169689Skan * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop 3715169689Skan bounds. Simplify. 3716169689Skan 3717169689Skan2006-07-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3718169689Skan 3719169689Skan PR target/28285 3720169689Skan * config/alpha/predicates.md (alpha_swapped_comparison_operator): 3721169689Skan Remove duplicate gtu. 3722169689Skan 3723169689Skan2006-07-05 Jason Merrill <jason@redhat.com> 3724169689Skan 3725169689Skan PR c++/13983 3726169689Skan PR c++/17519 3727169689Skan * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants. 3728169689Skan * c-common.c (handle_packed_attribute): So don't copy it here. 3729169689Skan * c-decl.c (finish_struct): Don't copy TYPE_ALIGN. 3730169689Skan 3731169689Skan2006-07-05 Mike Stump <mrs@apple.com> 3732169689Skan 3733169689Skan * doc/invoke.texi (Invoking G++): Clarify prose for g++. 3734169689Skan 3735169689Skan2006-07-05 H.J. Lu <hongjiu.lu@intel.com> 3736169689Skan 3737169689Skan PR target/26146 3738169689Skan * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*. 3739169689Skan 3740169689Skan2006-07-05 Richard Guenther <rguenther@suse.de> 3741169689Skan 3742169689Skan PR target/28158 3743169689Skan * config/i386/i386.md (*negdf2_1): Restrict pattern to 3744169689Skan TARGET_SSE2 targets if using SSE math. 3745169689Skan (*absdf2_1): Likewise. 3746169689Skan 3747169689Skan2006-07-05 Richard Guenther <rguenther@suse.de> 3748169689Skan 3749169689Skan PR tree-optimization/28162 3750169689Skan * fold-const.c (fold_binary): For (-A) * (-B) -> A * B 3751169689Skan make sure to convert the operands to the correct type. 3752169689Skan 3753169689Skan2006-07-04 Paolo Bonzini <bonzini@gnu.org> 3754169689Skan 3755169689Skan PR tree-optimization/28218 3756169689Skan 3757169689Skan * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls 3758169689Skan to calculate and free the dominator information. 3759169689Skan 3760169689Skan2006-07-04 Peter O'Gorman <peter@pogma.com> 3761169689Skan 3762169689Skan * mklibgcc.in: chmod 644 before ranlib during install. 3763169689Skan 3764169689Skan2006-07-04 Andrew Stubbs <andrew.stubbs@st.com> 3765169689Skan J"orn Rennecke <joern.rennecke@st.com> 3766169689Skan 3767169689Skan * configure.ac (.eh_frame data check): Use diff -b. 3768169689Skan 3769169689Skan2006-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> 3770169689Skan 3771169689Skan PR bootstrap/18058 3772169689Skan * Makefile.in (BUILD_RTL): Add build/vec.o. 3773169689Skan (build/gencondmd.o): Filter out -fkeep-inline-functions. 3774169689Skan (build/genextract): Delete. 3775169689Skan (build/genautomata): Likewise. 3776169689Skan 3777169689Skan2006-07-04 Alan Modra <amodra@bigpond.net.au> 3778169689Skan 3779169689Skan PR target/28207 3780169689Skan * config/rs6000/rs6000.c (function_arg_boundary): Double-word align 3781169689Skan 128-bit IBM long doubles for ABI_V4. 3782169689Skan 3783169689Skan2006-07-03 Eric Botcazou <ebotcazou@adacore.com> 3784169689Skan 3785169689Skan * tree.c (range_in_array_bounds_p): New predicate. 3786169689Skan * tree.h (range_in_array_bounds_p): Declare it. 3787169689Skan * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to 3788169689Skan return a less conservative answer. 3789169689Skan * tree-sra.c (struct sra_elt): Add new pointer field 'groups' 3790169689Skan and flag 'is_group'. 3791169689Skan (IS_ELEMENT_FOR_GROUP): New macro. 3792169689Skan (FOR_EACH_ACTUAL_CHILD): Likewise. 3793169689Skan (next_child_for_group): New helper function. 3794169689Skan (can_completely_scalarize_p): Take into account groups. 3795169689Skan (sra_hash_tree): Handle RANGE_EXPR. 3796169689Skan (sra_elt_eq): Likewise. 3797169689Skan (lookup_element): Be prepared for handling groups. 3798169689Skan (is_valid_const_index): Delete. 3799169689Skan (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p 3800169689Skan instead of is_valid_const_index. 3801169689Skan <ARRAY_RANGE_REF>: New case. 3802169689Skan (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of 3803169689Skan is_valid_const_index. 3804169689Skan <ARRAY_RANGE_REF>: Do not unconditionally punt. 3805169689Skan (scan_dump): Dump info for groups too. 3806169689Skan (decide_instantiation_1): Likewise. 3807169689Skan (decide_block_copy): Assert that the element is not a group. 3808169689Skan Propagate decision to groups. 3809169689Skan (generate_one_element_ref): Handle RANGE_EXPR. 3810169689Skan (mark_no_warning): Iterate over actual childs. 3811169689Skan (generate_copy_inout): Likewise. 3812169689Skan (generate_element_copy): Likewise. 3813169689Skan (generate_element_zero): Likewise. 3814169689Skan (generate_element_init_1): Likewise. 3815169689Skan (dump_sra_elt_name): Handle RANGE_EXPR. 3816169689Skan 3817169689Skan2006-07-03 Roger Sayle <roger@eyesopen.com> 3818169689Skan 3819169689Skan PR tree-optimization/26251 3820169689Skan * tree-ssa-threadupdate.c (redirection_block_p): New function. 3821169689Skan (thread_block): When optimizing for size refuse to thread jumps 3822169689Skan that would require duplication of blocks other than redirection 3823169689Skan blocks. 3824169689Skan 3825169689Skan2006-07-03 Paolo Bonzini <bonzini@gnu.org> 3826169689Skan 3827169689Skan * configure.ac: Fix thinko in previous check-in. 3828169689Skan * configure: Regenerate. 3829169689Skan 3830169689Skan2006-07-03 Paolo Bonzini <bonzini@gnu.org> 3831169689Skan 3832169689Skan PR other/27063 3833169689Skan * configure.ac (for lang...): Simplify nesting of conditionals. 3834169689Skan Test subdir_requires for non-enabled languages. Move processing 3835169689Skan of lang_opt_files and lang_tree_fiels below that test. 3836169689Skan * configure: Regenerate. 3837169689Skan * doc/sourcebuild.texi (Front End Config): Document subdir_requires. 3838169689Skan 3839169689Skan2006-07-01 Martin Michlmayr <tbm@cyrius.com> 3840169689Skan 3841169689Skan * doc/gcov.texi (Invoking Gcov): Add a missing word. 3842169689Skan 3843169689Skan2006-06-30 Kazu Hirata <kazu@codesourcery.com> 3844169689Skan 3845169689Skan * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix 3846169689Skan comment typos. 3847169689Skan 3848169689Skan2006-06-29 Jason Merrill <jason@redhat.com> 3849169689Skan 3850169689Skan PR c++/26905 3851169689Skan PR c++/26612 3852169689Skan PR c++/27000 3853169689Skan PR c++/26984 3854169689Skan PR c++/19134 3855169689Skan * tree.c (build_decl_stat): Don't hande #pragma visibility here. 3856169689Skan * c-common.c (c_determine_visibility): Handle it here. 3857169689Skan * c-decl.c (finish_decl): Call c_determine_visibility for 3858169689Skan functions, too. 3859169689Skan * flags.h (enum symbol_visibility): Sort from most to least visibility. 3860169689Skan * tree.h: Likewise. 3861169689Skan * varasm.c (default_assemble_visibility): Likewise. 3862169689Skan * c-common.c (handle_visibility_attribute): Complain about trying 3863169689Skan to give visibility to an already defined class, or trying to change 3864169689Skan declared visibility. Always attach the attribute. 3865169689Skan 3866169689Skan PR c++/26905 3867169689Skan PR c++/21675 3868169689Skan PR c++/17470 3869169689Skan * attribs.c (decl_attributes): Ignore type-in-place attributes 3870169689Skan once the type has been defined. 3871169689Skan 3872169689Skan2006-06-29 Roger Sayle <roger@eyesopen.com> 3873169689Skan 3874169689Skan PR middle-end/27428 3875169689Skan * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount 3876169689Skan to indicate the cpplib has issued an error message for us. 3877169689Skan 3878169689Skan2006-06-29 Asher Langton <langton2@llnl.gov> 3879169689Skan 3880169689Skan PR target/25765 3881169689Skan * config/i386/i386.c (ix86_output_function_epilogue): Don't 3882169689Skan insert a label at the end of an function under Mach-O. 3883169689Skan 3884169689Skan2006-06-29 Eric Christopher <echristo@apple.com> 3885169689Skan Evan Cheng <evan.cheng@apple.com> 3886169689Skan 3887169689Skan * predicates.md (vector_all_ones_operand): New. 3888169689Skan (nonimmediate_or_sse_const_operand): Ditto. 3889169689Skan * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare. 3890169689Skan * config/i386/i386.c (standard_sse_constant_opcode): Define. 3891169689Skan (standard_sse_mode_p): Ditto. 3892169689Skan (standard_sse_constant_p): Add case for -1 vector. 3893169689Skan (ix86_expand_vector_move): Try to use. 3894169689Skan * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand. 3895169689Skan Call standard_sse_constant_opcode. 3896169689Skan (*movv4sf_internal): Ditto. 3897169689Skan (*movv2df_internal): Ditto. 3898169689Skan 3899169689Skan2006-06-29 Roger Sayle <roger@eyesopen.com> 3900169689Skan 3901169689Skan * genpreds.c (write_match_code_switch): Correctly use XSTR instead 3902169689Skan of XEXP to extract the operands of a MATCH_CODE rtx. 3903169689Skan 3904169689Skan2006-06-28 Andrew Pinski <pinskia@gmail.com> 3905169689Skan 3906169689Skan * tree.c (tree_size): Do not waste tail padding in 3907169689Skan struct tree_string and make the size be the same as 3908169689Skan build_string will generate. 3909169689Skan 3910169689Skan2006-06-28 Jason Merrill <jason@redhat.com> 3911169689Skan 3912169689Skan PR c++/27768 3913169689Skan * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add 3914169689Skan may_aliases already in the tag's annotations to the bitmap. 3915169689Skan 3916169689Skan2006-06-28 Roger Sayle <roger@eyesopen.com> 3917169689Skan 3918169689Skan * genpreds.c (write_predicate_stmts) <IOR>: Add missing break. 3919169689Skan 3920169689Skan2006-06-28 Roger Sayle <roger@eyesopen.com> 3921169689Skan 3922169689Skan * genpreds.c (generate_switch_p): New function. 3923169689Skan (add_mode_tests): Push the new mode test down inside an AND expr 3924169689Skan if this allows the switch-suitable MATCH_CODE to be near the root. 3925169689Skan (write_match_code_switch): New function to write a MATCH_CODE as 3926169689Skan a switch statement. 3927169689Skan (write_predicate_stmts): New function to write a predicate RTX 3928169689Skan expression as a sequence of statements. 3929169689Skan (write_one_predicate_function): Use write_predicate_stmts. 3930169689Skan (write_tm_constrs_h): Likewise. 3931169689Skan 3932169689Skan2006-06-26 Fred Fish <fnf@specifix.com> 3933169689Skan 3934169689Skan * config/mips/t-sb1: New file. 3935169689Skan * config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to 3936169689Skan tmake_file list. 3937169689Skan 3938169689Skan2006-06-26 DJ Delorie <dj@redhat.com> 3939169689Skan 3940169689Skan * config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic. 3941169689Skan 3942169689Skan2006-06-26 Naveen H.S <naveenh@kpitcummins.com> 3943169689Skan Jayant Sonar <jayants@kpitcummins.com> 3944169689Skan Jaydeep Vipradas <jaydeepv@kpitcummins.com> 3945169689Skan 3946169689Skan * config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New. 3947169689Skan (subsi3, subsi3_1, subsi3_2): New. 3948169689Skan * config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New. 3949169689Skan * config/m32c/mov.md (SI mov peephole): New. 3950169689Skan * config/m32c/m32.c (m32c_immd_dbl_mov): New. 3951169689Skan * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New. 3952169689Skan 3953169689Skan2006-06-26 Olivier Hainque <hainque@adacore.com> 3954169689Skan 3955169689Skan * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on 3956169689Skan a CALL_EXPR target function declaration. 3957169689Skan 3958169689Skan2006-06-26 Richard Guenther <rguenther@suse.de> 3959169689Skan 3960169689Skan * tree.c (build_string): Do not waste tail padding in 3961169689Skan struct tree_string. 3962169689Skan 3963169689Skan2006-06-26 Richard Guenther <rguenther@suse.de> 3964169689Skan 3965169689Skan * ggc-page.c (init_ggc): Add missing element to size_lookup 3966169689Skan table. 3967169689Skan 3968169689Skan Revert 3969169689Skan 2006-06-23 Richard Guenther <rguenther@suse.de> 3970169689Skan 3971169689Skan * ggc-page.c (init_ggc): Do not round up the extra_order_size_table 3972169689Skan sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour 3973169689Skan alignment requests instead. Add verification code. 3974169689Skan Add struct tree_function_decl and struct tree_binfo size to 3975169689Skan extra_order_size_table. Add missing element to size_lookup 3976169689Skan table. 3977169689Skan 3978169689Skan2006-06-25 Eric Botcazou <ebotcazou@adacore.com> 3979169689Skan 3980169689Skan PR middle-end/28151 3981169689Skan * fold-const.c (const_binop): Be prepared for self returning zero. 3982169689Skan Simplify code handling complex values. 3983169689Skan 3984169689Skan2006-06-24 Olivier Hainque <hainque@adacore.com> 3985169689Skan 3986169689Skan * gimplify.c (gimplify_scalar_mode_aggregate_compare): New function. 3987169689Skan (gimplify_expr): Use it for tcc_comparison of operands of non BLKmode 3988169689Skan aggregate types. 3989169689Skan 3990169689Skan2006-06-24 Olivier Hainque <hainque@adacore.com> 3991169689Skan 3992169689Skan * tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as 3993169689Skan ARRAY_REF, so have the callback called for the low bound expression. 3994169689Skan 3995169689Skan2006-06-23 Janis Johnson <janis187@us.ibm.com> 3996169689Skan 3997169689Skan * tree.h (DECIMAL_FLOAT_TYPE_P): New. 3998169689Skan * c-typeck.c (c_common_type): Disallow operations on decimal float 3999169689Skan types and other float types. 4000169689Skan * convert.c (convert_to_real): Don't ignore conversions involving 4001169689Skan decimal float types. 4002169689Skan 4003169689Skan2006-06-23 Olivier Hainque <hainque@adacore.com> 4004169689Skan 4005169689Skan * tree.c (max_int_size_in_bytes): New function, inspired from 4006169689Skan code in function.c:assign_temp. 4007169689Skan * tree.h (max_int_size_in_bytes): Declare. 4008169689Skan * function.c (assign_temp): Use it. 4009169689Skan * gimplify.c (create_tmp_var): Relax the assertions on the type 4010169689Skan properties, not mandating constant size any more. 4011169689Skan (force_constant_size): New static function. 4012169689Skan (gimple_add_tmp_var): Use it, forcing variable size to a 4013169689Skan constant upper bound if it is not constant on entry. 4014169689Skan 4015169689Skan2006-06-23 Danny Smith <dannysmith@users.sourceforge.net> 4016169689Skan 4017169689Skan PR target/27789 4018169689Skan * config/i386/winnt.c (ix86_handle_selectany_attribute): Move check 4019169689Skan for initialization and setting of one_only flag to ... 4020169689Skan (i386_pe_encode_section_info): ...here. 4021169689Skan (i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also. 4022169689Skan Recheck that the symbol has not been defined. 4023169689Skan 4024169689Skan2006-06-23 Richard Guenther <rguenther@suse.de> 4025169689Skan 4026169689Skan * ggc-page.c (init_ggc): Do not round up the extra_order_size_table 4027169689Skan sizes to MAX_ALIGNMENT. Fix the size_lookup table to honour 4028169689Skan alignment requests instead. Add verification code. 4029169689Skan Add struct tree_function_decl and struct tree_binfo size to 4030169689Skan extra_order_size_table. Add missing element to size_lookup 4031169689Skan table. 4032169689Skan 4033169689Skan2006-06-22 Roger Sayle <roger@eyesopen.com> 4034169689Skan John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4035169689Skan 4036169689Skan PR middle-end/28131 4037169689Skan * expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the 4038169689Skan call to lang_hooks.types.type_for_mode returned NULL_TREE. 4039169689Skan 4040169689Skan2006-06-23 Ben Elliston <bje@au.ibm.com> 4041169689Skan 4042169689Skan * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to 4043169689Skan negate dn -- manipulate it directly. 4044169689Skan 4045169689Skan2006-06-22 Roger Sayle <roger@eyesopen.com> 4046169689Skan Steven Bosscher <stevenb.gcc@gmail.com> 4047169689Skan 4048169689Skan PR target/27531 4049169689Skan * reload1.c (gen_reload): Call mark_jump_label on the new insns 4050169689Skan generated by gen_move_insn to add REG_LABEL notes if necessary. 4051169689Skan 4052169689Skan2006-06-22 Bob Wilson <bob.wilson@acm.org> 4053169689Skan 4054169689Skan * config/xtensa/lib1funcs.asm (MIN_ESA): Delete. 4055169689Skan (leaf_entry): Remove use of MIN_ESA. 4056169689Skan 4057169689Skan2006-06-22 Zdenek Dvorak <dvorakz@suse.cz> 4058169689Skan 4059169689Skan PR rtl-optimization/28121 4060169689Skan * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from 4061169689Skan the entry edge. 4062169689Skan 4063169689Skan2006-06-21 DJ Delorie <dj@redhat.com> 4064169689Skan 4065169689Skan * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest 4066169689Skan (TN-16C-A156A/E). 4067169689Skan (mulhisi3_r): Likewise. 4068169689Skan 4069169689Skan2006-06-21 Richard Sandiford <richard@codesourcery.com> 4070169689Skan 4071169689Skan PR middle-end/28034 4072169689Skan * coverage.c (coverage_counter_alloc): Leave the index type 4073169689Skan unspecified. 4074169689Skan (coverage_counter_alloc): Use null arguments for operands 2 and 3 4075169689Skan of the ARRAY_REF. 4076169689Skan 4077169689Skan2006-06-21 Andrew Pinski <pinskia@physics.uc.edu> 4078169689Skan 4079169689Skan * doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect" 4080169689Skan section from the "Options for Code Generation Conventions". 4081169689Skan 4082169689Skan2006-06-21 Richard Henderson <rth@redhat.com> 4083169689Skan 4084169689Skan PR target/26347 4085169689Skan PR target/27082 4086169689Skan * config/alpha/predicates.md (small_symbolic_operand): Deny weak 4087169689Skan symbols. 4088169689Skan (global_symbolic_operand): Allow weak symbols, even if local_p. 4089169689Skan 4090169689Skan2006-06-21 Eric Botcazou <ebotcazou@adacore.com> 4091169689Skan 4092169689Skan * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function. 4093169689Skan (find_interesting_uses_address): Punt if above function returns true. 4094169689Skan 4095169689Skan2006-06-21 Richard Guenther <rguenther@suse.de> 4096169689Skan 4097169689Skan * configure: Regenerated. 4098169689Skan 4099169689Skan2006-06-21 Joseph Myers <joseph@codesourcery.com> 4100169689Skan 4101169689Skan * config/mips/mips.c (function_arg): Where one part of a 4102169689Skan complex argument is in registers and the other part in the stack, 4103169689Skan return a REG not a PARALLEL. 4104169689Skan 4105169689Skan2006-06-21 Mark Mitchell <mark@codesourcery.com> 4106169689Skan 4107169689Skan * configure.ac: Set gcc_gxx_include_dir to $target/include/c++ 4108169689Skan when cross-compiling. Do not substitute libstdcxx_incdir. 4109169689Skan * configure: Regenerated. 4110169689Skan 4111169689Skan2006-06-21 Jakub Jelinek <jakub@redhat.com> 4112169689Skan 4113169689Skan * varasm.c (mergeable_string_section): Check for embedded NULs and 4114169689Skan NUL termination in the first int_size_in_bytes (TREE_TYPE (decl)) 4115169689Skan rather than TREE_STRING_LENGTH bytes. 4116169689Skan 4117169689Skan2006-06-21 Richard Guenther <rguenther@suse.de> 4118169689Skan 4119169689Skan * ggc-page.c (extra_order_size_table): Add var_ann_d, 4120169689Skan tree_ssa_name, bitmap_element and phi_node with 4 arguments 4121169689Skan sizes. 4122169689Skan 4123169689Skan2006-06-21 Richrad Guenther <rguenther@suse.de> 4124169689Skan 4125169689Skan * tree-ssa-loop-niter.c (simplify_using_initial_conditions): 4126169689Skan Limit iteration over the dominators. 4127169689Skan 4128169689Skan2006-06-20 Roger Sayle <roger@eyesopen.com> 4129169689Skan 4130169689Skan * config/mips/iris6.h (LIB_SPEC): Add support for -pthread. 4131169689Skan (SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified. 4132169689Skan 4133169689Skan2006-06-20 Richard Guenther <rguenther@suse.de> 4134169689Skan Michael Matz <matz@suse.de> 4135169689Skan 4136169689Skan * alloc-pool.h (free_alloc_pool_if_empty): Prototype new 4137169689Skan function. 4138169689Skan * alloc-pool.c (free_alloc_pool_if_empty): New function. 4139169689Skan * et-forest.h (et_free_pools): Prototype new function. 4140169689Skan * et-forest.c (et_free_tree_force): Free parent occurrence. 4141169689Skan (et_free_pools): New function. 4142169689Skan * dominance.c (free_dominance_info): Free et-forest alloc 4143169689Skan pools. 4144169689Skan 4145169689Skan2006-06-20 Roger Sayle <roger@eyesopen.com> 4146169689Skan 4147169689Skan * expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with 4148169689Skan integer modes, attempt to directly construct an integer constant. 4149169689Skan 4150169689Skan * fold-const.c (native_encode_vector): Determine the size of each 4151169689Skan element from the vector type instead of the first vector element. 4152169689Skan 4153169689Skan * tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant, 4154169689Skan if all of its elements/components are constant. 4155169689Skan (build_constructor_from_list): Likewise. 4156169689Skan 4157169689Skan2006-06-20 Zdenek Dvorak <dvorakz@suse.cz> 4158169689Skan 4159169689Skan PR tree-optimization/27331 4160169689Skan * tree-data-ref.c (free_data_ref): New function. 4161169689Skan (create_data_ref): Fail if the data reference has unknown access 4162169689Skan function. 4163169689Skan (free_data_refs): Use free_data_ref. 4164169689Skan 4165169689Skan2006-06-19 Andrew Pinski <pinskia@gmail.com> 4166169689Skan 4167169689Skan PR middle-end/28075 4168169689Skan * tree-inline.c (setup_one_parameter): Strip useless 4169169689Skan type conversion before adding it to the IR. 4170169689Skan (declare_return_variable): Likewise. 4171169689Skan 4172169689Skan2006-06-19 Martin Michlmayr <tbm@cyrius.com> 4173169689Skan 4174169689Skan PR c/27149 4175169689Skan * c-common.c (c_common_truthvalue_conversion): Fix grammar in warning. 4176169689Skan 4177169689Skan2006-06-19 Mike Stump <mrs@apple.com> 4178169689Skan 4179169689Skan * tree.c (variably_modified_type_p): VM arguments don't make the 4180169689Skan type a VM type. 4181169689Skan 4182169689Skan2006-06-19 Richard Guenther <rguenther@suse.de> 4183169689Skan 4184169689Skan * tree-ssa-pre.c (try_combine_conversion): Strip useless 4185169689Skan type conversions after folding. 4186169689Skan 4187169689Skan2006-06-19 Richard Guenther <rguenther@suse.de> 4188169689Skan 4189169689Skan * ggc-page.c (extra_order_size_tab): Add entries with 4190169689Skan size of struct function and basic_block. 4191169689Skan (size_lookup): Extend to cover sizes up to 511. 4192169689Skan (ggc_alloc_stat): Adjust user. 4193169689Skan (ggc_pch_count_object): Likewise. 4194169689Skan (ggc_pch_alloc_object): Likewise. 4195169689Skan (ggc_pch_write_object): Likewise. 4196169689Skan 4197169689Skan2006-06-19 Zdenek Dvorak <dvorakz@suse.cz> 4198169689Skan 4199169689Skan * tree-ssa-loop-niter.c (implies_ge_p): New function. 4200169689Skan (derive_constant_upper_bound): Handle OP0 - CST in unsigned types 4201169689Skan correctly. 4202169689Skan 4203169689Skan2006-06-19 Denis Chertykov <denisc@overta.ru> 4204169689Skan 4205169689Skan * config/avr/libgcc.S : Correct my wrong previous commit. 4206169689Skan 4207169689Skan2006-06-19 Roger Sayle <roger@eyesopen.com> 4208169689Skan 4209169689Skan PR target/27861 4210169689Skan * expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may 4211169689Skan have stripped a SUBREG from the shift count, so we may need to 4212169689Skan convert_to_mode back to the type's mode before calling make_tree. 4213169689Skan Use new_amount instead of amount to avoid expanding a tree twice. 4214169689Skan 4215169689Skan2006-06-19 Richard Guenther <rguenther@suse.de> 4216169689Skan 4217169689Skan PR middle-end/28045 4218169689Skan * fold-const.c (operand_equal_p): Check if the argument types 4219169689Skan have the same precision before stripping NOPs. 4220169689Skan 4221169689Skan2006-06-19 Daniel Berlin <dberlin@dberlin.org> 4222169689Skan 4223169689Skan Fix PR tree-optimization/27341 4224169689Skan * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the 4225169689Skan statement we get. 4226169689Skan * tree-complex.c (pass_lower_complex): Update SMT usage. 4227169689Skan 4228169689Skan2006-06-19 Andreas Krebbel <krebbel1@de.ibm.com> 4229169689Skan 4230169689Skan * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"): 4231169689Skan Add a new alternative to the constraint strings. Add move of 4232169689Skan operand 1 to 3 to the splitter definition. 4233169689Skan ("doloop_si_long"): Second contraint alternative removed. 4234169689Skan 4235169689Skan2006-06-08 Anatoly Sokolov <aesok@post.ru> 4236169689Skan 4237169689Skan * config/avr/avr.h (avr_have_movw_lpmx_p): Declare. 4238169689Skan (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and 4239169689Skan __AVR_HAVE_LPMX__. 4240169689Skan (AVR_HAVE_MOVW) Define. 4241169689Skan (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW. 4242169689Skan (ASM_SPEC): Add avr25. 4243169689Skan (LINK_SPEC): Add avr25. 4244169689Skan * config/avr/avr.c (avr_have_movw_lpmx_p): Add. 4245169689Skan (base_arch_s): Add new member 'have_movw_lpmx'. 4246169689Skan (avr_arch_types): Init 'have_movw_lpmx'. 4247169689Skan (avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24, 4248169689Skan attiny44, attiny84, attiny25, attiny45, attiny85, attiny261, 4249169689Skan attiny461, attiny861 and at86rf401 in 'avr25' arhitecture. 4250169689Skan (avr_override_options): Init 'avr_have_movw_lpmx_p'. 4251169689Skan (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use 4252169689Skan AVR_HAVE_MOVW. 4253169689Skan (avr_file_start): Do not output '.arh' derective. 4254169689Skan * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__. 4255169689Skan (__do_copy_data): Use __AVR_HAVE_LPMX__. 4256169689Skan * config/avr/avr.md (mcu_enhanced): Delete. 4257169689Skan (mcu_have_movw): Define. 4258169689Skan (negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'. 4259169689Skan (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__. 4260169689Skan * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25. 4261169689Skan (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44, 4262169689Skan attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, 4263169689Skan attiny861 and at86rf401 devices. 4264169689Skan 4265169689Skan2006-06-18 Jie Zhang <jie.zhang@analog.com> 4266169689Skan 4267169689Skan * config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead 4268169689Skan of 4096. 4269169689Skan 4270169689Skan2006-06-17 Karl Berry <karl@gnu.org> 4271169689Skan 4272169689Skan * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi, 4273169689Skan doc/gccint.texi, doc/install.texi (@dircategory): Use 4274169689Skan "Software development" instead of "Programming", following 4275169689Skan the Free Software Directory. 4276169689Skan 4277169689Skan2006-06-17 Alexandre Oliva <aoliva@redhat.com> 4278169689Skan 4279169689Skan * config/i386/i386.c (legitimate_tls_address) 4280169689Skan <TARGET_GNU2_TLS>: Add tp after DTPOFF. 4281169689Skan * config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust. 4282169689Skan (*tls_dynamic_gnu2_combine_64): Likewise. 4283169689Skan 4284169689Skan2006-06-16 Richard Guenther <rguenther@suse.de> 4285169689Skan 4286169689Skan PR middle-end/27116 4287169689Skan * fold-const.c (negate_expr_p): Do not introduce undefined 4288169689Skan overflow in negating INTEGER_CSTs. 4289169689Skan (fold_negate_expr): Rename from negate_expr. Revert last 4290169689Skan change for folding BIT_NOT_EXPR. Change semantics to 4291169689Skan return NULL_TREE for non-simplified negations. Do not 4292169689Skan strip type conversions and unify type handling. 4293169689Skan (negate_expr): New function, wrap around fold_negate_expr 4294169689Skan but ensure building a tree always. Strip type conversions 4295169689Skan here, fold to result type. 4296169689Skan (fold_unary): Use fold_negate_expr for folding NEGATE_EXPR. 4297169689Skan 4298169689Skan2006-06-16 Roger Sayle <roger@eyesopen.com> 4299169689Skan 4300169689Skan PR middle-end/27802 4301169689Skan * reg-stack.c (subst_stack_regs): Handle noreturn function calls 4302169689Skan that (would) return their results in stack registers. 4303169689Skan 4304169689Skan2006-06-16 Michael Matz <matz@suse.de> 4305169689Skan Richard Guenther <rguenther@suse.de> 4306169689Skan 4307169689Skan * fold-const.c (fold_truthop): Only return new tree node if 4308169689Skan we canonicalized something. 4309169689Skan 4310169689Skan2006-06-16 Richard Guenther <rguenther@suse.de> 4311169689Skan 4312169689Skan * function.h (enum function_frequency): Move declaration 4313169689Skan out of struct function. 4314169689Skan (struct function): Move bool fields and the enum to the bitfield 4315169689Skan section. Reorder elements to avoid padding. Remove unused 4316169689Skan fields left over from the RTL inliner removal. 4317169689Skan * function.c (free_after_compilation): Do not zero removed fields. 4318169689Skan * Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency. 4319169689Skan (ipa-type-escape.o): Likewise. 4320169689Skan 4321169689Skan2006-06-16 Richard Guenther <rguenther@suse.de> 4322169689Skan 4323169689Skan * cgraph.h (struct cgraph_local_info): Turn bool elements 4324169689Skan into a bitfield. 4325169689Skan (struct cgraph_node): Likewise. 4326169689Skan (struct cgraph_varpool_node): Likewise. 4327169689Skan 4328169689Skan2006-06-15 Richard Guenther <rguenther@suse.de> 4329169689Skan 4330169689Skan * fold-const.c (fold_truth_not_expr): Rename from 4331169689Skan invert_truthvalue. Give it fold_* semantics to avoid 4332169689Skan generating garbage. 4333169689Skan (invert_truthvalue): New function. Wrapper around 4334169689Skan fold_truth_not_expr. 4335169689Skan (optimize_minmax_comparison): Avoid creating garbage. 4336169689Skan (fold_unary): Use fold_truth_not_expr for folding 4337169689Skan TRUTH_NOT_EXPR. 4338169689Skan (fold_ternary): Replace uses of invert_truthvalue with 4339169689Skan fold_truth_not_expr where applicable. 4340169689Skan * tree.h (fold_truth_not_expr): Prototype. 4341169689Skan 4342169689Skan2006-06-16 Richard Guenther <rguenther@suse.de> 4343169689Skan 4344169689Skan PR tree-optimization/27781 4345169689Skan * Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency. 4346169689Skan * ipa-pure-const.c (target.h): Include. 4347169689Skan (analyze_function): Do not analyze functions that do not 4348169689Skan bind locally. 4349169689Skan 4350169689Skan2006-06-15 Andrew MacLeod <amacleod@redhat.com> 4351169689Skan 4352169689Skan PR middle-end/27793 4353169689Skan * tree-dfa.c (referenced_vars_dup_list): Remove. 4354169689Skan (find_referenced_vars): Remove assert. 4355169689Skan (referenced_var_check_and_insert): Replace dup list with assert. 4356169689Skan * tree-ssa.c (delete_tree_ssa): Remove dup list processing. 4357169689Skan * tree-flow.h (referenced_vars_dup_list): Remove extern decl. 4358169689Skan 4359169689Skan2006-06-15 Richard Guenther <rguenther@suse.de> 4360169689Skan 4361169689Skan * tree-ssa-structalias.c (alias_get_name): Avoid creating 4362169689Skan extra unused identifiers if not dumping. 4363169689Skan (create_variable_info_for): Likewise. 4364169689Skan 4365169689Skan2006-06-15 Zdenek Dvorak <dvorakz@suse.cz> 4366169689Skan 4367169689Skan * tree-ssa-loop-niter.c (implies_nonnegative_p): New function. 4368169689Skan (derive_constant_upper_bound): Derive more precise upper bound in 4369169689Skan common cases. Return type changed to double_int. 4370169689Skan (record_estimate): Reflect the changed return type of 4371169689Skan derive_constant_upper_bound. 4372169689Skan * double-int.c (double_int_zext, double_int_sext): Fix. 4373169689Skan 4374169689Skan2006-06-15 Paolo Bonzini <bonzini@gnu.org> 4375169689Skan 4376169689Skan * configure.ac (CFLAGS): Get them from the toplevel or from the 4377169689Skan configure invocation. 4378169689Skan * configure: Regenerate. 4379169689Skan * Makefile.in (CFLAGS): Substitute value provided by configure. 4380169689Skan 4381169689Skan2006-06-14 Mark Mitchell <mark@codesourcery.com> 4382169689Skan 4383169689Skan PR c++/26559 4384169689Skan * c-common.h (c_finish_omp_atomic): Adjust declaration. 4385169689Skan * c-omp.c (c_finish_omp_atomic): Return the expression to perform, 4386169689Skan rather than calling add_stmt on it. 4387169689Skan * c-parser.c (c_parser_omp_atomic): Adjust accordingly. 4388169689Skan 4389169689Skan2006-06-14 Andreas Krebbel <krebbel1@de.ibm.com> 4390169689Skan 4391169689Skan PR middle-end/27959 4392169689Skan * reload1.c (reload): Remove registers returned by update_eliminables 4393169689Skan from used_spill_regs. 4394169689Skan 4395169689Skan2006-06-13 DJ Delorie <dj@redhat.com> 4396169689Skan 4397169689Skan * config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants. 4398169689Skan 4399169689Skan2006-06-13 Carlos O'Donell <carlos@codesourcery.com> 4400169689Skan 4401169689Skan * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL, 4402169689Skan html__strip_dir, html__mkdir_p. Enhance install-html target. 4403169689Skan * configure.ac: AC_SUBST datarootdir, docdir and htmldir. 4404169689Skan * configure: Regenerate. 4405169689Skan 4406169689Skan2006-06-13 Fariborz Jahanian <fjahanian@apple.com> 4407169689Skan 4408169689Skan * fold-const.c (fold_cond_expr_with_comparison): Check for 4409169689Skan Objective-C++ as language in deciding COND_EXPR transformation. 4410169689Skan 4411169689Skan2006-06-06 J"orn Rennecke <joern.rennecke@st.com> 4412169689Skan 4413169689Skan PR target/28014: 4414169689Skan * config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16 4415169689Skan * config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'. 4416169689Skan * config/sh/lib1funcs.h (SL, SL1): Define. 4417169689Skan * config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function. 4418169689Skan * longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss. 4419169689Skan * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule. 4420169689Skan (OBJS_Os_4_200): New variable. 4421169689Skan ($(T)libgcc-Os-4-200.a): Use it. 4422169689Skan * sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call 4423169689Skan when dividing 1 and/or by 0. 4424169689Skan 4425169689Skan2006-06-13 Roger Sayle <roger@eyesopen.com> 4426169689Skan 4427169689Skan * configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h> 4428169689Skan before <ucontext.h> to define sigset_t required by <sys/ucontext.h>. 4429169689Skan * configure: Regenerate. 4430169689Skan 4431169689Skan2006-06-13 Jie Zhang <jie.zhang@analog.com> 4432169689Skan 4433169689Skan * config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized () 4434169689Skan for real instruction. 4435169689Skan 4436169689Skan2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 4437169689Skan 4438169689Skan PR middle-end/26807 4439169689Skan * haifa-sched.c (check_cfg): Handle special case. 4440169689Skan 4441169689Skan2006-06-13 Eric Botcazou <ebotcazou@adacore.com> 4442169689Skan 4443169689Skan PR debug/26754 4444169689Skan * gimplify.c (declare_tmp_vars): Rename into declare_vars. 4445169689Skan Add debug_info parameter. Chain the vars to the BLOCK instead 4446169689Skan of the BIND_EXPR if debug info are requested for them. 4447169689Skan (pop_gimplify_context): Adjust for above change. 4448169689Skan (gimple_add_tmp_var): Likewise. 4449169689Skan * tree-gimple.h (declare_tmp_vars): Rename into declare_vars. 4450169689Skan Add bool parameter. 4451169689Skan * tree-nested.c (convert_nonlocal_reference): Adjust for above change. 4452169689Skan (convert_local_reference): Likewise. 4453169689Skan (get_local_debug_decl): Set DECL_IGNORED_P on the original variable. 4454169689Skan (finalize_nesting_tree_1): Request that debug info be emitted 4455169689Skan for debug_var_chain. 4456169689Skan 4457169689Skan2006-06-13 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 4458169689Skan 4459169689Skan * haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch 4460169689Skan for PR target/27863. 4461169689Skan 4462169689Skan2006-06-13 Richard Guenther <rguenther@suse.de> 4463169689Skan 4464169689Skan PR middle-end/27536 4465169689Skan * except.c (output_ttype): Expand type with EXPAND_INITIALIZER. 4466169689Skan 4467169689Skan2006-06-13 Richard Guenther <rguenther@suse.de> 4468169689Skan 4469169689Skan PR tree-optimization/27830 4470169689Skan * tree-inline.c (copy_body_r): For copying the operand 4471169689Skan of an ADDR_EXPR make sure to fold &* afterwards. 4472169689Skan 4473169689Skan2006-06-12 Eric Botcazou <ebotcazou@adacore.com> 4474169689Skan 4475169689Skan * gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other 4476169689Skan lvalues in the fb_none case with side-effects. 4477169689Skan 4478169689Skan2006-06-12 Kazu Hirata <kazu@codesourcery.com> 4479169689Skan 4480169689Skan * tree-flow.h: Remove the prototype for 4481169689Skan compute_phi_arg_on_exit. 4482169689Skan * tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use, 4483169689Skan protect_loop_closed_ssa_form, compute_phi_arg_on_exit): 4484169689Skan Remove. 4485169689Skan 4486169689Skan2006-06-12 Mark Shinwell <shinwell@codesourcery.com> 4487169689Skan 4488169689Skan * builtins.c (expand_builtin_return_addr): Only use 4489169689Skan frame_pointer_rtx when count == 0 and we are expanding 4490169689Skan __builtin_return_address. 4491169689Skan 4492169689Skan2006-06-12 Fred Fish <fnf@specifix.com> 4493169689Skan 4494169689Skan * config/mips/mips.c (mips_file_start): Create special section 4495169689Skan ".gcc_compiled_longXX" for o64 ABI as well as EABI. 4496169689Skan 4497169689Skan2006-06-11 Eric Christopher <echristo@apple.com> 4498169689Skan 4499169689Skan PR middle-end/27948 4500169689Skan * stor-layout.c (place_field): Remove check for 4501169689Skan remaining_in_alignment when aligning at the end of a run. 4502169689Skan 4503169689Skan2006-06-11 Eric Christopher <echristo@apple.com> 4504169689Skan 4505169689Skan PR 27542 4506169689Skan * doc/extend.texi (Structure-Packing Pragmas): Document ms_struct 4507169689Skan pragma. 4508169689Skan 4509169689Skan2006-06-11 Roger Sayle <roger@eyesopen.com> 4510169689Skan 4511169689Skan PR target/27858 4512169689Skan Revert incorrect fix for PR target/27158 4513169689Skan 2006-05-08 Roger Sayle <roger@eyesopen.com> 4514169689Skan * reload.c (find_reloads_toplev): Only return the simplified SUBREG 4515169689Skan of a reg_equiv_constant if the result is a legitimate constant. 4516169689Skan 4517169689Skan2006-06-11 Roger Sayle <roger@eyesopen.com> 4518169689Skan 4519169689Skan PR target/27158 4520169689Skan * config/rs6000/rs6000.c (const_vector_elt_as_int): New function to 4521169689Skan extract a CONST_VECTOR element and interpret it as an integer. 4522169689Skan (vspltis_constant): Use const_vector_elt_as_int instead of the 4523169689Skan macro CONST_VECTOR_ELT in order to handle FP vector modes. 4524169689Skan * config/rs6000/predicates.md (easy_vector_const): Consider 4525169689Skan floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant. 4526169689Skan 4527169689Skan2006-06-11 Kaz Kojima <kkojima@gcc.gnu.org> 4528169689Skan 4529169689Skan PR middle-end/27942 4530169689Skan * stor-layout.c (update_alignment_for_field): Don't add extra 4531169689Skan alignment for packed non-bitfield fields in ms_bitfield_layout_p 4532169689Skan code. 4533169689Skan 4534169689Skan2006-06-09 Ralf Corsepius <ralf.corsepius@rtems.org> 4535169689Skan 4536169689Skan * config/mips/t-rtems: Add EL/EB multilib variants. 4537169689Skan 4538169689Skan2006-06-09 Mike Stump <mrs@apple.com> 4539169689Skan 4540169689Skan * c-typeck.c (c_begin_vm_scope): Fix file_scope processing. 4541169689Skan 4542169689Skan2006-06-09 David Daney <ddaney@avtrex.com> 4543169689Skan 4544169689Skan * doc/install.texi: Add binutils version recommendation for mips-*-*. 4545169689Skan 4546169689Skan2006-06-09 Andreas Krebbel <krebbel1@de.ibm.com> 4547169689Skan 4548169689Skan * reload.c (find_reloads): Unset force_reload for 'X' constraint. 4549169689Skan 4550169689Skan2006-06-09 Richard Guenther <rguenther@suse.de> 4551169689Skan 4552169689Skan PR tree-optimization/26998 4553169689Skan * tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR 4554169689Skan of signed types, only TYPE_MIN_VALUE is special, but for both, 4555169689Skan minimum and maximum value. Likewise VR_ANTI_RANGE is special 4556169689Skan in this case, as is -fwrapv. 4557169689Skan 4558169689Skan2006-06-08 Mike Stump <mrs@apple.com> 4559169689Skan 4560169689Skan PR target/26427 4561169689Skan * config/darwin.c (darwin_asm_output_anchor): Disable 4562169689Skan -fsection-anchors on darwin for now. 4563169689Skan * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise. 4564169689Skan * rs6000/rs6000.c (optimization_options): Likewise. 4565169689Skan 4566169689Skan2006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 4567169689Skan 4568169689Skan PR target/27421 4569169689Skan * config/i386/i386.c (classify_argument): Skip fields with invalid 4570169689Skan types in unions. 4571169689Skan 4572169689Skan2006-06-08 Steven Bosscher <steven@gcc.gnu.org> 4573169689Skan 4574169689Skan * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG. 4575169689Skan (cse_insn): Likewise for the stack_pointer_rtx. 4576169689Skan 4577169689Skan2006-06-08 Roger Sayle <roger@eyesopen.com> 4578169689Skan 4579169689Skan * tree-ssa-dom.c (record_conditions): Only record "unordered" 4580169689Skan conditions from floating point comparisons. 4581169689Skan 4582169689Skan2006-06-08 Paolo Bonzini <bonzini@gnu.org> 4583169689Skan 4584169689Skan PR middle-end/27733 4585169689Skan * expmed.c (struct alg_hash_entry): Fix type of field T 4586169689Skan to match synth_mult argument. 4587169689Skan (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT. 4588169689Skan 4589169689Skan2006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 4590169689Skan 4591169689Skan PR target/27863 4592169689Skan * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic 4593169689Skan block boundaries. 4594169689Skan 4595169689Skan2006-06-08 Richard Guenther <rguenther@suse.de> 4596169689Skan 4597169689Skan PR middle-end/27116 4598169689Skan * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR 4599169689Skan only, if overflow is defined and not trapping. 4600169689Skan (negate_expr): Likewise. 4601169689Skan 4602169689Skan2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> 4603169689Skan 4604169689Skan PR tree-optimization/27872 4605169689Skan * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP 4606169689Skan flag on the new exit edge of the unrolled loop. 4607169689Skan 4608169689Skan2006-06-07 Zdenek Dvorak <dvorakz@suse.cz> 4609169689Skan 4610169689Skan PR rtl-optimization/26449 4611169689Skan * loop-invariant.c (move_invariant_reg): Fail if force_operand fails. 4612169689Skan 4613169689Skan2006-06-07 Andrew MacLeod <amacleod@redhat.com> 4614169689Skan 4615169689Skan PR middle-end/27793 4616169689Skan * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate 4617169689Skan referenced_variables with matching DECL_UID's. 4618169689Skan (find_referenced_vars): Make sure duplicate list is empty to start. 4619169689Skan (referenced_var_p): Remove. 4620169689Skan (referenced_var_check_and_insert): Renamed from referenced_var_insert. 4621169689Skan Check if var is in the list, and add if needed. Update the duplicate 4622169689Skan list if a different var is in the list with the same DECL_UID. 4623169689Skan (add_referenced_var): Call routine to check and insert. 4624169689Skan * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates. 4625169689Skan * tree-flow.h (referenced_vars_dup_list): External declaration. 4626169689Skan 4627169689Skan2006-06-07 Fred Fish <fnf@specifix.com> 4628169689Skan 4629169689Skan * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries 4630169689Skan into single entry. 4631169689Skan 4632169689Skan2006-06-07 Paolo Bonzini <bonzini@gnu.org> 4633169689Skan 4634169689Skan PR target/27390 4635169689Skan * reg-stack.c (subst_stack_regs_pat): Reorder resetting of 4636169689Skan the imaginary and real parts of a clobbered register. 4637169689Skan Emit insn to set the imaginary part. 4638169689Skan 4639169689Skan2006-06-06 Peter Lemieszewski <lemie@us.ibm.com> 4640169689Skan 4641169689Skan * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c 4642169689Skan in lieu of unwind-dw2-fde.c. 4643169689Skan 4644169689Skan2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 4645169689Skan 4646169689Skan * config/i386/mingw32.h (GOMP_SELF_SPECS): Define. 4647169689Skan 4648169689Skan2006-06-06 Ulrich Weigand <uweigand@de.ibm.com> 4649169689Skan 4650169689Skan PR target/27842 4651169689Skan * config/rs6000/altivec.md (UNSPEC_VSLW): Remove. 4652169689Skan ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove. 4653169689Skan ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use 4654169689Skan V4SImode temporaries and operations instead. 4655169689Skan 4656169689Skan2006-06-06 Joseph S. Myers <joseph@codesourcery.com> 4657169689Skan 4658169689Skan * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not 4659169689Skan dp-bit.c. 4660169689Skan 4661169689Skan2006-06-06 Mike Stump <mrs@apple.com> 4662169689Skan 4663169689Skan * Makefile.in: Rename to htmldir to build_htmldir to avoid 4664169689Skan installing during build. 4665169689Skan 4666169689Skan2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 4667169689Skan 4668169689Skan * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default 4669169689Skan value to 0. 4670169689Skan * doc/invoke.texi (max-sched-extend-regions-iters): Document. 4671169689Skan * config/ia64/ia64.c (params.h): New header. 4672169689Skan (ia64_optimization_options): New function to adjust parameters. 4673169689Skan * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype. 4674169689Skan * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro. 4675169689Skan * config/ia64/t-ia64 (ia64.o): Add dependence from params.h . 4676169689Skan 4677169689Skan2006-06-05 Kazu Hirata <kazu@codesourcery.com> 4678169689Skan 4679169689Skan * stor-layout.c (debug_rli): Fix a typo in a debug message. 4680169689Skan 4681169689Skan2006-06-05 Steve Ellcey <sje@cup.hp.com> 4682169689Skan 4683169689Skan PR target/27051 4684169689Skan * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA. 4685169689Skan 4686169689Skan2006-06-05 Dorit Nuzman <dorit@il.ibm.com> 4687169689Skan Victor Kaplansky <victork@il.ibm.com> 4688169689Skan 4689169689Skan PR tree-optimization/26360 4690169689Skan * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern 4691169689Skan stmts. 4692169689Skan 4693169689Skan2006-06-04 Roger Sayle <roger@eyesopen.com> 4694169689Skan Andrew Pinski <pinskia@physics.uc.edu> 4695169689Skan 4696169689Skan PR middle-end/27382 4697169689Skan * c-common.c (c_common_truthvalue_conversion): Explicitly check 4698169689Skan for LABEL_DECL before calling DECL_WEAK. 4699169689Skan 4700169689Skan PR c/27150 4701169689Skan * c-typeck.c (build_binary_op): Likewise, explicitly check for 4702169689Skan LABEL_DECL and PARM_DECL. 4703169689Skan 4704169689Skan2006-06-05 Joseph S. Myers <joseph@codesourcery.com> 4705169689Skan 4706169689Skan PR c/25161 4707169689Skan PR c/27020 4708169689Skan * c-decl.c (grokdeclarator): Disallow variably modified types at 4709169689Skan file scope. Avoid marking shared array type of constant size as 4710169689Skan VLA. 4711169689Skan 4712169689Skan2006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 4713169689Skan 4714169689Skan PR c++/27601 4715169689Skan * c-common.c (fold_offsetof_1): Handle static members. 4716169689Skan 4717169689Skan2006-06-04 Eric Christopher <echristo@apple.com> 4718169689Skan 4719169689Skan * stor-layout.c (start_record_layout): Initialize remaining_in_alignment. 4720169689Skan (debug_rli): Output value for remaining_in_alignment. 4721169689Skan (update_alignment_for_field): Unconditionalize 4722169689Skan ms_bitfield_layout_p code. Handle non-bitfield fields. Remove 4723169689Skan extra alignment code. 4724169689Skan (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize 4725169689Skan ms_bitfield_layout_p code. Rewrite handling of structure fields. 4726169689Skan * tree.h (record_layout_info_s): Remove prev_packed. 4727169689Skan * doc/extend.texi (ms_struct): Add documentation of format. 4728169689Skan 4729169689Skan2006-06-04 Mark Shinwell <shinwell@codesourcery.com> 4730169689Skan 4731169689Skan * tree.h: Declare folding_initializer. 4732169689Skan * builtins.c (fold_builtin_constant_p): Give definite answer 4733169689Skan if folding inside an initializer. 4734169689Skan * fold-const.c: Define folding_initializer. 4735169689Skan (START_FOLD_INIT): Save and then set folding_initializer. 4736169689Skan (END_FOLD_INIT): Restore folding_initializer. 4737169689Skan 4738169689Skan2006-06-04 Richard Guenther <rguenther@suse.de> 4739169689Skan 4740169689Skan PR tree-optimization/27039 4741169689Skan * fold-const.c (fold_comparison): Handle pointer comparison 4742169689Skan again for all comparison codes. Compare offsets in signed 4743169689Skan size type. 4744169689Skan (fold_binary): Move code from here. 4745169689Skan 4746169689Skan2006-06-03 Roger Sayle <roger@eyesopen.com> 4747169689Skan 4748169689Skan PR target/26223 4749169689Skan * config/i386/i386.c (construct_container): Split static issued_error 4750169689Skan flag into issued_sse_arg_error, issued_sse_ret_error and 4751169689Skan issued_x87_ret_error. Issue a daignostic if the x86-64 ABI 4752169689Skan requires the use of x87 registers and the user explicitly 4753169689Skan specified the -mno-80387 command line option. 4754169689Skan 4755169689Skan2006-06-02 Geoffrey Keating <geoffk@apple.com> 4756169689Skan 4757169689Skan * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with 4758169689Skan HAVE_DECL_SIGALTSTACK. 4759169689Skan (MC_FLD): New. 4760169689Skan (segv_handler): Use MC_FLD. 4761169689Skan * configure.ac: Check for a sigaltstack declaration. 4762169689Skan Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin. 4763169689Skan * configure: Regenerate. 4764169689Skan * config.in: Regenerate. 4765169689Skan 4766169689Skan2006-06-03 J"orn Rennecke <joern.rennecke@st.com> 4767169689Skan 4768169689Skan PR other/27850 4769169689Skan * Makefile.in (stmp-fixinc): Fix typo. 4770169689Skan 4771169689Skan2006-06-02 Roger Sayle <roger@eyesopen.com> 4772169689Skan 4773169689Skan * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions 4774169689Skan are type correct. Clean-up. 4775169689Skan <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z). 4776169689Skan <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z). 4777169689Skan 4778169689Skan2006-06-01 DJ Delorie <dj@redhat.com> 4779169689Skan 4780169689Skan * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the 4781169689Skan shift, as we've disabled the "switch" insn that needs it. 4782169689Skan 4783169689Skan2006-06-01 Per Bothner <bothner@bothner.com> 4784169689Skan 4785169689Skan Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output. 4786169689Skan * c-opts.c (finish_options): Use internal line 0 for <command-line>. 4787169689Skan * c-ppoutput.c (cb_define): Don't increment line 0. 4788169689Skan 4789169689Skan2006-06-01 Pete Steinmetz <steinmtz@us.ibm.com> 4790169689Skan 4791169689Skan * doc/invoke.texi: Add cpu_type power6. 4792169689Skan * config.gcc: Add cpu_type power6. 4793169689Skan * config/rs6000/rs6000.c (rs6000_override_options): Alias power6 4794169689Skan to power5+ with Altivec. 4795169689Skan * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6. 4796169689Skan * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6. 4797169689Skan 4798169689Skan2006-05-30 Anatoly Sokolov <aesok@post.ru> 4799169689Skan 4800169689Skan * config/avr/avr.h (SET_ASM_OP): Define. 4801169689Skan 4802169689Skan2006-06-01 Kazu Hirata <kazu@codesourcery.com> 4803169689Skan 4804169689Skan * config/bfin/bfin.c: Fix comment typos. 4805169689Skan 4806169689Skan2006-06-01 Paolo Bonzini <bonzini@gnu.org> 4807169689Skan 4808169689Skan PR 25453 4809169689Skan * doc/install.texi: Document --enable-bootstrap and 4810169689Skan --disable-bootstrap. 4811169689Skan 4812169689Skan2006-06-01 Paolo Bonzini <bonzini@gnu.org> 4813169689Skan 4814169689Skan * doc/install.texi: Document that InfoZIP can replace jar. 4815169689Skan 4816169689Skan2006-05-31 Roger Sayle <roger@eyesopen.com> 4817169689Skan 4818169689Skan * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE 4819169689Skan isn't available, directly generate the simpler x87 patterns without 4820169689Skan the (use (const_int 0)). 4821169689Skan * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE 4822169689Skan implementation isn't available. 4823169689Skan (*negdf2_1): Likewise. 4824169689Skan (*negxf2_1): XF mode negation is always done using the x87. 4825169689Skan (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs. 4826169689Skan 4827169689Skan2006-05-31 Roger Sayle <roger@eyesopen.com> 4828169689Skan 4829169689Skan * builtins.c (fold_builtin_cabs): Delete prototype. Require an 4830169689Skan additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as 4831169689Skan cabs(z). 4832169689Skan (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call. 4833169689Skan 4834169689Skan2006-05-31 Jie Zhang <jie.zhang@analog.com> 4835169689Skan 4836169689Skan * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare. 4837169689Skan * config/bfin/bfin.c (basic-block.h): Include. 4838169689Skan (struct machine_function): New. 4839169689Skan (bfin_init_machine_status): New. 4840169689Skan (override_options): Initialize init_machine_status. 4841169689Skan (bfin_hardware_loop): New. 4842169689Skan (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define. 4843169689Skan (DEF_VEC_P (loop_info)): New. 4844169689Skan (DEF_VEC_ALLOC_P (loop_info,heap)): New. 4845169689Skan (struct loop_info): New. 4846169689Skan (loop_info): New typedef. 4847169689Skan (struct loop_work): New. 4848169689Skan (loop_work): New typedef. 4849169689Skan (DEF_VEC_O (loop_work)): New. 4850169689Skan (DEF_VEC_ALLOC_O (loop_work,heap)): New. 4851169689Skan (bfin_dump_loops): New. 4852169689Skan (bfin_bb_in_loop): New. 4853169689Skan (bfin_scan_loop): New. 4854169689Skan (bfin_optimize_loop): New. 4855169689Skan (bfin_reorg_loops): New. 4856169689Skan (bfin_reorg): Use bfin_reorg_loops. 4857169689Skan * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding 4858169689Skan loop registers. 4859169689Skan (I_REGNO_P): Simplify. 4860169689Skan (DP_REGNO_P, DPREG_P): New macros. 4861169689Skan (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS, 4862169689Skan REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1. 4863169689Skan (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): 4864169689Skan Add LT_REGS, LC_REGS, LB_REGS. 4865169689Skan (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS, 4866169689Skan 'l' for LB_REGS. 4867169689Skan (REGNO_REG_CLASS): Deal with loop registers. 4868169689Skan * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint 4869169689Skan letters. 4870169689Skan (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1): 4871169689Skan New constants for loop registers. 4872169689Skan (UNSPEC_LSETUP_END): New. 4873169689Skan (seq_insns): New define_attr. Set it for appropriate insns. 4874169689Skan (movsi_insn): Add alternatives for move from/to 4875169689Skan loop count registers. 4876169689Skan (doloop_end): New define_expand. 4877169689Skan (loop_end): New define_insn. 4878169689Skan (define_split for bad doloop_end): New. 4879169689Skan (lsetup_with_autoinit): New define_insn. 4880169689Skan (lsetup_without_autoinit): New define_insn. 4881169689Skan (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1. 4882169689Skan * config/bfin/predicates.md (lc_register_operand): New. 4883169689Skan (lt_register_operand): New. 4884169689Skan (lb_register_operand): New. 4885169689Skan (nondp_register_operand): New. 4886169689Skan (nondp_reg_or_memory_operand): New. 4887169689Skan * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters. 4888169689Skan 4889169689Skan2006-05-31 Jie Zhang <jie.zhang@analog.com> 4890169689Skan 4891169689Skan * config/bfin/bfin.c (bfin_delegitimize_address): New. 4892169689Skan (TARGET_DELEGITIMIZE_ADDRESS): Define. 4893169689Skan 4894169689Skan2006-05-31 Daniel Jacobowitz <dan@codesourcery.com> 4895169689Skan 4896169689Skan * Makefile.in (CATALOGS): Add po/ prefix. 4897169689Skan * configure: Regenerated. 4898169689Skan 4899169689Skan2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com> 4900169689Skan 4901169689Skan PR target/27829 4902169689Skan * arm.c (arm_print_operand case 'S'): Validate that the operand is 4903169689Skan a shift operand before calling shift_op. Avoid redundant call of 4904169689Skan shift_op. 4905169689Skan 4906169689Skan2006-05-30 Naveen.H.S <naveenh@kpitcummins.com> 4907169689Skan DJ Delorie <dj@redhat.com> 4908169689Skan 4909169689Skan * config/m32c/m32c.c (m32c_expand_insv): Check that the value 4910169689Skan we're inserting is a singlt-bit constant. 4911169689Skan 4912169689Skan2006-05-30 Roger Sayle <roger@eyesopen.com> 4913169689Skan 4914169689Skan * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast 4915169689Skan width to HOST_WIDE_INT to avoid comparison warnings on some targets. 4916169689Skan 4917169689Skan2006-05-30 Roger Sayle <roger@eyesopen.com> 4918169689Skan 4919169689Skan PR tree-optimization/23452 4920169689Skan * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary, 4921169689Skan to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2. 4922169689Skan (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral 4923169689Skan complex values and with -ffast-math for FP complex values. 4924169689Skan 4925169689Skan2006-05-30 Kazu Hirata <kazu@codesourcery.com> 4926169689Skan 4927169689Skan * c-common.h: Remove the prototype for yyparse. 4928169689Skan * rtl.h: Remove the prototype for init_loop. 4929169689Skan 4930169689Skan2006-05-30 Andreas Krebbel <krebbel1@de.ibm.com> 4931169689Skan 4932169689Skan * cse.c (validate_canon_reg, cse_insn): Don't change insns without 4933169689Skan calling recog. 4934169689Skan 4935169689Skan2006-05-30 Roger Sayle <roger@eyesopen.com> 4936169689Skan 4937169689Skan * simplify-rtx.c (simplify_binary_operation): Unfactor the shift 4938169689Skan and rotate cases. 4939169689Skan <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is 4940169689Skan log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics. 4941169689Skan 4942169689Skan2006-05-30 Dirk Mueller <dmueller@suse.de> 4943169689Skan 4944169689Skan PR c/27273 4945169689Skan * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW 4946169689Skan for CONSTANT_CLASS_P expresisons. 4947169689Skan 4948169689Skan2006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 4949169689Skan 4950169689Skan PR c/27718 4951169689Skan * c-typeck.c (c_expr_sizeof_type): Handle invalid types. 4952169689Skan 4953169689Skan2006-05-30 Zdenek Dvorak <dvorakz@suse.cz> 4954169689Skan 4955169689Skan PR tree-optimization/27779 4956169689Skan * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use 4957169689Skan initial_condition instead of CHREC_LEFT. 4958169689Skan 4959169689Skan2006-05-30 Steven Bosscher <stevenb.gcc@gmail.com> 4960169689Skan 4961169689Skan * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label. 4962169689Skan * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors): 4963169689Skan Make prototypes ISO C90. 4964169689Skan 4965169689Skan2006-05-30 Mircea Namolaru <namolaru@il.ibm.com> 4966169689Skan Leehod Baruch <leehod.baruch@weizmann.ac.il> 4967169689Skan 4968169689Skan * see.c (see_analyze_one_def): Correct check. 4969169689Skan (see_get_extension_data): Check if extension is parallel. 4970169689Skan (see_get_extension_reg): Likewise. 4971169689Skan 4972169689Skan2006-05-30 Uros Bizjak <uros@kss-loka.si> 4973169689Skan 4974169689Skan PR target/27790 4975169689Skan * config/i386/i386.c (ix86_expand_int_vcond): Force cop0 4976169689Skan into register for (code == GTU). 4977169689Skan 4978169689Skan2006-05-29 Roger Sayle <roger@eyesopen.com> 4979169689Skan 4980169689Skan PR tree-optimization/24964 4981169689Skan * simplify-rtx.c (simplify_binary_operation_1): Add function comment. 4982169689Skan <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor 4983169689Skan signaling NaNs. Optimize -x*-x as x*x for all float modes, and 4984169689Skan abs(x)*abs(x) as x*x for scalar floating point modes. 4985169689Skan 4986169689Skan2006-05-29 Sebastian Pop <pop@cri.ensmp.fr> 4987169689Skan 4988169689Skan PR middle-end/27745 4989169689Skan * lambda-code.c (perfect_nestify): Don't copy statements 4990169689Skan in the inner loop: move them to the inner loop header. 4991169689Skan 4992169689Skan2006-05-29 Diego Novillo <dnovillo@redhat.com> 4993169689Skan 4994169689Skan PR 26237 4995169689Skan * c-tree.texi: Document OpenMP directives and clauses. 4996169689Skan 4997169689Skan2006-05-29 Kazu Hirata <kazu@codesourcery.com> 4998169689Skan 4999169689Skan * varasm.c (globalize_decl): Fix indentation. 5000169689Skan 5001169689Skan2006-05-29 Diego Novillo <dnovillo@redhat.com> 5002169689Skan 5003169689Skan PR 26242 5004169689Skan * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta, 5005169689Skan pass_fre, pass_store_ccp, pass_copy_prop, 5006169689Skan pass_store_copy_prop, pass_merge_phi, pass_nrv, 5007169689Skan pass_return_slot, pass_object_size, pass_lim, 5008169689Skan pass_linear_transform, pass_empty_loop, pass_complete_unroll, 5009169689Skan pass_loop_prefetch and pass_stdarg. 5010169689Skan 5011169689Skan2005-05-29 Bernd Schmidt <bernd.schmidt@analog.com> 5012169689Skan 5013169689Skan * config/bfin/bfin.opt (mfdpic): New option. 5014169689Skan * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o. 5015169689Skan (EXTRA_MULTILIB_PARTS): Likewise. 5016169689Skan (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic. 5017169689Skan (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic 5018169689Skan multilib. 5019169689Skan * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared. 5020169689Skan (CRT_CALL_STATIC_FUNCTION): New. 5021169689Skan * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if 5022169689Skan -shared. 5023169689Skan (CRT_CALL_STATIC_FUNCTION): New. 5024169689Skan * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle 5025169689Skan FD-PIC moves. 5026169689Skan (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC. 5027169689Skan (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4. 5028169689Skan (initialize_trampoline): Changed to handle FD-PIC code generation. 5029169689Skan (expand_move): If TARGET_FDPIC, use emit_pic_move as needed. 5030169689Skan (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC. 5031169689Skan (override_options): Disallow -mid-shared-library -mfdpic combination. 5032169689Skan Can't do unaligned ops if FD-PIC. 5033169689Skan Turn off flag_pic if trying to generate non-id-shared-library 5034169689Skan non-fdpic code, since it's not supported. 5035169689Skan (bfin_assemble_integer): New function. 5036169689Skan (TARGET_ASM_INTEGER): Define. 5037169689Skan * config/bfin/crti.s (__init, __fini): Save P3 on the stack if 5038169689Skan __BFIN_FDPIC__. 5039169689Skan * config/bfin/crtn.s: Restore them. 5040169689Skan * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__ 5041169689Skan if TARGET_FDPIC. 5042169689Skan (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, 5043169689Skan LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros. 5044169689Skan (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros. 5045169689Skan (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC. 5046169689Skan (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is 5047169689Skan call-used. 5048169689Skan (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add 5049169689Skan FDPIC_REGS and FDPIC_FPTR_REGS. 5050169689Skan (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them. 5051169689Skan * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4, 5052169689Skan UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants. 5053169689Skan (load_funcdescsi): New pattern. 5054169689Skan (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic, 5055169689Skan sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic, 5056169689Skan call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns. 5057169689Skan 5058169689Skan2006-05-29 Kazu Hirata <kazu@codesourcery.com> 5059169689Skan 5060169689Skan * gcse.c, rtlanal.c: Remove obsolete comments associated with 5061169689Skan loop.c. 5062169689Skan 5063169689Skan * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove. 5064169689Skan 5065169689Skan * tree-flow.h: Remove the prototype for add_type_alias. 5066169689Skan * tree-ssa-alias.c (add_type_alias): Remove. 5067169689Skan 5068169689Skan2006-05-28 Kazu Hirata <kazu@codesourcery.com> 5069169689Skan 5070169689Skan * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c, 5071169689Skan config/fr30/fr30.md, config/i386/i386-interix.h, 5072169689Skan config/i386/i386.c, config/i386/i386.md, config/sh/superh.h, 5073169689Skan config/sh/superh64.h, config/v850/v850.c, df-core.c, 5074169689Skan df-problems.c, df.h, except.c, final.c, haifa-sched.c, 5075169689Skan lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c, 5076169689Skan reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c, 5077169689Skan tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos. 5078169689Skan Follow spelling conventions. 5079169689Skan * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos. 5080169689Skan Follow spelling conventions. 5081169689Skan 5082169689Skan2006-05-27 Richard Guenther <rguenther@suse.de> 5083169689Skan 5084169689Skan PR middle-end/27773 5085169689Skan * fold-const.c (fold_plusminus_mult_expr): Use fold_convert 5086169689Skan to produce a constant of value 1 of generic type. 5087169689Skan 5088169689Skan2006-05-27 Dirk Mueller <dmueller@suse.de> 5089169689Skan 5090169689Skan * cgraphunit.c (decide_is_function_needed): Fix wrong 5091169689Skan PR reference. 5092169689Skan 5093169689Skan2006-05-26 Ulrich Weigand <uweigand@de.ibm.com> 5094169689Skan 5095169689Skan PR rtl-optimization/27661 5096169689Skan * reload.c (find_reloads): When reloading a VOIDmode constant 5097169689Skan as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint, 5098169689Skan use Pmode as mode of the reload register. 5099169689Skan 5100169689Skan2006-05-26 Eric Botcazou <ebotcazou@adacore.com> 5101169689Skan 5102169689Skan * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time 5103169689Skan is enabled at -O and above. 5104169689Skan 5105169689Skan2006-05-26 Steven Bosscher <steven@gcc.gnu.org> 5106169689Skan 5107169689Skan PR target/27571 5108169689Skan * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump 5109169689Skan table data. 5110169689Skan 5111169689Skan2006-05-25 Mark Mitchell <mark@codesourcery.com> 5112169689Skan 5113169689Skan PR c++/20103 5114169689Skan * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var 5115169689Skan for anonymous variables explicitly declared by front ends. 5116169689Skan 5117169689Skan2006-05-25 Eric Botcazou <ebotcazou@adacore.com> 5118169689Skan 5119169689Skan * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro. 5120169689Skan (struct alias_info): Add new field ref_all_symbol_mem_tag. 5121169689Skan * tree-ssa-alias.c (compute_may_aliases): If the program contains 5122169689Skan ref-all pointers, run a finalization pass for them. 5123169689Skan (compute_flow_insensitive_aliasing): Skip ref-all pointers. 5124169689Skan (finalize_ref_all_pointers): New function. 5125169689Skan (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a 5126169689Skan regular pointer type to a ref-all pointer type. 5127169689Skan (get_tmt_for): Return the special memory tag for ref-all pointers. 5128169689Skan 5129169689Skan2006-05-25 Richard Guenther <rguenther@suse.de> 5130169689Skan 5131169689Skan PR middle-end/27743 5132169689Skan * fold-const.c (fold_binary): Do not look at the stripped 5133169689Skan op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization. 5134169689Skan 5135169689Skan2006-05-25 Eric Botcazou <ebotcazou@adacore.com> 5136169689Skan 5137169689Skan * tree-vrp.c (extract_range_from_assert): Set the range to VARYING 5138169689Skan for LT and GT if the computed range is effectively empty. 5139169689Skan 5140169689Skan2006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 5141169689Skan 5142169689Skan PR target/27627 5143169689Skan * pa/pa-modes.def: Use mips_single_format, mips_double_format and 5144169689Skan mips_quad_format formats instead of ieee_single_format, 5145169689Skan ieee_double_format and ieee_quad_format formats, respectively. 5146169689Skan 5147169689Skan2006-05-24 Zdenek Dvorak <dvorakz@suse.cz> 5148169689Skan 5149169689Skan PR tree-optimization/27639 5150169689Skan PR tree-optimization/26719 5151169689Skan * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust 5152169689Skan call to scev_probably_wraps_p. 5153169689Skan * tree-ssa-loop-niter.c (compare_trees, convert_step_widening, 5154169689Skan used_in_pointer_arithmetic_p, convert_step): Removed. 5155169689Skan (nowrap_type_p): New function. 5156169689Skan (scev_probably_wraps_p): Rewritten. 5157169689Skan * tree-scalar-evolution.c (instantiate_parameters_1): Do not call 5158169689Skan chrec_convert if chrec_convert_aggressive might have been used. 5159169689Skan * tree-chrec.c (convert_affine_scev, chrec_convert_1, 5160169689Skan scev_direction): New functions. 5161169689Skan (chrec_convert): Changed to a wrapper over chrec_convert_1. 5162169689Skan * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev 5163169689Skan instead of convert_step. 5164169689Skan * tree-flow.h (scev_probably_wraps_p): Declaration changed. 5165169689Skan (convert_step): Declaration removed. 5166169689Skan (convert_affine_scev, nowrap_type_p, scev_direction): Declare. 5167169689Skan 5168169689Skan2006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com> 5169169689Skan 5170169689Skan * df-core.c: Added to header comments. 5171169689Skan * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, 5172169689Skan df_ur_bb_info, df_urec_bb_info): Added comments. 5173169689Skan * df-problems (df_ref_bitmap, ru, rd, lr, ur, 5174169689Skan urec, ri problems): Fixed header comments. 5175169689Skan (df_ru_transfer_function): Fixed in-out set dyslexia when copying 5176169689Skan code from df_rd_transfer_function. 5177169689Skan 5178169689Skan2006-05-23 Richard Sandiford <richard@codesourcery.com> 5179169689Skan 5180169689Skan * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro. 5181169689Skan (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than 5182169689Skan MIN_UNITS_PER_WORD to set the default. Also use it in the guard. 5183169689Skan 5184169689Skan2006-05-23 Joseph Myers <joseph@codesourcery.com> 5185169689Skan 5186169689Skan * expr.c (undefined_operand_subword_p): New. 5187169689Skan (emit_move_multi_word): Do not generate move from undefined bits 5188169689Skan of a paradoxical subreg. 5189169689Skan 5190169689Skan2006-05-23 Richard Sandiford <richard@codesourcery.com> 5191169689Skan 5192169689Skan PR rtl-optimization/27736 5193169689Skan * combine.c (replaced_rhs_value): New variable. 5194169689Skan (combine_instructions): Set it. 5195169689Skan (distribute_notes): When distributing a note in replaced_rhs_insn, 5196169689Skan check whether the value was used in replaced_rhs_value. 5197169689Skan 5198169689Skan2006-05-23 Andrew MacLeod <amacleod@redhat.com> 5199169689Skan 5200169689Skan PR c++/26757 5201169689Skan * tree-ssa-loop-im.c (determine_invariantness_stmt): Use 5202169689Skan add_referenced_var instead of add_referenced_tmp_var. 5203169689Skan * tree-complex.c (create_one_component_var): Use add_referenced_var. 5204169689Skan * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use 5205169689Skan add_referenced_var. 5206169689Skan * tree-tailcall.c (adjust_accumulator_values, adjust_return_value, 5207169689Skan tree_optimize_tail_calls_1): Use add_referenced_var. 5208169689Skan * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var. 5209169689Skan * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft): 5210169689Skan Use add_referenced_var. 5211169689Skan * tree-if-conv.c (ifc_temp_var): Use add_referenced_var. 5212169689Skan * gimplify.c (force_gimple_operand): Use add_referenced_var. 5213169689Skan * tree-ssa-phiopt.c (conditional_replacement, abs_replacement): 5214169689Skan Use add_referenced_var. 5215169689Skan * tree-dfa.c (struct walk_state): Remove. 5216169689Skan (find_referenced_vars): Remove walk state and vars_found hash table. 5217169689Skan (make_rename_temp): Use add_referenced_var. 5218169689Skan (find_vars_r): Pass less parameters to add_referenced_var. 5219169689Skan (referenced_var_p): New. Is var in referenced_var hash table. 5220169689Skan (referenced_var_insert): Assert var isn't already in hash table. 5221169689Skan (add_referenced_var): Don't need walk_state parameter. Add var if it 5222169689Skan isn't already in the hash table. 5223169689Skan (add_referenced_tmp_var): Remove. 5224169689Skan (find_new_referenced_vars_1): Use add_referenced_var. 5225169689Skan * tree-ssa-pre.c (create_expression_by_pieces, 5226169689Skan insert_into_preds_of_block, insert_extra_phis, realify_fake_stores): 5227169689Skan Use add_referenced_var. 5228169689Skan * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var. 5229169689Skan * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression, 5230169689Skan lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use 5231169689Skan add_referenced_var. 5232169689Skan * tree-vect-transform.c (vect_create_addr_base_for_vector_ref, 5233169689Skan vect_create_data_ref_ptr, vect_create_destination_var, 5234169689Skan vect_init_vector, vect_build_loop_niters, 5235169689Skan vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer, 5236169689Skan vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks): 5237169689Skan Use add_referenced_var. 5238169689Skan * tree-outof-ssa.c (create_temp): Use add_referenced_var. 5239169689Skan * tree-flow.h (add_referenced_tmp_var): Remove prototype 5240169689Skan (add_referenced_var): Add prototype. 5241169689Skan * tree-ssa-structalias.c (get_constraint_for, 5242169689Skan intra_create_variable_infos): Use add_referenced_var. 5243169689Skan 5244169689Skan2006-05-23 Alexandre Oliva <aoliva@redhat.com> 5245169689Skan 5246169689Skan * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for 5247169689Skan big-endian paradoxical subregs. 5248169689Skan * var-tracking.c (struct micro_operation_def): Document that, 5249169689Skan for modify micro operations, insn is the subsequent instruction. 5250169689Skan (var_reg_delete_and_set, var_mem_delete_and_set): Split into... 5251169689Skan (var_reg_set, var_mem_set): ... new functions. 5252169689Skan (add_stores): Record subsequent insn. 5253169689Skan (compute_bb_dataflow): Use new functions for MO_USE. 5254169689Skan (emit_notes_in_bb): Use new functions for MO_USE. Emit use 5255169689Skan notes after the insn, and modify notes before the insn known 5256169689Skan to be the subsequent one. 5257169689Skan (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs. 5258169689Skan 5259169689Skan2006-05-23 Kazu Hirata <kazu@codesourcery.com> 5260169689Skan 5261169689Skan PR target/27696 5262169689Skan * config/i386/i386.c (ix86_expand_builtin): Use 5263169689Skan gen_sse3_monitor64 for TARGET_64BIT. 5264169689Skan 5265169689Skan2006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com> 5266169689Skan 5267169689Skan PR rtl-optimization/26375 5268169689Skan PR rtl-optimization/26855 5269169689Skan * df-problems (df_ru_bb_local_compute_process_def): Removed update 5270169689Skan to gen set. 5271169689Skan (df_ru_bb_local_compute): Reversed statements and removed bogus 5272169689Skan comment explaining why they should be in wrong order. 5273169689Skan (df_ru_dump, df_rd_dump): Enhanced debug info. 5274169689Skan * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced 5275169689Skan debug info. 5276169689Skan * ddg.c (add_deps_for_def): Converted use of reaching defs to 5277169689Skan reaching uses and fixed space problem. 5278169689Skan 5279169689Skan2006-05-23 Jan Hubicka <jh@suse.cz> 5280169689Skan 5281169689Skan * cgraphunit.c (decide_is_function_needed): Also nested functions 5282169689Skan and functions declared inline can be optimized out at -O0. 5283169689Skan 5284169689Skan2006-05-22 Gerald Pfeifer <gerald@pfeifer.com> 5285169689Skan 5286169689Skan * doc/install.texi (Configuration): Remove reference to CrossGCC 5287169689Skan FAQ which was gone. 5288169689Skan (Building): Ditto. 5289169689Skan 5290169689Skan2006-05-22 Kazu Hirata <kazu@codesourcery.com> 5291169689Skan 5292169689Skan PR target/27266 5293169689Skan * config/i386/i386.c (ix86_expand_branch): Jump to simple if 5294169689Skan ix86_compare_emitted is non-NULL. 5295169689Skan 5296169689Skan2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 5297169689Skan 5298169689Skan PR c++/27451 5299169689Skan * stmt.c (expand_asm_operands): Skip asm statement with erroneous 5300169689Skan clobbers. 5301169689Skan 5302169689Skan2006-05-22 Richard Sandiford <richard@codesourcery.com> 5303169689Skan 5304169689Skan PR rtl-optimization/25514 5305169689Skan * combine.c (replaced_rhs_insn): New variable. 5306169689Skan (combine_instructions): Set replaced_rhs_insn when trying to replace 5307169689Skan a SET_SRC with a REG_EQUAL note. 5308169689Skan (distribute_notes): Use replaced_rhs_insn when determining the live 5309169689Skan range of a REG_DEAD register. 5310169689Skan 5311169689Skan2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 5312169689Skan Anatoly Sokolov <aesok@post.ru> 5313169689Skan 5314169689Skan * config/avr/avr.c (avr_mcu_types): Add support for attiny261, 5315169689Skan attiny461, attiny861, attiny25, attiny45, attiny85, attiny24, 5316169689Skan attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, 5317169689Skan atmega164p, atmega324p, atmega644p, atmega644, atmega329, 5318169689Skan atmega3290, atmega649, atmega6490, atmega406, atmega640, 5319169689Skan atmega1280, atmega1281, at90can32, at90can64, at90usb646, 5320169689Skan at90usb647, at90usb1286 and at90usb1287 devices. 5321169689Skan * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). 5322169689Skan * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). 5323169689Skan 5324169689Skan2006-05-22 Richard Sandiford <richard@codesourcery.com> 5325169689Skan 5326169689Skan * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment. 5327169689Skan 5328169689Skan2006-05-22 Richard Guenther <rguenther@suse.de> 5329169689Skan 5330169689Skan Revert 5331169689Skan 2006-01-31 Richard Guenther <rguenther@suse.de> 5332169689Skan Paolo Bonzini <bonzini@gnu.org> 5333169689Skan 5334169689Skan * doc/install.texi (--disable-libgcc-math): Document. 5335169689Skan 5336169689Skan2006-05-22 Richard Guenther <rguenther@suse.de> 5337169689Skan 5338169689Skan Revert 5339169689Skan 2006-01-31 Richard Guenther <rguenther@suse.de> 5340169689Skan 5341169689Skan * doc/invoke.texi (-msselibm): Document. 5342169689Skan * target.h (expand_library_builtin): New target hook. 5343169689Skan * builtins.c (expand_builtin): Use expand_library_builtin. 5344169689Skan (default_expand_library_builtin): New function. 5345169689Skan * gcc.c (LINK_GCC_MATH_SPEC): Define. 5346169689Skan (LINK_COMMAND_SPEC): Handle %(link_gcc_math). 5347169689Skan (link_gcc_math_spec): Declare. 5348169689Skan (static_specs): Add link_gcc_math_spec. 5349169689Skan * expr.h (default_expand_library_builtin): Declare. 5350169689Skan * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. 5351169689Skan (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. 5352169689Skan * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. 5353169689Skan * config/i386/i386.opt (msselibm): New target option. 5354169689Skan * config/i386/i386.c (ix86_builtin_function_variants): New array. 5355169689Skan (ix86_init_sse_abi_builtins): New function. 5356169689Skan (ix86_expand_library_builtin): Likewise. 5357169689Skan (TARGET_EXPAND_LIBRARY_BUILTIN): Define. 5358169689Skan (override_options): Handle error conditions wrt -msselibm. 5359169689Skan (ix86_builtins): Add function codes for SSE2 ABI builtins. 5360169689Skan (ix86_init_builtins): Call ix86_init_sse_abi_builtins. 5361169689Skan * doc/extend.texi (__builtin_sse2_*): Document new target specific 5362169689Skan builtins. 5363169689Skan 5364169689Skan2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 5365169689Skan 5366169689Skan PR c/27420 5367169689Skan * c-common.c (self_promoting_args_p): Skip erroneous args. 5368169689Skan 5369169689Skan PR c/26818 5370169689Skan * c-decl.c (finish_struct): Skip erroneous fields. 5371169689Skan 5372169689Skan2006-05-22 Nick Clifton <nickc@redhat.com> 5373169689Skan 5374169689Skan * config/cris/cris.opt (march): Remove VarExists attribute. 5375169689Skan (max-stackframe=): Likewise. 5376169689Skan 5377169689Skan2006-05-22 Kazu Hirata <kazu@codesourcery.com> 5378169689Skan 5379169689Skan * doc/rtl.texi: Fix a typo. 5380169689Skan * see.c: Fix comment typos. 5381169689Skan 5382169689Skan * tree-ssa-structalias.h (alias_info): Remove num_references. 5383169689Skan 5384169689Skan2006-05-21 Mike Stump <mrs@apple.com> 5385169689Skan 5386169689Skan * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas. 5387169689Skan (BAD2): Add. 5388169689Skan (darwin_pragma_options): Use BAD instead. 5389169689Skan (darwin_pragma_unused): Likewise. 5390169689Skan (darwin_pragma_ms_struct): Likewise. 5391169689Skan 5392169689Skan2006-05-21 David Edelsohn <edelsohn@gnu.org> 5393169689Skan 5394169689Skan * config/rs6000/rs6000.md (floatsitf2): Remove constraints. 5395169689Skan 5396169689Skan2006-05-21 Kazu Hirata <kazu@codesourcery.com> 5397169689Skan 5398169689Skan PR rtl-optimization/27671 5399169689Skan * simplify-rtx.c (simplify_relational_operation_1): Fix 5400169689Skan simplifications of (eq/ne (xor x y) y) and 5401169689Skan (eq/ne (xor x y) x). 5402169689Skan 5403169689Skan PR tree-optimization/26622. 5404169689Skan * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert 5405169689Skan on arg1. 5406169689Skan 5407169689Skan2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> 5408169689Skan 5409169689Skan * tree-cfg.c: Prune whitespace. 5410169689Skan (debug_tree_cfg): Point to correct header containing the 5411169689Skan TDF_* defines. 5412169689Skan 5413169689Skan2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org> 5414169689Skan 5415169689Skan PR middle-end/25776 5416169689Skan * cgraphunit.c (verify_cgraph_node): Typo in error message. 5417169689Skan 5418169689Skan2006-05-20 Andrew Pinski <pinskia@physics.uc.edu> 5419169689Skan 5420169689Skan PR middle-end/25776 5421169689Skan * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error 5422169689Skan or sorry count is non zero. 5423169689Skan 5424169689Skan2006-05-20 Andreas Schwab <schwab@suse.de> 5425169689Skan 5426169689Skan * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab. 5427169689Skan 5428169689Skan2006-05-19 Daniel Berlin <dberlin@dberlin.org> 5429169689Skan Kenneth Zadeck <zadeck@naturalbridge.com> 5430169689Skan 5431169689Skan PR rtl-optimization/26855 5432169689Skan 5433169689Skan * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for 5434169689Skan multiword refs. 5435169689Skan (df_scan_alloc): Added code to properly handle multiword hard 5436169689Skan registers and add all_blocks parameter. 5437169689Skan (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added 5438169689Skan code to properly handle multiword hard registers. 5439169689Skan (df_rescan_blocks): Added code to remove deleted blocks from 5440169689Skan bitmap. 5441169689Skan (df_ref_create_structure, df_ref_record): Added code to properly 5442169689Skan handle subregs. 5443169689Skan (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER 5444169689Skan and set DF_REF_PARTIAL. 5445169689Skan (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER. 5446169689Skan (df_uses_record): Added DF_REF_PARTIAL for subreg. 5447169689Skan (df_scan_add_problem): Added flags parameter. 5448169689Skan (df_ref_create_structure): Changed switching structure. 5449169689Skan (df_bb_refs_record): Fixed case where duplicate artificial refs 5450169689Skan were created. Changed location of flags. 5451169689Skan (df_record_entry_block_defs): Added code to make stack pointer 5452169689Skan live in entry block. Refined cases where frame pointer is needed. 5453169689Skan Changed location of flags. 5454169689Skan (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags. 5455169689Skan (df_set_state): Removed function. 5456169689Skan (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove, 5457169689Skan df_insn_create_insn_record, df_insn_refs_delete, 5458169689Skan df_ref_create_structure): Formatting changes. 5459169689Skan * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags, 5460169689Skan df_delete_basic_block): New function. 5461169689Skan (df_init): Changed location of flags. 5462169689Skan (df_add_problem): Added flags parameter and the way flags are 5463169689Skan processed. 5464169689Skan (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref, 5465169689Skan debug_df_chain): Improved debugging output. 5466169689Skan (df_insn_debug, df_insn_uid_debug): Added multiword reg support. 5467169689Skan (df_refs_chain_dump): Removed df parameter. 5468169689Skan (df_iterative_dataflow): Added consistency check. 5469169689Skan (df_prune_to_subcfg): Made public. 5470169689Skan (df_analyze_problem): Added blocks_to_init parameter and made 5471169689Skan public. 5472169689Skan (df_ref_record, df_bb_refs_record, df_mark_reg, 5473169689Skan df_record_exit_block_uses): Whitespace changes. 5474169689Skan (df_dump): Whitespace changes. 5475169689Skan * df.h: Some reordering to remove forward references. 5476169689Skan (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL, 5477169689Skan DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields. 5478169689Skan (df_ref_flags.DF_REF_CLOBBER): Deleted field. 5479169689Skan (dataflow.flags): New field. 5480169689Skan (df.flag): Deleted field. 5481169689Skan (df_alloc_function): Added additional bitmap parameter. 5482169689Skan (df_dependent_problem_function): New type. 5483169689Skan (df_problem.changeable_flags): New field. 5484169689Skan (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL, 5485169689Skan DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed. 5486169689Skan (df_mw_hardreg): New struct. 5487169689Skan (DF_INSN_UID_MWS): New macro. 5488169689Skan (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df 5489169689Skan parameter. 5490169689Skan (df_add_problem, df_ru_add_problem, df_rd_add_problem, 5491169689Skan df_lr_add_problem, df_ur_add_problem, df_urec_add_problem, 5492169689Skan df_ri_add_problem, df_scan_add_problem): Added flags parameter. 5493169689Skan (df_set_state): Removed function. 5494169689Skan (df_set_flags, df_clear_flags, df_delete_basic_block) New functions. 5495169689Skan * df-problems.c (df_chain_dump): Removed df parameter. 5496169689Skan (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc, 5497169689Skan df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks 5498169689Skan parameter. 5499169689Skan (df_ru_alloc, df_rd_alloc): Now resets all blocks. 5500169689Skan (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute, 5501169689Skan df_chain_create_bb, df_create_unused_note, df_ri_bb_compute): 5502169689Skan Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and 5503169689Skan DF_REF_MUST_CLOBBER cases. 5504169689Skan (df_ru_bb_local_compute_process_def, 5505169689Skan df_rd_bb_local_compute_process_def, df_lr_bb_local_compute, 5506169689Skan df_lr_bb_local_compute, df_ur_bb_local_compute, 5507169689Skan df_chain_create_bb): Made subreg aware. 5508169689Skan (df_ru_bb_local_compute, df_rd_bb_local_compute, 5509169689Skan df_lr_bb_local_compute, df_lr_bb_local_compute, 5510169689Skan df_chain_create_bb): Cleanup to use proper macros. 5511169689Skan (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary 5512169689Skan code to fixup bitvectors. 5513169689Skan (df_ri_alloc): Cleared lifetime. 5514169689Skan (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw, 5515169689Skan df_create_unused_note): New function. 5516169689Skan (df_ri_bb_compute, df_ri_compute): Added code to create/update 5517169689Skan REG_DEAD and REG_UNUSED notes as well as register information. 5518169689Skan (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump, 5519169689Skan df_chains_dump): Fixed crash if problem was never run. 5520169689Skan (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem, 5521169689Skan df_ur_add_problem, df_urec_add_problem, df_chain_add_problem, 5522169689Skan df_ri_add_problem): Processes flags in uniform manner. 5523169689Skan (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free, 5524169689Skan df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free, 5525169689Skan df_rd_dump, df_urec_free_bb_info): Formatting changes. 5526169689Skan (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump, 5527169689Skan df_rd_free_bb_info, df_rd_bb_local_compute_process_def, 5528169689Skan df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info, 5529169689Skan df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info, 5530169689Skan df_ur_dump, df_urec_free_bb_info, df_urec_dump, 5531169689Skan df_chain_create_bb, df_ri_bb_compute): Whitespace changes. 5532169689Skan * modulo-sched.c (sms_schedule): Added flag parameter to calls. 5533169689Skan * see.c (see_initialize_data): Ditto. 5534169689Skan * final.c (rest_of_clean_state) Added regstack_completed. 5535169689Skan * rtl.h (regstack_completed): Ditto. 5536169689Skan * reg-stack.c (regstack_completed): Ditto. 5537169689Skan 5538169689Skan2006-05-19 Mike Stump <mrs@apple.com> 5539169689Skan 5540169689Skan * c-tree.h (default_conversion): Remove. 5541169689Skan * c-common.h (default_conversion): Add. 5542169689Skan 5543169689Skan2006-05-19 Zdenek Dvorak <dvorakz@suse.cz> 5544169689Skan 5545169689Skan * tree-vrp.c (valid_value_p): New function. 5546169689Skan (adjust_range_with_scev): Fail if the value of bound is not 5547169689Skan simple. 5548169689Skan 5549169689Skan2006-05-19 Richard Sandiford <richard@codesourcery.com> 5550169689Skan 5551169689Skan * config/mips/linux-unwind.h: Include <asm/unistd.h> 5552169689Skan (mips_fallback_frame_state): Use syscall numbers to determine 5553169689Skan the appropriate li instruction for the current ABI. Only use 5554169689Skan __NR_sigreturn for o32. 5555169689Skan 5556169689Skan2006-05-19 Nicolas Setton <setton@adacore.com> 5557169689Skan 5558169689Skan * langhooks.h (struct lang_hooks): Add dwarf_name language hook. 5559169689Skan * langhooks.c (lhd_dwarf_name): New function. 5560169689Skan * langhooks-def.h (lhd_dwarf_name): Declare. 5561169689Skan (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name. 5562169689Skan * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook. 5563169689Skan 5564169689Skan2006-05-19 Richard Sandiford <richard@codesourcery.com> 5565169689Skan 5566169689Skan * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from 5567169689Skan libgcc2.h. 5568169689Skan (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old 5569169689Skan MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if 5570169689Skan LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD. 5571169689Skan * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here. 5572169689Skan Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to 5573169689Skan determine the size of Wtype, etc. 5574169689Skan * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument. 5575169689Skan (swfloatfuncs): New variable. 5576169689Skan (dwfloatfuncs): Likewise. 5577169689Skan (lib2funcs): Remove floating-point conversion functions from 5578169689Skan initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine 5579169689Skan the set of conversion routines needed. Allow entries to specify 5580169689Skan an object name, filename and word size. Update users accordingly. 5581169689Skan * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS. 5582169689Skan * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define. 5583169689Skan 5584169689Skan Revert: 5585169689Skan 5586169689Skan 2006-02-08 Roger Sayle <roger@eyesopen.com> 5587169689Skan 5588169689Skan PR target/22209 5589169689Skan * config/fixtfdi.c: New libgcc source file. 5590169689Skan * config/fixunstfdi.c: New source file. 5591169689Skan * config/floatditf.c: New source file. 5592169689Skan * config/floatunditf.c: New souce file. 5593169689Skan * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source 5594169689Skan files above instead of config/mips/_tilib.c. 5595169689Skan * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. 5596169689Skan 5597169689Skan2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 5598169689Skan 5599169689Skan * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'. 5600169689Skan * pa/pa-hpux11.h (LIB_SPEC): Update comment. 5601169689Skan 5602169689Skan2006-05-18 Mike Stump <mrs@apple.com> 5603169689Skan 5604169689Skan Fix up vla, vm and [*] sematics. 5605169689Skan 5606169689Skan PR c/18740 5607169689Skan PR c/7948 5608169689Skan PR c/25802 5609169689Skan PR c/27673 5610169689Skan * c-tree.h (struct c_arg_info): Add had_vla_unspec. 5611169689Skan (c_vla_unspec_p): Add. 5612169689Skan (c_vla_type_p): Add. 5613169689Skan * c-decl.c (struct c_scope): Add had_vla_unspec. 5614169689Skan (build_array_declarator): Add support for [*]. 5615169689Skan (grokdeclarator): Likewise. 5616169689Skan (grokparms): Likewise. 5617169689Skan (get_parm_info): Likewise. 5618169689Skan * c-objc-common.c (c_vla_unspec_p): Likewise. 5619169689Skan * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise. 5620169689Skan * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to 5621169689Skan typeof when argument is a variably modified type not inside sizeof or alignof. 5622169689Skan (c_parser_direct_declarator_inner): Propagate errors. 5623169689Skan (c_parser_sizeof_expression): Add support for [*]. 5624169689Skan (c_parser_parms_declarator): Initialize had_vla_unspec. 5625169689Skan (c_parser_parms_list_declarator): Likewise. 5626169689Skan * c-typeck.c (c_vla_type_p): Add. 5627169689Skan (composite_type): Add support for vla compositing. 5628169689Skan (comptypes_internal): Add support for vla compatibility. 5629169689Skan (c_expr_sizeof_expr): Evaluate vla arguments. 5630169689Skan * tree.c (variably_modified_type_p): Update comment for [*]. 5631169689Skan 5632169689Skan2006-05-18 Michael Matz <matz@suse.de> 5633169689Skan 5634169689Skan PR target/27599 5635169689Skan * config.host: Make assignments to host_xmake_file cumulative. 5636169689Skan * config.host (*-darwin*): Test $host, not $target. 5637169689Skan 5638169689Skan2006-05-12 Stuart Hastings <stuart@apple.com> 5639169689Skan 5640169689Skan * config/i386/i386.opt (-mstackrealign): New flag. 5641169689Skan * config/i386/i386.c (force_align_arg_pointer): New attribute. 5642169689Skan (ix86_handle_cconv_attribute): Emit error when 5643169689Skan force_align_arg_pointer attribute collides with too many regparms. 5644169689Skan (ix86_function_regparm): Limit regparms when used with 5645169689Skan force_align_arg_pointer attribute. (ix86_internal_arg_pointer): 5646169689Skan Support stack-realigning prologue in non-main functions. Emit 5647169689Skan warning for nested functions under -mstackrealign, emit error for 5648169689Skan nested functions with force_align_arg_pointer attribute. 5649169689Skan * doc/extend.texi (force_align_arg_pointer): Document it. 5650169689Skan * doc/invoke.texi (-mstackrealign): Document it. 5651169689Skan 5652169689Skan2006-05-17 Kazu Hirata <kazu@codesourcery.com> 5653169689Skan 5654169689Skan PR rtl-optimization/27477 5655169689Skan * combine.c (try_combine): Don't split a parallel consisting 5656169689Skan of two sets into two individual sets if both sets reference 5657169689Skan cc0. 5658169689Skan 5659169689Skan2006-05-17 H.J. Lu <hongjiu.lu@intel.com> 5660169689Skan 5661169689Skan * config/arm/arm.opt (target_fpe_name): Remove VarExists. 5662169689Skan * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise. 5663169689Skan 5664169689Skan * doc/options.texi (VarExists): Updated. 5665169689Skan 5666169689Skan2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 5667169689Skan 5668169689Skan * unwind-dw2.c: Add declarations for uw_update_context and 5669169689Skan uw_frame_state_for. 5670169689Skan * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is 5671169689Skan detected, advance frame state and context once to skip over stub. 5672169689Skan 5673169689Skan2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> 5674169689Skan 5675169689Skan PR middle-end/20256 5676169689Skan PR middle-end/26435 5677169689Skan * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p. 5678169689Skan Call rewrite_into_loop_closed_ssa only when something changed. 5679169689Skan * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration. 5680169689Skan * lambda-code.c (can_convert_to_perfect_nest): Declared. 5681169689Skan (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter. 5682169689Skan Test for perfect_nest_p here. Fix formating. 5683169689Skan (replace_uses_equiv_to_x_with_y): Fix formating. 5684169689Skan (stmt_uses_op): Removed. 5685169689Skan (can_convert_to_perfect_nest): Removed loopivs parameter. 5686169689Skan Complete the test by checking the scalar dependences. 5687169689Skan (perfect_nestify): Remove the test for can_convert_to_perfect_nest. 5688169689Skan Fix formating. 5689169689Skan 5690169689Skan2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com> 5691169689Skan 5692169689Skan PR bootstrap/22541 5693169689Skan From Dan Kegel <dank@kegel.com>: 5694169689Skan * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR. 5695169689Skan 5696169689Skan2006-05-17 Eric Botcazou <ebotcazou@adacore.com> 5697169689Skan 5698169689Skan * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true 5699169689Skan if the element type is variably modified without recursing. 5700169689Skan 5701169689Skan2006-05-17 Sebastian Pop <pop@cri.ensmp.fr> 5702169689Skan 5703169689Skan PR middle-end/27332 5704169689Skan * tree-loop-linear.c (try_interchange_loops): Test for 5705169689Skan no data dependences. 5706169689Skan 5707169689Skan2006-05-17 Zdenek Dvorak <dvorakz@suse.cz> 5708169689Skan 5709169689Skan PR tree-optimization/27548 5710169689Skan * tree-scalar-evolution.c (scev_const_prop): Do not prolong life 5711169689Skan range of ssa names that appear on abnormal edges. 5712169689Skan * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export. 5713169689Skan * tree-flow.h (contains_abnormal_ssa_name_p): Declare. 5714169689Skan 5715169689Skan2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com> 5716169689Skan 5717169689Skan PR middle-end/27620 5718169689Skan * expr.c (safe_from_p): Handle CONSTRUCTOR again. 5719169689Skan 5720169689Skan2006-05-17 Jakub Jelinek <jakub@redhat.com> 5721169689Skan 5722169689Skan PR middle-end/27415 5723169689Skan * tree.h (OMP_PARALLEL_COMBINED): Define. 5724169689Skan * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field. 5725169689Skan (new_omp_context): Add is_combined_parallel argument. 5726169689Skan (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust 5727169689Skan new_omp_context caller. 5728169689Skan (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare): 5729169689Skan Adjust gimplify_scan_omp_clauses callers. 5730169689Skan (omp_is_private): Issue errors if iteration variable is firstprivate 5731169689Skan or reduction in the current context. 5732169689Skan * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED 5733169689Skan on combined parallel workshare constructs. 5734169689Skan 5735169689Skan2006-05-16 H.J. Lu <hongjiu.lu@intel.com> 5736169689Skan 5737169689Skan * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o. 5738169689Skan (gcc-options.o): New rule. 5739169689Skan 5740169689Skan * optc-gen.awk: Protect variables for gcc-options.o with 5741169689Skan #ifdef GCC_DRIVER/#endif. 5742169689Skan 5743169689Skan2006-05-16 Daniel Berlin <dberlin@dberlin.org> 5744169689Skan 5745169689Skan Fix PR tree-optimization/27373 5746169689Skan * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument. 5747169689Skan (forward_propagate_addr_expr): Update call. 5748169689Skan 5749169689Skan2006-05-16 H.J. Lu <hongjiu.lu@intel.com> 5750169689Skan 5751169689Skan * doc/options.texi: Move the Negative option. 5752169689Skan 5753169689Skan2006-05-16 Richard Guenther <rguenther@suse.de> 5754169689Skan 5755169689Skan PR tree-optimization/22303 5756169689Skan * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads 5757169689Skan from STRING_CSTs. 5758169689Skan (evaluate_stmt): Fall back to fold_const_aggregate_ref, if 5759169689Skan ccp_fold did not simplify the statement. 5760169689Skan 5761169689Skan2006-05-16 H.J. Lu <hongjiu.lu@intel.com> 5762169689Skan 5763169689Skan PR driver/26885 5764169689Skan * Makefile.in (GCC_OBJS): New. 5765169689Skan (OBJS-common): Add opts-common.o. 5766169689Skan (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS). 5767169689Skan (cpp$(exeext)): Likewise. 5768169689Skan (gcc.o): Also depend on opts.h. 5769169689Skan (opts-common.o): New. 5770169689Skan 5771169689Skan * common.opt (gcoff): Add Negative(gdwarf-2). 5772169689Skan (gdwarf-2): Add Negative(gstabs). 5773169689Skan (gstabs): Add Negative(gstabs+). 5774169689Skan (gstabs+): Add Negative(gvms). 5775169689Skan (gvms): Add Negative(gxcoff). 5776169689Skan (gxcoff): Add Negative(gxcoff+). 5777169689Skan (gxcoff+): Add Negative(gcoff). 5778169689Skan * config/i386/i386.opt (m32): Add Negative(m64). 5779169689Skan (m64): Add Negative(m32). 5780169689Skan 5781169689Skan * doc/options.texi: Document the Negative option. 5782169689Skan 5783169689Skan * gcc.c: Include "opts.h". 5784169689Skan (main): Call prune_options after expandargv. 5785169689Skan 5786169689Skan * optc-gen.awk: Generate common declarations for all flag 5787169689Skan variables in options.c. Output the neg_index field. 5788169689Skan 5789169689Skan * opts.c (find_opt): Moved to ... 5790169689Skan * opts-common.c: Here. New file. 5791169689Skan 5792169689Skan * opts.h (cl_option): Add a neg_index field. 5793169689Skan (find_opt): New. 5794169689Skan (prune_options): Likewise. 5795169689Skan 5796169689Skan2006-05-16 Jakub Jelinek <jakub@redhat.com> 5797169689Skan 5798169689Skan PR middle-end/27573 5799169689Skan * omp-low.c (expand_omp_parallel): Don't assert 5800169689Skan .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block, 5801169689Skan instead search for it. 5802169689Skan 5803169689Skan PR c/27499 5804169689Skan * gimplify.c (gimplify_omp_for): Remove assertion that iteration var 5805169689Skan is signed. 5806169689Skan 5807169689Skan2006-05-16 Andreas Schwab <schwab@suse.de> 5808169689Skan 5809169689Skan * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end 5810169689Skan defmac. 5811169689Skan 5812169689Skan2006-05-15 Roger Sayle <roger@eyesopen.com> 5813169689Skan 5814169689Skan PR target/26600 5815169689Skan * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode 5816169689Skan integer constants other than zero are only legitimate on TARGET_64BIT. 5817169689Skan <CONST_VECTOR> Only zero vectors are legitimate. 5818169689Skan (ix86_cannot_force_const_mem): Integral and vector constants can 5819169689Skan always be put in the constant pool. 5820169689Skan 5821169689Skan2006-05-16 DJ Delorie <dj@redhat.com> 5822169689Skan 5823169689Skan * crtstuff.c (__dso_handle): Set section from 5824169689Skan TARGET_LBIGCC_SDATA_SECTION if defined. 5825169689Skan * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document. 5826169689Skan * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define. 5827169689Skan 5828169689Skan2006-05-16 Danny Smith <dannysmith@users.sourceforge.net> 5829169689Skan 5830169689Skan PR target/27599 5831169689Skan * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to 5832169689Skan host_xmake_file. 5833169689Skan 5834169689Skan2006-05-16 Ben Elliston <bje@au.ibm.com> 5835169689Skan 5836169689Skan * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'. 5837169689Skan 5838169689Skan2006-05-15 Per Bothner <per@bothner.com> 5839169689Skan 5840169689Skan * tree.c: (last_annotated_node): Use source_locus typedef. 5841169689Skan This permits bootstrapping with --enable-mapped-location. 5842169689Skan 5843169689Skan2006-05-15 Zdenek Dvorak <dvorakz@suse.cz> 5844169689Skan 5845169689Skan PR tree-optimization/26830 5846169689Skan * tree-into-ssa.c (struct ssa_name_info): Add age field. 5847169689Skan (info_for_ssa_name, current_info_for_ssa_name_age, 5848169689Skan blocks_to_update): New variables. 5849169689Skan (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX. 5850169689Skan (clear_ssa_name_info, initialize_flags_in_bb, 5851169689Skan mark_block_for_update): New functions. 5852169689Skan (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL. 5853169689Skan (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update, 5854169689Skan prepare_def_site_for): Use mark_block_for_update. 5855169689Skan (mark_def_interesting): Assert that the processed block is marked in 5856169689Skan blocks_to_update. Do not take blocks argument. 5857169689Skan (prepare_use_sites_for, prepare_names_to_update): Do not take blocks 5858169689Skan argument. 5859169689Skan (rewrite_update_init_block, rewrite_update_stmt): Only process 5860169689Skan blocks with statements to rewrite. 5861169689Skan (delete_update_ssa): Do not clear SSA_NAME_AUX. 5862169689Skan (update_ssa): Initialize and free blocks_to_update. Do not 5863169689Skan clear flags on statements. Do not use blocks bitmap. 5864169689Skan * tree.h (SSA_NAME_AUX): Removed. 5865169689Skan (struct tree_ssa_name): Removed aux field. 5866169689Skan * print-tree.c (print_node): Do not print SSA_NAME_AUX. 5867169689Skan 5868169689Skan2006-05-15 Richard Guenther <rguenther@suse.de> 5869169689Skan 5870169689Skan PR tree-optimization/27603 5871169689Skan * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): 5872169689Skan Do computations in original type. 5873169689Skan 5874169689Skan2006-05-15 Mircea Namolaru <namolaru@il.ibm.com> 5875169689Skan 5876169689Skan * see.c: Code style changes such as redundant paranthesis, 5877169689Skan redundant intialization of local variables etc. 5878169689Skan (see_main): Declared now as static. 5879169689Skan * doc/invoke.texi: Update that -fsee is not enabled by 5880169689Skan default at -O3. 5881169689Skan 5882169689Skan2006-05-15 Jakub Jelinek <jakub@redhat.com> 5883169689Skan 5884169689Skan * omp-low.c (check_omp_nesting_restrictions): New function. 5885169689Skan (scan_omp_1): Call it. 5886169689Skan 5887169689Skan PR middle-end/27416 5888169689Skan * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned 5889169689Skan construct, return *VAR. 5890169689Skan 5891169689Skan2006-05-14 Kaz Kojima <kkojima@gcc.gnu.org> 5892169689Skan 5893169689Skan PR rtl-optimization/27406 5894169689Skan * bt-load.c (migrate_btr_def): Skip the block having abnormal 5895169689Skan edges. 5896169689Skan 5897169689Skan2006-05-14 Roger Sayle <roger@eyesopen.com> 5898169689Skan 5899169689Skan PR rtl-optimization/27538 5900169689Skan * combine.c (expand_compound_operation): Call gen_lowpart 5901169689Skan before calling simplify_shift_const. 5902169689Skan 5903169689Skan2006-05-14 Roger Sayle <roger@eyesopen.com> 5904169689Skan 5905169689Skan PR rtl-optimization/22563 5906169689Skan * expmed.c (store_fixed_bit_field): When using AND and IOR to store 5907169689Skan a fixed width bitfield, always force the intermediates into psuedos. 5908169689Skan 5909169689Skan2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org> 5910169689Skan 5911169689Skan PR 27501 5912169689Skan * mkconfig.sh: Use operator = instead of == for test. 5913169689Skan 5914169689Skan2006-05-13 Nick Clifton <nickc@redhat.com> 5915169689Skan 5916169689Skan * dwarf2out.c (dbx_reg_number): Check return value from 5917169689Skan LEAF_REG_REMAP and only use it if it is valid. 5918169689Skan (multiple_reg_loc_descriptor): Likewise. 5919169689Skan 5920169689Skan2006-05-13 Richard Guenther <rguenther@suse.de> 5921169689Skan 5922169689Skan * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to 5923169689Skan host_xmake_file. 5924169689Skan 5925169689Skan2006-05-13 Steven Bosscher <stevenb.gcc@gmail.com> 5926169689Skan 5927169689Skan * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow 5928169689Skan information attached to non-INSNs such as NOTEs. 5929169689Skan (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise. 5930169689Skan 5931169689Skan2006-05-12 Andreas Krebbel <krebbel1@de.ibm.com> 5932169689Skan 5933169689Skan * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for 5934169689Skan On contraint. 5935169689Skan * config/s390/s390.md: Adjust comment describing On constraint. 5936169689Skan 5937169689Skan2006-05-11 Jan Hubicka <jh@suse.cz> 5938169689Skan 5939169689Skan * cgraphunit.c (decide_is_function_needed): Don't force always_inline 5940169689Skan to be output at -O0. 5941169689Skan 5942169689Skan2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 5943169689Skan 5944169689Skan PR middle-end/27384 5945169689Skan * fold-const.c (size_binop): Move sanity check for arguments to 5946169689Skan the beginning of the function. 5947169689Skan 5948169689Skan PR middle-end/27488 5949169689Skan * fold-const.c (tree_expr_nonnegative_p): Return early on invalid 5950169689Skan expression. 5951169689Skan 5952169689Skan2006-05-11 Richard Guenther <rguenther@suse.de> 5953169689Skan 5954169689Skan PR middle-end/27529 5955169689Skan * fold-const.c (fold_unary): Handle intermediate conversion 5956169689Skan to a pointer type like intermediate conversion to an integer 5957169689Skan type in folding of (T1)(T2)var to var. 5958169689Skan Match the code to the comment in the final conversion for 5959169689Skan (T1)(T2)var to (T1)var regarding to type precision. Rather 5960169689Skan than disallow T1 being of pointer type, assert that both T1 5961169689Skan and var are of pointer type or not. Make sure not to fall 5962169689Skan over the frontends lazyness wrt array to pointer decay though. 5963169689Skan 5964169689Skan2006-05-10 Richard Earnshaw <rearnsha@arm.com> 5965169689Skan 5966169689Skan * arm.c (arm_struct_value_rtx): Delete. 5967169689Skan (TARGET_STRUCT_VALUE_RTX): Use the default definition. 5968169689Skan (arm_init_cumulative_args): Always initialize nregs to zero. 5969169689Skan 5970169689Skan2006-05-10 Richard Guenther <rguenther@suse.de> 5971169689Skan 5972169689Skan PR tree-optimization/27532 5973169689Skan * tree-object-size.c (plus_expr_object_size): Fix typo. 5974169689Skan 5975169689Skan2006-05-10 Kazu Hirata <kazu@codesourcery.com> 5976169689Skan 5977169689Skan PR target/24949 5978169689Skan * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem, 5979169689Skan ashrdi_const, ashrdi3): Use a scratch register. 5980169689Skan 5981169689Skan2006-05-10 Richard Guenther <rguenther@suse.de> 5982169689Skan 5983169689Skan PR tree-optimization/27302 5984169689Skan * fold-const.c (operand_equal_p): For two comparisons, 5985169689Skan try comparison of one comparison code swapped if that yields 5986169689Skan the same code. 5987169689Skan 5988169689Skan2006-05-10 Ben Elliston <bje@au.ibm.com> 5989169689Skan 5990169689Skan * tree-pretty-print.c (pretty_print_string): No need to handle 5991169689Skan '\0' as a special character. 5992169689Skan 5993169689Skan * tree.h: Include "hashtab.h". 5994169689Skan (iterative_hash_expr): Use hashval_t in its prototype. 5995169689Skan * Makefile.in (TREE_H): Add $(HASHTAB_H). 5996169689Skan 5997169689Skan2006-05-09 Steve Ellcey <sje@cup.hp.com> 5998169689Skan 5999169689Skan PR bootstrap/26872 6000169689Skan * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes. 6001169689Skan (hppa*64*-*-hpux11*): Ditto. 6002169689Skan (hppa[12]*-*-hpux11*): Ditto. 6003169689Skan 6004169689Skan2006-05-09 David Edelsohn <edelsohn@gnu.org> 6005169689Skan 6006169689Skan PR target/26545 6007169689Skan * config/rs6000/aix41.h (TARGET_64BIT): Define. 6008169689Skan 6009169689Skan2006-05-09 Michael Matz <matz@suse.de> 6010169689Skan 6011169689Skan * config.host (<i[34567]86-*-*, x86_64-*-*>): Set 6012169689Skan host_extra_gcc_objs and host_xmake_file. 6013169689Skan (<*-*-linux*>): Don't overwrite host_xmake_file. 6014169689Skan * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS. 6015169689Skan * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define. 6016169689Skan (host_detect_local_cpu): Declare. 6017169689Skan (CC1_CPU_SPEC): Add -march=native and -mtune=native cases. 6018169689Skan * config/i386/i386.c (override_options): Handle -mtune=native 6019169689Skan as -mtune=generic. 6020169689Skan * config/i386/x-i386: New file. 6021169689Skan * config/i386/driver-i386.c: New file. 6022169689Skan * doc/invoke.texi (<i386 and x86-64 Options>): Describe 6023169689Skan cpu-type "native". 6024169689Skan 6025169689Skan2006-05-09 Dirk Mueller <dmueller@suse.de> 6026169689Skan Richard Guenther <rguenther@suse.de> 6027169689Skan 6028169689Skan PR middle-end/27498 6029169689Skan * fold-const.c (fold_read_from_constant_string): Relax check 6030169689Skan for matching types to matching modes. 6031169689Skan 6032169689Skan2006-05-09 Zdenek Dvorak <dvorakz@suse.cz> 6033169689Skan 6034169689Skan PR rtl-optimization/27335 6035169689Skan * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the 6036169689Skan loops. 6037169689Skan 6038169689Skan2006-05-08 Chao-ying Fu <fu@mips.com> 6039169689Skan Richard Sandiford <richard@codesourcery.com> 6040169689Skan 6041169689Skan * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns. 6042169689Skan (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise. 6043169689Skan * config/mips/mips.md (UNSPEC_SCC): New constant. 6044169689Skan * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare. 6045169689Skan * config/mips/mips.c (mips_reverse_fp_cond_p): New function. 6046169689Skan (mips_emit_compare): Use it. 6047169689Skan (mips_expand_vcondv2sf): New function. 6048169689Skan 6049169689Skan2006-05-08 Daniel Berlin <dberlin@dberlin.org> 6050169689Skan 6051169689Skan Fix PR tree-optimization/27093 6052169689Skan * tree-ssa-alias.c (recalculate_used_alone): Mark variables for 6053169689Skan renaming when they become not-used_alone. 6054169689Skan 6055169689Skan2006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 6056169689Skan 6057169689Skan * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter 6058169689Skan relocation and relocation stubs. 6059169689Skan 6060169689Skan2006-05-08 Eric Christopher <echristo@apple.com> 6061169689Skan 6062169689Skan * unwind-dw2-fde-darwin.c (examine_objects): Only check data 6063169689Skan section for ppc. 6064169689Skan 6065169689Skan2006-05-08 Jan Hubicka <jh@suse.cz> 6066169689Skan 6067169689Skan PR middle-end/24561 6068169689Skan * cgraphunit.c (decide_is_function_needed): When not optimizing even 6069169689Skan unused static functions are needed. 6070169689Skan 6071169689Skan2006-05-08 Roger Sayle <roger@eyesopen.com> 6072169689Skan 6073169689Skan PR target/27158 6074169689Skan * reload.c (find_reloads_toplev): Only return the simplified SUBREG 6075169689Skan of a reg_equiv_constant if the result is a legitimate constant. 6076169689Skan 6077169689Skan2006-05-08 Uros Bizjak <uros@kss-loka.si> 6078169689Skan 6079169689Skan PR target/27277 6080169689Skan * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For 6081169689Skan standard 80387 constants, raise the cost to prevent 6082169689Skan compress_float_constant() to generate load from memory. 6083169689Skan 6084169689Skan2006-05-08 Kazu Hirata <kazu@codesourcery.com> 6085169689Skan 6086169689Skan * config/arm/constraints.md (c): Fix a typo. 6087169689Skan 6088169689Skan * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment 6089169689Skan typos. 6090169689Skan 6091169689Skan2006-05-07 H.J. Lu <hongjiu.lu@intel.com> 6092169689Skan 6093169689Skan PR target/24879 6094169689Skan * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use 6095169689Skan inline function. 6096169689Skan (_mm_mwait): Likewise. 6097169689Skan 6098169689Skan * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with 6099169689Skan "mwait". 6100169689Skan (sse3_monitor): Make it 32bit only. 6101169689Skan (sse3_monitor64): New. 64bit monitor. 6102169689Skan 6103169689Skan2006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 6104169689Skan 6105169689Skan PR target/27421 6106169689Skan * config/i386/i386.c (classify_argument): Skip fields with invalid 6107169689Skan types. 6108169689Skan 6109169689Skan2006-05-07 Richard Guenther <rguenther@suse.de> 6110169689Skan 6111169689Skan PR tree-optimization/27409 6112169689Skan * tree-ssa-structalias.c (get_constraint_for_component_ref): 6113169689Skan Do not try to find zero-sized subvars. 6114169689Skan 6115169689Skan2006-05-07 Richard Guenther <rguenther@suse.de> 6116169689Skan 6117169689Skan PR tree-optimization/27136 6118169689Skan * tree-ssa-loop-niter.c (get_val_for): Correct function 6119169689Skan comment, assert requirements. 6120169689Skan (loop_niter_by_eval): Stop processing if the iterated 6121169689Skan value did not simplify. 6122169689Skan 6123169689Skan2006-05-07 Mircea Namolaru <namolaru@il.ibm.com> 6124169689Skan 6125169689Skan * opts.c (flag_see): remove its setting at -O3. 6126169689Skan 6127169689Skan2006-05-07 Richard Earnshaw <rearnsha@arm.com> 6128169689Skan 6129169689Skan * genpeep.c (main): Make insn-peep.c depend on flags.h. 6130169689Skan * arm/constraints.md: New file. 6131169689Skan * arm.h (REG_CLASS_FROM_LETTER_P): Delete. 6132169689Skan (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER) 6133169689Skan (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER) 6134169689Skan (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM) 6135169689Skan (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR) 6136169689Skan (EXTRA_MEMORY_CONSTRAINT): Likewise. 6137169689Skan * arm.md: Include constraints.md. 6138169689Skan (thumb_movsi_insn): Use satisfies_constraint_J. 6139169689Skan (movhi, movqi): Use satisfies_constraint_I. 6140169689Skan 6141169689Skan2006-04-29 Anatoly Sokolov <aesok@post.ru> 6142169689Skan 6143169689Skan * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name 6144169689Skan for atmeg a645 device. 6145169689Skan 6146169689Skan2006-05-06 Richard Guenther <rguenther@suse.de> 6147169689Skan 6148169689Skan PR tree-optimization/27151 6149169689Skan * tree-vect-transform.c (vectorizable_condition): Punt on 6150169689Skan values that have a different type than the condition. 6151169689Skan 6152169689Skan2006-05-03 Aldy Hernandez <aldyh@redhat.com> 6153169689Skan 6154169689Skan PR/21391 6155169689Skan * c-parser.c (c_parser_cast_expression): Only insert casts into 6156169689Skan hash table if pointer. 6157169689Skan * function.c (used_types_insert_helper): Rename from 6158169689Skan used_types_insert. 6159169689Skan (used_types_insert): Call used_types_insert_helper. 6160169689Skan * function.h (used_types_insert): Accept only one argument. 6161169689Skan 6162169689Skan2006-05-05 David Edelsohn <edesohn@gnu.org> 6163169689Skan 6164169689Skan * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered 6165169689Skan scratch with output modifier. 6166169689Skan 6167169689Skan2006-05-04 David Edelsohn <edelsohn@gnu.org> 6168169689Skan 6169169689Skan PR target/26481 6170169689Skan * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint 6171169689Skan with output modifier. 6172169689Skan 6173169689Skan2006-05-04 Richard Sandiford <richard@codesourcery.com> 6174169689Skan 6175169689Skan PR target/26765 6176169689Skan * config/mips/mips.c (mips_symbolic_address_p): Return true 6177169689Skan for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL, 6178169689Skan SYMBOL_GOTTPREL, and SYMBOL_TLS. 6179169689Skan 6180169689Skan2006-05-04 Richard Guenther <rguenther@suse.de> 6181169689Skan 6182169689Skan PR tree-optimization/14287 6183169689Skan PR tree-optimization/14844 6184169689Skan PR tree-optimization/19792 6185169689Skan PR tree-optimization/21608 6186169689Skan PR tree-optimization/27090 6187169689Skan * tree-ssa-pre.c (try_combine_conversion): New function. 6188169689Skan (compute_avail): After constructing the value-handle 6189169689Skan expression, use try_combine_conversion to combine NOP_EXPRs 6190169689Skan with previous value-handle expressions and use the result if it 6191169689Skan is available. 6192169689Skan 6193169689Skan2006-05-04 Joseph S. Myers <joseph@codesourcery.com> 6194169689Skan 6195169689Skan * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove. 6196169689Skan 6197169689Skan2006-05-04 Jan Hubicka <jh@suse.cz> 6198169689Skan 6199169689Skan PR middle-end/25962 6200169689Skan * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing. 6201169689Skan 6202169689Skan2006-05-04 Bernd Schmidt <bernd.schmidt@analog.com> 6203169689Skan 6204169689Skan * config/bfin/predicates.md (const01_rtx): Tell generator programs 6205169689Skan that this only matches CONST_INTs. All users changed to VOIDmode 6206169689Skan operands. 6207169689Skan 6208169689Skan * config/bfin/bfin.c: Include "optabs.h". 6209169689Skan (bfin_rtx_costs): Some costs for vector operations, to allow combine 6210169689Skan to do more work. 6211169689Skan (enum bfin_builtins): Add a number of fractional and vector builtins. 6212169689Skan (bfin_init_builtins): Likewise. 6213169689Skan (struct builtin_description, bdesc_2arg, bdesc_1arg): New. 6214169689Skan (safe_vector_operand, bfin_expand_binop_builtin, 6215169689Skan bfin_expand_unop_builtin): New functions. 6216169689Skan (bfin_expand_builtin): Handle the new builtins. 6217169689Skan * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define 6218169689Skan __ADSPBLACKFIN__. 6219169689Skan 6220169689Skan2006-05-04 Leehod Baruch <leehod@il.ibm.com> 6221169689Skan 6222169689Skan * see.c: New file. 6223169689Skan * Makefile.in (OBJS-common): Add see.o. 6224169689Skan (see.o): Add dependencies. 6225169689Skan * common.opt (fsee): New flag for the see optimization was added. 6226169689Skan * opts.c (flag_see): Initialized. 6227169689Skan * passes.c (init_optimization_passes, pass_see): New pass. 6228169689Skan * rtl.h (see_main): Declaration as extern. 6229169689Skan * timevar.def (TV_SEE): New. 6230169689Skan * tree-pass.h (pass_see): Declaration as extern. 6231169689Skan * invoke.texi (-fsee): Document. 6232169689Skan * recog.c (validate_simplify_insn): New function. 6233169689Skan * recog.h (validate_simplify_insn): Declaration as extern. 6234169689Skan * df-problems.c (df_chain_dump): Check for NULL. 6235169689Skan 6236169689Skan2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com> 6237169689Skan Daniel Berlin <dberlin@dberlin.org> 6238169689Skan 6239169689Skan * cfgrtl.c (insert_insn_bb_end_new): New function. 6240169689Skan * basic-block.h (insert_insn_bb_end_new): Declaration as extern. 6241169689Skan 6242169689Skan2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il> 6243169689Skan 6244169689Skan * df.h (struct web_entry): Moved from web.c. 6245169689Skan (union_defs): Declaration as extern. 6246169689Skan (unionfind_root): Likewise. 6247169689Skan (unionfind_union): Likewise. 6248169689Skan * web.c (struct web_entry): Moved to df.h. 6249169689Skan (unionfind_root): Remove static declaration. 6250169689Skan (unionfind_union): Likewise. 6251169689Skan (union_defs): Likewise and generalize to use callback function. 6252169689Skan (web_main): Update arguments for union_defs function call. 6253169689Skan 6254169689Skan2006-05-04 Richard Guenther <rguenther@suse.de> 6255169689Skan 6256169689Skan PR tree-optimization/26447 6257169689Skan * tree-ssa-pre.c (realify_fake_stores): For necessary loads 6258169689Skan produce SSA_NAME copies before the store stmt to avoid 6259169689Skan breaking exception handling. 6260169689Skan 6261169689Skan2006-05-04 Jakub Jelinek <jakub@redhat.com> 6262169689Skan 6263169689Skan PR middle-end/27388 6264169689Skan * gimplify.c (omp_is_private): If var is shared in some outer context, 6265169689Skan return false instead of true. Stop searching on parallel context 6266169689Skan boundary. 6267169689Skan 6268169689Skan2006-05-03 Alexandre Oliva <aoliva@redhat.com> 6269169689Skan 6270169689Skan PR java/8260 6271169689Skan * coverage.c: Use get_gcov_unsigned_t() instead of 6272169689Skan unsigned_type_node all over. 6273169689Skan 6274169689Skan2006-05-02 Andrew MacLeod <amacleod@redhat.com> 6275169689Skan 6276169689Skan PR tree-optimization/27381 6277169689Skan * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument, 6278169689Skan maintain the same immediate_use links. 6279169689Skan * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker 6280169689Skan node rather than segfaulting. 6281169689Skan 6282169689Skan2006-05-03 Jakub Jelinek <jakub@redhat.com> 6283169689Skan 6284169689Skan PR fortran/27395 6285169689Skan * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE 6286169689Skan rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN 6287169689Skan bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER. 6288169689Skan 6289169689Skan2006-05-02 Daniel Berlin <dberlin@dberlin.org> 6290169689Skan 6291169689Skan Fix PR tree-optimization/26626 6292169689Skan * tree-ssa-structalias.c (compute_points_to_sets): For now, solve 6293169689Skan always. 6294169689Skan * tree-ssa-operands.c (access_can_touch_variable): Allow 6295169689Skan typecasting through union pointers. 6296169689Skan 6297169689Skan2006-05-02 Jakub Jelinek <jakub@redhat.com> 6298169689Skan 6299169689Skan PR c++/26943 6300169689Skan * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function. 6301169689Skan (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx 6302169689Skan to find if var will be a global variable even in the nested context. 6303169689Skan (omp_copy_decl): Only check for global variable at the end, it might 6304169689Skan be overridden in outer contexts. 6305169689Skan (scan_sharing_clauses): For global variables don't create a field. 6306169689Skan (lower_rec_input_clauses): Do nothing for global shared variables. 6307169689Skan Emit a barrier at the end of ILIST if there were any decls in both 6308169689Skan firstprivate and lastprivate clauses. 6309169689Skan (lower_send_clauses): Do nothing for global variables except for 6310169689Skan COPYIN. 6311169689Skan 6312169689Skan2006-05-02 Zdenek Dvorak <dvorakz@suse.cz> 6313169689Skan 6314169689Skan * tree.c (unsigned_type_for, signed_type_for): Make sure a type 6315169689Skan of the correct signedness is returned. 6316169689Skan 6317169689Skan2006-05-02 Jeff Law <law@redhat.com> 6318169689Skan 6319169689Skan PR tree-optimization/27364 6320169689Skan * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from 6321169689Skan multiply expressions. 6322169689Skan 6323169689Skan2006-05-02 Tom Tromey <tromey@redhat.com> 6324169689Skan 6325169689Skan * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo. 6326169689Skan 6327169689Skan2006-05-02 Kazu Hirata <kazu@codesourcery.com> 6328169689Skan 6329169689Skan PR target/27387 6330169689Skan * arm.c (arm_output_mi_thunk): Use pc-relative addressing when 6331169689Skan -mthumb -fPIC are used. 6332169689Skan 6333169689Skan2006-05-02 Stanislaw Skowronek <skylark@linux-mips.org> 6334169689Skan Joshua Kinard <kumba@gentoo.org> 6335169689Skan 6336169689Skan PR target/25871 6337169689Skan * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves 6338169689Skan with 64-bit pointers. 6339169689Skan 6340169689Skan2006-05-02 Paul Brook <paul@codesourcery.com> 6341169689Skan 6342169689Skan * config/arm/arm.c (add_minipool_forward_ref): Check if insn 6343169689Skan and pool overlap. 6344169689Skan (create_fix_barrier): Check that a suitable barrier location is 6345169689Skan found. 6346169689Skan (arm_reorg): Include ftmp->address in allowable range of addresses. 6347169689Skan 6348169689Skan2006-05-02 David Billinghurst <David.Billinghurst@riotinto.com> 6349169689Skan 6350169689Skan PR ada/27366 6351169689Skan * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment 6352169689Skan on Cygwin. 6353169689Skan 6354169689Skan2006-05-02 Jakub Jelinek <jakub@redhat.com> 6355169689Skan 6356169689Skan PR middle-end/27337 6357169689Skan * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF 6358169689Skan around RESULT_DECL for result passed by reference. 6359169689Skan (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen. 6360169689Skan * omp-low.c (use_pointer_for_field): Don't look at 6361169689Skan DECL_HAS_VALUE_EXPR_P for RESULT_DECLs. 6362169689Skan (scan_omp_1): Call remap_decl on RESULT_DECLs. 6363169689Skan (lower_rec_input_clauses): Don't allocate VLA memory for the second 6364169689Skan time or var for passing by reference for 6365169689Skan OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of 6366169689Skan TREE_ADDRESSABLE variables when passing by reference. 6367169689Skan 6368169689Skan * omp-low.c (dump_omp_region): Fix output formatting. 6369169689Skan 6370169689Skan PR middle-end/27328 6371169689Skan * omp-low.c (remove_exit_barrier): Handle NULL exit_bb. 6372169689Skan (expand_omp_parallel): Likewise. 6373169689Skan * tree-cfg.c (move_sese_region_to_fn): Likewise. 6374169689Skan 6375169689Skan PR middle-end/27325 6376169689Skan * omp-low.c (lower_omp_sections): Call maybe_catch_exception 6377169689Skan on statement list containing also constructors and destructors. 6378169689Skan (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise. 6379169689Skan 6380169689Skan PR middle-end/27310 6381169689Skan * except.c (duplicate_eh_regions): Fix clearing of 6382169689Skan cfun->eh->region_array entries. 6383169689Skan 6384169689Skan2006-05-01 DJ Delorie <dj@redhat.com> 6385169689Skan 6386169689Skan * configure.ac (gcc_cv_nm): Don't use an in-tree nm if 6387169689Skan build!=host. 6388169689Skan (gcc_cv_objdump): Likewise. 6389169689Skan * configure: Regenerated. 6390169689Skan 6391169689Skan2006-05-01 Kazu Hirata <kazu@codesourcery.com> 6392169689Skan 6393169689Skan PR target/27374 6394169689Skan * config/arm/vfp.md (*arm_movdi_vfp): Correct the output 6395169689Skan templates for case 3 and 4. 6396169689Skan 6397169689Skan2006-05-01 DJ Delorie <dj@redhat.com> 6398169689Skan 6399169689Skan * vec.c: Include bconfig.h when appropriate. 6400169689Skan * Makefile.in (build/vec.o): Adjust dependencies. 6401169689Skan * mkconfig.sh: Make sure config.h isn't used for build machine 6402169689Skan compiles. 6403169689Skan 6404169689Skan2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> 6405169689Skan 6406169689Skan * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New 6407169689Skan variables. 6408169689Skan (mark_phi_for_rewrite): New function. 6409169689Skan (insert_phi_nodes_for, mark_use_interesting): Call 6410169689Skan mark_phi_for_rewrite. 6411169689Skan (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite. 6412169689Skan (update_ssa): Initialize and free phis_to_rewrite. 6413169689Skan 6414169689Skan2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> 6415169689Skan 6416169689Skan PR rtl-optimization/27291 6417169689Skan * loop-doloop.c (add_test, doloop_modify): Handle the case condition is 6418169689Skan folded to a constant. 6419169689Skan 6420169689Skan2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> 6421169689Skan 6422169689Skan PR tree-optimization/27283 6423169689Skan * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees, 6424169689Skan not whole # of iteration descriptions. 6425169689Skan (niter_for_exit): Return just # of iterations. Fail if # of iterations 6426169689Skan uses abnormal ssa name. 6427169689Skan (niter_for_single_dom_exit): Ditto. 6428169689Skan (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to 6429169689Skan return just the number of iterations. 6430169689Skan 6431169689Skan2006-05-01 Zdenek Dvorak <dvorakz@suse.cz> 6432169689Skan 6433169689Skan PR tree-optimization/27144 6434169689Skan * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function. 6435169689Skan (record_estimate): Only record constant upper bound. 6436169689Skan (infer_loop_bounds_from_undefined): Call 6437169689Skan compute_estimated_nb_iterations just once. 6438169689Skan (proved_non_wrapping_p): Renamed to ... 6439169689Skan (n_of_executions_at_most): ... this. Expect bound to be a constant. 6440169689Skan (convert_step_widening, scev_probably_wraps_p): Call 6441169689Skan n_of_executions_at_most instead of proved_non_wrapping_p. 6442169689Skan (substitute_in_loop_info): Do not replace values in bounds. 6443169689Skan * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update 6444169689Skan comments. 6445169689Skan 6446169689Skan2006-05-01 Richard Henderson <rth@redhat.com> 6447169689Skan 6448169689Skan PR c/27358 6449169689Skan * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after 6450169689Skan c_parser_skip_to_pragma_eol. Convert to switch statement. Handle 6451169689Skan CPP_PRAGMA. 6452169689Skan 6453169689Skan2006-05-01 Roger Sayle <roger@eyesopen.com> 6454169689Skan 6455169689Skan * c-typeck.c (parser_build_binary_op): Don't call the function 6456169689Skan unsigned_conversion_warning to spot operand/result type overflow. 6457169689Skan (build_binary_op): Instead, call convert_and_check instead of 6458169689Skan convert to report the problem when the operands are promoted. 6459169689Skan * c-common.c (unsigned_conversion_warning): Make static. 6460169689Skan * c-common.h (unsigned_conversion_warning): Delete prototype. 6461169689Skan 6462169689Skan2006-05-01 Richard Guenther <rguenther@suse.de> 6463169689Skan 6464169689Skan PR tree-optimization/26726 6465169689Skan * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the 6466169689Skan problem ... 6467169689Skan (find_interesting_uses_address): ... we work around here 6468169689Skan by folding INDIRECT_REFs in the substituted base. 6469169689Skan 6470169689Skan2006-05-01 Diego Novillo <dnovillo@redhat.com> 6471169689Skan 6472169689Skan * omp-low.c (dump_omp_region): Add newlines. 6473169689Skan 6474169689Skan2006-04-30 Roger Sayle <roger@eyesopen.com> 6475169689Skan 6476169689Skan * common.opt (Woverflow): New command line option. 6477169689Skan * c-common.c (constant_expression_warning): Check warn_overflow. 6478169689Skan (overflow_waring): Pass OPT_Woverflow to warning. 6479169689Skan (unsigned_conversion_warning): Likewise. 6480169689Skan (convert_and_check): Likewise. 6481169689Skan * doc/invoke.texi: Document new command line option. 6482169689Skan 6483169689Skan2006-04-30 David Edelsohn <edelsohn@gnu.org> 6484169689Skan 6485169689Skan * config/rs6000/rs6000.c (rs6000_override_options): Enable 6486169689Skan TARGET_NO_FP_IN_TOC for section anchors. 6487169689Skan (optimization_options): Enable section anchors for all 6488169689Skan non-"Objective" languages. 6489169689Skan 6490169689Skan2006-04-28 Eric Christopher <echristo@apple.com> 6491169689Skan 6492169689Skan * config/darwin-c.c (darwin_ms_struct): Move this 6493169689Skan (darwin_set_default_type_attributes): and this... 6494169689Skan * config/darwin.c: ... here. 6495169689Skan * config/darwin.h (darwin_ms_struct): Declare. 6496169689Skan 6497169689Skan2006-04-28 Andrew MacLeod <amacleod@redhat.com> 6498169689Skan 6499169689Skan * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause. 6500169689Skan 6501169689Skan2006-04-28 Roger Sayle <roger@eyesopen.com> 6502169689Skan 6503169689Skan PR c/25309 6504169689Skan * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT. 6505169689Skan (push_array_bounds): Delete prototype. Change BOUNDS argument to 6506169689Skan an unsigned HOST_WIDE_INT. 6507169689Skan (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the 6508169689Skan array index. 6509169689Skan (really_start_incremental_init): No need to call convert because 6510169689Skan bitsize_zero_node is already of type bitsizetype. 6511169689Skan (push_init_level): Extract the value of constructor_index as an 6512169689Skan unsigned HOST_WIDE_INT quantity, using tree_low_cst. 6513169689Skan (process_init_element): Likewise. 6514169689Skan 6515169689Skan2006-04-28 Joseph S. Myers <joseph@codesourcery.com> 6516169689Skan 6517169689Skan * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX 6518169689Skan value before passing to make_relative_prefix. 6519169689Skan 6520169689Skan2006-04-28 Alan Modra <amodra@bigpond.net.au> 6521169689Skan 6522169689Skan PR middle-end/27260 6523169689Skan * builtins.c (expand_builtin_memset): Expand val in original mode. 6524169689Skan 6525169689Skan2006-04-27 Eric Christopher <echristo@apple.com> 6526169689Skan 6527169689Skan * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket 6528169689Skan with #ifndef/#endif. 6529169689Skan * config/darwin-c.c (darwin_ms_struct): New. 6530169689Skan (darwin_pragma_ms_struct): Ditto. 6531169689Skan (darwin_set_default_type_attributes): Ditto. 6532169689Skan * config/darwin-protos.h (darwin_pragma_ms_struct): Declare. 6533169689Skan * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): 6534169689Skan Register ms_struct pragma. 6535169689Skan * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare. 6536169689Skan (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto. 6537169689Skan * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call 6538169689Skan darwin_set_default_type_attributes if TARGET_MACHO. 6539169689Skan 6540169689Skan2006-04-27 Andrew MacLeod <amacleod@redhat.com> 6541169689Skan 6542169689Skan PR tree-optimization/26854 6543169689Skan * tree-vrp.c (remove_range_assertions): Use new Immuse iterator. 6544169689Skan * doc/tree-ssa.texi: Update immuse iterator documentation. 6545169689Skan * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator. 6546169689Skan * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator. 6547169689Skan * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p, 6548169689Skan first_safe_imm_use, next_safe_imm_use): Remove. 6549169689Skan (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal. 6550169689Skan (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal. 6551169689Skan (move_use_after_head): New. Helper function to sort immuses in a stmt. 6552169689Skan (link_use_stmts_after): New. Link all immuses in a stmt consescutively. 6553169689Skan (first_imm_use_stmt): New. Get first stmt in an immuse list. 6554169689Skan (next_imm_use_stmt): New. Get next stmt in an immuse list. 6555169689Skan (first_imm_use_on_stmt): New. Get first immuse on a stmt. 6556169689Skan (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt. 6557169689Skan (next_imm_use_on_stmt): New. Move to next immuse on a stmt. 6558169689Skan * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator. 6559169689Skan * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator. 6560169689Skan (perfect_nestify): Use new iterator. 6561169689Skan * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new 6562169689Skan iterator. 6563169689Skan * tree-flow.h (struct immediate_use_iterator_d): Add comments. 6564169689Skan (next_imm_name): New field in struct immediate_use_iterator_d. 6565169689Skan (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove. 6566169689Skan (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT, 6567169689Skan FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros. 6568169689Skan * tree-cfg.c (replace_uses_by): Use new iterator. 6569169689Skan * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator. 6570169689Skan * tree-ssa-operands.c (correct_use_link): Remove. 6571169689Skan (finalize_ssa_use_ops): No longer call correct_use_link. 6572169689Skan 6573169689Skan2006-04-27 Stuart Hastings <stuart@apple.com> 6574169689Skan 6575169689Skan * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New. 6576169689Skan * config/t-darwin (crt3.o): Use it. 6577169689Skan * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove 6578169689Skan 'pmode', use Pmode instead of SImode for SYMBOL_REF. 6579169689Skan * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv, 6580169689Skan call_nonlocal_sysv, call_value_indirect_nonlocal_sysv, 6581169689Skan call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64 6582169689Skan support. 6583169689Skan 6584169689Skan2006-04-27 Roger Sayle <roger@eyesopen.com> 6585169689Skan 6586169689Skan * expmed.c (store_fixed_bit_field): If we're not optimizing for 6587169689Skan size, force the intermediate into a new pseudo rather instead of 6588169689Skan performing both a bitwise AND and a bitwise IOR in memory. 6589169689Skan 6590169689Skan2006-04-27 Richard Guenther <rguenther@suse.de> 6591169689Skan 6592169689Skan PR rtl-optimization/26685 6593169689Skan * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named 6594169689Skan this one "max-flow-memory-locations". 6595169689Skan 6596169689Skan2006-04-27 Richard Guenther <rguenther@suse.de> 6597169689Skan 6598169689Skan PR tree-optimization/25148 6599169689Skan * tree-vrp.c (compare_values): Remove code dealing with 6600169689Skan comparisons against type min/max value. Honour overflow 6601169689Skan and negative constants in code dealing with comparisons 6602169689Skan of plus and minus expressions. 6603169689Skan (value_inside_range): Use fold_binary with LE_EXPR and 6604169689Skan GE_EXPR rather than compare_values. 6605169689Skan 6606169689Skan2006-04-27 Dirk Mueller <dmueller@suse.de> 6607169689Skan 6608169689Skan * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare 6609169689Skan prototype for SSE. 6610169689Skan 6611169689Skan2006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com> 6612169689Skan 6613169689Skan * basic-block.h (safe_insert_insn_on_edge): Removed. 6614169689Skan * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed. 6615169689Skan 6616169689Skan2006-04-26 David Edelsohn <edelsohn@gnu.org> 6617169689Skan Paolo Bonzini <bonzini@gnu.org> 6618169689Skan 6619169689Skan PR middle-end/27282 6620169689Skan * combine.c (simplify_and_const_int_1): Use gen_int_mode. 6621169689Skan (simplify_and_const_int): Same. 6622169689Skan 6623169689Skan2006-04-26 Aldy Hernandez <aldyh@redhat.com> 6624169689Skan 6625169689Skan * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE. 6626169689Skan 6627169689Skan2006-04-26 Jakub Jelinek <jakub@redhat.com> 6628169689Skan 6629169689Skan PR c/26171 6630169689Skan * cgraph.c (cgraph_varpool_finalize_decl): Don't call 6631169689Skan cgraph_varpool_assemble_pending_decls if -fopenmp, unless 6632169689Skan cgraph_global_info_ready. 6633169689Skan 6634169689Skan PR middle-end/26913 6635169689Skan * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR. 6636169689Skan 6637169689Skan PR c/25996 6638169689Skan * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if 6639169689Skan either decl or init is error_mark_node. 6640169689Skan 6641169689Skan PR middle-end/25989 6642169689Skan * tree-flow.h (struct omp_region): Add sched_kind. 6643169689Skan * omp-low.c (expand_parallel_call): Use region->inner->sched_kind 6644169689Skan instead of extracting omp for data. 6645169689Skan (expand_omp_for): Save extracted sched_kind. 6646169689Skan 6647169689Skan2006-04-25 Roger Sayle <roger@eyesopen.com> 6648169689Skan 6649169689Skan * expmed.c (store_bit_field): Also check whether the bitsize is 6650169689Skan valid for the machine's "insv" instruction before moving the 6651169689Skan target into a pseudo for use with the insv. 6652169689Skan * config/i386/predicates.md (const8_operand): New predicate. 6653169689Skan * config/i386/i386.md (extv, extzv, insv): Use the new 6654169689Skan const8_operand predicate where appropriate. 6655169689Skan 6656169689Skan2006-04-25 DJ Delorie <dj@redhat.com> 6657169689Skan 6658169689Skan * doc/install.texi (Specific): Clarify that this is not a list of 6659169689Skan supported hosts or targets. 6660169689Skan 6661169689Skan2006-04-25 Richard Sandiford <richard@codesourcery.com> 6662169689Skan 6663169689Skan PR rtl-optimization/26725 6664169689Skan * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source 6665169689Skan block's BB_DIRTY flag. 6666169689Skan 6667169689Skan2006-04-25 Geoffrey Keating <geoffk@apple.com> 6668169689Skan 6669169689Skan * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there 6670169689Skan are no branches. 6671169689Skan 6672169689Skan * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just 6673169689Skan to print an integer. 6674169689Skan 6675169689Skan2006-04-25 David Edelsohn <edelsohn@gnu.org> 6676169689Skan 6677169689Skan * varasm.c (align_variable): New function. 6678169689Skan (get_block_for_decl): Apply align_variable to DECL before 6679169689Skan calculating section information. 6680169689Skan (assemble_variable): Split out alignment computation. 6681169689Skan 6682169689Skan2006-04-25 Andreas Krebbel <krebbel1@de.ibm.com> 6683169689Skan 6684169689Skan * expmed.c (store_bit_field): Handle paradoxical subregs on big endian 6685169689Skan machines. 6686169689Skan 6687169689Skan2006-04-25 Bernd Schmidt <bernd.schmidt@analog.com> 6688169689Skan 6689169689Skan * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a 6690169689Skan MODE_PARTIAL_INT mode. 6691169689Skan * config/bfin/bfin-modes.def: Add V2PDI and V2SI. 6692169689Skan * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers 6693169689Skan for CONST_INTs. 6694169689Skan (hard_regno_mode_ok): V2PDImode is ok for accumulators. 6695169689Skan * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle 6696169689Skan V2PDImode. 6697169689Skan * config/bfin/predicates.md (const01_operand, vec_shift_operand): 6698169689Skan New predicates. 6699169689Skan * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG): 6700169689Skan New constants. 6701169689Skan (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS, 6702169689Skan MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2, 6703169689Skan MACFLAG_IH): Likewise. 6704169689Skan (movstricthi_1): Renamed from "*movstricthi". 6705169689Skan (load_accumulator, load_accumulator_pair, movsi_insv, insv, 6706169689Skan ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3, 6707169689Skan abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high, 6708169689Skan movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low, 6709169689Skan movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low, 6710169689Skan movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3, 6711169689Skan addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, 6712169689Skan sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, 6713169689Skan addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, 6714169689Skan mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2, 6715169689Skan ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi, 6716169689Skan flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly, 6717169689Skan flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts, 6718169689Skan flag_macv2hi_parts, flag_macv2hi_parts_acconly, 6719169689Skan flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns. 6720169689Skan 6721169689Skan * doc/rtl.texi (ss_ashift): Improve wording. 6722169689Skan 6723169689Skan2006-04-24 Geoffrey Keating <geoffk@apple.com> 6724169689Skan 6725169689Skan * dwarf2out.c (verify_marks_clear): New. 6726169689Skan (prune_unused_types): Call verify_marks_clear initially, not 6727169689Skan prune_unmark_dies. 6728169689Skan 6729169689Skan2006-04-24 Bernd Schmidt <bernd.schmidt@analog.com> 6730169689Skan 6731169689Skan * rtl.def (SS_ASHIFT, SS_NEG): New codes. 6732169689Skan * doc/rtl.texi: Document them. 6733169689Skan * simplify-rtx.c (simplify_unary_operation, 6734169689Skan simplify_binary_operation_1): Don't abort when we see them. 6735169689Skan 6736169689Skan2006-04-24 Mark Mitchell <mark@codesourcery.com> 6737169689Skan 6738169689Skan Revert: 6739169689Skan 2006-04-23 Mark Mitchell <mark@codesourcery.com> 6740169689Skan * configure.ac: Completely disregard languages that are not 6741169689Skan enabled. 6742169689Skan * configure: Regenerated. 6743169689Skan 6744169689Skan2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> 6745169689Skan Richard Guenther <rguenther@suse.de> 6746169689Skan 6747169689Skan PR tree-optimization/27236 6748169689Skan * tree-inline.c (copy_body_r): Make sure to copy 6749169689Skan TREE_THIS_VOLATILE flag. 6750169689Skan 6751169689Skan2006-04-24 Richard Guenther <rguenther@suse.de> 6752169689Skan 6753169689Skan PR middle-end/26869 6754169689Skan * tree-complex.c (update_parameter_components): Don't handle 6755169689Skan unused parameters which have no default def. 6756169689Skan 6757169689Skan2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org> 6758169689Skan Richard Guenther <rguenther@suse.de> 6759169689Skan 6760169689Skan PR tree-optimization/27218 6761169689Skan * tree-inline.c (expand_call_inline): Strip useless type 6762169689Skan conversions for the return slot address. 6763169689Skan 6764169689Skan2006-04-24 Richard Guenther <rguenther@suse.de> 6765169689Skan 6766169689Skan * cfgloop.h (struct loops): Remove unused field array. Reorder 6767169689Skan state after num. 6768169689Skan (LOOP_PREFETCH): Remove. 6769169689Skan 6770169689Skan2006-04-24 Richard Guenther <rguenther@suse.de> 6771169689Skan 6772169689Skan PR tree-optimization/22525 6773169689Skan * value-prof.c (tree_mod_pow2): Remove unnecessary temporary 6774169689Skan variable, adjust types of generated expressions. 6775169689Skan 6776169689Skan2006-04-23 H.J. Lu <hongjiu.lu@intel.com> 6777169689Skan 6778169689Skan * Makefile.in (c-convert.o): Add dependency on $(TARGET_H) 6779169689Skan (tree-vect-patterns.o): Likewise. 6780169689Skan (jump.o): Likewise. 6781169689Skan (cselib.o): Likewise. 6782169689Skan (loop-doloop.o): Likewise. 6783169689Skan (regclass.o): Likewise. 6784169689Skan (reload1.o): Likewise. 6785169689Skan (explow.o): Replace target.h with $(TARGET_H). 6786169689Skan (ipa-prop.o): Likewise. 6787169689Skan (ipa-cp.o): Likewise. 6788169689Skan (ipa-inline.o): Likewise. 6789169689Skan (reorg.o): Likewise. 6790169689Skan (reg-stack.o): Likewise. 6791169689Skan 6792169689Skan2006-04-23 Eric Botcazou <ebotcazou@adacore.com> 6793169689Skan 6794169689Skan * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too. 6795169689Skan 6796169689Skan2006-04-23 Mark Mitchell <mark@codesourcery.com> 6797169689Skan 6798169689Skan * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE. 6799169689Skan 6800169689Skan * configure.ac: Completely disregard languages that are not 6801169689Skan enabled. 6802169689Skan * configure: Regenerated. 6803169689Skan 6804169689Skan PR c++/26534 6805169689Skan * c-common.h (c_build_bitfield_integer_type): Declare. 6806169689Skan * c-decl.c (c_build_bitfield_integer_type): Move to ... 6807169689Skan * c-common.c (c_build_bitfield_integer_type): ... here. 6808169689Skan 6809169689Skan2006-04-23 Roger Sayle <roger@eyesopen.com> 6810169689Skan 6811169689Skan PR target/21283 6812169689Skan * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on 6813169689Skan a SImode SUBREG of a floating point register after no_new_pseudos. 6814169689Skan 6815169689Skan2006-04-23 Roger Sayle <roger@eyesopen.com> 6816169689Skan 6817169689Skan * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to 6818169689Skan identify potentially eliminable registers to additionally catch 6819169689Skan VIRTUAL_INCOMING_ARGS_REGNUM. 6820169689Skan (addsi3): Update the conditions on when to use addsi_small_int. 6821169689Skan 6822169689Skan2006-04-23 Roger Sayle <roger@eyesopen.com> 6823169689Skan 6824169689Skan PR target/16641 6825169689Skan * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for 6826169689Skan STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the 6827169689Skan rtx to stack_pointer_rtx or frame_pointer_rtx directly. 6828169689Skan 6829169689Skan2006-04-23 Eric Botcazou <ebotcazou@adacore.com> 6830169689Skan 6831169689Skan * fold-const.c (range_predecessor): Use operand_equal_p 6832169689Skan as the predicate for equality. 6833169689Skan (range_successor): Likewise. 6834169689Skan 6835169689Skan2006-04-22 Kazu Hirata <kazu@codesourcery.com> 6836169689Skan 6837169689Skan Revert: 6838169689Skan * config/soft-fp/op-common.h: Fix a typo. 6839169689Skan 6840169689Skan2006-04-22 Frank Ch. Eigler <fche@redhat.com> 6841169689Skan 6842169689Skan PR libmudflap/26864 6843169689Skan * common.opt (flag_mudflap_threads): Overload flag_mudflap. 6844169689Skan * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap. 6845169689Skan 6846169689Skan2006-04-22 Kazu Hirata <kazu@codesourcery.com> 6847169689Skan 6848169689Skan * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c: 6849169689Skan Fix comment typos. 6850169689Skan * doc/tm.texi: Fix a typo. 6851169689Skan 6852169689Skan2006-04-21 Geoffrey Keating <geoffk@apple.com> 6853169689Skan 6854169689Skan * dwarf2out.c (struct die_struct): Document that die_sib makes 6855169689Skan a circular linked list. 6856169689Skan (FOR_EACH_CHILD): New. 6857169689Skan (reverse_die_lists): Delete. 6858169689Skan (reverse_all_dies): Delete. 6859169689Skan (add_dwarf_attr): Correct documentation. 6860169689Skan (remove_child_with_prev): New. 6861169689Skan (remove_child_TAG): Update for change to die_struct, use 6862169689Skan remove_child_with_prev. 6863169689Skan (add_child_die): Update for change to die_struct. 6864169689Skan (splice_child_die): Use remove_child_with_prev and add_child_die. 6865169689Skan (print_die): Use FOR_EACH_CHILD. 6866169689Skan (die_checksum): Likewise. 6867169689Skan (assign_symbol_names): Likewise. 6868169689Skan (output_location_lists): Likewise. 6869169689Skan (build_abbrev_table): Likewise. 6870169689Skan (calc_die_sizes): Likewise. 6871169689Skan (mark_dies): Likewise. 6872169689Skan (unmark_dies): Likewise. 6873169689Skan (unmark_all_dies): Likewise. 6874169689Skan (output_die): Likewise. 6875169689Skan (prune_unused_types_mark): Likewise. 6876169689Skan (prune_unused_types_walk): Likewise. 6877169689Skan (same_die_p): Update for change to die_struct. 6878169689Skan (break_out_includes): Likewise. 6879169689Skan (prune_unused_types_prune): Likewise. 6880169689Skan (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic. 6881169689Skan (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if 6882169689Skan it's already clear. 6883169689Skan (dwarf2out_finish): Don't call reverse_all_dies. 6884169689Skan 6885169689Skan2006-04-21 Eric Christopher <echristo@apple.com> 6886169689Skan 6887169689Skan * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos 6888169689Skan in comments and function names. 6889169689Skan 6890169689Skan2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 6891169689Skan 6892169689Skan PR c/25875 6893169689Skan * c-typeck.c (digest_init): Robustify. 6894169689Skan 6895169689Skan * c-typeck.c (pop_init_level): Simplify. 6896169689Skan 6897169689Skan2006-04-21 Steve Ellcey <sje@cup.hp.com> 6898169689Skan 6899169689Skan * config/pa/t-pa64: Add dependencies on $(GCC_PASSES). 6900169689Skan 6901169689Skan2006-04-21 Paul Brook <paul@codesourcery.com> 6902169689Skan 6903169689Skan * config/arm/arm.c (arm_override_options): Error on iWMMXt and 6904169689Skan hardware floating point. 6905169689Skan 6906169689Skan2006-04-21 David Edelsohn <edelsohn@gnu.org> 6907169689Skan 6908169689Skan * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to 6909169689Skan NON_FLOAT_REGS. 6910169689Skan 6911169689Skan2006-04-21 Nick Clifton <nickc@redhat.com> 6912169689Skan 6913169689Skan * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include 6914169689Skan OPT_EXTRA_PARTS. 6915169689Skan 6916169689Skan2006-04-21 Alan Modra <amodra@bigpond.net.au> 6917169689Skan 6918169689Skan PR target/27230 6919169689Skan * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use 6920169689Skan C++ lang type in traceback table for Objective-C++. 6921169689Skan 6922169689Skan * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment. 6923169689Skan 6924169689Skan2006-04-20 H.J. Lu <hongjiu.lu@intel.com> 6925169689Skan 6926169689Skan * config/i386/i386.c (asm_preferred_eh_data_format): Reformat. 6927169689Skan 6928169689Skan2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 6929169689Skan 6930169689Skan PR mudflap/26789 6931169689Skan * tree-mudflap.c (mudflap_finish_file): Skip function when there 6932169689Skan were errors. Remove check for erroneous objects. 6933169689Skan 6934169689Skan2006-04-20 Jeff Law <law@redhat.com> 6935169689Skan 6936169689Skan PR tree-optimization/26854 6937169689Skan * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when 6938169689Skan checking for zero or one use. 6939169689Skan * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly. 6940169689Skan * tree-cfgcleanup.c (merge_phi_nodes): Similarly. 6941169689Skan * tree-ssa-reassoc.c (negate_value): Similarly. 6942169689Skan (reassociate_bb): Similarly. 6943169689Skan 6944169689Skan2006-04-20 Jakub Jelinek <jakub@redhat.com> 6945169689Skan 6946169689Skan * c-pretty-print.c (pp_c_direct_abstract_declarator): Print 6947169689Skan TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather 6948169689Skan than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)). 6949169689Skan 6950169689Skan2006-04-20 Alan Modra <amodra@bigpond.net.au> 6951169689Skan 6952169689Skan * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all 6953169689Skan fp regs if the last fp arg doesn't fit in regs. 6954169689Skan 6955169689Skan2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org> 6956169689Skan 6957169689Skan PR target/27182 6958169689Skan * config/sh/sh.md (movsicc_true+3): Tweak condition for the case 6959169689Skan that the last insn has the REG_INC note. 6960169689Skan 6961169689Skan2006-04-19 Carlos O'Donell <carlos@codesourcery.com> 6962169689Skan Nathan Sidwell <nathan@codesourcery.com> 6963169689Skan 6964169689Skan PR c/26774 6965169689Skan * stor-layout.c (update_alignment_for_field): Do not align 6966169689Skan ERROR_MARK nodes. 6967169689Skan (place_union_field): Place union field at the start of the union. 6968169689Skan (place_field): Move ERROR_MARK check later, and use the current 6969169689Skan allocation position to maintain monotonicity. 6970169689Skan 6971169689Skan2006-04-19 Zdenek Dvorak <dvorakz@suse.cz> 6972169689Skan 6973169689Skan * dominance.c: Include timevar.h. 6974169689Skan (calculate_dominance_info): Use TV_DOMINANCE. 6975169689Skan * timevar.def (TV_DOMINANCE): New timevar. 6976169689Skan * Makefile.in (dominance.o): Add TIMEVAR_H dependency. 6977169689Skan 6978169689Skan2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> 6979169689Skan 6980169689Skan PR rtl-optimization/14261 6981169689Skan * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting 6982169689Skan move would be an INSV insn. 6983169689Skan (noce_process_if_block): Don't optimize if the destination is a 6984169689Skan ZERO_EXTRACT which can't be handled by noce_emit_move_insn. 6985169689Skan 6986169689Skan2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com> 6987169689Skan 6988169689Skan * config/s390/s390.md: Add comments with the instructions emitted 6989169689Skan by an insn pattern if macros are used. 6990169689Skan 6991169689Skan2006-04-19 Alan Modra <amodra@bigpond.net.au> 6992169689Skan 6993169689Skan PR rtl-optimization/26026 6994169689Skan * fold-const.c (fold_binary): Optimize div and mod where the divisor 6995169689Skan is a known power of two shifted left a variable amount. 6996169689Skan 6997169689Skan2006-04-18 Geoffrey Keating <geoffk@apple.com> 6998169689Skan 6999169689Skan * dwarf2out.c (prune_unused_types_update_strings): Don't add strings 7000169689Skan to hash table twice when the debug_str section has SECTION_MERGE. 7001169689Skan 7002169689Skan2006-04-18 Joseph S. Myers <joseph@codesourcery.com> 7003169689Skan 7004169689Skan * config/soft-fp: New directory. From glibc. 7005169689Skan * config/soft-fp/t-softfp: New. 7006169689Skan * config/soft-fp/README: New. 7007169689Skan * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE. 7008169689Skan * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New. 7009169689Skan (libgcc.mk): Pass LIB2FUNCS_EXCLUDE. 7010169689Skan (LIBGCC_DEPS): Add $(SFP_MACHINE). 7011169689Skan * config.gcc: Use rs6000/t-fprules-fpbit or 7012169689Skan rs6000/t-fprules-softfp and soft-fp/t-softfp together with 7013169689Skan rs6000/t-fprules. 7014169689Skan * config/rs6000/sfp-machine.h: New. Based on glibc. 7015169689Skan * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp: 7016169689Skan New. 7017169689Skan * config/rs6000/t-fprules: Remove fp-bit rules. 7018169689Skan * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=. 7019169689Skan * config/rs6000/t-linux64: Likewise. Remove duplicates from 7020169689Skan LIB2FUNCS_EXTRA. Remove fp-bit rules. 7021169689Skan (softfp_wrap_start, softfp_wrap_end): New. 7022169689Skan 7023169689Skan2006-04-18 DJ Delorie <dj@redhat.com> 7024169689Skan 7025169689Skan * config/m32c/m32c.h (PTRDIFF_TYPE): Define. 7026169689Skan 7027169689Skan2006-04-18 Devang Patel <dpatel@apple.com> 7028169689Skan 7029169689Skan * doc/invoke.texi (-Wuninitialized): Clarify -O connection. 7030169689Skan 7031169689Skan2006-04-18 Nick Clifton <nickc@redhat.com> 7032169689Skan 7033169689Skan * config/sh/t-symbian: Add rule to build sh-c.o 7034169689Skan * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use 7035169689Skan of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P. 7036169689Skan (sh_symbian_encode_section_info): Likewise. 7037169689Skan 7038169689Skan2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com> 7039169689Skan 7040169689Skan * builtins.c (expand_builtin_strcmp): Cover label definition of 7041169689Skan do_libcall with HAVE_cmpstrnsi. 7042169689Skan 7043169689Skan2006-04-18 Kazu Hirata <kazu@codesourcery.com> 7044169689Skan 7045169689Skan * function.c (temp_slots_at_level, max_slot_level): Use VEC 7046169689Skan instead of VARRAY. 7047169689Skan * function.h (temp_slot_p): New. 7048169689Skan (function): Change the type of x_used_temp_slots to 7049169689Skan VEC(temp_slot_p,gc) *. 7050169689Skan 7051169689Skan2006-04-18 Nick Clifton <nickc@redhat.com> 7052169689Skan 7053169689Skan * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to 7054169689Skan flag_strength_reduce. 7055169689Skan 7056169689Skan * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo. 7057169689Skan 7058169689Skan2006-04-18 Paolo Bonzini <bonzini@gnu.org> 7059169689Skan 7060169689Skan PR target/27117 7061169689Skan 7062169689Skan Partial revert of revision 112637 7063169689Skan 2006-04-03 Paolo Bonzini <bonzini@gnu.org> 7064169689Skan Dale Johannesen <dalej@apple.com> 7065169689Skan 7066169689Skan PR target/19653 7067169689Skan * regclass.c (struct reg_pref): Update documentation. 7068169689Skan (regclass): Set prefclass to NO_REGS if memory is the best option. 7069169689Skan (record_reg_classes): Cope with a prefclass set to NO_REGS. 7070169689Skan 7071169689Skan2006-04-18 Paolo Bonzini <bonzini@gnu.org> 7072169689Skan 7073169689Skan PR tree-optimization/26821 7074169689Skan * tree-ssa-math-opts.c (get_constant_one): New. 7075169689Skan (insert_reciprocals): Use it. 7076169689Skan 7077169689Skan2006-04-17 Geoffrey Keating <geoffk@apple.com> 7078169689Skan 7079169689Skan * dwarf2out.c (free_AT): Delete. 7080169689Skan (remove_AT): Update string ref counts. 7081169689Skan (remove_child_TAG): Don't call free_die. 7082169689Skan (free_die): Delete. 7083169689Skan (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL 7084169689Skan or DW_TAG_GNU_EINCL. 7085169689Skan (prune_unused_types_walk_attribs): Reset string refcounts. 7086169689Skan (prune_unused_types_update_strings): New. 7087169689Skan (prune_unused_types_prune): Don't make unnecessary stores. Don't 7088169689Skan call free_die. Do call prune_unused_types_update_strings. 7089169689Skan (prune_unused_types): Empty debug_str_hash. 7090169689Skan 7091169689Skan2006-04-17 Roger Sayle <roger@eyesopen.com> 7092169689Skan 7093169689Skan * expr.c (expand_assignment): Optimize away no-op moves where the 7094169689Skan source and destination are equal and have no side-effects. 7095169689Skan 7096169689Skan2006-04-17 Richard Guenther <rguenther@suse.de> 7097169689Skan 7098169689Skan PR target/26826 7099169689Skan * reload.c (push_reload): Guard calls to get_secondary_mem 7100169689Skan for memory subregs. 7101169689Skan 7102169689Skan2006-04-16 Kazu Hirata <kazu@codesourcery.com> 7103169689Skan 7104169689Skan * alias.c (reg_base_value, old_reg_base_value): Change the 7105169689Skan type to VEC(rtx,gc) *. 7106169689Skan (REG_BASE_VALUE, find_base_value, record_set, 7107169689Skan init_alias_analysis): Use VEC instead of VARRAY. 7108169689Skan 7109169689Skan * alias.c (alias_sets): Change the type to 7110169689Skan VEC(alias_set_entry,gc) *. 7111169689Skan (get_alias_set_entry, new_alias_set, record_alias_subset): Use 7112169689Skan VEC instead of VARRAY. 7113169689Skan (last_alias_set): Remove. 7114169689Skan 7115169689Skan * cgraph.h (cgraph_edge_p): New. 7116169689Skan Update the prototype of cgraph_function_versioning. 7117169689Skan * cgraphunit.c (cgraph_copy_node_for_versioning, 7118169689Skan cgraph_function_versioning): Use VEC instead of VARRAY. 7119169689Skan * ipa-cp.c (ipcp_insert_stage): Likewise. 7120169689Skan 7121169689Skan2006-04-16 Roger Sayle <roger@eyesopen.com> 7122169689Skan 7123169689Skan PR target/26961 7124169689Skan * fold-const.c (fold_ternary): When converting "A ? B : C" into either 7125169689Skan "A op B" or "A op C", we may need to convert A to the type of B and C. 7126169689Skan 7127169689Skan2006-04-16 Adam Nemet <anemet@caviumnetworks.com> 7128169689Skan 7129169689Skan * target.h (struct gcc_target): Add mode_rep_extended. 7130169689Skan * rtlanal.c (num_sign_bit_copies_in_rep): New global. 7131169689Skan (init_num_sign_bit_copies_in_rep): Initialize it using 7132169689Skan mode_rep_extended. 7133169689Skan (truncate_to_mode): Use it. 7134169689Skan (init_rtlanal): Call init_num_sign_bit_copies_in_rep. 7135169689Skan * targhooks.h (default_mode_rep_extended): Declare it. 7136169689Skan * targhooks.c (default_mode_rep_extended): Define it. 7137169689Skan * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to 7138169689Skan default_mode_rep_extended. 7139169689Skan (TARGET_INITIALIZER): Include it. 7140169689Skan * doc/tm.texi (Misc): Document it. 7141169689Skan * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it. 7142169689Skan (mips_truncated_to_mode): New function. 7143169689Skan 7144169689Skan2006-04-16 Roger Sayle <roger@eyesopen.com> 7145169689Skan 7146169689Skan PR middle-end/25474 7147169689Skan * expr.c (compress_float_constant): Copy the narrow constant into 7148169689Skan a new pseudo before extending it to its final width. 7149169689Skan 7150169689Skan2006-04-16 Roger Sayle <roger@eyesopen.com> 7151169689Skan Andrew Pinski <pinskia@gcc.gnu.org> 7152169689Skan Dale Johannesen <dalej@apple.com> 7153169689Skan 7154169689Skan PR target/24076 7155169689Skan * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add 7156169689Skan special case code to implement V8HImode and V16QImode with SSE2. 7157169689Skan 7158169689Skan2006-04-15 Roger Sayle <roger@eyesopen.com> 7159169689Skan 7160169689Skan * config/i386/i386.c (ix86_va_start): Ensure all integer constant 7161169689Skan trees are constructed with a suitable tree type. 7162169689Skan 7163169689Skan2006-04-15 Roger Sayle <roger@eyesopen.com> 7164169689Skan 7165169689Skan * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW. 7166169689Skan (integer_onep): Likewise. 7167169689Skan (integer_all_onesp): Likewise. 7168169689Skan (integer_pow2p): Likewise. 7169169689Skan (integer_nonzerop): Likewise. 7170169689Skan (real_zerop): Likewise. 7171169689Skan (real_onep): Likewise. 7172169689Skan (real_twop): Likewise. 7173169689Skan (real_minus_onep): Likewise. 7174169689Skan (int_size_in_bytes): Likewise. 7175169689Skan (host_integerp): Likewise. 7176169689Skan 7177169689Skan2006-04-15 Kazu Hirata <kazu@codesourcery.com> 7178169689Skan 7179169689Skan * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c, 7180169689Skan jump.c, mips-tfile.c, omp-low.c, sched-int.h, 7181169689Skan tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos. 7182169689Skan 7183169689Skan * tree-ssa-structalias.h (alias_info): Remove num_references. 7184169689Skan 7185169689Skan2006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 7186169689Skan 7187169689Skan * pa.md (output_bb patterns): Shorten long branch alternatives by 4. 7188169689Skan (output_bvb patterns): Likewise. 7189169689Skan * pa.c (output_bb): Use 'bb' insn for long branch case. 7190169689Skan (output_bvb): Likewise use '{bvb|bb}' for long branch case. 7191169689Skan (output_dbra): Use '{comb|cmpb}' for long branch case for alternative 7192169689Skan 1. Correct length operand for alternatives 1 and 2. 7193169689Skan (output_movb): Use '{comb|cmpb}' for long branch case for alternatives 7194169689Skan 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3. 7195169689Skan 7196169689Skan2006-04-14 Roger Sayle <roger@eyesopen.com> 7197169689Skan 7198169689Skan * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r, 7199169689Skan is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that 7200169689Skan were accidentally reverted by r112959. 7201169689Skan 7202169689Skan2006-04-15 Jakub Jelinek <jakub@redhat.com> 7203169689Skan 7204169689Skan PR middle-end/26823 7205169689Skan * except.h (eh_region_outermost): New prototype. 7206169689Skan * except.c (eh_region_outermost): New function. 7207169689Skan * tree-cfg.c (find_outermost_region_in_block): Use it. 7208169689Skan 7209169689Skan2006-04-14 Kazu Hirata <kazu@codesourcery.com> 7210169689Skan 7211169689Skan * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead 7212169689Skan of VARRAY. 7213169689Skan * reload1.c (reg_equiv_memory_loc_varray): Rename to 7214169689Skan reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *. 7215169689Skan (init_reload, reload): Use VEC instead of VARRAY. 7216169689Skan * reload.h: Update the prototype for 7217169689Skan reg_equiv_memory_loc_varray. 7218169689Skan 7219169689Skan2006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com> 7220169689Skan Eric Botcazou <ebotcazou@libertysurf.fr> 7221169689Skan 7222169689Skan * config/sparc/sparc.c (emit_and_preserve): Allocate space for the 7223169689Skan register save area. 7224169689Skan 7225169689Skan2005-04-13 Uros Bizjak <uros@kss-loka.si> 7226169689Skan 7227169689Skan PR middle-end/27134 7228169689Skan * builtins.c (expand_builtin_int_roundingfn): Use expand_normal() 7229169689Skan to expand fallback builtin function call. 7230169689Skan 7231169689Skan2006-04-14 Alan Modra <amodra@bigpond.net.au> 7232169689Skan 7233169689Skan PR middle-end/27095 7234169689Skan * builtins.c: (expand_builtin_memset): Stabilize args before expansion 7235169689Skan and emit libcall here in case the builtin fails. 7236169689Skan (expand_builtin_strcmp): Always emit the libcall here on failure. 7237169689Skan 7238169689Skan2006-04-14 Kazu Hirata <kazu@codesourcery.com> 7239169689Skan 7240169689Skan * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY. 7241169689Skan * flow.c (reg_n_info): Change the type to 7242169689Skan VEC(reg_info_p,heap) *. 7243169689Skan * regclass.c (allocate_reg_info, free_reg_info): Use VEC 7244169689Skan instead of VARRAY. 7245169689Skan * regs.h (reg_info_p): New. 7246169689Skan (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS, 7247169689Skan REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED, 7248169689Skan REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC 7249169689Skan instead of VARRAY. 7250169689Skan 7251169689Skan2006-04-13 Eric Botcazou <ebotcazou@adacore.com> 7252169689Skan 7253169689Skan * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, 7254169689Skan defaulting to 100. 7255169689Skan * params.h (MAX_SCHED_READY_INSNS): New macro. 7256169689Skan * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle 7257169689Skan past MAX_SCHED_READY_INSNS during the first scheduling pass. 7258169689Skan (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in 7259169689Skan the ready list for 1 cycle during the first scheduling pass. 7260169689Skan * doc/invoke.texi (--param): New parameter max-sched-ready-insns. 7261169689Skan 7262169689Skan2006-04-13 Richard Henderson <rth@redhat.com> 7263169689Skan 7264169689Skan PR libgomp/26651 7265169689Skan * gimple-low.c (lower_omp_directive): Remove dead code. 7266169689Skan (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL. 7267169689Skan * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE. 7268169689Skan * omp-low.c (struct omp_region): Move to tree-flow.h. 7269169689Skan (root_omp_region): Export. 7270169689Skan (omp_regions, lookup_omp_region): Remove. 7271169689Skan (determine_parallel_type): Update for struct omp_region changes. 7272169689Skan (dump_omp_region): Dump regions with block numbers. 7273169689Skan (new_omp_region): Take type and block instead of stmt; malloc 7274169689Skan instead of ggc. 7275169689Skan (free_omp_region_1, free_omp_regions): New. 7276169689Skan (expand_parallel_call): Take entry_stmt as argument; update for 7277169689Skan changes to omp_region. 7278169689Skan (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT. 7279169689Skan (remove_exit_barriers): New. 7280169689Skan (expand_omp_parallel): Update for struct omp_region changes. 7281169689Skan (expand_omp_synch): Likewise. 7282169689Skan (expand_omp): Likewise. 7283169689Skan (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE. 7284169689Skan (expand_omp_for_static_chunk): Likewise. 7285169689Skan (expand_omp_for): Likewise. 7286169689Skan (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call. 7287169689Skan (expand_omp_sections): Similarly, with GOMP_sections_end. 7288169689Skan (expand_omp_single): New. 7289169689Skan (build_omp_regions_1): Update for OMP_CONTINUE. 7290169689Skan (execute_expand_omp): Call remove_exit_barriers, free_omp_regions. 7291169689Skan (lower_omp_sections): Expand with OMP_CONTINUE, do not collect 7292169689Skan OMP_SECTIONS_SECTIONS. 7293169689Skan (lower_omp_single_simple): Don't emit barrier here. 7294169689Skan (lower_omp_single_copy): Likewise. 7295169689Skan (lower_omp_single): Fix bindings, and lower to straightline now. 7296169689Skan (lower_omp_master, lower_omp_ordered): Likewise. 7297169689Skan (lower_omp_critical): Likewise. 7298169689Skan (lower_omp_for): Likewise. Emit OMP_CONTINUE. 7299169689Skan * tree-cfg.c (make_edges): Collect an omp_region tree, use it for 7300169689Skan omp edges, free it afterward. 7301169689Skan (make_omp_sections_edges): Remove. 7302169689Skan (is_ctrl_altering_stmt): Don't bother checking flag_openmp. 7303169689Skan (move_stmt_r): Handle OMP_CONTINUE. 7304169689Skan * tree-flow.h (struct omp_region): Move from omp-low.c. Switch 7305169689Skan statement pointers to basic blocks. Add type member. 7306169689Skan (root_omp_region, new_omp_region, free_omp_regions): Declare. 7307169689Skan * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE. 7308169689Skan * tree-inline.c (estimate_num_insns_1): Likewise. 7309169689Skan * tree-pretty-print.c (dump_generic_node): Likewise. 7310169689Skan * tree-ssa-operands.c (get_expr_operands): Likewise. 7311169689Skan * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand. 7312169689Skan (OMP_RETURN): Rename from OMP_RETURN_EXPR. 7313169689Skan (OMP_CONTINUE): New. 7314169689Skan * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE. 7315169689Skan (OMP_SECTIONS_SECTIONS): Remove. 7316169689Skan (OMP_SECTION_LAST): New. 7317169689Skan (OMP_RETURN_NOWAIT): New. 7318169689Skan 7319169689Skan2006-04-13 Roger Sayle <roger@eyesopen.com> 7320169689Skan 7321169689Skan * fold-const.c (native_encode_vector, native_interpret_real): 7322169689Skan Correct obvious mistakes in the previous check-in. 7323169689Skan 7324169689Skan2006-04-13 Roger Sayle <roger@eyesopen.com> 7325169689Skan 7326169689Skan * fold-const.c (native_encode_expr): New function to encode 7327169689Skan the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST 7328169689Skan or VECTOR_CST into a specified buffer. 7329169689Skan (native_encode_int): New function. 7330169689Skan (native_encode_real): New function. 7331169689Skan (native_encode_complex): New function. 7332169689Skan (native_encode_vector): New function. 7333169689Skan (native_interpret_expr): Inverse of native_encode_expr to convert 7334169689Skan a target representation into an INTEGER_CST, REAL_CST etc... 7335169689Skan (native_interpret_int): New function. 7336169689Skan (native_interpret_real): New function. 7337169689Skan (native_interpret_complex): New function. 7338169689Skan (native_interpret_vector): New function. 7339169689Skan (fold_view_convert_expr): New function to constant fold/evaluate 7340169689Skan a VIEW_CONVERT_EXPR of a suitable constant expression. 7341169689Skan (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr. 7342169689Skan Change call of build1 to fold_build1 when constructing a 7343169689Skan VIEW_CONVERT_EXPR. 7344169689Skan 7345169689Skan2006-04-13 Paolo Bonzini <bonzini@gnu.org> 7346169689Skan Ulrich Weigand <uweigand@de.ibm.com> 7347169689Skan 7348169689Skan PR target/27006 7349169689Skan * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n 7350169689Skan to be even. 7351169689Skan 7352169689Skan2006-04-13 Alan Modra <amodra@bigpond.net.au> 7353169689Skan 7354169689Skan PR target/26459 7355169689Skan * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't 7356169689Skan optimize to lo_sum for DFmode if !TARGET_FPRS. 7357169689Skan 7358169689Skan2006-04-12 Kazu Hirata <kazu@codesourcery.com> 7359169689Skan 7360169689Skan * tree-ssa-alias.c (set_initial_properties, init_alias_info, 7361169689Skan delete_alias_info, compute_flow_sensitive_aliasing, 7362169689Skan group_aliases): Use VEC instead of VARRAY. 7363169689Skan * tree-ssa-structalias.c (update_alias_info): Likewise. 7364169689Skan * tree-ssa-structalias.h (alias_info): Change the type of 7365169689Skan processed_ptrs to VEC(tree,heap) *. 7366169689Skan 7367169689Skan2006-04-12 J"orn Rennecke <joern.rennecke@st.com> 7368169689Skan 7369169689Skan PR target/27060 7370169689Skan * config/sh/lib1funcs.h: New file, broken out of: 7371169689Skan * config/sh/lib1funcs.asm. 7372169689Skan * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41): 7373169689Skan New macros. 7374169689Skan * config/sh/lib1funcs.asm (udivsi3_i4): Use them. 7375169689Skan * config/sh/lib1funcs-Os-4-200.asm: New file. 7376169689Skan * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200. 7377169689Skan * config/sh/t-sh (OPT_EXTRA_PARTS): New variable. 7378169689Skan (EXTRA_MULTILIB_PARTS): Include it. 7379169689Skan ($(T)sdivsi3_i4i-Os-4-200.o): New rule. 7380169689Skan ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise. 7381169689Skan * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS. 7382169689Skan * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for 7383169689Skan TARGET_SH2. 7384169689Skan 7385169689Skan2006-04-12 Kazu Hirata <kazu@codesourcery.com> 7386169689Skan 7387169689Skan * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h. 7388169689Skan * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete, 7389169689Skan tpa_compact, root_var_init, type_var_init): Use VEC instead of 7390169689Skan VARRAY. 7391169689Skan * tree-ssa-live.h: Include vecprim.h. 7392169689Skan (tree_partition_associator_d): Change the type of 7393169689Skan first_partition to VEC(int,heap) *. 7394169689Skan (tpa_first_partition): Use VEC instead of VARRAY. 7395169689Skan 7396169689Skan * Makefile.in (GTFILES): Move functions.h after tree.h. 7397169689Skan * function.c (reset_block_changes, record_block_change, 7398169689Skan check_block_change, free_block_changes): Use VEC instead of 7399169689Skan VARRAY. 7400169689Skan * function.h (function): Change the type of 7401169689Skan ib_boundaries_block to VEC(tree,gc) *. 7402169689Skan * tree-inline.c (copy_cfg_body): Initialize 7403169689Skan ib_boundaries_block to NULL instead of (varray_type) 0. 7404169689Skan 7405169689Skan2006-04-12 Roger Sayle <roger@eyesopen.com> 7406169689Skan 7407169689Skan * expr.c (emit_group_store): Correct operand order in call to 7408169689Skan subreg_lowpart_offset. Always create paradoxical SUBREGs with 7409169689Skan a SUBREG_BYTE of zero. 7410169689Skan 7411169689Skan2006-04-12 Richard Guenther <rguenther@suse.de> 7412169689Skan 7413169689Skan * profile.c (compute_branch_probabilities): Remove code 7414169689Skan encapsulated in !ir_type (), which are remanents of the 7415169689Skan removed RTL profiling code. 7416169689Skan * rtl-profile.c: Remove. 7417169689Skan 7418169689Skan2006-04-12 Alan Modra <amodra@bigpond.net.au> 7419169689Skan 7420169689Skan * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update 7421169689Skan magic NULL_RTX comment. 7422169689Skan (function_arg): Store entire fp arg to mem if any part should go 7423169689Skan on stack. 7424169689Skan (rs6000_arg_partial_bytes): Adjust for above change. 7425169689Skan 7426169689Skan2006-04-11 Roger Sayle <roger@eyesopen.com> 7427169689Skan 7428169689Skan * dwarf2out.c (output_call_frame_info): Create debug_frame_section 7429169689Skan if it hasn't been initialized by dwarf2out_init. 7430169689Skan 7431169689Skan2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> 7432169689Skan 7433169689Skan * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new 7434169689Skan symbolic constants in branch patterns. 7435169689Skan 7436169689Skan2006-04-11 Roger Sayle <roger@eyesopen.com> 7437169689Skan 7438169689Skan * caller-save.c: #include "addresses.h" after #include "tm_p.h". 7439169689Skan 7440169689Skan2006-04-11 Richard Sandiford <richard@codesourcery.com> 7441169689Skan 7442169689Skan PR rtl-optimization/27073 7443169689Skan * gcse.c (try_replace_reg): Revert last change. Continue to search 7444169689Skan for both REG_EQUAL and REG_EQUIV notes, but only perform replacements 7445169689Skan on the former. 7446169689Skan 7447169689Skan2006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr> 7448169689Skan 7449169689Skan * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle 7450169689Skan aggregate types other than record and union types. 7451169689Skan (function_arg): Likewise. 7452169689Skan (function_arg_pass_by_reference): In 64-bit mode, return 0 for 7453169689Skan small arrays. 7454169689Skan (function_value): In 64-bit mode, return objects that require it 7455169689Skan in FP registers. 7456169689Skan 7457169689Skan2006-04-11 Roger Sayle <roger@eyesopen.com> 7458169689Skan 7459169689Skan * dwarf2out.c (premark_used_types): Remove problematic prototype. 7460169689Skan 7461169689Skan2006-04-11 Jakub Jelinek <jakub@redhat.com> 7462169689Skan 7463169689Skan * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o. 7464169689Skan 7465169689Skan2006-04-03 Jeff Law <law@redhat.com> 7466169689Skan 7467169689Skan PR/27087 7468169689Skan * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive 7469169689Skan alias information too. 7470169689Skan 7471169689Skan2006-04-10 Mike Frysinger <vapier@gentoo.org> 7472169689Skan 7473169689Skan * Makefile.in (gcc-cross): Add $(exeext) to target name. 7474169689Skan 7475169689Skan2006-04-10 Aldy Hernandez <aldyh@redhat.com> 7476169689Skan 7477169689Skan PR/21391 7478169689Skan * dwarf2out.c (struct die_struct): Add die_perennial_p field. 7479169689Skan (premark_used_types_helper): New. 7480169689Skan (premark_used_types): New. 7481169689Skan (gen_subprogram_die): Call premark_used_types. 7482169689Skan (prune_unused_types_walk): Do not prune perennial dies. 7483169689Skan * function.c (used_types_insert): New. 7484169689Skan * function.h (struct function): Add used_types_hash field. 7485169689Skan (used_types_insert): Add prototype. 7486169689Skan * Makefile.in (FUNCTION_H): Depend on HASHTAB_H. 7487169689Skan * c-parser.c (c_parser_cast_expression): Save casted types in used 7488169689Skan types hash table. 7489169689Skan 7490169689Skan2006-04-11 Mark Mitchell <mark@codesourcery.com> 7491169689Skan 7492169689Skan PR target/26459 7493169689Skan * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test 7494169689Skan rs6000_explicit_options.float_gprs. 7495169689Skan 7496169689Skan2006-04-10 Roger Sayle <roger@eyesopen.com> 7497169689Skan 7498169689Skan * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed 7499169689Skan from ix86_expand_vector_init_low_nonzero. Take an additional 7500169689Skan one_var argument indicating which element is non-zero. Support 7501169689Skan one_var != 0 for V4SFmode and V4SImode by permuting the result. 7502169689Skan (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero 7503169689Skan with one_var instead of ix86_expand_vector_init_low_nonzero. 7504169689Skan 7505169689Skan2006-04-10 Kazu Hirata <kazu@codesourcery.com> 7506169689Skan 7507169689Skan * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o, 7508169689Skan tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o, 7509169689Skan global.o, cfglayout.o, lambda-code.o, reg-stack.o, 7510169689Skan build/genextract.o): Depend on vecprim.h. 7511169689Skan * cfglayout.c, df-problems.c, function.c, genextract.c, 7512169689Skan global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c, 7513169689Skan tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include 7514169689Skan vecprim.h. 7515169689Skan * vecprim.h: New. 7516169689Skan 7517169689Skan2006-04-10 Geoffrey Keating <geoffk@apple.com> 7518169689Skan 7519169689Skan * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next. 7520169689Skan Declare VECs of this type. 7521169689Skan (struct die_struct): Make field die_attr a VEC of dw_attr_struct. 7522169689Skan (remove_children): Delete. 7523169689Skan (add_dwarf_attr): Use VEC routines. 7524169689Skan (add_AT_flag): Update for changes to add_dwarf_attr. 7525169689Skan (add_AT_int): Likewise. 7526169689Skan (add_AT_unsigned): Likewise. 7527169689Skan (add_AT_long_long): Likewise. 7528169689Skan (add_AT_vec): Likewise. 7529169689Skan (add_AT_string): Likewise. 7530169689Skan (add_AT_die_ref): Likewise. 7531169689Skan (add_AT_fde_ref): Likewise. 7532169689Skan (add_AT_loc): Likewise. 7533169689Skan (add_AT_loc_list): Likewise. 7534169689Skan (add_AT_addr): Likewise. 7535169689Skan (add_AT_lbl_id): Likewise. 7536169689Skan (add_AT_lineptr): Likewise. 7537169689Skan (add_AT_macptr): Likewise. 7538169689Skan (add_AT_offset): Likewise. 7539169689Skan (add_AT_range_list): Likewise. 7540169689Skan (get_AT): Use VEC_iterate. 7541169689Skan (remove_AT): Use VEC_ordered_remove. 7542169689Skan (free_die): Fold remove_children into here; have it use VEC_iterate. 7543169689Skan (print_die): Use VEC_iterate on attrs. 7544169689Skan (reverse_die_lists): Don't reverse attr lists. 7545169689Skan (die_checksum): Use VEC_iterate on attrs. 7546169689Skan (same_die_p): Likewise. 7547169689Skan (output_location_lists): Likewise. 7548169689Skan (build_abbrev_table): Likewise. 7549169689Skan (size_of_die): Likewise. 7550169689Skan (unmark_all_dies): Likewise. 7551169689Skan (output_abbrev_section): Likewise. 7552169689Skan (output_die): Likewise. 7553169689Skan (prune_unused_types_walk_attribs): Likewise. 7554169689Skan 7555169689Skan2006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr> 7556169689Skan 7557169689Skan * doc/install.texi (*-*-solaris2*): Point to the configure page. 7558169689Skan 7559169689Skan2006-04-10 Jakub Jelinek <jakub@redhat.com> 7560169689Skan 7561169689Skan PR debug/27057 7562169689Skan * dwarf2out.c (is_symbol_die): Return true also for namespaces. 7563169689Skan 7564169689Skan2006-04-09 Roger Sayle <roger@eyesopen.com> 7565169689Skan 7566169689Skan * expr.c (store_constructor): Don't bother clearing target if 7567169689Skan we're about to assign a vector to it using vec_init_optab. 7568169689Skan 7569169689Skan2006-04-10 Daniel Berlin <dberlin@dberlin.org> 7570169689Skan 7571169689Skan * tree-ssa-alias.c (lhs_may_store_to): New function. 7572169689Skan (recalculate_used_alone): Handle LHS of calls. 7573169689Skan 7574169689Skan2006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 7575169689Skan 7576169689Skan PR target/27034 7577169689Skan PR target/26508 7578169689Skan * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts. 7579169689Skan * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a. 7580169689Skan (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here. 7581169689Skan (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines. 7582169689Skan (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK. 7583169689Skan (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text 7584169689Skan section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB 7585169689Skan stubs. Add ".align 8" directives before all ".dword" directives. 7586169689Skan (GTHREAD_USE_WEAK): Revise comment. 7587169689Skan (TARGET_ATTRIBUTE_WEAK): Define. 7588169689Skan * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o, 7589169689Skan dfi-stub.o, cxaf-stub.o and jvrc-stub.o. 7590169689Skan * stublib.c: New file. 7591169689Skan 7592169689Skan PR target/26743 7593169689Skan PR target/11254 7594169689Skan PR target/10274 7595169689Skan * pa.md (cbranch patterns): Revise arguments used in calls to 7596169689Skan output_cbranch, output_bb and output_bvd. Add long branch length 7597169689Skan attributes. 7598169689Skan (fbranch patterns): Handle long branches. 7599169689Skan (jump): Revise length check. Revise arguments for output_lbranch call. 7600169689Skan Add long branch length attributes. 7601169689Skan (decrement_and_branch_until_zero): Add long branch length attributes. 7602169689Skan (output_movb, output_parallel_addb and output_parallel_movb patterns): 7603169689Skan Likewise. Revise arguments for output_parallel_addb and 7604169689Skan output_parallel_movb calls. 7605169689Skan * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb, 7606169689Skan output_parallel_movb and output_parallel_addb): Update prototypes. 7607169689Skan * pa.c (output_cbranch): Revise arguments. Correct handling of 7608169689Skan nullification in long branches. 7609169689Skan (output_lbranch): Add new argument to control extraction of delay 7610169689Skan instruction. 7611169689Skan (output_bb): Handle long branches. 7612169689Skan (output_bvb, output_dbra, output_movb, output_parallel_movb, 7613169689Skan output_parallel_addb): Likewise. 7614169689Skan 7615169689Skan2006-04-09 Richard Sandiford <richard@codesourcery.com> 7616169689Skan 7617169689Skan PR rtl-optimization/27073 7618169689Skan * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes, 7619169689Skan not REG_EQUIVs. 7620169689Skan 7621169689Skan2006-04-08 Daniel Berlin <dberlin@dberlin.org> 7622169689Skan 7623169689Skan * tree.h (tree_memory_tag): Add old_used_alone. 7624169689Skan (SMT_OLD_USED_ALONE): New macro. 7625169689Skan * tree-ssa-alias.c (recalculate_used_alone): Stop 7626169689Skan marking things for renaming unnecessarily. 7627169689Skan 7628169689Skan2006-04-08 Kazu Hirata <kazu@codesourcery.com> 7629169689Skan 7630169689Skan * builtins.c, config/arm/arm.c, config/i386/cygwin.h, 7631169689Skan config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h, 7632169689Skan config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c, 7633169689Skan haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h, 7634169689Skan sched-rgn.c, tree-inline.h, tree-ssa-dom.c, 7635169689Skan tree-ssa-loop-prefetch.c, tree-ssa-operands.c, 7636169689Skan tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow 7637169689Skan spelling convensions. 7638169689Skan * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi, 7639169689Skan doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment 7640169689Skan typos. Follow spelling conventions. 7641169689Skan 7642169689Skan2006-04-07 DJ Delorie <dj@redhat.com> 7643169689Skan 7644169689Skan * config/m32c/m32c.c (m32c_function_arg): Structures are always 7645169689Skan passed on the stack. 7646169689Skan (m32c_init_cumulative_args): When a function returns a structure, 7647169689Skan always pass the pointer to that return area on the stack. 7648169689Skan (m32c_function_arg_advance): Don't increment the parameter number 7649169689Skan if we're processing the returned structure pointer. 7650169689Skan (pushm_info): Reverse order of registers. 7651169689Skan 7652169689Skan2006-04-07 Sebastian Pop <pop@cri.ensmp.fr> 7653169689Skan 7654169689Skan * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne, 7655169689Skan assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, 7656169689Skan number_of_iterations_le, number_of_iterations_cond, find_loop_niter, 7657169689Skan estimate_numbers_of_iterations_loop): Use build_int_cst instead of 7658169689Skan build_int_cst_type. 7659169689Skan * tree-chrec.c (chrec_fold_multiply_poly_poly, 7660169689Skan chrec_fold_multiply): Same. 7661169689Skan * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost, 7662169689Skan force_expr_to_var_cost): Same. 7663169689Skan * tree-mudflap.c (mf_xform_derefs_1): Same. 7664169689Skan * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same. 7665169689Skan 7666169689Skan2006-04-07 David Edelsohn <edelsohn@gnu.org> 7667169689Skan 7668169689Skan * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not 7669169689Skan treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra 7670169689Skan insn. 7671169689Skan 7672169689Skan2006-04-07 Jan Hubicka <jh@suse.cz> 7673169689Skan 7674169689Skan * ipa-inline.c (cgraph_early_inlining): Collect garbage. 7675169689Skan 7676169689Skan2006-04-07 Richard Guenther <rguenther@suse.de> 7677169689Skan 7678169689Skan PR tree-optimization/26135 7679169689Skan * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory 7680169689Skan loads for store copy-prop. 7681169689Skan (copy_prop_visit_stmt): Likewise. 7682169689Skan 7683169689Skan2006-04-05 Robert Millan <robertmh@gnu.org> 7684169689Skan 7685169689Skan * config/i386/linux.h: Add a comment to mark macros that are 7686169689Skan being overriden in config/k*bsd-gnu.h. 7687169689Skan * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of 7688169689Skan DYNAMIC_LINKER. 7689169689Skan * config/knetbsd-gnu.h: Ditto. 7690169689Skan 7691169689Skan2006-04-06 Jan Hubicka <jh@suse.cz> 7692169689Skan 7693169689Skan PR profile/20815 7694169689Skan PR profile/26399 7695169689Skan * coverage.c (coverage_checksum_string): Reorganize loop to not read 7696169689Skan after buffer. 7697169689Skan 7698169689Skan2006-04-06 Mike Stump <mrs@apple.com> 7699169689Skan 7700169689Skan * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if 7701169689Skan for HAVE_nonlocal_goto to be consistent. 7702169689Skan (expand_builtin_nonlocal_goto): Likewise. 7703169689Skan (expand_builtin_strcmp): Use #ifdef instead of #if 7704169689Skan for HAVE_cmpstrnsi to be consistent. 7705169689Skan 7706169689Skan2006-04-05 DJ Delorie <dj@redhat.com> 7707169689Skan 7708169689Skan * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c 7709169689Skan vs m32c. 7710169689Skan 7711169689Skan2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> 7712169689Skan 7713169689Skan * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow 7714169689Skan got-relative addressing for anything but SImode. 7715169689Skan 7716169689Skan * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered 7717169689Skan even if the calling function doesn't modify them. 7718169689Skan 7719169689Skan2006-04-05 Richard Guenther <rguenther@suse.de> 7720169689Skan 7721169689Skan PR tree-optimization/26919 7722169689Skan * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument 7723169689Skan to cgraph_estimate_size_after_inlining. 7724169689Skan 7725169689Skan2006-04-05 Alan Modra <amodra@bigpond.net.au> 7726169689Skan 7727169689Skan * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change. 7728169689Skan 7729169689Skan2006-04-05 Sebastian Pop <pop@cri.ensmp.fr> 7730169689Skan 7731169689Skan PR tree-optimization/26996 7732169689Skan * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze 7733169689Skan VECTOR_TYPE variables. 7734169689Skan 7735169689Skan2006-04-05 Richard Guenther <rguenther@suse.de> 7736169689Skan 7737169689Skan PR tree-optimization/26763 7738169689Skan * fold-const.c (fold_comparison): Move folding of 7739169689Skan PTR + CST CMP PTR + CST ... 7740169689Skan (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR. 7741169689Skan 7742169689Skan2006-04-05 Gerald Pfeifer <gerald@pfeifer.com> 7743169689Skan 7744169689Skan * doc/install.texi (Prerequisites): Refine some wording on 7745169689Skan bootstrapping and ksh. 7746169689Skan Move the version numbers of DejaGnu here from the testing section 7747169689Skan and fix casing of names. 7748169689Skan Fix markup and clarify wording for autogen requirements. 7749169689Skan Refer to GCJ instead of just java. 7750169689Skan Refer to SVN instead of CVS. 7751169689Skan Describe diffutils as useful instead of necessary. 7752169689Skan (Downloading the source): Refer to SVN instead of CVS. 7753169689Skan Adjust a link to our web site accordingly. 7754169689Skan (Configuration): Fix casing of Bison. 7755169689Skan (Building): Refer to SVN instead of CVS. 7756169689Skan Fix a sentence on the use of Bison and remove duplicate (and 7757169689Skan incorrect) version number of Bison requirement. 7758169689Skan Remove one redundant list of packages needed for building. 7759169689Skan (Specific): Avoid reference to CVS. 7760169689Skan 7761169689Skan2006-04-04 Eric Christopher <echristo@apple.com> 7762169689Skan 7763169689Skan * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define. 7764169689Skan (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto. 7765169689Skan (rs6000_handle_struct_attribute): New. 7766169689Skan (rs6000_ms_bitfield_layout_p): Ditto. 7767169689Skan 7768169689Skan2006-04-04 Geoffrey Keating <geoffk@apple.com> 7769169689Skan 7770169689Skan * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than 7771169689Skan NULL for dso parameter to atexit_common. 7772169689Skan 7773169689Skan2006-04-04 Eric Christopher <echristo@apple.com> 7774169689Skan 7775169689Skan * config/i386/i386.c (machopic_output_stub): Output \t 7776169689Skan between instructions and operands. 7777169689Skan 7778169689Skan2006-04-04 David Edelsohn <edelsohn@gnu.org> 7779169689Skan 7780169689Skan * config/rs6000/rs6000.c (num_insns_constant_wide): Change 7781169689Skan satisfies_constraint_[IL] to explicit tests on value. 7782169689Skan 7783169689Skan2006-04-04 Sebastian Pop <pop@cri.ensmp.fr> 7784169689Skan 7785169689Skan * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, 7786169689Skan set_nb_iterations_in_loop): Use build_int_cst instead of 7787169689Skan build_int_cst_type. 7788169689Skan * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use 7789169689Skan build_int_cst instead of convert. 7790169689Skan 7791169689Skan2006-04-04 Carlos O'Donell <carlos@codesourcery.com> 7792169689Skan 7793169689Skan * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document 7794169689Skan new value 2 for incoming. 7795169689Skan * function.c (expand_function_start): Call struct_value_rtx 7796169689Skan with incoming as 2. 7797169689Skan * config/sparc/sparc.md: Comment updated_return. 7798169689Skan * config/sparc/sparc.opt: Add -mstd-struct-return option. 7799169689Skan * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard 7800169689Skan struct return if sparc_std_struct_return and incoming is 2. 7801169689Skan (print_operand): Do not adjust return if 7802169689Skan sparc_std_struct_return. 7803169689Skan 7804169689Skan2006-04-04 Roger Sayle <roger@eyesopen.com> 7805169689Skan 7806169689Skan * builtins.c (fold_builtin_sprintf): Use fold_convert instead of 7807169689Skan convert in the middle-end. 7808169689Skan * expr.c (store_expr, store_constructor, get_inner_reference, 7809169689Skan expand_expr_real_1, string_constant, try_casesi, try_tablejump): 7810169689Skan Likewise. 7811169689Skan * tree.c (build_range_type): Likewise. 7812169689Skan 7813169689Skan2006-04-04 Tom Tromey <tromey@redhat.com> 7814169689Skan 7815169689Skan * doc/install.texi (Prerequisites): Mention jar. 7816169689Skan 7817169689Skan2006-04-04 Daniel Berlin <dberlin@dberlin.org> 7818169689Skan 7819169689Skan * doc/tree-ssa.texi (Preserving the virtual ssa form): New 7820169689Skan subsection. 7821169689Skan 7822169689Skan2006-04-04 Matthias Klose <doko@debian.org> 7823169689Skan 7824169689Skan * Makefile.in (unprotoize.o): Same dependencies as for protoize.o. 7825169689Skan 7826169689Skan PR bootstrap/26764 7827169689Skan PR bootstrap/27334 7828169689Skan * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted 7829169689Skan strings. 7830169689Skan 7831169689Skan2006-04-03 Geoffrey Keating <geoffk@apple.com> 7832169689Skan 7833169689Skan * doc/extend.texi (Function Attributes): Rewrite visibility 7834169689Skan attribute documentation. 7835169689Skan * doc/invoke.texi (C++ Dialect Options): Rewrite 7836169689Skan -fvisibility-inlines-hidden documentation to describe something 7837169689Skan entirely different, although in practise compatible. 7838169689Skan (Code Gen Options): Warn about system headers in -fvisibility= 7839169689Skan documentation. 7840169689Skan 7841169689Skan * doc/extend.texi (Other Builtins): Document that 7842169689Skan __builtin_nan is a compile-time constant only when its argument 7843169689Skan is valid. 7844169689Skan 7845169689Skan2006-04-03 Adam Nemet <anemet@caviumnetworks.com> 7846169689Skan 7847169689Skan * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When 7848169689Skan trying to remove TRUNCATE check if all bits outside the new mode 7849169689Skan are identical to the sign bit. 7850169689Skan 7851169689Skan2006-04-03 Jeff Law <law@redhat.com> 7852169689Skan 7853169689Skan * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding 7854169689Skan and operand scanning in some common cases. 7855169689Skan 7856169689Skan2006-04-03 Paolo Bonzini <bonzini@gnu.org> 7857169689Skan Dale Johannesen <dalej@apple.com> 7858169689Skan 7859169689Skan PR target/19653 7860169689Skan * regclass.c (struct reg_pref): Update documentation. 7861169689Skan (regclass): Set prefclass to NO_REGS if memory is the best option. 7862169689Skan (record_reg_classes): Cope with a prefclass set to NO_REGS. 7863169689Skan * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS 7864169689Skan into account. For non-registers, equate an empty preferred 7865169689Skan reload class to a `!' in the constraint; move the if clause to 7866169689Skan do so after those that reject the insn. 7867169689Skan (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally 7868169689Skan return NO_REGS. 7869169689Skan (find_dummy_reload): Likewise. 7870169689Skan * doc/tm.texi (Register Classes): Document what it means 7871169689Skan if PREFERRED_*_RELOAD_CLASS return NO_REGS. 7872169689Skan * config/i386/i386.c (ix86_preferred_reload_class): Force 7873169689Skan using SSE registers (and return NO_REGS for floating-point 7874169689Skan constants) if math is done with SSE. 7875169689Skan (ix86_preferred_output_reload_class): New. 7876169689Skan * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New. 7877169689Skan * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New. 7878169689Skan * config/i386/i386.md: Remove # register preferences. 7879169689Skan 7880169689Skan2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> 7881169689Skan 7882169689Skan PR bootstrap/26992 7883169689Skan * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, 7884169689Skan chrec_is_positive, set_nb_iterations_in_loop): Use a variable for 7885169689Skan the type of nb_iter. 7886169689Skan (instantiate_parameters_1): Convert the operands before calling 7887169689Skan chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply. 7888169689Skan * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same. 7889169689Skan 7890169689Skan2006-04-02 Roger Sayle <roger@eyesopen.com> 7891169689Skan 7892169689Skan * builtins.c (dummy_object): Use build_int_cst instead of convert. 7893169689Skan * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert 7894169689Skan instead of convert. 7895169689Skan * dojump.c (do_jump): Likewise. 7896169689Skan * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise. 7897169689Skan * gimplify.c (gimple_boolify, gimplify_init_constructor, 7898169689Skan gimplify_boolean_expr): Likewise. 7899169689Skan * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. 7900169689Skan * varasm.c (array_size_for_constructor): Likewise. 7901169689Skan * tree-object-size.c (compute_object_offset): Likewise. 7902169689Skan 7903169689Skan2006-04-02 Roger Sayle <roger@eyesopen.com> 7904169689Skan 7905169689Skan PR middle-end/26977 7906169689Skan * expr.c (emit_group_store): Check whether simplify_gen_subreg returns 7907169689Skan NULL_RTX, indicating it couldn't create a valid paradoxical subreg. 7908169689Skan 7909169689Skan2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> 7910169689Skan 7911169689Skan PR tree-optimization/26939 7912169689Skan * tree-chrec.c (chrec_merge): Use eq_evolutions_p. 7913169689Skan 7914169689Skan2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> 7915169689Skan 7916169689Skan * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument 7917169689Skan at_stmt. Convert the type of operands before calling 7918169689Skan build_polynomial_chrec. 7919169689Skan (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to 7920169689Skan add_to_evolution_1. 7921169689Skan (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution. 7922169689Skan (instantiate_parameters_1): Convert the type of operands before calling 7923169689Skan build_polynomial_chrec. 7924169689Skan * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly, 7925169689Skan chrec_fold_multiply_poly_poly, chrec_replace_initial_condition, 7926169689Skan reset_evolution_in_loop): Insert asserts to check the types of the 7927169689Skan operands. 7928169689Skan (chrec_type): Moved... 7929169689Skan (eq_evolutions_p): Use operand_equal_p. 7930169689Skan * tree-chrec.h (build_polynomial_chrec): Insert an assert to check 7931169689Skan the types of the operands. 7932169689Skan (chrec_type): ...here. 7933169689Skan * tree-data-ref.c (create_data_ref): Convert the operands before 7934169689Skan calling chrec_replace_initial_condition. 7935169689Skan (same_access_functions, analyze_subscript_affine_affine, 7936169689Skan analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p. 7937169689Skan (compute_subscript_distance, analyze_ziv_subscript, 7938169689Skan analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, 7939169689Skan analyze_miv_subscript): Convert the operands before calling 7940169689Skan chrec_fold_minus or chrec_fold_plus. 7941169689Skan 7942169689Skan2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> 7943169689Skan 7944169689Skan * tree-data-ref.c (compute_all_dependences): Use a pointer to 7945169689Skan the dependence_relations vector. 7946169689Skan (compute_data_dependences_for_loop): Adjust call to 7947169689Skan compute_all_dependences. 7948169689Skan 7949169689Skan2006-04-01 Roger Sayle <roger@eyesopen.com> 7950169689Skan Richard Henderson <rth@redhat.com> 7951169689Skan 7952169689Skan * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call 7953169689Skan gimple_boolify on the condition before calling gimplify_expr. 7954169689Skan 7955169689Skan2006-03-31 Bob Wilson <bob.wilson@acm.org> 7956169689Skan 7957169689Skan * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros 7958169689Skan to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to 7959169689Skan the frame size. Update to use the new macros. 7960169689Skan * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros. 7961169689Skan * config/xtensa/ieee754-df.S: Likewise. 7962169689Skan 7963169689Skan2006-03-31 Richard Henderson <rth@redhat.com> 7964169689Skan 7965169689Skan * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into... 7966169689Skan (make_edges): ... here. Control fallthru creation with a local 7967169689Skan variable. Do not play with fake edges. 7968169689Skan (make_omp_sections_edges): Don't set EDGE_ABNORMAL. 7969169689Skan (make_goto_expr_edges): Don't play with fake edges. Make for_call 7970169689Skan a boolean. 7971169689Skan 7972169689Skan2006-04-01 Joseph S. Myers <joseph@codesourcery.com> 7973169689Skan 7974169689Skan * dwarf2.h (DW64_CIE_ID): Define. 7975169689Skan * dwarf2out.c (DWARF_CIE_ID): Define. 7976169689Skan (output_call_frame_info): Output 0xffffffff before standard 8-byte 7977169689Skan length header. Use DWARF_CIE_ID. 7978169689Skan (value_format): Use DW_FORM_data4 or DW_FORM_data8 for 7979169689Skan dw_val_class_loc_list depending on DWARF_OFFSET_SIZE. 7980169689Skan 7981169689Skan2006-03-31 Kaz Kojima <kkojima@gcc.gnu.org> 7982169689Skan 7983169689Skan * config/sh/linux-atomic.asm: New file. 7984169689Skan * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm. 7985169689Skan 7986169689Skan2006-03-31 DJ Delorie <dj@redhat.com> 7987169689Skan 7988169689Skan * config/m32c/cond.md: Set condition flags properly throughout. 7989169689Skan * config/m32c/minmax.md: Likewise. 7990169689Skan * config/m32c/prologue.md: Likewise. 7991169689Skan * config/m32c/bitops.md: Likewise. 7992169689Skan * config/m32c/muldiv.md: Likewise. 7993169689Skan * config/m32c/mov.md: Likewise. 7994169689Skan * config/m32c/addsub.md: Likewise. 7995169689Skan * config/m32c/m32c.md: Likewise. 7996169689Skan * config/m32c/jump.md: Likewise. 7997169689Skan * config/m32c/shift.md: Likewise. 7998169689Skan 7999169689Skan * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to 8000169689Skan conditionally output the pattern for this. 8001169689Skan * config/m32c/m32c.c (flags_needed_for_conditional): New. 8002169689Skan (m32c_compare_redundant): New. 8003169689Skan (m32c_output_compare): New. 8004169689Skan * config/m32c/m32c-protos.h (m32c_output_compare): New. 8005169689Skan 8006169689Skan * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber 8007169689Skan dest, not src. Allow other 4-byte modes. 8008169689Skan 8009169689Skan2006-03-30 Denis Chertykov <denisc@overta.ru> 8010169689Skan 8011169689Skan * doc/md.texi: Refer to avr/constraints.md instead of 8012169689Skan avr/avr.h. 8013169689Skan 8014169689Skan2006-03-30 Roger Sayle <roger@eyesopen.com> 8015169689Skan 8016169689Skan * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to 8017169689Skan signed vs. unsigned comparison failures on some hosts. 8018169689Skan 8019169689Skan2006-03-31 Alan Modra <amodra@bigpond.net.au> 8020169689Skan 8021169689Skan PR target/26459 8022169689Skan * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08 8023169689Skan change to FLOAT_REGS. 8024169689Skan 8025169689Skan * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee. 8026169689Skan (rs6000_override_options): Use it. 8027169689Skan (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi 8028169689Skan only for -mabi=spe/no-spe and -mabi=altivec. 8029169689Skan 8030169689Skan2006-03-30 Geoffrey Keating <geoffk@apple.com> 8031169689Skan 8032169689Skan * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with 8033169689Skan !Zdynamiclib. 8034169689Skan 8035169689Skan2006-03-30 Carlos O'Donell <carlos@codesourcery.com> 8036169689Skan 8037169689Skan * Makefile.in: Rename docdir to gcc_docdir. 8038169689Skan 8039169689Skan2006-03-30 Roger Sayle <roger@eyesopen.com> 8040169689Skan 8041169689Skan PR target/17959 8042169689Skan * expr.c (emit_group_store): Optimize group stores into a pseudo 8043169689Skan register by using a paradoxical subreg to initialize the destination 8044169689Skan if the first or last member of the group specifies a "low part". 8045169689Skan 8046169689Skan2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 8047169689Skan 8048169689Skan PR target/26734 8049169689Skan * rtl.def (DEPS_LIST): Change type of the second operand to 'int'. 8050169689Skan * target.h (struct gcc_target.speculate_insn): Change type of the 8051169689Skan second parameter to 'int'. 8052169689Skan * lists.c (alloc_DEPS_LIST): Change signature. Update reference to 8053169689Skan the second operand of the DEPS_LIST. 8054169689Skan (copy_DEPS_LIST_list): Update reference to the second operand of the 8055169689Skan DEPS_LIST. 8056169689Skan * rtl.h (alloc_DEPS_LIST): Update signature. 8057169689Skan * sched-int.h (ds_t): Change typedef to 'int'. 8058169689Skan (DEP_STATUS, BITS_PER_DEP_STATUS): Update. 8059169689Skan 8060169689Skan2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 8061169689Skan 8062169689Skan * haifa-sched.c (try_ready): Change condition to restore 8063169689Skan non-speculative pattern of the instruction. 8064169689Skan (process_insn_depend_be_in_spec): Code to keep probability of the 8065169689Skan speculative dependence non-decreasing. 8066169689Skan 8067169689Skan2006-03-30 Jie Zhang <jie.zhang@analog.com> 8068169689Skan 8069169689Skan * config/bfin/bfin.c (single_move_for_strmov): Renamed to... 8070169689Skan (single_move_for_movmem): ... this. Also change all uses. 8071169689Skan (bfin_expand_strmov): Renamed to... 8072169689Skan (bfin_expand_movmem): ... this. Also change all uses. 8073169689Skan * config/bfin/bfin.md (movstrsi): Renamed to... 8074169689Skan (movstrsi): ...this. 8075169689Skan 8076169689Skan2006-03-30 Paolo Bonzini <bonzini@gnu.org> 8077169689Skan 8078169689Skan PR tree-optimization/26830 8079169689Skan 8080169689Skan * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth. 8081169689Skan (copy_prop_visit_stmt): Remove write-only variable ann. 8082169689Skan (init_copy_prop): Check variable loop depth here. Do not simulate 8083169689Skan memory-tag and virtual operand PHIs except for store copy prop. 8084169689Skan 8085169689Skan2006-03-30 Richard Guenther <rguenther@suse.de> 8086169689Skan 8087169689Skan * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic 8088169689Skan variants with double arguments. 8089169689Skan 8090169689Skan2006-03-29 David Edelsohn <edelsohn@gnu.org> 8091169689Skan 8092169689Skan * genpreds.c (write_tm_constrs_h): Delete variable p. 8093169689Skan * genconditions.c (write_header): Add tm-constrs.h to included 8094169689Skan headers. 8095169689Skan * genpeep.c (main): Add toplev.h to included headers. 8096169689Skan * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency. 8097169689Skan (build/genpeep.o): Add toplev.h dependency. 8098169689Skan * config/rs6000/constraints.md: Add "W" constraint. 8099169689Skan 8100169689Skan2006-03-29 Roger Sayle <roger@eyesopen.com> 8101169689Skan 8102169689Skan * stor-layout.c (mode_for_size_tree): Remove restiction on type 8103169689Skan sizes by correctly testing whether the size fits a host integer. 8104169689Skan (initialize_sizetypes): Use set_min_and_max_values_for_integral_type 8105169689Skan to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full 8106169689Skan SImode range for the default sizetype and bitsizetype. 8107169689Skan 8108169689Skan2006-03-29 Roger Sayle <roger@eyesopen.com> 8109169689Skan 8110169689Skan * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW 8111169689Skan and TREE_CONSTANT_OVERFLOW bits of the argument. Return 8112169689Skan quickly if the argument is already of the correct type. 8113169689Skan Call fold_build1 instead of build1. Tidy up blank lines. 8114169689Skan 8115169689Skan2006-03-29 David Edelsohn <edelsohn@gnu.org> 8116169689Skan 8117169689Skan * genemit.c (main): Add tm-constrs.h to included headers. 8118169689Skan * genoutput.c (output_prologue): Add tm-constrs.h to included headers. 8119169689Skan * genpeep.c (main): Add tm-constrs.h to included headers. 8120169689Skan * genpreds.c (write_satisfies_constraint_fns): Rename to ... 8121169689Skan (write_tm_constrs_h): this and write complete file. 8122169689Skan (write_tm_preds_h): Do not emit satisfies_constraint fns. 8123169689Skan (write_insn_preds_c): Add tm-constrs.h to included headers. 8124169689Skan (gen_constrs): New variable. 8125169689Skan (parse_option): Parse "-c". 8126169689Skan (main): Invoke write_tm_constrs_h. 8127169689Skan * genrecog.c (write_header): Add tm-constrs.h to included headers. 8128169689Skan * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h. 8129169689Skan (object_out_file): Add tm-constrs.h dependency. 8130169689Skan (insn-emit.o): Same. 8131169689Skan (insn-output.o): Same. 8132169689Skan (insn-peep.o): Same. 8133169689Skan (insn-preds.o): Same. 8134169689Skan (insn-recog.o): Same. 8135169689Skan (tm-constsr.h): New target. 8136169689Skan (s-constrs-h): New target. 8137169689Skan 8138169689Skan * config/rs6000/constraints.md: New file. 8139169689Skan * config/rs6000/rs6000.c: Include tm-constrs.h. 8140169689Skan (num_insn_constant_wide): Convert to satisfies_constraint. 8141169689Skan (rs6000_rtx_costs): Convert to satisfies_constraint. 8142169689Skan * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete. 8143169689Skan (CONST_OK_FOR_LETTER_P): Delete. 8144169689Skan (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. 8145169689Skan (EXTRA_CONSTRAINT): Delete. 8146169689Skan (EXTRA_MEMORY_CONSTRAINT): Delete. 8147169689Skan (EXTRA_ADDRESS_CONSTRAINT): Delete. 8148169689Skan * config/rs6000/predicates.md: Convert to satisfies_constraint. 8149169689Skan * config/rs6000/rs6000.md: Include constraints.md. Convert to 8150169689Skan satisfies_constraint. 8151169689Skan 8152169689Skan * config/i386/i386.c: Include tm-constrs.h. 8153169689Skan 8154169689Skan2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> 8155169689Skan 8156169689Skan * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls. 8157169689Skan * tree-data-ref.c (find_data_references_in_loop, 8158169689Skan compute_data_dependences_for_loop): Use pointers to VEC. 8159169689Skan (analyze_all_data_dependences): Adjust calls. 8160169689Skan * tree-data-ref.h (find_data_references_in_loop, 8161169689Skan compute_data_dependences_for_loop): Adjust declarations. 8162169689Skan * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to 8163169689Skan compute_data_dependences_for_loop. 8164169689Skan 8165169689Skan2006-03-29 Paul Brook <paul@codesourcery.com> 8166169689Skan 8167169689Skan * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives. 8168169689Skan (movdf_vfp): Ditto. 8169169689Skan 8170169689Skan2006-03-29 Sebastian Pop <pop@cri.ensmp.fr> 8171169689Skan 8172169689Skan PR tree-optimization/26859 8173169689Skan * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid 8174169689Skan division by zero. 8175169689Skan (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags 8176169689Skan for the step after fold_convert. 8177169689Skan 8178169689Skan2006-03-29 Paul Brook <paul@codesourcery.com> 8179169689Skan 8180169689Skan * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators. 8181169689Skan (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses. 8182169689Skan 8183169689Skan2006-03-29 Paul Brook <paul@codesourcery.com> 8184169689Skan 8185169689Skan PR middle-end/23623 8186169689Skan * targhooks.c (default_narrow_bitfield): New fuction. 8187169689Skan * targhooks.h (default_narrow_bitfield): add prototype. 8188169689Skan * target.h (gcc_target): Add narrow_volatile_bitfield. 8189169689Skan * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define. 8190169689Skan * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield. 8191169689Skan * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS. 8192169689Skan * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define. 8193169689Skan 8194169689Skan2006-03-29 Andreas Krebbel <krebbel1@de.ibm.com> 8195169689Skan 8196169689Skan * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to 8197169689Skan tmake_file. 8198169689Skan * config/s390/s390.c (S390_scalar_mode_supported_p): New function. 8199169689Skan (NR_C_MODES): Add TDmode, DDmode and SDmode. 8200169689Skan (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT. 8201169689Skan (s390_hard_regno_mode_ok): Disallow TDmode in integer regs. 8202169689Skan (s390_function_arg_float): Allow SDmode and DDmode values to be 8203169689Skan passed in floating point registers. 8204169689Skan (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT 8205169689Skan check with SCALAR_FLOAT_MODE_P. 8206169689Skan (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro. 8207169689Skan 8208169689Skan2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> 8209169689Skan 8210169689Skan PR tree-optimization/25985 8211169689Skan * tree-ssa-loop-niter.c (number_of_iterations_le, 8212169689Skan number_of_iterations_ne): Make comments more precise. 8213169689Skan (number_of_iterations_cond): Add only_exit argument. Use the 8214169689Skan fact that signed variables do not overflow only when only_exit 8215169689Skan is true. 8216169689Skan (loop_only_exit_p): New. 8217169689Skan (number_of_iterations_exit): Pass result of loop_only_exit_p to 8218169689Skan number_of_iterations_cond. 8219169689Skan 8220169689Skan2006-03-28 Zdenek Dvorak <dvorakz@suse.cz> 8221169689Skan 8222169689Skan PR tree-optimization/26643 8223169689Skan * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle 8224169689Skan bit_field_refs. 8225169689Skan 8226169689Skan2006-03-28 Kaz Kojima <kkojima@gcc.gnu.org> 8227169689Skan 8228169689Skan * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG. 8229169689Skan (divsi3_i4_int): Likewise. 8230169689Skan 8231169689Skan2006-03-28 Roger Sayle <roger@eyesopen.com> 8232169689Skan 8233169689Skan * expr.c (emit_group_store): Only create a new pseudo reg if the 8234169689Skan quantity it needs to hold isn't already a suitable pseudo. 8235169689Skan 8236169689Skan2006-03-28 Jeff Law <law@redhat.com> 8237169689Skan 8238169689Skan * timevar.def (TV_TREE_PHI_CPROP): New timevar. 8239169689Skan * tree-ssa-dom.c (pass_phi_only_cprop): Use it. 8240169689Skan 8241169689Skan2006-03-28 Roger Sayle <roger@eyesopen.com> 8242169689Skan 8243169689Skan * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as 8244169689Skan the equivalent ~X & Y, and the symmetry related transformations. 8245169689Skan (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as 8246169689Skan ~X & Y, and symmetry related transforms. 8247169689Skan 8248169689Skan2006-03-28 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 8249169689Skan 8250169689Skan Revert my 2006-03-27 patches. 8251169689Skan 8252169689Skan2006-03-28 Roger Sayle <roger@eyesopen.com> 8253169689Skan 8254169689Skan * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as 8255169689Skan ~(T1)X, when T1 and T2 are integer types of the same precision 8256169689Skan and (T2)X isn't an extension. 8257169689Skan 8258169689Skan2006-03-28 Jeff Law <law@redhat.com> 8259169689Skan 8260169689Skan PR tree-optimization/26796 8261169689Skan * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which 8262169689Skan need EH edge cleanups rather than purging them immediately. 8263169689Skan (eliminate_degenerate_phis): Handle queued EH cleanups. 8264169689Skan 8265169689Skan2006-03-28 Daniel Berlin <dberlin@dberlin.org> 8266169689Skan 8267169689Skan * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE 8268169689Skan from parent_var. 8269169689Skan 8270169689Skan2006-03-27 Roger Sayle <roger@eyesopen.com> 8271169689Skan 8272169689Skan PR middle-end/22524 8273169689Skan * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to 8274169689Skan cast BIT_NOT_EXPR operand to the correct type. 8275169689Skan 8276169689Skan2006-03-27 Sebastian Pop <pop@cri.ensmp.fr> 8277169689Skan 8278169689Skan * tree-loop-linear.c: Don't include varray.h. 8279169689Skan (gather_interchange_stats, try_interchange_loops, 8280169689Skan linear_transform_loops): Use VEC instead of VARRAY. 8281169689Skan * lambda-mat.c: Don't include varray.h. 8282169689Skan * tree-chrec.c: Same. 8283169689Skan * lambda-trans.c: Same. 8284169689Skan * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use 8285169689Skan VEC instead of VARRAY. 8286169689Skan * tree-vectorizer.h: Idem. 8287169689Skan * tree-data-ref.c (dump_data_references, 8288169689Skan dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs, 8289169689Skan initialize_data_dependence_relation, finalize_ddr_dependent, 8290169689Skan compute_all_dependences, find_data_references_in_loop, 8291169689Skan compute_data_dependences_for_loop, analyze_all_data_dependences, 8292169689Skan free_dependence_relation, free_dependence_relations, 8293169689Skan free_data_refs): Idem. 8294169689Skan * tree-data-ref.h (data_reference_p, subscript_p): New. 8295169689Skan (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use 8296169689Skan VEC instead of VARRAY. 8297169689Skan (DDR_SUBSCRIPTS_VECTOR_INIT): Removed. 8298169689Skan (find_data_references_in_loop, compute_data_dependences_for_loop, 8299169689Skan dump_ddrs, dump_dist_dir_vectors, dump_data_references, 8300169689Skan dump_data_dependence_relations, free_dependence_relations, 8301169689Skan free_data_refs): Adjust declaration. 8302169689Skan (lambda_transform_legal_p): Move declaration here... 8303169689Skan * tree-vect-analyze.c (vect_analyze_data_ref_dependences, 8304169689Skan vect_compute_data_refs_alignment, vect_verify_datarefs_alignment, 8305169689Skan vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses, 8306169689Skan vect_analyze_data_refs): Use VEC instead of VARRAY. 8307169689Skan * lambda.h (lambda_transform_legal_p): ...from here. 8308169689Skan * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY. 8309169689Skan * tree-vect-transform.c (vect_update_inits_of_drs): Idem. 8310169689Skan * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o, 8311169689Skan tree-chrec.o): Don't depend on VARRAY_H. 8312169689Skan 8313169689Skan2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 8314169689Skan 8315169689Skan * rtl.def (Copyright): Update date. 8316169689Skan (DEPS_LIST): Change type of the second operand to 'int'. 8317169689Skan * target.h (Copyright): Update date. 8318169689Skan (struct gcc_target.speculate_insn): Change type of the second parameter 8319169689Skan to 'int'. 8320169689Skan * lists.c (Copyright): Update date. 8321169689Skan (alloc_DEPS_LIST): Change signature. Update reference to the second 8322169689Skan operand of the DEPS_LIST. 8323169689Skan (copy_DEPS_LIST_list): Update reference to the second operand of the 8324169689Skan DEPS_LIST. 8325169689Skan * rtl.h (Copyright): Update date. 8326169689Skan (alloc_DEPS_LIST): Update signature. 8327169689Skan * sched-int.h (Copyright): Update date. 8328169689Skan (ds_t): Change typedef to 'int'. 8329169689Skan (DEP_STATUS, BITS_PER_DEP_STATUS): Update. 8330169689Skan 8331169689Skan2006-03-27 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 8332169689Skan 8333169689Skan * haifa-sched.c (Copyright): Update date. 8334169689Skan (try_ready): Change condition to restore non-speculative pattern 8335169689Skan of the instruction. 8336169689Skan (process_insn_depend_be_in_spec): Code to keep probability of the 8337169689Skan speculative dependence non-decreasing. 8338169689Skan 8339169689Skan2006-03-27 Bernd Schmidt <bernd.schmidt@analog.com> 8340169689Skan 8341169689Skan * regrename.c (replace_oldest_value_addr): Initialize a variable to 8342169689Skan shut up the compiler. 8343169689Skan 8344169689Skan2006-03-27 J"orn Rennecke <joern.rennecke@st.com> 8345169689Skan 8346169689Skan * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule 8347169689Skan to use lib prefix for target. 8348169689Skan ($(T)libic_invalidate_array_4-200.a): Likewise. 8349169689Skan ($(T)libic_invalidate_array_4a.a): Likewise. 8350169689Skan 8351169689Skan2006-03-27 Andrew Stubbs <andrew.stubbs@st.com> 8352169689Skan J"orn Rennecke <joern.rennecke@st.com> 8353169689Skan 8354169689Skan * superh.opt: New file. 8355169689Skan * sh.c (boardtype, osruntime): Remove. 8356169689Skan * superh.h (SUBTARGET_OPTIONS): Remove. 8357169689Skan * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options. 8358169689Skan 8359169689Skan * config.gcc (sh*-*-*): Don't use c-c ranges for tr. Quote sed 8360169689Skan arguments with ^ and/or []. 8361169689Skan 8362169689Skan * config.gcc (sh-*-*): Add quoting to account for quirk of 8363169689Skan Solaris /bin/sh. 8364169689Skan Replace == with = in enable_incomplete_targets test. 8365169689Skan 8366169689Skan * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT 8367169689Skan with MASK_LITTLE_ENDIAN. 8368169689Skan 8369169689Skan * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file. 8370169689Skan * config/sh/sh.opt: Added to some comments. 8371169689Skan * config/sh/superh.h: Removed some chaff. 8372169689Skan 8373169689Skan * config/sh/sh.opt: Add m4-[1234]00* options. 8374169689Skan * config/sh/sh.c (sh_handle_option): Likewise. 8375169689Skan * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define. 8376169689Skan (ic_invalidate_array_4-100.o): New rule. 8377169689Skan ($(T)libic_invalidate_array_4-100.a): Likewise. 8378169689Skan (ic_invalidate_array_4-200.o): Likewise. 8379169689Skan ($(T)libic_invalidate_array_4-200.a): Likewise. 8380169689Skan (ic_invalidate_array_4a.o): Likewise. 8381169689Skan ($(T)libic_invalidate_array_4a.a): Likewise. 8382169689Skan * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS. 8383169689Skan * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*, 8384169689Skan m4-200*, and m4a*. 8385169689Skan * config/sh/crt1.asm: Merged in profiling code. 8386169689Skan * config/sh/superh.h (STARTFILE_SPEC): Override. 8387169689Skan * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS. 8388169689Skan Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o. 8389169689Skan * config.gcc (sh*-superh-elf): Add t-superh to tmake_file. 8390169689Skan 8391169689Skan * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants. 8392169689Skan * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS / 8393169689Skan MULTILIB_DIRNAMES / MULTILIB_MATCHES settings. 8394169689Skan 8395169689Skan * sh.opt (mpretend-cmove): New option. 8396169689Skan * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1. 8397169689Skan * sh.md (movsicc_t_false, movsicc_t_tru): New patterns. 8398169689Skan (movsicc): Add TARGET_PRETEND_CMOVE code. 8399169689Skan 8400169689Skan2006-03-27 Andreas Krebbel <krebbel1@de.ibm.com> 8401169689Skan 8402169689Skan * config/s390/s390-protos.h (s390_hard_regno_mode_ok, 8403169689Skan s390_class_max_nregs): New function prototypes. 8404169689Skan * config/s390/s390.c (REGNO_PAIR_OK): New macro. 8405169689Skan (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions. 8406169689Skan * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, 8407169689Skan CLASS_MAX_NREGS): Macro bodies replaced by function calls. 8408169689Skan 8409169689Skan2006-03-26 Geoffrey Keating <geoffk@apple.com> 8410169689Skan 8411169689Skan * dwarf2out.c (add_location_or_const_value_attribute): Call 8412169689Skan tree_add_const_value_attribute if nothing else works. 8413169689Skan (reference_to_unused): New. 8414169689Skan (rtl_for_decl_init): Use reference_to_unused to decide whether 8415169689Skan to output an initializer. 8416169689Skan 8417169689Skan2006-03-27 Alan Modra <amodra@bigpond.net.au> 8418169689Skan 8419169689Skan PR target/26459 8420169689Skan * config/rs6000/rs6000.md (DF reg move peephole): Prevent 8421169689Skan peephole removing spe frob_di_df_2. 8422169689Skan 8423169689Skan2006-03-26 Sebastian Pop <pop@cri.ensmp.fr> 8424169689Skan 8425169689Skan * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS. 8426169689Skan (subscript_dependence_tester_1): Declared. 8427169689Skan (print_dir_vectors, print_dist_vectors): New. 8428169689Skan (debug_data_dependence_relation): New. 8429169689Skan (dump_data_dependence_relation): Print more details. 8430169689Skan (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST. 8431169689Skan (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0. 8432169689Skan (save_dist_v, save_dir_v, add_outer_distances, 8433169689Skan build_classic_dist_vector_1): New. 8434169689Skan (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST. 8435169689Skan Don't test for lambda_vector_lexico_pos. 8436169689Skan (same_access_functions, add_multivariate_self_dist, 8437169689Skan add_other_self_distances, dir_from_dist): New. 8438169689Skan (build_classic_dir_vector): Replace implementation almost identical to 8439169689Skan build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to 8440169689Skan dir_from_dist. 8441169689Skan (subscript_dependence_tester_1): New. 8442169689Skan (subscript_dependence_tester): Handle the lexicographically negative 8443169689Skan distance vectors by recomputing the dependence relation. 8444169689Skan (compute_affine_dependence): Remove parameter loop_nest_depth. 8445169689Skan (compute_self_dependence): Don't call compute_subscript_distance. 8446169689Skan (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth. 8447169689Skan Add a parameter for the loop_nest. 8448169689Skan (find_loop_nest_1, find_loop_nest): New. 8449169689Skan (compute_data_dependences_for_loop): Compute the loop nest, and give 8450169689Skan up if the nest is not well formed. 8451169689Skan * tree-data-ref.h (loop_p): New. 8452169689Skan (struct data_dependence_relation): Replace size_vect field with 8453169689Skan loop_nest, a vec of loops. 8454169689Skan (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS. 8455169689Skan (DDR_LOOP_NEST): New. 8456169689Skan (print_dir_vectors, print_dist_vectors, 8457169689Skan debug_data_dependence_relation): Declared. 8458169689Skan (index_in_loop_nest): New. 8459169689Skan * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use 8460169689Skan DDR_LOOP_NEST and index_in_loop_nest to determine the dependence 8461169689Skan distance. 8462169689Skan 8463169689Skan2006-03-25 Adam Nemet <anemet@caviumnetworks.com> 8464169689Skan 8465169689Skan * simplify-rtx.c (simplify_relational_operation): Call 8466169689Skan simplify_relational_operation_1 even if mode is VOIDmode. 8467169689Skan 8468169689Skan2006-03-25 Daniel Berlin <dberlin@dberlin.org> 8469169689Skan 8470169689Skan PR tree-optimization/26804 8471169689Skan * tree.h (DECL_CALL_CLOBBERED): New macro. 8472169689Skan (tree_decl_common): Add call_clobbered_flag. 8473169689Skan * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED. 8474169689Skan (mark_call_clobbered): Set DECL_CALL_CLOBBERED. 8475169689Skan (clear_call_clobbered): Clear DECL_CALL_CLOBBERED. 8476169689Skan (mark_non_addressable): Ditto. 8477169689Skan * tree-ssa.c (verify_call_clobbered): New function. 8478169689Skan (verify_alias_info): Use it. 8479169689Skan * tree-pass.h (pass_reset_cc_flags): New prototype. 8480169689Skan * tree-ssa-alias.c (pass_reset_cc_flags): New structure. 8481169689Skan (reset_cc_flags): New function. 8482169689Skan * passes.c (init_optimization_passes): Call reset_cc_flags after 8483169689Skan initializing referenced_vars. 8484169689Skan 8485169689Skan2006-03-25 Uros Bizjak <uros@kss-loka.si> 8486169689Skan Roger Sayle <roger@eyesopen.com> 8487169689Skan 8488169689Skan PR middle-end/26717 8489169689Skan * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A 8490169689Skan to 1.0 for non-real operands. Implement A / A optimization for 8491169689Skan complex operands. 8492169689Skan 8493169689Skan2006-03-25 H.J. Lu <hongjiu.lu@intel.com> 8494169689Skan 8495169689Skan * config/i386/i386.c (size_cost): Correct the comment for 8496169689Skan cost of storing fp registers. 8497169689Skan (i386_cost): Likewise. 8498169689Skan (i486_cost): Likewise. 8499169689Skan (pentium_cost): Likewise. 8500169689Skan (pentiumpro_cost): Likewise. 8501169689Skan (k6_cost): Likewise. 8502169689Skan (athlon_cost): Likewise. 8503169689Skan (k8_cost): Likewise. 8504169689Skan (pentium4_cost): Likewise. 8505169689Skan (nocona_cost): Likewise. 8506169689Skan (generic64_cost): Likewise. 8507169689Skan (generic32_cost): Likewise. 8508169689Skan 8509169689Skan2006-03-24 Denis Chertykov <denisc@overta.ru> 8510169689Skan 8511169689Skan * config/avr/avr-protos.h (extra_constraint): Delete. 8512169689Skan (extra_constraint_Q): New declaration. 8513169689Skan * config/avr/constraints.md: New file. 8514169689Skan * config/avr/avr.md: Include it. 8515169689Skan (REG_X, REG_Y, REG_Z, REG_W): New constants. 8516169689Skan (TMP_REGNO, ZERO_REGNO): Likewise. 8517169689Skan (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise. 8518169689Skan * config/avr/avr.c (avr_reg_class_from_letter): Delete. 8519169689Skan (extra_constraint): Delete. 8520169689Skan (extra_constraint_Q): Test for memory constraint 'Q'. 8521169689Skan * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete. 8522169689Skan (REG_CLASS_FROM_LETTER): Delete. 8523169689Skan (CONST_OK_FOR_LETTER_P): Delete. 8524169689Skan (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. 8525169689Skan (EXTRA_CONSTRAINT): Delete. 8526169689Skan (TMP_REGNO): Delete. 8527169689Skan (ZERO_REGNO): Delete. 8528169689Skan 8529169689Skan2006-03-24 Jeff Law <law@redhat.com> 8530169689Skan 8531169689Skan * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt 8532169689Skan directly. Call mark_new_vars_to_rename slightly earlier. 8533169689Skan 8534169689Skan2006-03-24 Geoffrey Keating <geoffk@apple.com> 8535169689Skan 8536169689Skan * dwarf2out.c (is_c_family): Understand new DWARF3 language types. 8537169689Skan (is_cxx): Likewise. 8538169689Skan (gen_compile_unit_die): Use new language types for Objective-C and 8539169689Skan Objective-C++. 8540169689Skan (dwarf2out_decl): Use is_cxx rather than testing explicitly against 8541169689Skan DW_LANG_C_plus_plus. 8542169689Skan 8543169689Skan PR 26793 8544169689Skan * config/t-darwin (crt3.o): Work around bug 26840. 8545169689Skan * config/darwin-crt3.c: Rewrite. 8546169689Skan * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o. 8547169689Skan 8548169689Skan2006-03-24 Carlos O'Donell <carlos@codesourcery.com> 8549169689Skan 8550169689Skan * doc/invoke.texi: Document -femit-class-debug-always 8551169689Skan * common.opt: Add -femit-class-debug-always. 8552169689Skan 8553169689Skan2006-03-24 Andreas Krebbel <krebbel1@de.ibm.com> 8554169689Skan 8555169689Skan * config/s390/s390.c (s390_decompose_address): Allow SImode for 8556169689Skan index and base register. 8557169689Skan (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p, 8558169689Skan print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P 8559169689Skan with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with 8560169689Skan REGNO_OK_FOR_INDEX_P. 8561169689Skan * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with 8562169689Skan ADDR_REGNO_P. 8563169689Skan (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P, 8564169689Skan REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P, 8565169689Skan REG_OK_FOR_BASE_P): Definitions removed. 8566169689Skan 8567169689Skan2006-03-24 Jakub Jelinek <jakub@redhat.com> 8568169689Skan 8569169689Skan PR middle-end/26611 8570169689Skan * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on 8571169689Skan non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit 8572169689Skan set yet or weren't marked as local yet. 8573169689Skan 8574169689Skan2006-03-24 Bernd Schmidt <bernd.schmidt@analog.com> 8575169689Skan 8576169689Skan * regrename.c (scan_rtx_address): Initialize a variable to shut up 8577169689Skan the compiler. 8578169689Skan 8579169689Skan2006-03-24 Eric Botcazou <ebotcazou@adacore.com> 8580169689Skan 8581169689Skan * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare. 8582169689Skan (rs6000_legitimate_small_data_p): Delete. 8583169689Skan * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate. 8584169689Skan (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p 8585169689Skan and make static. Add forward declaration. Update uses. 8586169689Skan (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead 8587169689Skan of offsettable_memref_p. 8588169689Skan * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix. 8589169689Skan Use rs6000_offsettable_memref_p instead of a less accurate predicate. 8590169689Skan 8591169689Skan2006-03-24 Jeff Law <law@redhat.com> 8592169689Skan 8593169689Skan * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work 8594169689Skan around bug in immediate-use iterator. 8595169689Skan 8596169689Skan2006-03-24 Alan Modra <amodra@bigpond.net.au> 8597169689Skan 8598169689Skan PR target/26607 8599169689Skan * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__ 8600169689Skan or __LITTLE_ENDIAN__. 8601169689Skan 8602169689Skan2006-03-23 J"orn Rennecke <joern.rennecke@st.com> 8603169689Skan 8604169689Skan * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files. 8605169689Skan * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant. 8606169689Skan * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table. 8607169689Skan * config/sh/sh.opt (mdiv=): Amend description. 8608169689Skan * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro. 8609169689Skan (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise. 8610169689Skan (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1, 8611169689Skan SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC. 8612169689Skan (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1. 8613169689Skan Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros. 8614169689Skan * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns. 8615169689Skan (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE / 8616169689Skan TARGET_DIVIDE_CALL_FP. 8617169689Skan 8618169689Skan2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 8619169689Skan 8620169689Skan * haifa-sched.c (choose_ready): Fix type of the local variable. 8621169689Skan Move local variables. Add comment. 8622169689Skan (check_reg_live): Change signature. Make callable from debugger. 8623169689Skan * sched-int.h (check_reg_live): Update signature. 8624169689Skan * sched-ebb.c (check_reg_live): Update parameters. 8625169689Skan * sched-rgn.c (check_reg_live): Ditto. 8626169689Skan (region_head_or_leaf_p): Check pointer before dereferencing. 8627169689Skan * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation 8628169689Skan before reload on optimization levels below 1. 8629169689Skan 8630169689Skan2006-03-23 Richard Henderson <rth@redhat.com> 8631169689Skan 8632169689Skan * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject 8633169689Skan tls symbols. 8634169689Skan 8635169689Skan PR target/26347 8636169689Skan * config/alpha/predicates.md (local_symbolic_operand): Reject 8637169689Skan weak symbols. 8638169689Skan 8639169689Skan2006-03-23 Andrew Pinski <pinskia@physics.uc.edu> 8640169689Skan 8641169689Skan PR tree-opt/26795 8642169689Skan * tree-ssa-pre.c (create_value_expr_from): Don't reject 8643169689Skan expressions which have overflowed constants. 8644169689Skan 8645169689Skan2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> 8646169689Skan 8647169689Skan * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note. 8648169689Skan 8649169689Skan2006-03-23 Zdenek Dvorak <dvorakz@suse.cz> 8650169689Skan 8651169689Skan * cfgloopmanip.c (create_loop_notes): Removed. 8652169689Skan * final.c (final_scan_insn): Do not handle loop notes. 8653169689Skan * jump.c (squeeze_notes): Ditto. 8654169689Skan * cfglayout.c (skip_insns_after_block, 8655169689Skan duplicate_insn_chain): Ditto. 8656169689Skan * cfgcleanup.c (rest_of_handle_jump2): Do not call 8657169689Skan create_loop_notes. 8658169689Skan * cfgloop.h (create_loop_notes): Declaration removed. 8659169689Skan 8660169689Skan2006-03-23 Richard Sandiford <richard@codesourcery.com> 8661169689Skan 8662169689Skan * varasm.c (output_constant_pool): Restore fnname and fndecl 8663169689Skan arguments. 8664169689Skan (assemble_start_function): Adjust call accordingly. 8665169689Skan (assemble_end_function): Likewise. 8666169689Skan 8667169689Skan2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 8668169689Skan 8669169689Skan PR mudflap/26789 8670169689Skan * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects. 8671169689Skan 8672169689Skan PR mudflap/26790 8673169689Skan * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node. 8674169689Skan 8675169689Skan2006-03-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 8676169689Skan 8677169689Skan PR driver/22600 8678169689Skan * system.h (ICE_EXIT_CODE): New macro. 8679169689Skan * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE. 8680169689Skan (diagnostic_action_after_output): Likewise. 8681169689Skan * gcc.c (fatal_ice): New function. 8682169689Skan (execute): Use it instead of fatal. 8683169689Skan (fancy_abort): Likewise. 8684169689Skan * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs. 8685169689Skan 8686169689Skan2006-03-22 Jeff Law <law@redhat.com> 8687169689Skan 8688169689Skan * loop-unroll.c (analyze_iv_to_split_insn): Handle 8689169689Skan iv_analyze_result returning false. 8690169689Skan 8691169689Skan2006-03-22 Jie Zhang <jie.zhang@analog.com> 8692169689Skan 8693169689Skan * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove. 8694169689Skan 8695169689Skan2006-03-22 Richard Henderson <rth@redhat.com> 8696169689Skan 8697169689Skan PR middle-end/26084 8698169689Skan * except.c (duplicate_eh_regions_0): New. 8699169689Skan (duplicate_eh_region_1): Duplicate the children of the node as 8700169689Skan well as the node itself. Link them up properly. 8701169689Skan (duplicate_eh_region_2): Merge into ... 8702169689Skan (duplicate_eh_regions): ... here. Take copy_region argument, and 8703169689Skan copy only a sub-tree if asked. Simplify copying and fixup. 8704169689Skan (eh_region_outer_p): New. 8705169689Skan * except.h (duplicate_eh_regions): Update decl. 8706169689Skan (eh_region_outer_p): Declare. 8707169689Skan * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN. 8708169689Skan (lower_omp_master): Likewise. 8709169689Skan (lower_omp_ordered): Likewise. 8710169689Skan * tree-cfg.c (struct move_stmt_d): Add new_label_map. 8711169689Skan (move_stmt_r): Use it to remap labels. Handle recursion vs 8712169689Skan remap_decls_p properly. 8713169689Skan (move_block_to_fn): Pass in new_label_map. Remap RESX_EXPR. 8714169689Skan (find_outermost_region_in_block): New. 8715169689Skan (new_label_mapper): New. 8716169689Skan (move_sese_region_to_fn): Copy eh information to the new function 8717169689Skan properly. 8718169689Skan * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions 8719169689Skan argument. 8720169689Skan * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region 8721169689Skan number. 8722169689Skan 8723169689Skan2006-03-22 Richard Sandiford <richard@codesourcery.com> 8724169689Skan 8725169689Skan * doc/md.texi (-mshared): Mention that -mshared code can be linked 8726169689Skan into shared libraries. 8727169689Skan 8728169689Skan2006-03-22 Richard Sandiford <richard@codesourcery.com> 8729169689Skan 8730169689Skan * doc/md.texi: Refer to i386/constraints.md instead of 8731169689Skan i386/predicates.md. 8732169689Skan * config/i386/constraints.md: New file, extracted from... 8733169689Skan * config/i386/predicates.md: ...here. 8734169689Skan * config/i386/i386.md: Include constraints.md. 8735169689Skan 8736169689Skan2006-03-21 Jason Merrill <jason@redhat.com> 8737169689Skan 8738169689Skan * builtins.c (expand_builtin_fork_or_exec): Fix pasto. 8739169689Skan 8740169689Skan PR middle-end/20297 8741169689Skan * expr.c (init_block_move_fn): Force default visibility. 8742169689Skan (init_block_clear_fn): Likewise. 8743169689Skan * builtins.c (expand_builtin_fork_or_exec): Likewise. 8744169689Skan * targhooks.c (default_external_stack_protect_fail): Likewise. 8745169689Skan 8746169689Skan2006-03-21 Richard Sandiford <richard@codesourcery.com> 8747169689Skan 8748169689Skan * config/mips/predicates.md (const_call_insn_operand): Allow direct 8749169689Skan calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS. 8750169689Skan * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS. 8751169689Skan Use TARGET_OLDABI instead of !TARGET_NEWABI. 8752169689Skan (loadgp): Use mips_current_loadgp_style. 8753169689Skan (loadgp_noshared): New pattern. 8754169689Skan (sibcall_internal): Use MIPS_CALL. 8755169689Skan (sibcall_value_internal): Likewise. 8756169689Skan (sibcall_value_multiple_internal): Likewise. 8757169689Skan (call_internal): Likewise. 8758169689Skan (call_value_internal): Likewise. 8759169689Skan (call_value_multiple_internal): Likewise. 8760169689Skan (call_split): Use MIPS_CALL and add an 'S' constraint. 8761169689Skan (call_value_split): Likewise. 8762169689Skan (call_value_multiple_split): Likewise. 8763169689Skan * config/mips/mips.opt (-mabicalls): Tweak docstring. 8764169689Skan (-mshared): New option. 8765169689Skan * config/mips/mips-protos.h (mips_loadgp_style): New enum. 8766169689Skan (mips_current_loadgp_style): Declare. 8767169689Skan * config/mips/mips.c (mips_classify_symbol): Avoid using 8768169689Skan SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS. Use SYMBOL_GENERAL 8769169689Skan rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if 8770169689Skan TARGET_ABSOLUTE_ABICALLS. 8771169689Skan (override_options): Adjust comments. Improve the warning that is 8772169689Skan issued when -mabicalls and -G are used together. 8773169689Skan (mips_file_start): Remove comment. 8774169689Skan (mips_current_loadgp_style): New function. 8775169689Skan (mips_gnu_local_gp): New variable. 8776169689Skan (mips_emit_loadgp): Use mips_current_loadgp_style. Handle 8777169689Skan LOADGP_ABSOLUTE. 8778169689Skan (mips_output_function_prologue): Use mips_current_laodgp_style. 8779169689Skan (mips_expand_prologue): Call mips_emit_loadgp before emitting 8780169689Skan the cprestore instruction. 8781169689Skan (mips_extra_live_on_entry): Fix reversed test. Don't make $25 8782169689Skan live for TARGET_ABSOLUTE_ABICALLS. 8783169689Skan * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro. 8784169689Skan (ASM_SPEC): Pass down -mshared and -mno-shared. 8785169689Skan (MIPS_CALL): New macro. 8786169689Skan * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__ 8787169689Skan definition. 8788169689Skan * doc/invoke.texi (-mabicalls): Update documentation. 8789169689Skan (-mshared): Document. 8790169689Skan 8791169689Skan2006-03-21 Steve Ellcey <sje@cup.hp.com> 8792169689Skan 8793169689Skan * config/ia64/unwind-hpux.c: New file. 8794169689Skan * config/ia64/t-hpux: Add unwind-hpux.c to libgcc. 8795169689Skan 8796169689Skan2006-03-21 Steve Ellcey <sje@cup.hp.com> 8797169689Skan 8798169689Skan PR libgomp/26384 8799169689Skan * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options. 8800169689Skan 8801169689Skan2006-03-21 Jeff Law <law@redhat.com> 8802169689Skan 8803169689Skan * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for 8804169689Skan type conversions of a VR_VARYING source to a wider type. 8805169689Skan 8806169689Skan2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr> 8807169689Skan 8808169689Skan * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to 8809169689Skan tm_file on Solaris 10 and later. 8810169689Skan (sparc64-*-solaris2*): Likewise. 8811169689Skan (sparc-*-solaris2*): Likewise. 8812169689Skan * config/sol26.h: Rename to config/sol2-6.h. 8813169689Skan * config/sol2-10.h: New file. 8814169689Skan 8815169689Skan2006-03-21 Andrew Pinski <pinskia@physics.uc.edu> 8816169689Skan 8817169689Skan PR tree-opt/26781 8818169689Skan * tree-ssa-pre.c (create_component_ref_by_pieces): 8819169689Skan Handle STRING_CST. 8820169689Skan 8821169689Skan2006-03-21 Jakub Jelinek <jakub@redhat.com> 8822169689Skan 8823169689Skan PR c++/26690 8824169689Skan * tree.c (get_callee_fndecl): If CALL is error_mark_node, 8825169689Skan return it immediately. 8826169689Skan 8827169689Skan2006-03-21 Michael Matz <matz@suse.de> 8828169689Skan 8829169689Skan * genautomata.c (<struct state>, num_out_arcs, presence_signature): 8830169689Skan New members. 8831169689Skan (remove_arc, add_arc): Update num_out_arcs member. 8832169689Skan (set_out_arc_insns_equiv_num): Returns nothing instead of number 8833169689Skan of out arcs. 8834169689Skan (cache_presence): New function. 8835169689Skan (compare_states_for_equiv): New function. 8836169689Skan (state_is_differed): Don't take number of outargs, adjust callers. 8837169689Skan Use new invariant for speeding up. 8838169689Skan (init_equiv_class): Create initial classes based on sorted 8839169689Skan input. 8840169689Skan (partition_equiv_class): Don't track out_arcs_num. 8841169689Skan (evaluate_equiv_classes): Call cache_presence on all states and 8842169689Skan sort them. 8843169689Skan 8844169689Skan2006-03-21 Bernd Schmidt <bernd.schmidt@analog.com> 8845169689Skan 8846169689Skan * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare. 8847169689Skan * config/bfin/bfin.c (bfin_dsp_memref_p): New function. 8848169689Skan (bfin_valid_reg_p): Test for pseudos explicitly and use only 8849169689Skan REGNO_MODE_CODE_OK_FOR_BASE_P. New args MODE and OUTER_CODE; all 8850169689Skan callers changed. 8851169689Skan * config/bfin/bfin.h (PREG_P): Use P_REGNO_P. 8852169689Skan (IREG_P, P_REGNO_P, I_REGNO_P): New macros. 8853169689Skan (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS. 8854169689Skan (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, 8855169689Skan REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete 8856169689Skan macros. 8857169689Skan (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS, 8858169689Skan REGNO_MODE_CODE_OK_FOR_BASE_P): New macros. 8859169689Skan (REGNO_REG_CLASS): ARGP is in PREGS. 8860169689Skan * config/bfin/bfin.md (movhi_insn): Allow for addresses containing 8861169689Skan IREGS. 8862169689Skan (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split 8863169689Skan to deal with those addresses. 8864169689Skan * addresses.h: New file. 8865169689Skan * caller-save.c: Include "addresses.h". 8866169689Skan (init_caller_save): Use new base_reg_class function. 8867169689Skan * rtl-factoring.c: Include "addresses.h". 8868169689Skan (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1. 8869169689Skan * recog.c: Include "addresses.h". 8870169689Skan (preprocess_constraints): Use new base_reg_class function. 8871169689Skan * regrename.c: Include "addresses.h". 8872169689Skan (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class 8873169689Skan functions. Keep track of a new var INDEX_CODE to compute valid 8874169689Skan classes. 8875169689Skan (replace_oldest_value_addr): Likewise. 8876169689Skan (replace_oldest_value_mem): Use base_reg_class. 8877169689Skan * reload.c: Include "addresses.h". 8878169689Skan (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros. 8879169689Skan (find_reloads): Use new base_reg_class function. 8880169689Skan (find_reloads_address): Likewise; also use regno_ok_for_base_p. 8881169689Skan (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE; 8882169689Skan all callers and prototype changed. 8883169689Skan * reload1.c: Include "addresses.h". 8884169689Skan (maybe_fix_stack_asms): Use base_reg_class. 8885169689Skan * regclass.c: Include "addresses.h". 8886169689Skan (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions. 8887169689Skan (init_reg_autoinc): Use new base_reg_class function. 8888169689Skan (record_reg_classes): Likewise. 8889169689Skan (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE, 8890169689Skan OUTER_CODE and INDEX_CODE. All callers and prototype changed. 8891169689Skan Use new args to compute necessary class. 8892169689Skan 8893169689Skan * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o, 8894169689Skan regrename.o, rtl-factoring.o): Update dependencies. 8895169689Skan * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document. 8896169689Skan (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise. 8897169689Skan (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P, 8898169689Skan REG_OK_FOR_INDEX_P): Delete documentation. 8899169689Skan 8900169689Skan2006-03-21 Alexey Starovoytov <alexey.starovoytov@sun.com> 8901169689Skan 8902169689Skan * config.gcc (sparc-*-solaris2*): Change the default CPU setting 8903169689Skan from V7 to V9 for Solaris 7 and above. 8904169689Skan 8905169689Skan2006-03-21 Toon Moene <toon@moene.indiv.nluug.nl> 8906169689Skan 8907169689Skan * doc/invoke.texi: Document new flag -fargument-noalias-anything. 8908169689Skan * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2, 8909169689Skan argument pointers may not alias any other storage. 8910169689Skan * common.opt: Define option -fargument-noalias-anything. 8911169689Skan * tree-ssa-structalias.c (intra_create_variable_infos): Fortran 8912169689Skan alias semantics is specified by flag_argument_noalias > 2. 8913169689Skan 8914169689Skan2006-03-20 Jeff Law <law@redhat.com> 8915169689Skan 8916169689Skan * tree-pass.h (pass_phi_only_copy_prop): Delete. 8917169689Skan (pass_phi_only_cprop): Declare. 8918169689Skan * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop 8919169689Skan with phi_only_cprop 8920169689Skan * tree-ssa-dom.c (degenerate_phi_result): New function. 8921169689Skan (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise. 8922169689Skan (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise. 8923169689Skan (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise. 8924169689Skan (eliminate_degenerate_phis): Likewise. 8925169689Skan (pass_phi_only_cprop): New pass descriptor. 8926169689Skan * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and 8927169689Skan support code. Callers updated. 8928169689Skan (execute_copy_prop, do_copy_prop): Likewise and corresponding changes. 8929169689Skan (store_copy_prop): Likewise. 8930169689Skan (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove. 8931169689Skan 8932169689Skan2006-03-20 Jason Merrill <jason@redhat.com> 8933169689Skan 8934169689Skan PR c++/21764 8935169689Skan * c-pragma.c (visstack): Move out of handle_pragma_visibility. 8936169689Skan (push_visibility, pop_visibility): Likewise. 8937169689Skan * c-pragma.h: Declare them. 8938169689Skan 8939169689Skan2006-03-20 Kaz Kojima <kkojima@gcc.gnu.org> 8940169689Skan 8941169689Skan * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target. 8942169689Skan 8943169689Skan * config/sh/sh.c (find_regmode_weight): Change the type of the first 8944169689Skan parameter and use get_ebb_head_tail. 8945169689Skan (sh_md_init_global): Adjust uses of find_regmode_weight. 8946169689Skan 8947169689Skan2006-03-20 Steven Bosscher <stevenb.gcc@gmail.com> 8948169689Skan 8949169689Skan * function.h (struct function) <x_tail_recursion_reentry>: 8950169689Skan Rename to x_stack_check_probe_note. 8951169689Skan (tail_recursion_reentry): Rename to stack_check_probe_note. 8952169689Skan * function.c: Replace tail_recursion_reentry with 8953169689Skan stack_check_probe_note everywhere. 8954169689Skan (expand_function_start): Only emit a note for 8955169689Skan stack_check_probe_note with -fstack-protect. 8956169689Skan * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes. 8957169689Skan 8958169689Skan * emit-rtl.c (remove_unnecessary_notes): Remove. 8959169689Skan (pass_remove_unnecessary_notes): Remove. 8960169689Skan * rtl.h (remove_unnecessary_notes): Remove prototype. 8961169689Skan * final.c (final_start_function): Don't call remove_unnecessary_notes. 8962169689Skan * tree-pass.h (pass_remove_unnecessary_notes): Remove. 8963169689Skan * passes.c (pass_remove_unnecessary_notes): Don't run it. 8964169689Skan 8965169689Skan2006-03-20 Andrew Pinski <pinskia@physics.uc.edu> 8966169689Skan 8967169689Skan PR tree-opt/26629 8968169689Skan * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands. 8969169689Skan (valid_in_set): Handle ARRAY_REF. 8970169689Skan Change "if min_variant or VH" to asserts. 8971169689Skan (create_component_ref_by_pieces): Handle ARRAY_REF. 8972169689Skan (create_expression_by_pieces): Likewise. 8973169689Skan (can_PRE_operation): ARRAY_REFs can now be PRE'd. 8974169689Skan 8975169689Skan2006-03-20 David Edelsohn <edelsohn@gnu.org> 8976169689Skan 8977169689Skan * genpreds.c (write_insn_extra_address_constraint): Argument `c' 8978169689Skan is operand of switch, not str[0]. 8979169689Skan 8980169689Skan2006-03-20 Alan Modra <amodra@bigpond.net.au> 8981169689Skan 8982169689Skan * config/rs6000/rs6000.c (rs6000_handle_option): Use 8983169689Skan TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too. 8984169689Skan 8985169689Skan2006-03-19 David Edelsohn <edelsohn@gnu.org> 8986169689Skan 8987169689Skan * genpreds.c (write_tm_preds_h): Add semicolon and newline at 8988169689Skan end of insn_extra_address_constraint declaration. 8989169689Skan 8990169689Skan2006-03-19 David Edelsohn <edelsohn@gnu.org> 8991169689Skan 8992169689Skan * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask. 8993169689Skan (no-sum-in-toc): Same. 8994169689Skan * config/rs6000/rs6000.c (rs6000_handle_option): Use new 8995169689Skan variables. 8996169689Skan * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set 8997169689Skan NO_FP_IN_TOC for -fPIC instead of mask. 8998169689Skan 8999169689Skan * config/rs6000/t-aix43 (T_ADAFLAGS): Delete. 9000169689Skan (BOOT_LDFLAGS): Delete. 9001169689Skan (LDFLAGS): Delete. 9002169689Skan * config/rs6000/t-aix52: Same. 9003169689Skan 9004169689Skan * config/rs6000/rs6000.md (store_multiple_power): Delete. 9005169689Skan (stmsi[345678]_power): New. 9006169689Skan 9007169689Skan2006-03-17 Steve Ellcey <sje@cup.hp.com> 9008169689Skan 9009169689Skan * config/ia64/ia64.opt: Add empty line to end of file. 9010169689Skan 9011169689Skan2006-03-17 Richard Guenther <rguenther@suse.de> 9012169689Skan 9013169689Skan PR middle-end/26721 9014169689Skan * builtins.c (get_pointer_alignment): For component style references 9015169689Skan adjust alignment to the component type alignment. Make sure 9016169689Skan to adjust alignment for component access of constants. 9017169689Skan 9018169689Skan2006-03-17 David Edelsohn <edelsohn@gnu.org> 9019169689Skan 9020169689Skan * config/rs6000/rs6000.md (strlensi): Emit barrier after 9021169689Skan unconditional jump. 9022169689Skan 9023169689Skan2006-03-17 Paul Brook <paul@codesourcery.com> 9024169689Skan 9025169689Skan * doc/install.texi: Docuemnt --with-mode. 9026169689Skan * config.gcc: Add --with-mode for arm*-*-*. 9027169689Skan * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode". 9028169689Skan 9029169689Skan2006-03-17 J"orn Rennecke <joern.rennecke@st.com> 9030169689Skan 9031169689Skan * sh.c (max_labelno_before_reorg): New variable. 9032169689Skan (sh_reorg): Initialize it. 9033169689Skan (find_barrier): Check max_labelno_before_reorg before using 9034169689Skan label_to_alignment. Take length of explicit alignment insns 9035169689Skan into account. When seeing a UNSPECV_CONST_END, return it. 9036169689Skan 9037169689Skan * sh.c (fixup_mova): Set mode of affected label to QImode. 9038169689Skan (untangle_mova): New function. 9039169689Skan (find_barrier): Use it. Check mode of label before decrementing 9040169689Skan num_mova. 9041169689Skan (sh_reorg): Likewise. 9042169689Skan Set mode of all insns back to VOIDmode. 9043169689Skan 9044169689Skan * sh.c (MOVA_LABELREF): New macro. 9045169689Skan (mova_p, fixup_mova, sh_reorg): Use it. 9046169689Skan (find_barrier, sh_reorg): Don't count num_mova back to 0 unless 9047169689Skan ADDR_DIFF_VEC matches mova. 9048169689Skan 9049169689Skan2006-03-17 Steven Bosscher <stevenb.gcc@gmail.com> 9050169689Skan 9051169689Skan * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument 9052169689Skan with ATTRIBUTE_UNUSED. 9053169689Skan 9054169689Skan2006-03-17 Alexandre Oliva <aoliva@redhat.com> 9055169689Skan 9056169689Skan * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack 9057169689Skan pointer, instead of assuming it is possible to derive the 9058169689Skan correct args size from a call insn. 9059169689Skan 9060169689Skan2006-03-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> 9061169689Skan 9062169689Skan * rtl.h (CONST_INT_P): Define. 9063169689Skan * config/vax/vax.c (print_operand_address): Use CONST_INT_P() 9064169689Skan instead of GET_CODE(x) == CONST_INT. 9065169689Skan (vax_rtx_costs): Likewise. 9066169689Skan (vax_output_int_move): Likewise. 9067169689Skan (vax_output_int_add): Likewise. 9068169689Skan (legitimate_constant_address_p): Likewise. 9069169689Skan (index_term_p): Likewise. 9070169689Skan * config/vax/vax.h (PRINT_OPERAND): Likewise. 9071169689Skan * config/vax/vax.md (and<mode>3): Likewise. 9072169689Skan (ashrsi3): Likewise. 9073169689Skan (extv): Likewise. 9074169689Skan (movstricthi): Likewise. 9075169689Skan (movstrictqi): Likewise. 9076169689Skan (rotrsi3): Likewise. 9077169689Skan (five unnamed insns): Likewise. 9078169689Skan 9079169689Skan2006-03-16 Geoffrey Keating <geoffk@apple.com> 9080169689Skan 9081169689Skan * doc/tm.texi (SDB and DWARF): Add extra parameter to 9082169689Skan ASM_OUTPUT_DWARF_OFFSET. Use @var to indicate metavariables. 9083169689Skan * dwarf2asm.h (dw2_asm_output_offset): Add section parameter. 9084169689Skan * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter. 9085169689Skan Pass to ASM_OUTPUT_DWARF_OFFSET. 9086169689Skan * dwarf2out.c (debug_frame_section): New. 9087169689Skan (output_call_frame_info): Use debug_frame_section. Pass it to 9088169689Skan dw2_asm_output_offset. 9089169689Skan (output_die): Pass appropriate section to dw2_asm_output_offset. 9090169689Skan (output_compilation_unit_header): Likewise. 9091169689Skan (output_pubnames): Likewise. 9092169689Skan (output_aranges): Likewise. 9093169689Skan (enum dw_val_class): Break dw_val_class_lbl_offset into 9094169689Skan dw_val_class_lineptr and dw_val_class_macptr. 9095169689Skan (add_AT_lbl_offset): Delete. 9096169689Skan (add_AT_lineptr): New. 9097169689Skan (add_AT_macptr): New. 9098169689Skan (AT_lbl): Expect a lineptr or macptr. 9099169689Skan (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr. 9100169689Skan (attr_checksum): Likewise. 9101169689Skan (same_dw_val_p): Likewise. 9102169689Skan (size_of_die): Likewise. 9103169689Skan (value_format): Likewise. 9104169689Skan (output_die): Likewise. 9105169689Skan (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of 9106169689Skan add_AT_lbl_offset. 9107169689Skan * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. 9108169689Skan * config/i386/i386.c (x86_file_start): Call darwin_file_start. 9109169689Skan * config/darwin-protos.h (darwin_file_start): New. 9110169689Skan (darwin_asm_output_dwarf_offset): New. 9111169689Skan * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter. 9112169689Skan * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call 9113169689Skan darwin_file_start. 9114169689Skan * config/darwin.c (darwin_emit_unwind_label): Don't output label 9115169689Skan if not EH section; simplify. 9116169689Skan (darwin_file_start): New. 9117169689Skan (darwin_asm_output_dwarf_offset): New. 9118169689Skan * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment, 9119169689Skan mark as 'debug'. 9120169689Skan (DEBUG_INFO_SECTION): Likewise. 9121169689Skan (DEBUG_ABBREV_SECTION): Likewise. 9122169689Skan (DEBUG_ARANGES_SECTION): Likewise. 9123169689Skan (DEBUG_MACINFO_SECTION): Likewise. 9124169689Skan (DEBUG_LINE_SECTION): Likewise. 9125169689Skan (DEBUG_LOC_SECTION): Likewise. 9126169689Skan (DEBUG_PUBNAMES_SECTION): Likewise. 9127169689Skan (DEBUG_STR_SECTION): Likewise. 9128169689Skan (DEBUG_RANGES_SECTION): Likewise. 9129169689Skan (FRAME_BEGIN_LABEL): Must start with 'L' in debug section. 9130169689Skan (ASM_OUTPUT_DWARF_OFFSET): New. 9131169689Skan 9132169689Skan2006-03-16 Joseph S. Myers <joseph@codesourcery.com> 9133169689Skan 9134169689Skan * config.gcc (tm_defines): Always add to previous value rather 9135169689Skan than replacing it. 9136169689Skan 9137169689Skan2006-03-16 Richard Sandiford <richard@codesourcery.com> 9138169689Skan 9139169689Skan * config/mips/predicates.md (splittable_const_int_operand): New, 9140169689Skan split from move_operand. 9141169689Skan (splittable_symbolic_operand): New. 9142169689Skan (move_operand): Add commentary. Use splittable_const_int_operand. 9143169689Skan Inline mips_atomic_symbolic_constant_p. 9144169689Skan * config/mips/mips.md: Add combine splitters for handling moves 9145169689Skan of splittable_const_int_operands and splittable_symbolic_operands. 9146169689Skan * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete. 9147169689Skan (mips_split_symbol): Declare. 9148169689Skan (mips_move_integer): Declare. 9149169689Skan * config/mips/mips.c (mips_split_p): Make global. 9150169689Skan (TARGET_MIN_ANCHOR_OFFSET): Override default. 9151169689Skan (TARGET_MAX_ANCHOR_OFFSET): Likewise. 9152169689Skan (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. 9153169689Skan (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise. 9154169689Skan (mips_offset_within_object_p): Handle block symbols. 9155169689Skan (mips_atomic_symbolic_constant_p): Delete. 9156169689Skan (mips_cannot_force_const_mem): Return false for constants that 9157169689Skan mips_legitimize_move can handle. 9158169689Skan (mips_use_blocks_for_constant_p): New function. 9159169689Skan (mips_split_symbol): Make global. 9160169689Skan (mips_move_integer): Likewise. Add a temporary register argument. 9161169689Skan (mips_legitimize_const_move): Use splittable_const_int_operand and 9162169689Skan splittable_symbolic_operand. 9163169689Skan (mips_use_anchors_for_symbol_p): New function. 9164169689Skan * config/mips/mips.h: Protect externs with !USED_FOR_TARGET. 9165169689Skan (mips_split_p): Declare. 9166169689Skan 9167169689Skan2006-03-16 Richard Sandiford <richard@codesourcery.com> 9168169689Skan 9169169689Skan * config.gcc (mips64*-*-linux*): Keep existing tm_defines. 9170169689Skan (mips*-*-linux*): Likewise. 9171169689Skan 9172169689Skan2006-03-16 Roger Sayle <roger@eyesopen.com> 9173169689Skan Daniel Speyer <dspeyer@wam.umd.edu> 9174169689Skan 9175169689Skan PR middle-end/18259 9176169689Skan * tree-dump.c (dump_real): New function. 9177169689Skan (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants. 9178169689Skan * Makefile.in (REAL_H): New macro for dependencies on real.h. 9179169689Skan (tree-dump.o): Add $(REAL_H) to the dependencies. 9180169689Skan 9181169689Skan2006-03-16 Roger Sayle <roger@eyesopen.com> 9182169689Skan 9183169689Skan PR middle-end/21781 9184169689Skan * real.c (real_from_string): If the mantissa is zero, don't bother 9185169689Skan parsing the exponent as the result should always be zero. 9186169689Skan 9187169689Skan2006-03-16 Andreas Krebbel <krebbel1@de.ibm.com> 9188169689Skan 9189169689Skan * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms. 9190169689Skan 9191169689Skan2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 9192169689Skan 9193169689Skan * config/ia64/ia64.c (stops_p): Added explicit initialization. 9194169689Skan (ia64_first_cycle_multipass_dfa_lookahead_guard_spec, 9195169689Skan ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn, 9196169689Skan ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global, 9197169689Skan ia64_sched_finish_global): New static functions to implement 9198169689Skan hooks from gcc_target.sched. 9199169689Skan (spec_check_no, max_uid, pending_data_specs): New static variables. 9200169689Skan (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p, 9201169689Skan ia64_spec_check_src_p): New static functions. 9202169689Skan (ia64_adjust_cost): Renamed to ia64_adjust_cost_2. 9203169689Skan (TARGET_SCHED_ADJUST_COST): Removed. 9204169689Skan (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL, 9205169689Skan TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED, 9206169689Skan TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, 9207169689Skan TARGET_SCHED_GEN_CHECK, 9208169689Skan TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, 9209169689Skan TARGET_SCHED_SET_SCHED_FLAGS): New macros. 9210169689Skan (update_set_flags, group_barrier_needed, set_src_needs_barrier): 9211169689Skan Fixed to handle speculation checks. 9212169689Skan (rtx_needs_barrier): Fixed to handle speculative loads and 9213169689Skan their checks. 9214169689Skan (ia64_variable_issue): Added code to count speculative loads and their 9215169689Skan checks. 9216169689Skan (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle 9217169689Skan speculative loads. 9218169689Skan (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): 9219169689Skan New enumerations. 9220169689Skan (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET): 9221169689Skan New constants. 9222169689Skan (ia64_ld_address_bypass_p): Fixed to handle speculative loads. 9223169689Skan (ia64_reorg): Reset stops_p to NULL after it is freed. 9224169689Skan * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA, 9225169689Skan UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants. 9226169689Skan (itanium_class): chk_s renamed to chk_s_i. New constants: chk_s_f, 9227169689Skan chk_a. 9228169689Skan (data_speculative, control_speculative, check_load): New attributes. 9229169689Skan (mov<mode>_advanced, mov<mode>_speculative, 9230169689Skan mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced, 9231169689Skan zero_extend<mode>di2_speculative, 9232169689Skan zero_extend<mode>di2_speculative_advanced): New patterns for 9233169689Skan data and control speculative loads. 9234169689Skan (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for 9235169689Skan check loads. 9236169689Skan (advanced_load_check_clr_<mode>, speculation_check_<mode>): 9237169689Skan New pattern for data and control speculation checks. 9238169689Skan (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr, 9239169689Skan ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr, 9240169689Skan reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes): 9241169689Skan Auxiliary definitions for the patterns. 9242169689Skan * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a, 9243169689Skan 1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource 9244169689Skan constraints. 9245169689Skan (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition 9246169689Skan for speculation. 9247169689Skan (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i. 9248169689Skan * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f, 9249169689Skan 2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a): 9250169689Skan New resource constraints. 9251169689Skan (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition 9252169689Skan for speculation. 9253169689Skan (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i. 9254169689Skan * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec, 9255169689Skan msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, 9256169689Skan msched-in-control-spec, msched-ldc, msched-control-ldc, 9257169689Skan msched-spec-verbose, msched-prefer-non-data-spec-insns, 9258169689Skan msched-prefer-non-control-spec-insns, 9259169689Skan msched-count-spec-in-critical-path): New flags to tune speculative 9260169689Skan scheduling. 9261169689Skan * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec, 9262169689Skan msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec, 9263169689Skan msched-in-control-spec, msched-ldc, msched-control-ldc, 9264169689Skan msched-spec-verbose, msched-prefer-non-data-spec-insns, 9265169689Skan msched-prefer-non-control-spec-insns, 9266169689Skan msched-count-spec-in-critical-path): Document new flags. 9267169689Skan 9268169689Skan2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 9269169689Skan 9270169689Skan * target.h (struct spec_info_def): New opaque declaration. 9271169689Skan (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended, 9272169689Skan speculate_insn, needs_block_p, gen_check, 9273169689Skan first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags. 9274169689Skan * target-def.h (TARGET_SCHED_ADJUST_COST_2, 9275169689Skan TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN, 9276169689Skan TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK, 9277169689Skan TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, 9278169689Skan TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in 9279169689Skan gcc_target.sched. 9280169689Skan (TARGET_SCHED): Use new macros. 9281169689Skan * rtl.h (copy_DEPS_LIST_list): New prototype. 9282169689Skan * sched-int.h (struct sched_info): Change signature of new_ready field, 9283169689Skan adjust all initializations. New fields: add_remove_insn, 9284169689Skan begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg, 9285169689Skan region_head_or_leaf_p. 9286169689Skan (struct spec_info_def): New structure declaration. 9287169689Skan (spec_info_t): New typedef. 9288169689Skan (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec, 9289169689Skan recovery_block, orig_pat. 9290169689Skan (glat_start, glat_end): New variables declaraions. 9291169689Skan (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT): 9292169689Skan New access macros. 9293169689Skan (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB, 9294169689Skan DETACH_LIFE_INFO, USE_GLAT. 9295169689Skan (enum SPEC_SCHED_FLAGS): New enumeration. 9296169689Skan (NOTE_NOTE_BB_P): New macro. 9297169689Skan (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block, 9298169689Skan attach_life_info, debug_spec_status, check_reg_live): New functions. 9299169689Skan (get_block_head_tail): Change signature to get_ebb_head_tail, adjust 9300169689Skan all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c, 9301169689Skan sched-ebb.c 9302169689Skan (get_dep_weak, ds_merge): Prototype functions from sched-deps.c . 9303169689Skan * ddg.c (get_block_head_tail): Adjust all uses. 9304169689Skan * modulo-sched.c (get_block_head_tail): Adjust all uses. 9305169689Skan (sms_sched_info): Initialize new fields. 9306169689Skan (contributes_to_priority): Removed. 9307169689Skan * haifa-sched.c (params.h): New include. 9308169689Skan (get_block_head_tail): Adjust all uses. 9309169689Skan (ISSUE_POINTS): New macro. 9310169689Skan (glat_start, glat_end): New global variables. 9311169689Skan (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data, 9312169689Skan nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header, 9313169689Skan old_last_basic_block, before_recovery, current_sched_info_var, 9314169689Skan rgn_n_insns, luid): New static variables. 9315169689Skan (insn_cost1): New function. Move logic from insn_cost to here. 9316169689Skan (find_insn_reg_weight1): New function. Move logic from 9317169689Skan find_insn_reg_weight to here. 9318169689Skan (reemit_notes, move_insn, max_issue): Change signature. 9319169689Skan (move_insn1): Removed. 9320169689Skan (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d, 9321169689Skan extend_bb): New static functions to support extension of scheduler's 9322169689Skan data structures. 9323169689Skan (generate_recovery_code, process_insn_depend_be_in_spec, 9324169689Skan begin_speculative_block, add_to_speculative_block, 9325169689Skan init_before_recovery, create_recovery_block, create_check_block_twin, 9326169689Skan fix_recovery_deps): New static functions to support 9327169689Skan generation of recovery code. 9328169689Skan (fix_jump_move, find_fallthru_edge, dump_new_block_header, 9329169689Skan restore_bb_notes, move_block_after_check, move_succs): New static 9330169689Skan functions to support ebb scheduling. 9331169689Skan (init_glat, init_glat1, attach_life_info1, free_glat): New static 9332169689Skan functions to support handling of register live information. 9333169689Skan (associate_line_notes_with_blocks, change_pattern, speculate_insn, 9334169689Skan sched_remove_insn, clear_priorities, calc_priorities, bb_note, 9335169689Skan add_jump_dependencies): New static functions. 9336169689Skan (check_cfg, has_edge_p, check_sched_flags): New static functions for 9337169689Skan consistancy checking. 9338169689Skan (debug_spec_status): New function to call from debugger. 9339169689Skan (priority): Added code to handle speculation checks. 9340169689Skan (rank_for_schedule): Added code to distinguish speculative instructions. 9341169689Skan (schedule_insn): Added code to handle speculation checks. 9342169689Skan (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes): 9343169689Skan Fixed to handle ebbs. 9344169689Skan (move_insn): Added code to handle ebb scheduling. 9345169689Skan (max_issue): Added code to use ISSUE_POINTS of instructions. 9346169689Skan (choose_ready): Added code to choose between speculative and 9347169689Skan non-speculative instructions. 9348169689Skan (schedule_block): Added code to handle ebb scheduling and scheduling of 9349169689Skan speculative instructions. 9350169689Skan (sched_init): Initialize new variables. 9351169689Skan (sched_finish): Free new variables. Print statistics. 9352169689Skan (try_ready): Added code to handle speculative instructions. 9353169689Skan * lists.c (copy_DEPS_LIST_list): New function. 9354169689Skan * sched-deps.c (extend_dependency_caches): New function. Move logic 9355169689Skan from create_dependency_caches to here. 9356169689Skan (get_dep_weak, ds_merge): Make global. 9357169689Skan * genattr.c (main): Code to output prototype for 9358169689Skan dfa_clear_single_insn_cache. 9359169689Skan * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros. 9360169689Skan (output_dfa_clean_insn_cache_func): Code to output 9361169689Skan dfa_clear_single_insn_cache function. 9362169689Skan * sched-ebb.c (target_n_insns): Remove. Adjust all users to use 9363169689Skan n_insns. 9364169689Skan (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs): 9365169689Skan Removed. 9366169689Skan (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb): 9367169689Skan New static variables. 9368169689Skan (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb, 9369169689Skan fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from 9370169689Skan struct sched_info. 9371169689Skan (ebb_sched_info): Initialize new fields. 9372169689Skan (get_block_head_tail): Adjust all uses. 9373169689Skan (compute_jump_reg_dependencies): Fixed to use glat_start. 9374169689Skan (schedule_ebb): Code to remove unreachable last block. 9375169689Skan (schedule_ebbs): Added code to update register live information. 9376169689Skan * sched-rgn.c (region_sched_info): Initialize new fields. 9377169689Skan (get_block_head_tail): Adjust all uses. 9378169689Skan (last_was_jump): Removed. Adjust users. 9379169689Skan (begin_schedule_ready, add_remove_insn, insn_points, extend_regions, 9380169689Skan add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p): 9381169689Skan Implement new hooks. 9382169689Skan (check_dead_notes1): New static function. 9383169689Skan (struct region): New fields: dont_calc_deps, has_real_ebb. 9384169689Skan (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros. 9385169689Skan (BB_TO_BLOCK): Fixed to handle EBBs. 9386169689Skan (EBB_FIRST_BB, EBB_LAST_BB): New macros. 9387169689Skan (ebb_head): New static variable. 9388169689Skan (debug_regions, contributes_to_priority): Fixed to handle EBBs. 9389169689Skan (find_single_block_regions, find_rgns, find_more_rgns): Initialize 9390169689Skan new fields. 9391169689Skan (compute_dom_prob_ps): New assertion. 9392169689Skan (check_live_1, update_live_1): Fixed to work with glat_start instead of 9393169689Skan global_live_at_start. 9394169689Skan (init_ready_list): New assertions. 9395169689Skan (can_schedule_ready_p): Split update code to begin_schedule_ready. 9396169689Skan (new_ready): Add support for BEGIN_CONTROL speculation. 9397169689Skan (schedule_insns): Fixed code that updates register live information 9398169689Skan to handle EBBs. 9399169689Skan (schedule_region): Fixed to handle EBBs. 9400169689Skan (init_regions): Use extend_regions and check_dead_notes1. 9401169689Skan * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY, 9402169689Skan PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters. 9403169689Skan * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED, 9404169689Skan TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P, 9405169689Skan TARGET_SCHED_GEN_CHECK, 9406169689Skan TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC, 9407169689Skan TARGET_SCHED_SET_SCHED_FLAGS): Document. 9408169689Skan * doc/invoke.texi (max-sched-insn-conflict-delay, 9409169689Skan sched-spec-prob-cutoff): Document. 9410169689Skan 9411169689Skan2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 9412169689Skan 9413169689Skan * sched-int.h (struct haifa_insn_data): New fields: resolved_deps, 9414169689Skan inter_tick, queue_index. 9415169689Skan (struct sched_info): Change signature of init_ready_list field. 9416169689Skan Adjust all initializations. 9417169689Skan (RESOLVED_DEPS): New access macro. 9418169689Skan (ready_add): Remove prototype. 9419169689Skan (try_ready): Add prototype. 9420169689Skan * sched-rgn.c (init_ready_list): Use try_ready. 9421169689Skan (schedule_region): Initialize 9422169689Skan current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}. 9423169689Skan * sched-ebb.c (new_ready): Remove. Adjust ebb_sched_info. 9424169689Skan (init_ready_list): Use try_ready. 9425169689Skan (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority. 9426169689Skan * lists.c (remove_list_elem): Remove `static'. 9427169689Skan (remove_free_INSN_LIST_elem): New function. 9428169689Skan * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes. 9429169689Skan * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros. 9430169689Skan (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY): 9431169689Skan New constants. 9432169689Skan (readyp): New variable. 9433169689Skan (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready, 9434169689Skan change_queue_index, resolve_dep): New static functions. 9435169689Skan (try_ready): New function. Adjust callers in sched-rgn.c and 9436169689Skan sched-ebb.c to use it instead of ready_add. 9437169689Skan (clock_var): Move at the begining of file. 9438169689Skan (rank_for_schedule): Fix typo. 9439169689Skan (queue_insn): Add assertion. Handle QUEUE_INDEX. 9440169689Skan (ready_lastpos): Enforce assertion. 9441169689Skan (ready_add): Make it static. Handle QUEUE_INDEX. Add new argument, 9442169689Skan update all callers. 9443169689Skan (ready_remove_first, ready_remove): Handle QUEUE_INDEX. 9444169689Skan (schedule_insn): Rewrite to use try_ready and resolve_dep. 9445169689Skan (queue_to_ready): Use free_INSN_LIST_list. 9446169689Skan (early_queue_to_ready): Fix typo. 9447169689Skan (schedule_block): Init readyp. Move init_ready_list call after the 9448169689Skan initialization of clock_var. Fix error in rejecting insn by 9449169689Skan targetm.sched.dfa_new_cycle. Add call to fix_inter_tick. Remove code 9450169689Skan that previously corrected INSN_TICKs. Add code for handling 9451169689Skan QUEUE_INDEX. 9452169689Skan (set_priorities): Fix typo. 9453169689Skan (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX. 9454169689Skan Clarify comment and code that keeps current_sched_info->next_tail 9455169689Skan non-null. 9456169689Skan 9457169689Skan2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 9458169689Skan 9459169689Skan * sched-rgn.c (extend_rgns): New static function. 9460169689Skan (find_rgns): Use it. 9461169689Skan (gather_region_statistics, print_region_statistics): New static 9462169689Skan functions. 9463169689Skan * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter. 9464169689Skan * doc/invoke.texi (max-sched-extend-regions-iters): Document. 9465169689Skan 9466169689Skan2006-03-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> 9467169689Skan Andrey Belevantsev <abel@ispras.ru> 9468169689Skan 9469169689Skan * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call. 9470169689Skan * lists.c (unused_deps_list): New variable. 9471169689Skan (free_list): Add assertions to verify the proper distinguishing 9472169689Skan between INSN_LISTs and DEPS_LISTs. 9473169689Skan (find_list_elem, remove_list_elem, remove_list_node): New static 9474169689Skan functions. 9475169689Skan (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node, 9476169689Skan remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem, 9477169689Skan remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions. 9478169689Skan (alloc_INSN_LIST): Assert that the list we're working on is indeed 9479169689Skan an INSN_LIST. 9480169689Skan (free_INSN_LIST_node): Likewise. 9481169689Skan * modulo-sched.c (current_sched_info): Initialize flags field. 9482169689Skan * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT. 9483169689Skan * rtl.def (DEPS_LIST): Define. 9484169689Skan * rtl.h: Declare new functions from lists.c. 9485169689Skan * sched-deps.c (spec_dependency_cache): New static variable. 9486169689Skan (maybe_add_or_update_back_dep_1, add_back_dep): New static functions. 9487169689Skan (add_dependence): Change return type to void. Move the logic to ... 9488169689Skan (add_or_update_back_dep_1): ... here. Handle speculative dependencies. 9489169689Skan (delete_all_dependences): Add comment about forward_dependency_cache. 9490169689Skan Handle spec_dependency_cache. Handle DEPS_LISTs. 9491169689Skan (fixup_sched_groups): Clarify the change of priority of output 9492169689Skan and anti dependencies. 9493169689Skan (sched_analyze_2): Adjust add_dependence calls to create data 9494169689Skan speculative dependence. 9495169689Skan (add_forward_dependence): Renamed to add_forw_dep, change prototype. 9496169689Skan Adjust all callers. Handle DEPS_LISTS. 9497169689Skan (compute_forward_dependences): Use add_forw_dep. Sort LOG_LINKs in 9498169689Skan presence of speculation. 9499169689Skan (init_dependency_caches, free_dependency_caches): 9500169689Skan Handle spec_dependency_cache. 9501169689Skan (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep, 9502169689Skan estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status): 9503169689Skan New static functions. 9504169689Skan (add_or_update_back_dep, add_or_update_back_forw_dep, 9505169689Skan add_back_forw_dep, delete_back_forw_dep): New functions. 9506169689Skan * sched-int.h (ds_t, dw_t): New typedefs. 9507169689Skan (struct sched_info): Add new field flags. 9508169689Skan (struct haifa_insn_data): Add new bitfield has_internal_dep. 9509169689Skan Prototype new sched-deps.c functions. 9510169689Skan (HAS_INTERNAL_DEP, DEP_STATUS): New access macros. 9511169689Skan (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK, 9512169689Skan MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA, 9513169689Skan BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC, 9514169689Skan SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE, 9515169689Skan SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP): 9516169689Skan New constants. 9517169689Skan (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS): 9518169689Skan New enums. 9519169689Skan * sched-rgn.c (current_sched_info): Initialize flags field. 9520169689Skan (schedule_insns): Initialize current_sched_info before the sched_init 9521169689Skan call. 9522169689Skan * sched-ebb.c (current_sched_info): Initialize flags field. 9523169689Skan (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P. 9524169689Skan Call add_or_update_back_dep instead of add_dependence. 9525169689Skan Create control speculative dependencies. 9526169689Skan (schedule_insns): Initialize current_sched_info before the sched_init 9527169689Skan call. 9528169689Skan 9529169689Skan2006-03-16 Kaz Kojima <kkojima@gcc.gnu.org> 9530169689Skan 9531169689Skan * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set 9532169689Skan fs->signal_frame. 9533169689Skan (sh_fallback_frame_state): Likewise. 9534169689Skan 9535169689Skan2006-03-15 Geoffrey Keating <geoffk@apple.com> 9536169689Skan 9537169689Skan * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. 9538169689Skan Do switch on default_use_cxa_atexit. 9539169689Skan (powerpc*-*-darwin*): Build crt2.o on powerpc. 9540169689Skan * config/darwin-crt3.o: New. 9541169689Skan * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default 9542169689Skan to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use. 9543169689Skan (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate 9544169689Skan OS version. 9545169689Skan * config/rs6000/t-darwin: Move crt2.o building to here. 9546169689Skan * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update 9547169689Skan Mac OS version for using __cxa_get_exception_ptr. Don't test versions 9548169689Skan of __cxa_atexit. 9549169689Skan 9550169689Skan2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> 9551169689Skan 9552169689Skan * config/vax/vax.c (nonindexed_address_p): Change logical negation 9553169689Skan from '! xxx' to '!xxx' for coding-style conformance. 9554169689Skan * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise. 9555169689Skan (EXTRA_CONSTRAINT): Likewise. 9556169689Skan * config/vax/vax.md (four unnamed insns): Likewise. 9557169689Skan 9558169689Skan2006-03-15 Paul Brook <paul@codesourcery.com> 9559169689Skan 9560169689Skan * config/arm/arm.c (minipool_pad): New. 9561169689Skan (add_minipool_forward_ref): Include pool alignment padding in address 9562169689Skan calculation. 9563169689Skan (push_minipool_fix): Set minipool_pad. 9564169689Skan (minipool_pad): Ditto. 9565169689Skan 9566169689Skan2006-03-15 Jan-Benedict Glaw <jbglaw@lug-owl.de> 9567169689Skan 9568169689Skan * config/vax/vax.c (split_quadword_operands): Use MEM_P() 9569169689Skan instead of GET_CODE() == MEM and REG_P() instead of 9570169689Skan GET_CODE() == REG. 9571169689Skan (print_operand_address): Likewise. 9572169689Skan (vax_address_cost): Likewise. 9573169689Skan (vax_rtx_costs): Likewise. 9574169689Skan (vax_notice_update_cc): Likewise. 9575169689Skan (vax_output_int_add): Likewise. 9576169689Skan (INDEX_REGISTER_P): Likewise. 9577169689Skan (BASE_REGISTER_P): Likewise. 9578169689Skan (nonindexed_address_p): Likewise. 9579169689Skan (vax_mode_dependent_address_p): Likewise. 9580169689Skan * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise. 9581169689Skan (PRINT_OPERAND): Likewise. 9582169689Skan * config/vax/vax.md (ashlsi3): Likewise. 9583169689Skan (ashlsi3): Likewise. 9584169689Skan (some more unnamed insns): Likewise. 9585169689Skan 9586169689Skan2006-03-15 Kazu Hirata <kazu@codesourcery.com> 9587169689Skan 9588169689Skan * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an 9589169689Skan iterator-style macro. 9590169689Skan (mark_control_dependent_edges_necessary): Update the use of 9591169689Skan EXECUTE_IF_CONTROL_DEPENDENT. 9592169689Skan 9593169689Skan2006-03-15 J"orn Rennecke <joern.rennecke@st.com> 9594169689Skan 9595169689Skan * config/sh/predicates.md (cache_address_operand): Special. 9596169689Skan (ua_address_operand): Likewise. 9597169689Skan 9598169689Skan2006-03-15 Zdenek Dvorak <dvorakz@suse.cz> 9599169689Skan 9600169689Skan * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle 9601169689Skan loop notes. 9602169689Skan * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto. 9603169689Skan 9604169689Skan2006-03-15 Andreas Schwab <schwab@suse.de> 9605169689Skan 9606169689Skan * gensupport.c (identify_predicable_attribute): Don't free p_false 9607169689Skan when it is still in use. 9608169689Skan 9609169689Skan2006-03-15 Eric Botcazou <ebotcazou@libertysurf.fr> 9610169689Skan 9611169689Skan * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify 9612169689Skan the default setting here. 9613169689Skan 9614169689Skan2006-03-14 Steven Bosscher <stevenb.gcc@gmail.com> 9615169689Skan 9616169689Skan * tree-pass.h (pass_cfg): Remove. 9617169689Skan * alias.c (rest_of_handle_cfg, pass_cfg): Remove. 9618169689Skan * passes.c (pass_cfg): Don't run it. 9619169689Skan 9620169689Skan2006-03-14 Kazu Hirata <kazu@codesourcery.com> 9621169689Skan 9622169689Skan * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h. 9623169689Skan * reg-stack.c (stack_regs_mentioned_data): Change the type to 9624169689Skan VEC(char,heap) *. 9625169689Skan (stack_regs_mentioned): Update the uses of 9626169689Skan stack_regs_mentioned_data. Don't access the array beyond its 9627169689Skan end. 9628169689Skan (reg_to_stack): Update the uses of stack_regs_mentioned_data. 9629169689Skan Don't include gt-reg-stack.h. 9630169689Skan 9631169689Skan * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove. 9632169689Skan * system.h (UNALIGNED_WORD_ASM_OP): Poison. 9633169689Skan 9634169689Skan * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove. 9635169689Skan 9636169689Skan PR middle-end/26684 9637169689Skan * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef 9638169689Skan STACK_REGS. 9639169689Skan 9640169689Skan2006-03-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 9641169689Skan 9642169689Skan * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo. 9643169689Skan 9644169689Skan2006-03-14 Richard Guenther <rguenther@suse.de> 9645169689Skan 9646169689Skan PR tree-optimization/26672 9647169689Skan * tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in 9648169689Skan SSA form. 9649169689Skan 9650169689Skan2006-03-14 Richard Guenther <rguenther@suse.de> 9651169689Skan 9652169689Skan PR tree-optimization/26667 9653169689Skan * ipa-inline.c (cgraph_check_inline_limits): Walk the correct 9654169689Skan node for the callees. Always allow inlining if it will shrink 9655169689Skan the function size. 9656169689Skan 9657169689Skan2006-03-14 Richard Guenther <rguenther@suse.de> 9658169689Skan 9659169689Skan PR middle-end/26659 9660169689Skan * builtins.c (get_pointer_alignment): Prefer alignment 9661169689Skan information from decls over that from types. 9662169689Skan 9663169689Skan2006-03-14 Andrew Pinski <pinskia@physics.uc.edu> 9664169689Skan 9665169689Skan PR target/26657 9666169689Skan * config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp. 9667169689Skan 9668169689Skan2006-03-14 Joseph S. Myers <joseph@codesourcery.com> 9669169689Skan 9670169689Skan * config/rs6000/rs6000.opt (mdlmzb): New option. 9671169689Skan (msched-prolog, msched-epilog): Use Var not Mask. 9672169689Skan * doc/invoke.texi (-mdlmzb): Document. 9673169689Skan * config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove 9674169689Skan MASK_SCHED_PROLOG. 9675169689Skan (rs6000_override_options): Enable -mdlmzb for 405 and 440. 9676169689Skan * config/rs6000/rs6000.md: Add dlmzb support for 405 and 440. 9677169689Skan 9678169689Skan2006-03-13 Uttam Pawar <uttamp@us.ibm.com> 9679169689Skan 9680169689Skan PR rtl-optimization/25739 9681169689Skan * bt-load.c (augment_live_range): Free tos pointer. 9682169689Skan 9683169689Skan * gensupport.c (identify_predicable_attribute): Free 9684169689Skan p_false pointer. 9685169689Skan * gcov.c (create_file_names): Free name pointer. 9686169689Skan 9687169689Skan2006-03-13 Roger Sayle <roger@eyesopen.com> 9688169689Skan 9689169689Skan PR middle-end/26557 9690169689Skan * stmt.c (emit_case_nodes): Handle the case where the index is a 9691169689Skan CONST_INT, where the comparison mode is specified by the index type. 9692169689Skan 9693169689Skan2006-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 9694169689Skan 9695169689Skan * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O 9696169689Skan is defined. 9697169689Skan 9698169689Skan2006-03-13 Richard Sandiford <richard@codesourcery.com> 9699169689Skan 9700169689Skan * config/mips/mips.md (*branch_fp): Use %Z2 for the condition. 9701169689Skan (*branch_fp_inverted): Likewise. 9702169689Skan 9703169689Skan2006-03-13 Jakub Jelinek <jakub@redhat.com> 9704169689Skan 9705169689Skan PR middle-end/25989 9706169689Skan * omp-low.c (expand_omp_for_generic): Mark istart0 9707169689Skan and iend0 as addressable. 9708169689Skan 9709169689Skan2006-03-13 Jie Zhang <jie.zhang@analog.com> 9710169689Skan 9711169689Skan * config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC. 9712169689Skan 9713169689Skan2006-03-13 Jeff Law <law@redhat.com> 9714169689Skan 9715169689Skan * tree-vrp.c (stmt_interesting_for_vrp): Some statements with 9716169689Skan virtual operands are interesting. 9717169689Skan (vrp_visit_stmt): Corresponding changes. 9718169689Skan 9719169689Skan2006-03-13 Bernd Schmidt <bernd.schmidt@analog.com> 9720169689Skan 9721169689Skan * config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents 9722169689Skan of RETS. 9723169689Skan * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If 9724169689Skan TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__. 9725169689Skan * config/bfin/crti.S: Use it instead of __PIC__. 9726169689Skan * config/bfin/crtn.S: Likewise. 9727169689Skan 9728169689Skan * config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol, 9729169689Skan call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY, 9730169689Skan not if flag_pic. 9731169689Skan Lose 'G' modifier for call operand. 9732169689Skan * config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't 9733169689Skan recognize 'G' modifier. 9734169689Skan 9735169689Skan2006-03-13 Eric Botcazou <ebotcazou@adacore.com> 9736169689Skan 9737169689Skan PR middle-end/18859 9738169689Skan * gimplify.c (gimplify_switch_expr): Discard empty ranges. 9739169689Skan * stmt.c (expand_case): Likewise. 9740169689Skan 9741169689Skan2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> 9742169689Skan 9743169689Skan PR rtl-optimization/26254 9744169689Skan * loop-invariant.c (seq_insns_valid_p): New function. 9745169689Skan (move_invariant_reg): Only emit new code if it is valid. 9746169689Skan 9747169689Skan2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> 9748169689Skan 9749169689Skan * cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p): 9750169689Skan Removed. 9751169689Skan (force_nonfallthru_and_redirect): Do not use last_loop_beg_note. 9752169689Skan (rtl_split_edge): Do not use back_edge_of_syntactic_loop_p. 9753169689Skan (commit_one_edge_insertion): Do not look for loop notes. 9754169689Skan 9755169689Skan2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> 9756169689Skan 9757169689Skan * jump.c (follow_jumps): Do not check for loop notes. Move check for 9758169689Skan flag_test_coverage out of loop. 9759169689Skan 9760169689Skan2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> 9761169689Skan 9762169689Skan * final.c (shorten_branches): Remove outdated comment, and turn 9763169689Skan the if branch that guards it to continue. 9764169689Skan 9765169689Skan2006-03-13 Zdenek Dvorak <dvorakz@suse.cz> 9766169689Skan 9767169689Skan * cfgloop.c (flow_loop_dump): Do not dump loop->invalid field. 9768169689Skan * cfgloop.h (struct loop): Remove unused fields. 9769169689Skan 9770169689Skan2006-03-13 Kazu Hirata <kazu@codesourcery.com> 9771169689Skan 9772169689Skan * doc/invoke.texi (-fdump-rtl-loop): Remove. 9773169689Skan (-dL, -fdump-rtl-loop2): Update the dump file names 9774169689Skan 9775169689Skan * doc/invoke.texi: Update dump file names. 9776169689Skan 9777169689Skan2006-03-12 Steven Bosscher <stevenb.gcc@gmail.com> 9778169689Skan 9779169689Skan * predict.c (estimate_probability): Remove. 9780169689Skan * profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove. 9781169689Skan * basic-block.h (estimate_probability): Remove prototype. 9782169689Skan * passes.c (finish_optimization_passes): Dump branch prediction or 9783169689Skan profiling heuristics to the .profile tree dump. 9784169689Skan (init_optimization_passes): Unqueue pass_branch_prob. 9785169689Skan 9786169689Skan * doc/invoke.texi (-fdump-rtl-bp): Remove. 9787169689Skan 9788169689Skan2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> 9789169689Skan 9790169689Skan * rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF. 9791169689Skan * rtl.h (LABEL_NEXTREF): Remove field accessor. 9792169689Skan 9793169689Skan2006-03-11 Eric Botcazou <ebotcazou@adacore.com> 9794169689Skan 9795169689Skan * function.h (frame_offset_overflow): Declare. 9796169689Skan * function.c (frame_offset_overflow): New function. 9797169689Skan (assign_stack_local_1): Call it to detect that the offset overflows. 9798169689Skan * cfgexpand.c (alloc_stack_frame_space): Likewise. 9799169689Skan 9800169689Skan2006-03-11 Steven Bosscher <stevenb.gcc@gmail.com> 9801169689Skan 9802169689Skan * config/sh/sh.c: Include alloc-pool.h. 9803169689Skan (label_ref_list_pool): New alloc pool. 9804169689Skan (label_ref_list_t): New type for lists of labels. 9805169689Skan (struct pool_node): Make wend a label_ref_list_t. 9806169689Skan (add_constant): Use the new type, eradicate LABEL_NEXTREF 9807169689Skan references. 9808169689Skan (dump_table): Likewise. 9809169689Skan (sh_reorg): Set up the alloc pool before using add_constant and 9810169689Skan dump_table, and destroy it when finishing. 9811169689Skan 9812169689Skan2006-03-11 Richard Sandiford <richard@codesourcery.com> 9813169689Skan 9814169689Skan * config/mips/mips.c: Remove redundant comment. 9815169689Skan 9816169689Skan2006-03-10 Jason Merrill <jason@redhat.com> 9817169689Skan 9818169689Skan PR c/26004 9819169689Skan * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if 9820169689Skan the target was declared 'register'. 9821169689Skan 9822169689Skan2006-03-10 Adam Nemet <anemet@caviumnetworks.com> 9823169689Skan 9824169689Skan * genpreds.c (write_insn_constraint_len): Change definition of 9825169689Skan insn_constraint_len to return size_t to match the declaration. 9826169689Skan 9827169689Skan2006-03-10 DJ Delorie <dj@redhat.com> 9828169689Skan 9829169689Skan * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers 9830169689Skan start at zero. 9831169689Skan (m32c_expand_insv): Fix test for an AND mask. 9832169689Skan 9833169689Skan2006-03-10 Richard Guenther <rguenther@suse.de> 9834169689Skan 9835169689Skan PR middle-end/26565 9836169689Skan * builtins.c (get_pointer_alignment): Handle component 9837169689Skan references for field alignment. 9838169689Skan 9839169689Skan2006-03-10 J"orn Rennecke <joern.rennecke@st.com> 9840169689Skan 9841169689Skan * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h 9842169689Skan when building with libgloss. 9843169689Skan (sh*elf): Implement --without-fp option. 9844169689Skan (sh64-superh-linux*): Don't multilib. 9845169689Skan 9846169689Skan2006-03-10 J"orn Rennecke <joern.rennecke@st.com> 9847169689Skan 9848169689Skan * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. 9849169689Skan 9850169689Skan2006-03-09 Andrew Pinski <pinskia@physics.uc.edu> 9851169689Skan 9852169689Skan * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable. 9853169689Skan Set it when one of the replacement functions returned true. 9854169689Skan Return TODO_cleanup_cfg if cfgchanged is true. 9855169689Skan (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg. 9856169689Skan 9857169689Skan2006-03-09 Adam Nemet <anemet@caviumnetworks.com> 9858169689Skan 9859169689Skan * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate 9860169689Skan instead of gen_lowpart. 9861169689Skan 9862169689Skan2006-03-09 Richard Sandiford <richard@codesourcery.com> 9863169689Skan 9864169689Skan * config/mips/mips-protos.h (mips_output_conditional_branch): Change 9865169689Skan interface. 9866169689Skan (mips_output_order_conditional_branch): Declare. 9867169689Skan * config/mips/mips.h (MIPS_BRANCH): New macro. 9868169689Skan * config/mips/mips.c (gen_conditional_branch): Use VOIDmode 9869169689Skan for the comparison. Use gen_condjump. 9870169689Skan (mips_output_conditional_branch): Rework interface to take the 9871169689Skan asm templates for a direct branch and the inverse of a direct branch. 9872169689Skan (mips_output_order_conditional_branch): New function. 9873169689Skan (mips_builtin_branch_and_move): New function. 9874169689Skan (mips_expand_builtin_compare): Use it. Use VOIDmode for the 9875169689Skan branch condition. Use gen_single_cc as the condition for 9876169689Skan __builtin_mips_upper_* or __builtin_mips_lower_*. 9877169689Skan (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move. 9878169689Skan Use VOIDmode for the branch condition. 9879169689Skan * config/mips/predicates.md (order_operator): New predicate. 9880169689Skan * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. 9881169689Skan (branch_fp): Rename to... 9882169689Skan (*branch_fp): ...this. Remove mode from comparison operator. 9883169689Skan Use new mips_output_conditional_branch interface. 9884169689Skan (branch_fp_inverted): Rename to... 9885169689Skan (*branch_fp_inverted): ...this and update as for *branch_fp. 9886169689Skan (*branch_zero<mode>): Rename to... 9887169689Skan (*branch_order<mode>): ...this. Remove mode from comparison operator. 9888169689Skan Use mips_output_order_conditional_branch. Only accept ordered 9889169689Skan comparisons. 9890169689Skan (*branch_zero<mode>_inverted): Rename to... 9891169689Skan (*branch_order<mode>_inverted): ...this and update as for 9892169689Skan *branch_order<mode>. 9893169689Skan (*branch_equality<mode>): Accept zero as the second operand to 9894169689Skan the equality operator. Use the new mips_output_conditional_branch 9895169689Skan interface. 9896169689Skan (*branch_equality<mode>_inverted): Likewise. 9897169689Skan (condjump): New expander. 9898169689Skan * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison 9899169689Skan operator. 9900169689Skan * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise. 9901169689Skan (bc1any2t, bc1any2f): Likewise. 9902169689Skan (single_cc): New expander. 9903169689Skan (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. 9904169689Skan 9905169689Skan2006-03-09 Richard Sandiford <richard@codesourcery.com> 9906169689Skan 9907169689Skan * doc/md.texi: Update documentation of MIPS constraints. 9908169689Skan * config/mips/constraints.md: New file. 9909169689Skan * config/mips/mips.md: Include it. 9910169689Skan * config/mips/mips.c (mips_char_to_class): Delete. 9911169689Skan (override_options): Don't initialize mips_char_to_class. 9912169689Skan * config/mips/mips.h (mips_char_to_class): Delete. 9913169689Skan (REG_CLASS_FROM_LETTER): Delete. 9914169689Skan (CONST_OK_FOR_LETTER_P): Delete. 9915169689Skan (CONST_DOUBLE_OK_FOR_LETTER_P): Delete. 9916169689Skan (EXTRA_CONSTRAINT_Y): Delete. 9917169689Skan (EXTRA_CONSTRAINT_STR): Delete. 9918169689Skan (CONSTRAINT_LEN): Delete. 9919169689Skan (EXTRA_MEMORY_CONSTRAINT): Delete. 9920169689Skan 9921169689Skan2006-03-09 Diego Novillo <dnovillo@redhat.com> 9922169689Skan 9923169689Skan * tree-cfg.c (move_block_to_fn): Remove the statements from the 9924169689Skan original fn's eh regions. 9925169689Skan 9926169689Skan2006-03-09 Eric Botcazou <ebotcazou@adacore.com> 9927169689Skan 9928169689Skan * fold-const.c (build_range_check): Make sure to use a valid type to 9929169689Skan apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)" 9930169689Skan transformation. 9931169689Skan 9932169689Skan (range_predecessor): New static function. 9933169689Skan (range_successor): Likewise. 9934169689Skan (merge_ranges): Use them to compute predecessors and successors of 9935169689Skan range bounds. 9936169689Skan 9937169689Skan2006-03-09 Roger Sayle <roger@eyesopen.com> 9938169689Skan 9939169689Skan PR middle-end/26561 9940169689Skan * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as 9941169689Skan X op C3, consider whether C3 overflows towards +Inf or -Inf. 9942169689Skan 9943169689Skan2006-03-08 DJ Delorie <dj@redhat.com> 9944169689Skan 9945169689Skan * config/m32c/addsub.md (addqi3): Disparage a0/a1. 9946169689Skan (addpsi3): Expand to include memory operands. Remove 9947169689Skan reload-specific splits. 9948169689Skan * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New. 9949169689Skan (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New. 9950169689Skan (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New. 9951169689Skan (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders. 9952169689Skan (shift1_qi, shift1_hi, insv): New. 9953169689Skan * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove. 9954169689Skan (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed, 9955169689Skan cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc, 9956169689Skan cond_to_int): New. 9957169689Skan * config/m32c/m32c-protos.h: Update as needed. 9958169689Skan * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't 9959169689Skan default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1. 9960169689Skan Fail for unrecognized R* constraints. 9961169689Skan (m32c_cannot_change_mode_class): Be more picky about pseudos. 9962169689Skan (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00. 9963169689Skan (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)). 9964169689Skan Add Sp constraint. 9965169689Skan (m32c_init_libfuncs): New. 9966169689Skan (m32c_legitimate_address_p): Add debug wrapper. 9967169689Skan (m32c_rtx_costs): New. 9968169689Skan (m32c_address_cost): New. 9969169689Skan (conversions): Add 'B' prefix. 9970169689Skan (m32c_print_operand): 'h' and 'H' pick lower and upper halves of 9971169689Skan operands, or word regnames for QI operands. 'B' prints bit 9972169689Skan position. 9973169689Skan (m32c_expand_setmemhi): New. 9974169689Skan (m32c_expand_movmemhi): New. 9975169689Skan (m32c_expand_movstr): New. 9976169689Skan (m32c_expand_cmpstr): New. 9977169689Skan (m32c_prepare_shift): Shift counts are limited to 16 bits at a time. 9978169689Skan (m32c_expand_neg_mulpsi3): Handle non-ints. 9979169689Skan (m32c_cmp_flg_0): New. 9980169689Skan (m32c_expand_movcc): New. 9981169689Skan (m32c_expand_insv): New. 9982169689Skan (m32c_scc_pattern): New. 9983169689Skan * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take 9984169689Skan a0/a1 out of SIregs. 9985169689Skan (STORE_FLAG_VALUE): New. 9986169689Skan * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and 9987169689Skan code macros. 9988169689Skan (no_insn): New. 9989169689Skan * config/m32c/mov.md: Make constraints more liberal. 9990169689Skan (zero_extendqihi2): Optimize r0/r1 case. 9991169689Skan * config/m32c/muldiv.md (mulpsi3): Check for intvals. 9992169689Skan * config/m32c/predicates.md (m32c_any_operand): New. 9993169689Skan (m32c_nonimmediate_operand): New. 9994169689Skan (m32c_hl_operand): New. 9995169689Skan (m32c_r3_operand): New. 9996169689Skan (ap_operand): New. 9997169689Skan (ma_operand): New. 9998169689Skan (memsym_operand): New. 9999169689Skan (memimmed_operand): New. 10000169689Skan (a_qi_operand): New. 10001169689Skan (m32c_eqne_operator): New. 10002169689Skan (m32c_1bit8_operand): New. 10003169689Skan (m32c_1bit16_operand): New. 10004169689Skan (m32c_1mask8_operand): New. 10005169689Skan (m32c_1mask16_operand): New. 10006169689Skan * config/m32c/blkmov.md: New file. 10007169689Skan * config/m32c/t-m32c (MD_FILES): Add blkmov. 10008169689Skan 10009169689Skan2006-03-08 Andreas Tobler <a.tobler@schweiz.ch> 10010169689Skan 10011169689Skan * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum 10012169689Skan unsigned to fix signed/unsigned comparison issue in 10013169689Skan DWARF2_FRAME_REG_OUT. 10014169689Skan (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/ 10015169689Skan unsigned comparison issue in DWARF2_FRAME_REG_OUT. 10016169689Skan 10017169689Skan * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration 10018169689Skan of ptr into the ENABLE_CHECKING section. 10019169689Skan 10020169689Skan2006-03-08 Jeff Law <law@redhat.com> 10021169689Skan 10022169689Skan * tree-vrp.c (infer_value_range): Only count pointer uses 10023169689Skan and dereferences if -fdelete-null-pointer-checks is enabled. 10024169689Skan 10025169689Skan * tree-vrp.c (find_assert_locations): Infer value ranges for 10026169689Skan single use pointers, but do not create ASSERT_EXPRs for them. 10027169689Skan When a non-null range is inferred for a pointer, backwards 10028169689Skan propagate that range to other equivalent pointers through the 10029169689Skan use-def chain. 10030169689Skan 10031169689Skan2006-03-08 Paolo Bonzini <bonzini@gnu.org> 10032169689Skan 10033169689Skan PR bootstrap/26500 10034169689Skan * Makefile.in (dvi, html, install-info): Invoke the corresponding 10035169689Skan language hook targets. 10036169689Skan * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in, 10037169689Skan objcp/Make-lang.in: Create stub rules for dvi, html, install-info 10038169689Skan if language hook targets were missing. 10039169689Skan 10040169689Skan2006-03-07 Zdenek Dvorak <dvorakz@suse.cz> 10041169689Skan 10042169689Skan * tree-ssa-opfinalize.h: Removed. 10043169689Skan * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h 10044169689Skan dependency. 10045169689Skan * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h. 10046169689Skan (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST, 10047169689Skan INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op, 10048169689Skan add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops, 10049169689Skan finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops, 10050169689Skan finalize_ssa_v_must_def_ops): New. 10051169689Skan 10052169689Skan2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com> 10053169689Skan 10054169689Skan * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong 10055169689Skan block as parameter. 10056169689Skan 10057169689Skan2006-03-07 Geoffrey Keating <geoffk@apple.com> 10058169689Skan 10059169689Skan * varasm.c (assemble_end_function): Say that 'fnname' is unused. 10060169689Skan 10061169689Skan * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin 10062169689Skan addresses with offsets; reorganize. 10063169689Skan 10064169689Skan * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file. 10065169689Skan (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT. 10066169689Skan (expand_builtin_init_dwarf_reg_sizes): Likewise. 10067169689Skan 10068169689Skan2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com> 10069169689Skan 10070169689Skan PR target/26588 10071169689Skan * config/i386/cygwin.h (GOMP_SELF_SPECS): Define. 10072169689Skan 10073169689Skan2006-03-08 Ben Elliston <bje@au.ibm.com> 10074169689Skan 10075169689Skan * config/fp-bit.h (CMPtype): Typedef to a word mode integer. 10076169689Skan 10077169689Skan2006-03-07 Aldy Hernandez <aldyh@redhat.com> 10078169689Skan 10079169689Skan PR gomp/26238 10080169689Skan * doc/passes.texi (Tree-SSA passes): Document omp lowering and 10081169689Skan expansion. 10082169689Skan 10083169689Skan2006-03-07 Richard Guenther <rguenther@suse.de> 10084169689Skan 10085169689Skan PR tree-optimization/26587 10086169689Skan * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR. 10087169689Skan 10088169689Skan2006-03-07 Richard Sandiford <richard@codesourcery.com> 10089169689Skan 10090169689Skan * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION. 10091169689Skan 10092169689Skan2006-03-07 Richard Sandiford <richard@codesourcery.com> 10093169689Skan 10094169689Skan * hooks.c (hook_bool_mode_rtx_true): New function. 10095169689Skan * hooks.h (hook_bool_mode_rtx_true): Declare. 10096169689Skan * toplev.c (compile_file): Call output_shared_constant_pool. 10097169689Skan * varasm.c (shared_constant_pool): New variable. 10098169689Skan (assemble_start_function, assemble_end_function): Remove arguments 10099169689Skan from call to output_constant_pool. 10100169689Skan (create_constant_pool): New function, split out from... 10101169689Skan (init_varasm_status): ...here. 10102169689Skan (force_const_mem): Choose between the shared and per-function constant 10103169689Skan pools. Set current_function_uses_const_pool when reusing old entries 10104169689Skan as well as when creating new ones. 10105169689Skan (mark_constant): Ignore data argument. 10106169689Skan (mark_constants): Remove pool argument. 10107169689Skan (mark_constant_pool): Likewise. Use current_function_uses_const_pool 10108169689Skan to decide whether the function uses a constant pool. 10109169689Skan (output_constant_pool_contents): New function, split out from... 10110169689Skan (output_constant_pool): ...here. 10111169689Skan (output_shared_constant_pool): New function. 10112169689Skan (init_varasm_once): Initialize shared_constant_pool. 10113169689Skan * output.h (output_constant_pool): Delete. 10114169689Skan (output_shared_constant_pool): Declare. 10115169689Skan * config/s390/s390-protos.h (s390_output_constant_pool): Delete. 10116169689Skan * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override. 10117169689Skan 10118169689Skan2006-03-06 Nick Clifton <nickc@redhat.com> 10119169689Skan 10120169689Skan * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to 10121169689Skan flag_strength_reduce. 10122169689Skan 10123169689Skan2006-03-06 Ben Elliston <bje@au.ibm.com> 10124169689Skan 10125169689Skan * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and 10126169689Skan x86_64-*-linux* configurations. 10127169689Skan 10128169689Skan * config/dfp-bit.h (CMPtype): Typedef to a word mode integer. 10129169689Skan (LIBGCC2_WORDS_BIG_ENDIAN): Define. 10130169689Skan 10131169689Skan2006-03-05 Kazu Hirata <kazu@codesourcery.com> 10132169689Skan 10133169689Skan * tree-ssa-threadupdate.c (rediscover_loops_after_threading): 10134169689Skan Remove. 10135169689Skan * basic-block.h: Remove the extern for 10136169689Skan rediscover_loops_after_threading. 10137169689Skan 10138169689Skan * cfgloop.c (cancel_loop): Make it static. 10139169689Skan * cfgloop.h: Remove the prototype for cancel_loop. 10140169689Skan 10141169689Skan * flow.c (recompute_reg_usage): Make it static. 10142169689Skan * rtl.h: Remove the prototype for recompute_reg_usage. 10143169689Skan 10144169689Skan * function.c (use_return_register): Make it static. 10145169689Skan * function.h: Remove the prototype. 10146169689Skan 10147169689Skan2006-03-05 Kazu Hirata <kazu@codesourcery.com> 10148169689Skan 10149169689Skan * recog.c (volatile_mem_p, validate_change_maybe_volatile): 10150169689Skan Remove. 10151169689Skan * recog.h: Remove the prototype for 10152169689Skan validate_change_maybe_volatile. 10153169689Skan 10154169689Skan2006-03-05 Kazu Hirata <kazu@codesourcery.com> 10155169689Skan 10156169689Skan * rtlanal.c (replace_reg): Remove. 10157169689Skan * rtl.h: Remove the prototype for replace_reg. 10158169689Skan 10159169689Skan2006-03-05 Kazu Hirata <kazu@codesourcery.com> 10160169689Skan 10161169689Skan * regclass.c (reg_scan_update): Remove. 10162169689Skan (reg_scan_mark_refs): Remove the last argument. 10163169689Skan * rtl.h: Remove the prototype for reg_scan_update. 10164169689Skan 10165169689Skan2006-03-04 Kazu Hirata <kazu@codesourcery.com> 10166169689Skan 10167169689Skan * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, 10168169689Skan combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, 10169169689Skan config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, 10170169689Skan config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, 10171169689Skan df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, 10172169689Skan loop-invariant.c, omp-low.c, opts.c, passes.c, 10173169689Skan rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, 10174169689Skan tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, 10175169689Skan tree-ssa-structalias.c, tree-ssa-threadedge.c, 10176169689Skan tree-ssa-threadupdate.c, tree-vect-patterns.c, 10177169689Skan tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, 10178169689Skan unwind-dw2.c: Fix comment typos. Follow spelling conventions. 10179169689Skan 10180169689Skan2006-03-04 Kazu Hirata <kazu@codesourcery.com> 10181169689Skan 10182169689Skan * dwarf2out.c (dwarf2out_add_library_unit_info): Remove. 10183169689Skan * dwarf2out.h: Remove the prototype for 10184169689Skan dwarf2out_add_library_unit_info. 10185169689Skan 10186169689Skan2006-03-04 Kazu Hirata <kazu@codesourcery.com> 10187169689Skan 10188169689Skan * tree.c (add_var_to_bind_expr): Remove. 10189169689Skan * tree.h: Remove the prototype for add_var_to_bind_expr. 10190169689Skan 10191169689Skan2006-03-04 Kazu Hirata <kazu@codesourcery.com> 10192169689Skan 10193169689Skan * regclass.c (n_non_fixed_regs): Remove. 10194169689Skan (init_reg_sets_1, globalize_reg): Remove all uses of 10195169689Skan n_non_fixed_regs. 10196169689Skan * hard-reg-set.h: Remove the extern for n_non_fixed_regs. 10197169689Skan 10198169689Skan2006-03-04 Kazu Hirata <kazu@codesourcery.com> 10199169689Skan 10200169689Skan * rtlanal.c (insns_safe_to_move_p): Remove. 10201169689Skan * rtl.h: Remove the prototype for insns_safe_to_move_p. 10202169689Skan 10203169689Skan2006-03-04 Kazu Hirata <kazu@codesourcery.com> 10204169689Skan 10205169689Skan * expmed.c (expand_mult_add): Remove. 10206169689Skan * expr.h: Remove the prototype for expand_mult_add. 10207169689Skan 10208169689Skan2006-03-04 Jakub Jelinek <jakub@redhat.com> 10209169689Skan 10210169689Skan * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET 10211169689Skan and REG_SAVED_VAL_EXP constants. 10212169689Skan * unwind-dw2.c (struct _Unwind_Context): Add by_value array. 10213169689Skan (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): 10214169689Skan Handle regs stored by value. 10215169689Skan (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. 10216169689Skan (execute_cfa_program): Handle DW_CFA_val_offset, 10217169689Skan DW_CFA_val_offset_sf and DW_CFA_val_expression. 10218169689Skan (uw_update_context_1): Handle REG_SAVED_REG with regs stored by 10219169689Skan value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. 10220169689Skan (uw_install_context_1): Handle target regs stored by value. 10221169689Skan 10222169689Skan2006-03-03 Daniel Berlin <dberlin@dberlin.org> 10223169689Skan 10224169689Skan * tree-sra.c (tree_sra): Return todoflags; 10225169689Skan (generate_one_element): Set TODO_update_smt_usage if needed. 10226169689Skan (pass_sra): Remove TODO_update_smt_usage. 10227169689Skan * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some 10228169689Skan parameter. 10229169689Skan (tree_ssa_forward_propagate_single_use_vars): Return 10230169689Skan TODO_update_smt_usage if we need to update SMT usage. 10231169689Skan (pass_forwprop): Remove TODO_update_smt_usage. 10232169689Skan 10233169689Skan2006-03-03 Diego Novillo <dnovillo@redhat.com> 10234169689Skan 10235169689Skan * tree-ssa-operands.c: Tidy whitespace. Fix spelling. 10236169689Skan (correct_use_link): Remove reference to get_stmt_operands. 10237169689Skan (update_stmt_operands): Likewise. 10238169689Skan (get_modify_expr_operands): New function factored out of 10239169689Skan parse_ssa_operands and get_expr_operands. 10240169689Skan Try to create V_MUST_DEFs for LHS by default. 10241169689Skan (get_expr_operands) <case MODIFY_EXPR>: Call 10242169689Skan get_modify_expr_operands. 10243169689Skan <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF. 10244169689Skan <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS. 10245169689Skan (parse_ssa_operands) <case MODIFY_EXPR>: Call 10246169689Skan get_modify_expr_operands. 10247169689Skan 10248169689Skan2006-03-03 Kazu Hirata <kazu@codesourcery.com> 10249169689Skan 10250169689Skan * tree-dfa.c (referenced_var_lookup_if_exists): Remove. 10251169689Skan * tree-flow.h: Remove the prototype for 10252169689Skan referenced_var_lookup_if_exists. 10253169689Skan 10254169689Skan2006-03-03 Steve Ellcey <sje@cup.hp.com> 10255169689Skan 10256169689Skan PR rtl-optimization/26345 10257169689Skan PR target/19061 10258169689Skan * config/ia64/predicates.md (basereg_operand): Don't look in subregs. 10259169689Skan 10260169689Skan2006-03-03 Roger Sayle <roger@eyesopen.com> 10261169689Skan 10262169689Skan PR tree-optimization/26524 10263169689Skan * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use 10264169689Skan fold_convert to create a constant of the appropriate type. 10265169689Skan 10266169689Skan2006-03-03 Richard Sandiford <richard@codesourcery.com> 10267169689Skan 10268169689Skan * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of 10269169689Skan SYMBOL_REF_IN_BLOCK_P. 10270169689Skan * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead 10271169689Skan of SYMBOL_FLAG_IN_BLOCK. 10272169689Skan * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P 10273169689Skan instead of SYMBOL_REF_IN_BLOCK_P. 10274169689Skan * explow.c (use_anchored_address): Likewise. 10275169689Skan * rtl.c (rtx_size): Likewise. 10276169689Skan * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO 10277169689Skan instead of SYMBOL_FLAG_IN_BLOCK. 10278169689Skan (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of 10279169689Skan SYMBOL_REF_IN_BLOCK_P. 10280169689Skan (assemble_variable): Likewise. 10281169689Skan (output_constant_def_contents): Likewise. 10282169689Skan (output_constant_pool): Likewise. 10283169689Skan (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO 10284169689Skan instead of SYMBOL_FLAG_IN_BLOCK. 10285169689Skan * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of 10286169689Skan SYMBOL_REF_IN_BLOCK_P. 10287169689Skan (SYMBOL_REF_BLOCK): Likewise. 10288169689Skan (SYMBOL_REF_OFFSET): Likewise. 10289169689Skan (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of 10290169689Skan SYMBOL_REF_IN_BLOCK_P. 10291169689Skan (SYMBOL_FLAG_IN_BLOCK): Replace with... 10292169689Skan (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this. 10293169689Skan (SYMBOL_REF_IN_BLOCK_P): Replace with... 10294169689Skan (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this. 10295169689Skan 10296169689Skan2006-03-03 Jakub Jelinek <jakub@redhat.com> 10297169689Skan 10298169689Skan * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. 10299169689Skan 10300169689Skan2006-03-02 Roger Sayle <roger@eyesopen.com> 10301169689Skan 10302169689Skan * simplify-rtx.c (simplify_unary_operation): When simplifying 10303169689Skan (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure 10304169689Skan that we perform the right shift in the appropriate mode, and 10305169689Skan then extend or truncate the result to requested mode. 10306169689Skan 10307169689Skan2006-03-03 Zdenek Dvorak <dvorakz@suse.cz> 10308169689Skan 10309169689Skan * gengtype.c (main): Handle double_int type. 10310169689Skan * tree.h (struct tree_int_cst): Make type of int_cst double_int. 10311169689Skan * double-int.c: New file. 10312169689Skan * double-int.h: New file. 10313169689Skan * system.h: Include doubleint.h. 10314169689Skan * Makefile.in (SYSTEM_H): Include double-int.h. 10315169689Skan (double-int.o): Add. 10316169689Skan 10317169689Skan2006-03-03 Joseph S. Myers <joseph@codesourcery.com> 10318169689Skan 10319169689Skan PR bootstrap/26478 10320169689Skan * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before 10321169689Skan copying over it. 10322169689Skan 10323169689Skan2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> 10324169689Skan 10325169689Skan * tree-vrp.c (remove_range_assertions): Do not update statements 10326169689Skan unnecessarily. 10327169689Skan 10328169689Skan2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> 10329169689Skan 10330169689Skan * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg 10331169689Skan cleanup. 10332169689Skan * gcse.c (rest_of_handle_gcse): Ditto. 10333169689Skan * except.c (gate_handle_eh): Ditto. 10334169689Skan * cfgcleanup.c (rest_of_handle_jump2): Ditto. 10335169689Skan * basic-block.h (CLEANUP_PRE_LOOP): Remove. 10336169689Skan 10337169689Skan2006-03-02 Eric Christopher <echristo@apple.com> 10338169689Skan 10339169689Skan * config/i386/i386.c (machopic_output_stub): Add indirection to 10340169689Skan jump. 10341169689Skan 10342169689Skan2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> 10343169689Skan 10344169689Skan * loop.c: Removed. 10345169689Skan 10346169689Skan2006-03-02 David S. Miller <davem@sunset.davemloft.net> 10347169689Skan 10348169689Skan Sun Niagara specific optimizations. 10349169689Skan * config.gcc: Recognize niagara as target. 10350169689Skan * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. 10351169689Skan (TARGET_CPU_niagara): Define. 10352169689Skan (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. 10353169689Skan (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. 10354169689Skan (CPP_CPU_SPEC): Handle -mcpu=niagara. 10355169689Skan (ASM_CPU_SPEC): Likewise. 10356169689Skan (PROCESSOR_NIAGARA): New enum entry. 10357169689Skan (REGISTER_MOVE_COST): Handle Niagara. 10358169689Skan (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. 10359169689Skan * config/sparc/sparc.c (niagara_costs): New processor_costs entry. 10360169689Skan (sparc_override_options): Recognize "niagara", set appropriate 10361169689Skan default MASK_* values for it, and align functions to 32-bytes 10362169689Skan by default just like ULTRASPARC/ULTRASPARC3. 10363169689Skan (sparc_initialize_trampoline): Handle niagara like ultrasparc. 10364169689Skan (sparc64_initialize_trampoline): Likewise. 10365169689Skan (sparc_use_sched_lookahead): Use zero for niagara. 10366169689Skan (sparc_issue_rate): Use one for niagara. 10367169689Skan * config/sparc/niagara.md: New file. 10368169689Skan * config/sparc/sparc.md: Include it. 10369169689Skan * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, 10370169689Skan ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately 10371169689Skan when default cpu is niagara. 10372169689Skan (CPP_CPU_SPEC): Handle -mcpu=niagara. 10373169689Skan (ASM_CPU_SPEC): Likewise. 10374169689Skan * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately 10375169689Skan when default cpu is niagara. 10376169689Skan (ASM_CPU_SPEC): Handle -mcpu=niagara. 10377169689Skan * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara 10378169689Skan just like v9/ultrasparc/ultrasparc3. 10379169689Skan * doc/invoke.texi: Add documentation for "niagara" and improve 10380169689Skan existing documentation for ultrasparc variants. 10381169689Skan 10382169689Skan2006-03-02 Diego Novillo <dnovillo@redhat.com> 10383169689Skan 10384169689Skan * tree-ssa-operands.c (update_stmt_operands): Update documentation. 10385169689Skan 10386169689Skan2006-03-02 Richard Sandiford <richard@codesourcery.com> 10387169689Skan 10388169689Skan * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document. 10389169689Skan (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS, 10390169689Skan and say that only one is needed. 10391169689Skan * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null. 10392169689Skan * target.h (have_switchable_bss_sections): New hook. 10393169689Skan * explow.c (use_anchored_address): Check that the symbol is in a block. 10394169689Skan * varasm.c (tls_comm_section, comm_section, lcomm_section) 10395169689Skan (bss_noswitch_section): New variables. 10396169689Skan (get_unnamed_section): Add SECTION_UNNAMED to the flags. 10397169689Skan (get_noswitch_section): New function. 10398169689Skan (get_block_for_section): Allow SECT to be null. 10399169689Skan (unlikely_text_section_p): Use SECTION_STYLE. 10400169689Skan (bss_initializer_p): New function. 10401169689Skan (get_variable_section): Move earlier in file. Take a new argument, 10402169689Skan prefer_noswitch_p. Move bss checks from assemble_variable to here. 10403169689Skan Return one of the new *_sections in such cases. 10404169689Skan (get_block_for_decl): New function, extracting some logic from 10405169689Skan use_blocks_for_decl_p. 10406169689Skan (change_symbol_section): Remove in favor of... 10407169689Skan (change_symbol_block): ...this new function. 10408169689Skan (use_blocks_for_decl_p): Remove checks now performed by 10409169689Skan get_block_for_decl. 10410169689Skan (make_decl_rtl): Use change_symbol_block and get_block_for_decl. 10411169689Skan (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of... 10412169689Skan (emit_local, emit_bss, emit_common): ...these new functions. 10413169689Skan Return true if the alignment was honored. 10414169689Skan (emit_tls_common): New function. 10415169689Skan (asm_emit_uninitialised): Delete. 10416169689Skan (assemble_variable_noswitch): New function, split out from... 10417169689Skan (assemble_variable): ...here. Don't make decisions about common 10418169689Skan variables here. Globalize all public decls that go into non-common 10419169689Skan sections. Check whether SYMBOL_REF_BLOCK is null. 10420169689Skan (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null. 10421169689Skan (output_constant_pool): Likewise. 10422169689Skan (init_varasm_once): Initialize the new section variables. 10423169689Skan (have_global_bss_p): New function. 10424169689Skan (categorize_decl_for_section): Use bss_initializer_p. 10425169689Skan (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH. 10426169689Skan (place_block_symbol): Assert that the symbol must be in a block. 10427169689Skan * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro. 10428169689Skan (TARGET_INITIALIZER): Include it. 10429169689Skan * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative. 10430169689Skan * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros. 10431169689Skan (SECTION_MACH_DEP): Bump by two. 10432169689Skan (SECTION_UNNAMED, SECTION_NOSWITCH): New macros. 10433169689Skan (unnamed_section): Mention SECTION_UNNAMED in comment. 10434169689Skan (named_section): Likewise SECTION_NAMED. 10435169689Skan (noswitch_section_callback): New type. 10436169689Skan (noswitch_section): New structure. 10437169689Skan (section): Add a noswitch_section alternative. 10438169689Skan (SECTION_STYLE): New macro. 10439169689Skan (tls_comm_section, comm_section, lcomm_section): Declare. 10440169689Skan (bss_noswitch_section, have_global_bss_p): Declare. 10441169689Skan * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. 10442169689Skan * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): 10443169689Skan Override. 10444169689Skan * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. 10445169689Skan * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): 10446169689Skan Override. 10447169689Skan 10448169689Skan2006-03-02 Daniel Berlin <dberlin@dberlin.org> 10449169689Skan 10450169689Skan * tree-vrp.c (execute_vrp): Return value. 10451169689Skan * regrename.c (rest_of_handle_regrename): Ditto. 10452169689Skan * tree-into-ssa.c (rewrite_into_ssa): Ditto. 10453169689Skan * tree-complex.c (tree_lower_complex): Ditto. 10454169689Skan (tree_lower_complex_O0): Ditto. 10455169689Skan * tracer.c (rest_of_handle_tracer): Ditto. 10456169689Skan * postreload-gcse.c (rest_of_handle_gcse2): Ditto. 10457169689Skan * postreload.c (rest_of_handle_postreload): Ditto. 10458169689Skan * tree-tailcall.c (execute_tail_recursion): Ditto. 10459169689Skan (execute_tail_calls): Ditto. 10460169689Skan * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. 10461169689Skan * tree.h (init_function_for_compilation): Ditto. 10462169689Skan * ipa-cp.c (ipcp_driver): Ditto. 10463169689Skan * tree-scalar-evolution.c (scev_const_prop): Ditto. 10464169689Skan * tree-scalar-evolution.h (scev_const_prop): Ditto. 10465169689Skan * final.c (compute_alignments): Ditto. 10466169689Skan (rest_of_handle_final): Ditto. 10467169689Skan (rest_of_handle_shorten_branches): Ditto. 10468169689Skan (rest_of_clean_state): Ditto. 10469169689Skan * omp-low.c (execute_expand_omp): Ditto. 10470169689Skan (execute_lower_omp): Ditto. 10471169689Skan * tree-ssa-dse.c (tree_ssa_dse): Ditto. 10472169689Skan * ipa-reference.c (static_execute): Ditto. 10473169689Skan * tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto. 10474169689Skan * reorg.c (rest_of_handle_delay_slots): Ditto. 10475169689Skan (rest_of_handle_machine_reorg): Ditto. 10476169689Skan * cgraphunit.c (rebuild_cgraph_edges): Ditto. 10477169689Skan * flow.c (recompute_reg_usage): Ditto. 10478169689Skan (rest_of_handle_remove_death_notes): Ditto. 10479169689Skan (rest_of_handle_life): Ditto. 10480169689Skan (rest_of_handle_flow2): Ditto. 10481169689Skan * tree-ssa-copyrename.c (rename_ssa_copies): Ditto. 10482169689Skan * tree-ssa-ccp.c (do_ssa_ccp): Ditto. 10483169689Skan (do_ssa_store_ccp): Ditto. 10484169689Skan (execute_fold_all_builtins): Ditto. 10485169689Skan * mode-switching.c (rest_of_handle_mode_switching): Ditto. 10486169689Skan * modulo-sched.c (rest_of_handle_sms): Ditto. 10487169689Skan * ipa-pure-const.c (static_execute): Ditto. 10488169689Skan * cse.c (rest_of_handle_cse): Ditto. 10489169689Skan (rest_of_handle_cse2): Ditto. 10490169689Skan * web.c (rest_of_handle_web): Ditto. 10491169689Skan * tree-stdarg.c (execute_optimize_stdarg): Ditto. 10492169689Skan * tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto. 10493169689Skan * tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. 10494169689Skan * tree-nrv.c (tree_nrv): Ditto. 10495169689Skan (execute_return_slot_opt): Ditto. 10496169689Skan * tree-ssa-alias.c (compute_may_aliases): Ditto. 10497169689Skan (create_structure_vars): Ditto. 10498169689Skan * loop-init.c (rtl_loop_init): Ditto. 10499169689Skan (rtl_loop_done): Ditto. 10500169689Skan (rtl_move_loop_invariants): Ditto. 10501169689Skan (rtl_unswitch): Ditto. 10502169689Skan (rtl_unroll_and_peel_loops): Ditto. 10503169689Skan (rtl_doloop): Ditto. 10504169689Skan * gimple-low.c (lower_function_body): Ditto. 10505169689Skan (mark_used_blocks): Ditto. 10506169689Skan * tree-ssa-sink.c (execute_sink_code): Ditto. 10507169689Skan * ipa-inline.c (cgraph_decide_inlining): Ditto. 10508169689Skan (cgraph_early_inlining): Ditto. 10509169689Skan * global.c (rest_of_handle_global_alloc): Ditto. 10510169689Skan * jump.c (cleanup_barriers): Ditto. 10511169689Skan (purge_line_number_notes): Ditto. 10512169689Skan * ifcvt.c (rest_of_handle_if_conversion): Ditto. 10513169689Skan (rest_of_handle_if_after_reload): Ditto. 10514169689Skan * tree-ssa-loop.c (tree_ssa_loop_init): Ditto. 10515169689Skan (tree_ssa_loop_im): Ditto. 10516169689Skan (tree_ssa_loop_unswitch): Ditto. 10517169689Skan (tree_vectorize): Ditto. 10518169689Skan (tree_linear_transform): Ditto. 10519169689Skan (tree_ssa_loop_ivcanon): Ditto. 10520169689Skan (tree_ssa_empty_loop): Ditto. 10521169689Skan (tree_ssa_loop_bounds): Ditto. 10522169689Skan (tree_complete_unroll): Ditto. 10523169689Skan (tree_ssa_loop_prefetch): Ditto. 10524169689Skan (tree_ssa_loop_ivopts): Ditto. 10525169689Skan (tree_ssa_loop_done): Ditto. 10526169689Skan * predict.c (tree_estimate_probability): Ditto. 10527169689Skan * recog.c (split_all_insns_noflow): Ditto. 10528169689Skan (rest_of_handle_peephole2): Ditto. 10529169689Skan (rest_of_handle_split_all_insns): Ditto. 10530169689Skan * tree-eh.c (lower_eh_constructs): Ditto. 10531169689Skan * regmove.c (rest_of_handle_regmove): Ditto. 10532169689Skan (rest_of_handle_stack_adjustments): Ditto. 10533169689Skan * local-alloc.c (rest_of_handle_local_alloc): Ditto. 10534169689Skan * function.c (instantiate_virtual_regs): Ditto. 10535169689Skan (init_function_for_compilation): Ditto. 10536169689Skan (rest_of_handle_check_leaf_regs): Ditto. 10537169689Skan * gcse.c (rest_of_handle_jump_bypass): Ditto. 10538169689Skan (rest_of_handle_gcse): Ditto. 10539169689Skan * ipa-type-escape.c (type_escape_execute): Ditto. 10540169689Skan * alias.c (rest_of_handle_cfg): Ditto. 10541169689Skan * tree-if-conv.c (main_tree_if_conversion): Ditto. 10542169689Skan * profile.c (rest_of_handle_branch_prob): Ditto. 10543169689Skan * tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto. 10544169689Skan * rtl-factoring.c (rest_of_rtl_seqabstr): Ditto. 10545169689Skan * bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto 10546169689Skan * tree-dfa.c (find_referenced_vars): Ditto. 10547169689Skan * except.c (set_nothrow_function_flags): Ditto. 10548169689Skan (convert_to_eh_region_ranges): Ditto. 10549169689Skan (rest_of_handle_eh): Ditto. 10550169689Skan * emit-rtl.c (unshare_all_rtl): Ditto. 10551169689Skan (remove_unnecessary_notes): Ditto. 10552169689Skan * except.h (set_nothrow_function_flags): Ditto. 10553169689Skan (convert_to_eh_region_ranges): Ditto. 10554169689Skan * cfgexpand.c (tree_expand_cfg): Ditto. 10555169689Skan * tree-cfgcleanup.c (merge_phi_nodes): Ditto. 10556169689Skan * tree-ssa-pre.c (do_pre): Ditto. 10557169689Skan (execute_fre): Ditto. 10558169689Skan * cfgcleanup.c (rest_of_handle_jump): Ditto. 10559169689Skan (rest_of_handle_jump2): Ditto. 10560169689Skan * tree-sra.c (tree_sra): Ditto. 10561169689Skan * tree-mudflap.c (execute_mudflap_function_ops): Ditto. 10562169689Skan (execute_mudflap_function_decls): Ditto. 10563169689Skan * tree-ssa-copy.c (do_copy_prop): Ditto. 10564169689Skan (do_store_copy_prop): Ditto. 10565169689Skan * ipa-prop.h (ipcp_driver): Ditto. 10566169689Skan * cfglayout.c (insn_locators_initialize): Ditto. 10567169689Skan * tree-ssa-forwprop.c 10568169689Skan (tree_ssa_forward_propagate_single_use_vars): Ditto. 10569169689Skan * cfglayout.h (insn_locators_initialize): Ditto. 10570169689Skan * tree-ssa-dce.c (tree_ssa_dce): Ditto. 10571169689Skan * tree-ssa.c (execute_early_warn_uninitialized): Ditto. 10572169689Skan (execute_late_warn_uninitialized): Ditto. 10573169689Skan * rtl.h (cleanup_barriers): Ditto. 10574169689Skan (split_all_insns_noflow): Ditto. 10575169689Skan (purge_line_number_notes): Ditto. 10576169689Skan (unshare_all_rtl): Ditto. 10577169689Skan (remove_unnecessary_notes): Ditto. 10578169689Skan (recompute_reg_usage): Ditto. 10579169689Skan (variable_tracking_main): Ditto. 10580169689Skan * integrate.c (emit_initial_value_sets): Ditto. 10581169689Skan * integrate.h (emit_initial_value_sets): Ditto. 10582169689Skan * tree-optimize.c (execute_free_datastructures): Ditto 10583169689Skan (execute_free_cfg_annotations): Ditto. 10584169689Skan (execute_fixup_cfg): Ditto. 10585169689Skan (execute_cleanup_cfg_pre_ipa): Ditto. 10586169689Skan (execute_cleanup_cfg_post_optimizing): Ditto. 10587169689Skan (execute_init_datastructures): Ditto. 10588169689Skan * tree-object-size.c (compute_object_sizes): Ditto. 10589169689Skan * combine.c (rest_of_handle_combine): Ditto. 10590169689Skan * tree-outof-ssa.c (rewrite_out_of_ssa): Ditto. 10591169689Skan * bb-reorder.c (duplicate_computed_gotos): Ditto. 10592169689Skan (rest_of_handle_reorder_blocks): Ditto. 10593169689Skan (rest_of_handle_partition_blocks): Ditto. 10594169689Skan * var-tracking.c (variable_tracking_main): Ditto. 10595169689Skan * tree-profile.c (tree_profiling): Ditto. 10596169689Skan * tree-vect-generic.c (expand_vector_operations): Ditto. 10597169689Skan * reg-stack.c (rest_of_handle_stack_regs): Ditto. 10598169689Skan * sched-rgn.c (rest_of_handle_sched): Ditto. 10599169689Skan (rest_of_handle_sched2): Ditto. 10600169689Skan * basic-block.h (free_bb_insn): Ditto. 10601169689Skan * tree-ssa-structalias.c (ipa_pta_execute): Ditto. 10602169689Skan * tree-cfg.c (execute_build_cfg): Ditto. 10603169689Skan (remove_useless_stmts): Ditto. 10604169689Skan (split_critical_edges): Ditto. 10605169689Skan (execute_warn_function_return): Ditto. 10606169689Skan (execute_warn_function_noreturn): Ditto. 10607169689Skan * tree-ssa-reassoc.c (execute_reassoc): Ditto. 10608169689Skan * cfgrtl.c (free_bb_for_insn): Ditto. 10609169689Skan * passes.c (execute_one_pass): Run additional 10610169689Skan todos returned by execute function. 10611169689Skan * tree-pass.h (struct tree_opt_pass): Make execute 10612169689Skan return a value. 10613169689Skan 10614169689Skan2006-03-02 Richard Guenther <rguenther@suse.de> 10615169689Skan 10616169689Skan * tree-ssa-alias.c (find_used_portions): Consider taking 10617169689Skan the address as making the variable not write-only. 10618169689Skan 10619169689Skan2006-03-02 Nick Clifton <nickc@redhat.com> 10620169689Skan 10621169689Skan * config.gcc (default_use_cxa_atexit): Extend the description of 10622169689Skan this configure variable. Set its default value to "yes" for 10623169689Skan Linux, NetBSD and ELF targets on the assumption that they will 10624169689Skan use C libraries with the __cxa_atexit function. 10625169689Skan 10626169689Skan2006-03-02 Ben Elliston <bje@au.ibm.com> 10627169689Skan 10628169689Skan * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs' 10629169689Skan parameter as unused to suppress a build warning. 10630169689Skan 10631169689Skan2006-03-02 Ben Elliston <bje@au.ibm.com> 10632169689Skan 10633169689Skan * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile 10634169689Skan config/dfp-bit.c. 10635169689Skan 10636169689Skan2006-03-01 Roger Sayle <roger@eyesopen.com> 10637169689Skan 10638169689Skan PR other/26489 10639169689Skan * gthr-posix.h (__gthrw2): Define to take three parameters, the 10640169689Skan declared name, the weak reference name, and the typeof name. 10641169689Skan (__gthrw): Avoid expanding the declared name suffix. 10642169689Skan (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls. 10643169689Skan 10644169689Skan2006-03-01 Jakub Jelinek <jakub@redhat.com> 10645169689Skan 10646169689Skan * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants 10647169689Skan from DWARF 3. 10648169689Skan (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, 10649169689Skan DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, 10650169689Skan DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, 10651169689Skan DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, 10652169689Skan DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. 10653169689Skan (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. 10654169689Skan (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, 10655169689Skan DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. 10656169689Skan (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, 10657169689Skan DW_DS_leading_separate, DW_DS_trailing_separate): New. 10658169689Skan (DW_END_default, DW_END_big, DW_END_little): New. 10659169689Skan (DW_END_lo_user, DW_END_hi_user): Define. 10660169689Skan (DW_LNE_lo_user, DW_LNE_hi_user): Define. 10661169689Skan (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. 10662169689Skan (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, 10663169689Skan DW_LANG_D): New. 10664169689Skan 10665169689Skan2006-03-01 Diego Novillo <dnovillo@redhat.com> 10666169689Skan 10667169689Skan * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG. 10668169689Skan Update all users. 10669169689Skan * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage. 10670169689Skan Update all users. 10671169689Skan (TODO_update_smt_usage): Rename from TODO_update_tmt_usage. 10672169689Skan Update all users. 10673169689Skan * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE. 10674169689Skan Update all users. 10675169689Skan * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag' 10676169689Skan to 'symbol_mem_tag'. 10677169689Skan Update all users. 10678169689Skan * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT 10679169689Skan rename. 10680169689Skan 10681169689Skan2006-03-01 Roger Sayle <roger@eyesopen.com> 10682169689Skan 10683169689Skan * builtins.c (fold_builtin_copysign): Delete unreachable code. 10684169689Skan 10685169689Skan2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> 10686169689Skan 10687169689Skan PR target/25761 10688169689Skan * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just 10689169689Skan MACHO_DYNAMIC_NO_PIC_P. 10690169689Skan (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P. 10691169689Skan 10692169689Skan2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> 10693169689Skan 10694169689Skan PR target/26389 10695169689Skan * config/darwin-protos.h (darwin_asm_output_anchor): 10696169689Skan Declare. 10697169689Skan * config/darwin-sections.def (cstring_section): 10698169689Skan Add SECTION_MERGE to the flags. 10699169689Skan (literal4_section): Likewise. 10700169689Skan (literal8_section): Likewise. 10701169689Skan (objc_selector_refs_section): Likewise. 10702169689Skan (objc_cls_refs_section): Likewise. 10703169689Skan * config/darwin.c (darwin_asm_output_anchor): New 10704169689Skan function. 10705169689Skan * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define. 10706169689Skan 10707169689Skan2006-03-01 Daniel Berlin <dberlin@dberlin.org> 10708169689Skan 10709169689Skan Fix PR tree-optimization/26443 10710169689Skan * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage 10711169689Skan to todo and PROP_tmt_usage to properties_destroyed. 10712169689Skan * tree-ssa-ccp.c (pass_ccp): Ditto. 10713169689Skan (pass_store_ccp): Ditto. 10714169689Skan * tree-ssa-dom.c (pass_dominator): Ditto. 10715169689Skan 10716169689Skan2006-03-01 Diego Novillo <dnovillo@redhat.com> 10717169689Skan 10718169689Skan * tree-ssa-operands.c: Cleanup whitespace. 10719169689Skan (get_asm_expr_operands): Move before first invocation. 10720169689Skan (get_indirect_ref_operands): Likewise. 10721169689Skan (get_tmr_operands): Likewise. 10722169689Skan (get_call_expr_operands): Likewise. 10723169689Skan (append_def): Likewise. 10724169689Skan (append_use): Likewise. 10725169689Skan (append_v_may_def): Likewise. 10726169689Skan (append_v_must_def): Likewise. 10727169689Skan (add_call_clobber_ops): Likewise. 10728169689Skan (add_call_read_ops): Likewise. 10729169689Skan (add_stmt_operand): Likewise. 10730169689Skan (add_virtual_operand): Likewise. 10731169689Skan (build_ssa_operands): Likewise. 10732169689Skan 10733169689Skan2006-03-01 Andrew Pinski <pinskia@physics.uc.edu> 10734169689Skan 10735169689Skan PR middle-end/26022 10736169689Skan Revert: 10737169689Skan PR middle-end/24437 10738169689Skan * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF 10739169689Skan with a call expr to ... 10740169689Skan * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. 10741169689Skan 10742169689Skan2006-03-01 Diego Novillo <dnovillo@redhat.com> 10743169689Skan 10744169689Skan * tree-vrp.c (extract_range_from_assert): Remove special 10745169689Skan handling for types with super-types. 10746169689Skan 10747169689Skan2006-03-01 Ben Elliston <bje@au.ibm.com> 10748169689Skan 10749169689Skan * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* 10750169689Skan and powerpc64-*-linux* configurations. 10751169689Skan * config/t-dfprules: New file. 10752169689Skan 10753169689Skan * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. 10754169689Skan Compile dfp-bit.c from the source directory using -DWIDTH and 10755169689Skan $DFP_CFLAGS to control the compilation of that file, rather than 10756169689Skan generating width-specific versions in the build directory. 10757169689Skan * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. 10758169689Skan (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. 10759169689Skan 10760169689Skan2006-02-28 Zack Weinberg <zackw@panix.com> 10761169689Skan 10762169689Skan * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7 10763169689Skan continues to work. 10764169689Skan 10765169689Skan2006-02-28 Eric Christopher <echristo@apple.com> 10766169689Skan 10767169689Skan * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define. 10768169689Skan Set up IN_LIBGCC definition of TARGET_64BIT. 10769169689Skan * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define. 10770169689Skan 10771169689Skan2006-02-28 Roger Sayle <roger@eyesopen.com> 10772169689Skan 10773169689Skan PR middle-end/14752 10774169689Skan * c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR, 10775169689Skan BIT_XOR_EXPR, BIT_AND_EXPR>: Delete. Let fold optimize these 10776169689Skan cases via the construction of "expr != 0". 10777169689Skan 10778169689Skan2006-02-28 Steven Bosscher <stevenb.gcc@gmail.com> 10779169689Skan 10780169689Skan * alias.c (alias_invariant, alias_invariant_size): Remove. 10781169689Skan (record_base_value): Remove. 10782169689Skan (memrefs_conflict_p): Don't look at alias_invariant. 10783169689Skan (end_alias_analysis): Don't free it. 10784169689Skan * alias.h (record_base_value): Remove prototype. 10785169689Skan 10786169689Skan2006-02-28 Paolo Bonzini <bonzini@gnu.org> 10787169689Skan Adam Nemet <anemet@caviumnetworks.com> 10788169689Skan 10789169689Skan * rtl.h (truncated_to_mode): Declare it. 10790169689Skan (struct rtl_hooks): Add reg_truncated_to_mode hook. 10791169689Skan * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro. 10792169689Skan (RTL_HOOKS_INITIALIZER): Include it. 10793169689Skan * rtlhooks.c (reg_truncated_to_mode_general): New function. 10794169689Skan * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to 10795169689Skan reg_truncated_to_mode. 10796169689Skan * rtlanal.c (truncated_to_mode): Define it. 10797169689Skan * simplify-rtx.c (simplify_unary_operation_1): Use it. 10798169689Skan 10799169689Skan2006-02-28 Jeff Law <law@redhat.com> 10800169689Skan 10801169689Skan * tree-chrec.c (chrec_convert_aggressive): Do not eliminate 10802169689Skan conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover 10803169689Skan the range allowed by TYPE_PRECISION. 10804169689Skan 10805169689Skan * tree.h (strct phi_arg_d): Remove unused NONZERO field. 10806169689Skan 10807169689Skan2006-02-28 Dorit Nuzman <dorit@il.ibm.com> 10808169689Skan 10809169689Skan PR tree-optimization/26419 10810169689Skan * doc/invoke.texi (ftree-vectorizer-verbose): Add information on 10811169689Skan values of n. 10812169689Skan 10813169689Skan2006-02-27 Zack Weinberg <zackw@panix.com> 10814169689Skan 10815169689Skan * doc/md.texi: Fix typo in previous change. 10816169689Skan 10817169689Skan2006-02-27 Kenneth Zadeck <zadeck@naturalbridge.com> 10818169689Skan 10819169689Skan * df.c: Remove. 10820169689Skan 10821169689Skan2006-02-27 Zack Weinberg <zackw@panix.com> 10822169689Skan 10823169689Skan * rtl.def (define_constraint, define_register_constraint) 10824169689Skan (define_memory_constraint, define_address_constraint): New MD forms. 10825169689Skan * gensupport.c (process_rtx): Put define_constraint etc on the 10826169689Skan predicate queue. 10827169689Skan * genpreds.c (process_define_predicate): Adjust comment. Validate 10828169689Skan the name, and call validate_exp to validate the expression. 10829169689Skan (mark_mode_tests, write_extract_subexp): Can assume correct input. 10830169689Skan (write_predicate_expr): Likewise. NAME argument no longer necessary; 10831169689Skan all callers changed. 10832169689Skan (validate_exp, needs_variable, struct constraint_data) 10833169689Skan (constraints_by_letter_table, first_constraint, last_constraint_ptr) 10834169689Skan (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints) 10835169689Skan (const_dbl_constraints, constraint_max_namelen) 10836169689Skan (have_register_constraints, have_memory_constraints) 10837169689Skan (have_address_constraints, have_address_constraints) 10838169689Skan (have_extra_constraints, have_const_int_constraints) 10839169689Skan (have_const_dbl_constraints, mangle, add_constraint) 10840169689Skan (process_define_constraint, process_define_register_constraint) 10841169689Skan (write_enum_constraint_num, write_lookup_constraint) 10842169689Skan (write_insn_constraint_len, write_regclass_for_constraint) 10843169689Skan (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint) 10844169689Skan (write_insn_extra_memory_constraint) 10845169689Skan (write_insn_extra_address_constraint) 10846169689Skan (write_satisfies_constraint_fns): New. 10847169689Skan (write_tm_preds_h): If we have new-style constraint definitions, 10848169689Skan prototype the functions generated from them, and define the 10849169689Skan old constraint interface (still used by generic code) in terms of 10850169689Skan those functions. 10851169689Skan (write_insn_preds_c): If we have new-style constraint definitions, 10852169689Skan generate all relevant functions from those definitions. 10853169689Skan (main): Handle define_constraint etc. 10854169689Skan * genoutput.c (struct constraint_data, indep_constraints) 10855169689Skan (mdep_constraint_letters, constraints_by_letter_table, note_constraint) 10856169689Skan (mdep_constraint_len): New data structures and functions, defined 10857169689Skan #ifdef USE_MD_CONSTRAINTS. 10858169689Skan (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS. 10859169689Skan (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined, 10860169689Skan use new logic to validate operand constraints against constraint 10861169689Skan definitions. 10862169689Skan (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is 10863169689Skan defined. 10864169689Skan * defaults.h: If none of the old-style constraint macros are 10865169689Skan defined, define USE_MD_CONSTRAINTS; do not provide defaults for any 10866169689Skan old-style macros; and poison REG_CLASS_FROM_LETTER, 10867169689Skan CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and 10868169689Skan EXTRA_CONSTRAINT. 10869169689Skan * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. 10870169689Skan * doc/md.texi: Document new constraint-definition mechanism and the 10871169689Skan C interface it provides. Remove references to old mechanism 10872169689Skan elsewhere in the document. 10873169689Skan (Machine Constraints): Use pathnames relative to gcc directory, 10874169689Skan i.e. config/ARCH/FILE. Change i386 section to refer to 10875169689Skan config/i386/predicates.md; update that section to match docstrings. 10876169689Skan * doc/tm.texi: Move all documentation of the old constraint- 10877169689Skan definition macros to their own section, clearly mark as obsolete. 10878169689Skan 10879169689Skan * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t) 10880169689Skan (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint 10881169689Skan definitions. 10882169689Skan * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P) 10883169689Skan (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete. 10884169689Skan * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from 10885169689Skan constraint strings. 10886169689Skan (splits and peepholes): Use satisfies_constraint_*. 10887169689Skan * config/i386/i386.c (memory_address_length) 10888169689Skan (ix86_attr_length_immediate_default): Use satisfies_constraint_*. 10889169689Skan 10890169689Skan2006-02-27 Daniel Berlin <dberlin@dberlin.org> 10891169689Skan 10892169689Skan * lambda-code.c (can_convert_to_perfect_nest): Allow any type of 10893169689Skan scalar operation to be put back into the loop. 10894169689Skan 10895169689Skan2006-02-27 Jakub Jelinek <jakub@redhat.com> 10896169689Skan 10897169689Skan PR other/26208 10898169689Skan * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. 10899169689Skan (extract_cie_info): Handle S flag in augmentation string. 10900169689Skan (execute_cfa_program): If context->signal_frame, execute also 10901169689Skan fs->pc == context->ra instructions. 10902169689Skan (uw_frame_state_for): If context->signal_frame, don't subtract one 10903169689Skan from context->ra to find FDE. 10904169689Skan (uw_update_context_1): Set context->signal_frame to 10905169689Skan fs->signal_frame. 10906169689Skan (_Unwind_GetIPInfo): New function. 10907169689Skan * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. 10908169689Skan * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead 10909169689Skan of _Unwind_GetIP. 10910169689Skan * unwind-sjlj.c (_Unwind_GetIPInfo): New function. 10911169689Skan * unwind-generic.h (_Unwind_GetIPInfo): New prototype. 10912169689Skan * unwind-compat.c (_Unwind_GetIPInfo): New function. 10913169689Skan * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. 10914169689Skan * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. 10915169689Skan * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. 10916169689Skan * config/i386/linux-unwind.h (x86_fallback_frame_state, 10917169689Skan x86_64_fallback_frame_state): Set fs->signal_frame. 10918169689Skan * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. 10919169689Skan (MD_FROB_UPDATE_CONTEXT): Define unconditionally. 10920169689Skan (frob_update_context): Likewise. Workaround missing S flag in 10921169689Skan Linux 2.6.12 - 2.6.16 kernel vDSOs. 10922169689Skan * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. 10923169689Skan Remove the psw_addr + 1 hack. 10924169689Skan 10925169689Skan2006-02-27 Daniel Berlin <dberlin@dberlin.org> 10926169689Skan 10927169689Skan * tree-ssa-structalias.c (get_constraint_for): Move code to deal 10928169689Skan with aggregates here. 10929169689Skan (find_func_aliases): Remove code for &<aggregate> from here. 10930169689Skan 10931169689Skan2006-02-26 Roger Sayle <roger@eyesopen.com> 10932169689Skan 10933169689Skan * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as 10934169689Skan (X & C) ne/eq 0, where C is a single bit, i.e. a power of two. 10935169689Skan Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0" 10936169689Skan as (X & C) ne/eq 0. 10937169689Skan 10938169689Skan2006-02-26 Roger Sayle <roger@eyesopen.com> 10939169689Skan 10940169689Skan PR middle-end/19983 10941169689Skan * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes. 10942169689Skan 10943169689Skan2006-02-26 Zdenek Dvorak <dvorakz@suse.cz> 10944169689Skan 10945169689Skan * opts.c (decode_options): Do not handle flag_strength_reduce. 10946169689Skan (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt 10947169689Skan and OPT_fstrength_reduce. 10948169689Skan * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test 10949169689Skan flag_prefetch_loop_arrays for being nonzero. 10950169689Skan * common.opt (floop-optimize, frerun-loop-opt): Resurrected as 10951169689Skan no-ops. 10952169689Skan (fprefetch-loop-arrays-rtl): Removed. 10953169689Skan (flag_prefetch_loop_arrays): Do not specify the value. 10954169689Skan 10955169689Skan * doc/passes.texi: Update documentation of loop optimizer 10956169689Skan passes. 10957169689Skan * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, 10958169689Skan -frerun-loop-opt): Remove. 10959169689Skan 10960169689Skan2006-02-26 Richard Guenther <rguenther@suse.de> 10961169689Skan 10962169689Skan PR tree-optimization/26421 10963169689Skan * tree-ssa-alias.c (find_used_portions): Don't treat parameters 10964169689Skan in function calls that are ADDR_EXPRs as using the whole structure. 10965169689Skan 10966169689Skan2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com> 10967169689Skan 10968169689Skan * common.opt (-floop-optimize, -frerun-loop-opt): Remove. 10969169689Skan * tree-pass.h (pass_loop_optimize): Remove. 10970169689Skan * passes.c (pass_loop_optimize): Never run it. 10971169689Skan * toplev.c (backend_init): Don't call init_loop. 10972169689Skan * opts.c (flag_loop_optimize_set): Remove. 10973169689Skan (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. 10974169689Skan (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable 10975169689Skan the old RTL loop optimizer when profiling enabled. 10976169689Skan * predict.c (tree_estimate_probability): Always strip builtin_expect. 10977169689Skan * cfgcleanup.c (try_forward_edges): Don't avoid killing loop 10978169689Skan pre-headers for the sake of the old RTL loop optimizer. 10979169689Skan * Makefile.in: Remove all references to loop.o. 10980169689Skan 10981169689Skan * doc/invoke.texi: Remove all references to -floop-optimize 10982169689Skan and -frerun-loop-opt. 10983169689Skan 10984169689Skan2006-02-26 Zack Weinberg <zackw@panix.com> 10985169689Skan 10986169689Skan * doc/md.texi (Machine Constraints): Refer to all files with paths 10987169689Skan relative to gcc directory (i.e. config/CPU/file). Add missing 10988169689Skan @table @code ... @end table to M32C subsection. 10989169689Skan 10990169689Skan2006-02-26 Roger Sayle <roger@eyesopen.com> 10991169689Skan 10992169689Skan * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as 10993169689Skan (X & 1) == 0. 10994169689Skan <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0. 10995169689Skan 10996169689Skan2006-02-26 Roger Sayle <roger@eyesopen.com> 10997169689Skan James A. Morrison <phython@gcc.gnu.org> 10998169689Skan 10999169689Skan PR middle-end/21137 11000169689Skan * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0, 11001169689Skan when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the 11002169689Skan new constant C2<<C1, or as (X<0) or (X,false) depending upon the 11003169689Skan signedness of the shift operation. 11004169689Skan 11005169689Skan2006-02-26 Dorit Nuzman <dorit@il.ibm.com> 11006169689Skan 11007169689Skan PR tree-optimization/26359 11008169689Skan * tree-ssa-alias.c (new_type_alias): Set fields for new tag. 11009169689Skan 11010169689Skan2006-02-25 Roger Sayle <roger@eyesopen.com> 11011169689Skan 11012169689Skan * simplify-rtx.c (simplify_relational_operation_1): Simplify 11013169689Skan (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y 11014169689Skan as X == 0, and some symmetry related transformations. 11015169689Skan Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line. 11016169689Skan 11017169689Skan2006-02-25 Roger Sayle <roger@eyesopen.com> 11018169689Skan 11019169689Skan PR middle-end/23673 11020169689Skan * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y 11021169689Skan and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some 11022169689Skan symmetry related transformations. Fold (X^C1) == C2 as 11023169689Skan X == (C1^C2). 11024169689Skan 11025169689Skan2006-02-25 Juergen Weigert <jw@suse.de> 11026169689Skan Richard Guenther <rguenther@suse.de> 11027169689Skan 11028169689Skan * scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF. 11029169689Skan 11030169689Skan2006-02-24 Adam Nemet <anemet@caviumnetworks.com> 11031169689Skan 11032169689Skan * combine.c (gen_lowpart_or_truncate): Call 11033169689Skan simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE. 11034169689Skan 11035169689Skan2006-02-24 Diego Novillo <dnovillo@redhat.com> 11036169689Skan 11037169689Skan * doc/invoke.texi: Move -fopenmp description to "Options for 11038169689Skan Code Generation". 11039169689Skan Remove reference to -lgomp. 11040169689Skan 11041169689Skan2006-02-24 David Edelsohn <edelsohn@gnu.org> 11042169689Skan 11043169689Skan * doc/install.texi: Require GNU tar version 1.14. 11044169689Skan 11045169689Skan2006-02-24 Geoffrey Keating <geoffk@apple.com> 11046169689Skan 11047169689Skan * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. 11048169689Skan * doc/invoke.texi (C++ Dialect Options): Document 11049169689Skan -fno-use-cxa-get-exception-ptr. 11050169689Skan * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. 11051169689Skan * configure: Regenerate. 11052169689Skan * c.opt (fuse-cxa-get-exception-ptr): New. 11053169689Skan * c-opts.c (c_common_handle_option): Handle 11054169689Skan OPT_fuse_cxa_get_exception_ptr. 11055169689Skan * c-common.c (flag_use_cxa_atexit): Update documentation. 11056169689Skan (flag_use_cxa_get_exception_ptr): New. 11057169689Skan * c-common.h (flag_use_cxa_get_exception_ptr): New. 11058169689Skan * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve 11059169689Skan documentation. 11060169689Skan (C_COMMON_OVERRIDE_OPTIONS): New. 11061169689Skan 11062169689Skan2006-02-24 Roger Sayle <roger@eyesopen.com> 11063169689Skan 11064169689Skan PR middle-end/24952 11065169689Skan * combine.c (try_combine): Explicitly check whether GET_CODE is 11066169689Skan a SET or a CLOBBER, instead on checking that it isn't a USE. 11067169689Skan 11068169689Skan2006-02-24 Roger Sayle <roger@eyesopen.com> 11069169689Skan 11070169689Skan * fold-const.c (fold_comparison): New subroutine of fold_binary 11071169689Skan containing transformations common to both the equality and 11072169689Skan ordering relational operators, factored out of fold_binary. 11073169689Skan (fold_binary): Separate out the equality operators (EQ_EXPR 11074169689Skan and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR, 11075169689Skan LE_EXPR and GE_EXPR), calling fold_comparison to perform the 11076169689Skan transformations common to both. 11077169689Skan (fold_div_compare): Fix latent bugs in the previously unreachable 11078169689Skan LT_EXPR and GE_EXPR cases. 11079169689Skan 11080169689Skan2006-02-24 David Edelsohn <edelsohn@gnu.org> 11081169689Skan 11082169689Skan * config/rs6000/rs6000.c (rs6000_init_builtins): Change 11083169689Skan decl libname for clog to __clog on AIX. 11084169689Skan 11085169689Skan * config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define. 11086169689Skan 11087169689Skan2006-02-24 Alan Modra <amodra@bigpond.net.au> 11088169689Skan 11089169689Skan PR target/26453 11090169689Skan * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't 11091169689Skan output traceback table for thunks. Localise rs6000_stack_info call. 11092169689Skan 11093169689Skan2006-02-23 Roger Sayle <roger@eyesopen.com> 11094169689Skan Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 11095169689Skan 11096169689Skan * gthr-posix.h (__gthrw): Fix typo in comment. 11097169689Skan 11098169689Skan2006-02-23 Geoffrey Keating <geoffk@apple.com> 11099169689Skan 11100169689Skan * doc/cpp.texi (Character sets): Document that we do support 11101169689Skan input files to be in any character set. 11102169689Skan 11103169689Skan2006-02-23 Jeff Law <law@redhat.com> 11104169689Skan 11105169689Skan * tree.h (PHI_ARG_NONZERO): Remove. 11106169689Skan * tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO. 11107169689Skan (remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old 11108169689Skan node to the new node. 11109169689Skan 11110169689Skan PR tree-optimization/26425 11111169689Skan * tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL 11112169689Skan min/max, then assume its varying. 11113169689Skan 11114169689Skan2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> 11115169689Skan 11116169689Skan PR rtl-optimization/26316 11117169689Skan * rtlanal.c (enum may_trap_p_flags): New. 11118169689Skan (may_trap_p_1): Take flags instead of unaligned_mems argument. Ignore 11119169689Skan MEM_NOTRAP_P if flags & MTP_AFTER_MOVE. 11120169689Skan (may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1. 11121169689Skan (may_trap_after_code_motion_p): New function. 11122169689Skan * loop-invariant.c (find_identical_invariants): Fix dump formating. 11123169689Skan (find_invariant_insn): Use may_trap_after_code_motion_p. 11124169689Skan * rtl.h (may_trap_after_code_motion_p): Declare. 11125169689Skan 11126169689Skan2006-02-23 Zdenek Dvorak <dvorakz@suse.cz> 11127169689Skan 11128169689Skan * emit-rtl.c (immed_double_const): Cleanup. 11129169689Skan 11130169689Skan2006-02-23 Daniel Berlin <dberlin@dberlin.org> 11131169689Skan 11132169689Skan Fix PR tree-optimization/26376 11133169689Skan * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree, 11134169689Skan remove assert. 11135169689Skan 11136169689Skan2006-02-23 Jakub Jelinek <jakub@redhat.com> 11137169689Skan 11138169689Skan PR middle-end/26412 11139169689Skan * gimplify.c (omp_add_variable): Guard variable size decl test with 11140169689Skan DECL_SIZE (decl) check. 11141169689Skan 11142169689Skan2006-02-23 Richard Guenther <rguenther@suse.de> 11143169689Skan 11144169689Skan PR middle-end/26439 11145169689Skan * tree-ssa-structalias.c (find_func_aliases): Handle complex types 11146169689Skan like aggregate types. 11147169689Skan 11148169689Skan2006-02-23 Jakub Jelinek <jakub@redhat.com> 11149169689Skan 11150169689Skan * configure.ac: Add --with{,out}-long-double-128 configure option. 11151169689Skan (TARGET_DEFAULT_LONG_DOUBLE_128): New test. 11152169689Skan * configure: Rebuilt. 11153169689Skan * config.in: Rebuilt. 11154169689Skan * doc/install.texi (Options specification): Document 11155169689Skan --with-long-double-128. 11156169689Skan 11157169689Skan * config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128] 11158169689Skan (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. 11159169689Skan * config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128] 11160169689Skan (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128. 11161169689Skan 11162169689Skan2006-02-23 Aldy Hernandez <aldyh@redhat.com> 11163169689Skan 11164169689Skan * config/s390/s390.c (override_options): Handle 11165169689Skan TARGET_DEFAULT_LONG_DOUBLE_128. 11166169689Skan 11167169689Skan * config/alpha/alpha.c (override_options): Handle 11168169689Skan TARGET_DEFAULT_LONG_DOUBLE_128. 11169169689Skan 11170169689Skan * config/sparc/sparc.c (sparc_override_options): Handle 11171169689Skan TARGET_DEFAULT_LONG_DOUBLE_128. 11172169689Skan 11173169689Skan2006-02-22 Daniel Jacobowitz <dan@codesourcery.com> 11174169689Skan 11175169689Skan * Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR). 11176169689Skan (real-install-headers-tar, real-install-headers-cpio) 11177169689Skan (real-install-headers-cp): New targets. 11178169689Skan 11179169689Skan2006-02-22 Richard Sandiford <richard@codesourcery.com> 11180169689Skan 11181169689Skan * tree.h (variable_section): Delete. 11182169689Skan * varasm.c (variable_section): Delete. 11183169689Skan 11184169689Skan2006-02-22 Paolo Bonzini <bonzini@gnu.org> 11185169689Skan 11186169689Skan * install.texi: Add notes on install.texi2html. 11187169689Skan (Building in parallel): Do not use footnotes. 11188169689Skan 11189169689Skan2006-02-21 Aldy Hernandez <aldyh@redhat.com> 11190169689Skan 11191169689Skan PR libgomp/26234 11192169689Skan * doc/install.texi (Configuration): Document --disable-libgomp. 11193169689Skan 11194169689Skan2006-02-21 Geoffrey Keating <geoffk@apple.com> 11195169689Skan 11196169689Skan * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. 11197169689Skan 11198169689Skan2006-02-21 Alexandre Oliva <aoliva@redhat.com> 11199169689Skan 11200169689Skan * config/i386/sse.md (vec_extractv2df_1_sse): New. 11201169689Skan (vec_extractv2df_0_sse): New. 11202169689Skan 11203169689Skan2006-02-21 Alexandre Oliva <aoliva@redhat.com> 11204169689Skan 11205169689Skan * defaults.h (CFA_FRAME_BASE_OFFSET): Define. 11206169689Skan * config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override. 11207169689Skan * doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document. 11208169689Skan * dwarf2out.c (build_cfa_loc): New offset parameter. Add it 11209169689Skan to the result of the expression. 11210169689Skan (def_cfa_1): Adjust. 11211169689Skan (frame_pointer_cfa_offset): Rename to... 11212169689Skan (frame_pointer_fb_offset): ... this. Adjust all uses. 11213169689Skan (convert_cfa_to_loc_list): Rename to... 11214169689Skan (convert_cfa_to_fb_loc_list): ... this. New offset parameter. 11215169689Skan Pass it on to build_cfa_loc. 11216169689Skan (compute_frame_pointer_to_cfa_displacement): Rename to... 11217169689Skan (compute_frame_pointer_to_fb_displacement): ... this. New 11218169689Skan offset parameter. Use it in computation. 11219169689Skan (gen_subprogram_die): Compute cfa_fb_offset with the new 11220169689Skan macro, and use it to compute the fb loc list and the 11221169689Skan displacement. 11222169689Skan 11223169689Skan2006-02-21 Bernd Schmidt <bernd.schmidt@analog.com> 11224169689Skan 11225169689Skan * config/bfin/predicates.md (cc_operand): Delete predicate. All uses 11226169689Skan replaced with register_operand. 11227169689Skan * config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any 11228169689Skan non-DREG is expensive. 11229169689Skan * config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed. 11230169689Skan * config/bfin/bfin.md (movbi): Fix constraints and template for moves 11231169689Skan involving memory. 11232169689Skan 11233169689Skan2006-02-21 Joseph S. Myers <joseph@codesourcery.com> 11234169689Skan 11235169689Skan * doc/install.texi2html: Use set -e. 11236169689Skan 11237169689Skan2006-02-21 Richard Sandiford <richard@codesourcery.com> 11238169689Skan 11239169689Skan * doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) 11240169689Skan (ASM_OUTPUT_SHARED_LOCAL): Delete. 11241169689Skan * doc/invoke.texi (-fshared-data): Delete. 11242169689Skan * common.opt (fshared-data): Delete. 11243169689Skan * varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling. 11244169689Skan (assemble_static_space): Remove #if 0 code. 11245169689Skan * system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS) 11246169689Skan (ASM_OUTPUT_SHARED_LOCAL): Poison. 11247169689Skan * config/cris/cris.h: Remove FIXME. 11248169689Skan 11249169689Skan2006-02-21 Paolo Bonzini <bonzini@gnu.org> 11250169689Skan 11251169689Skan * doc/sourcebuild.texi (Front End Directory): No more double-colon 11252169689Skan hooks. 11253169689Skan 11254169689Skan2006-02-21 Jakub Jelinek <jakub@redhat.com> 11255169689Skan 11256169689Skan PR middle-end/26379 11257169689Skan * combine.c (simplify_shift_const_1): Disable nested shifts 11258169689Skan optimization for vector shifts. 11259169689Skan 11260169689Skan2006-02-20 Roger Sayle <roger@eyesopen.com> 11261169689Skan 11262169689Skan PR tree-optimization/26361 11263169689Skan * tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR 11264169689Skan of unsigned integer types. 11265169689Skan 11266169689Skan2006-02-20 Sebastian Pop <pop@cri.ensmp.fr> 11267169689Skan 11268169689Skan * tree-chrec.c (eq_evolutions_p): New. 11269169689Skan * tree-chrec.h (eq_evolutions_p): Declared. 11270169689Skan * tree-data-ref.c: Fix formatting. 11271169689Skan (datadep_stats, dependence_stats): New. 11272169689Skan (gcd): Moved... 11273169689Skan (print_direction_vector): New. 11274169689Skan (dump_data_dependence_relation): Use print_direction_vector. 11275169689Skan (object_analysis, create_data_ref): Handle COMPONENT_REF. 11276169689Skan (compute_subscript_distance): Static. 11277169689Skan (initialize_data_dependence_relation): Static. Get the number 11278169689Skan of loops surrounding the references from the callers, and initialize 11279169689Skan DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and 11280169689Skan base_object_differ_p analyzers. 11281169689Skan (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, 11282169689Skan compute_overlap_steps_for_affine_1_2, 11283169689Skan analyze_subscript_affine_affine): Count the classified dependences. 11284169689Skan Print a message when a test failed. 11285169689Skan (can_use_analyze_subscript_affine_affine): New. 11286169689Skan (analyze_siv_subscript): Compute the data dependences on symbolic 11287169689Skan scevs that verify can_use_analyze_subscript_affine_affine. 11288169689Skan (chrec_steps_divide_constant_p): Returns true, false, or unknown. 11289169689Skan (analyze_miv_subscript): Update use of chrec_steps_divide_constant_p. 11290169689Skan Handle symbolic scevs. 11291169689Skan (analyze_overlapping_iterations): Let symbolic affine scevs to be 11292169689Skan analyzed. 11293169689Skan (subscript_dependence_tester): Moved... 11294169689Skan (build_classic_dist_vector, build_classic_dir_vector): Don't use 11295169689Skan lambda_vector_clear on newly allocated vectors. Get nb_loops from 11296169689Skan DDR_SIZE_VECT instead of getting it in parameter. 11297169689Skan (subscript_dependence_tester): ... here. Take as a parameter 11298169689Skan loop_nest_depth. Call build_classic_dist_vector and 11299169689Skan build_classic_dir_vector. 11300169689Skan (compute_affine_dependence): Update subscript_dependence_tester 11301169689Skan parameters. Update datadep_stats counters. Call 11302169689Skan compute_subscript_distance. 11303169689Skan (compute_self_dependence): Save the dist and dir vectors. Call 11304169689Skan compute_subscript_distance. 11305169689Skan (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... 11306169689Skan (compute_all_dependences): Reorder parameters as they were before 11307169689Skan conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call 11308169689Skan compute_subscript_distance. Update the use of 11309169689Skan compute_affine_dependence and initialize_data_dependence_relation. 11310169689Skan (find_data_references_in_loop): Handle COMPONENT_REF. 11311169689Skan (compute_data_dependences_for_loop): Initialize dependence_stats. 11312169689Skan Don't call build_classic_dist_vector and build_classic_dir_vector. 11313169689Skan Update the parameters of initialize_data_dependence_relation and 11314169689Skan compute_all_dependences. Print the statistics from datadep_stats. 11315169689Skan (analyze_all_data_dependences): Static. Not used until the pass for 11316169689Skan checking the data dependences is contributed. 11317169689Skan * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), 11318169689Skan DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. 11319169689Skan (initialize_data_dependence_relation, compute_affine_dependence, 11320169689Skan analyze_all_data_dependences, compute_subscript_distance): Removed. 11321169689Skan (print_direction_vector): New. 11322169689Skan * lambda.h (gcd): ... here. 11323169689Skan (lambda_vector_gcd): Moved here from gcd_vector. 11324169689Skan * lambda-code.c (gcd, gcd_vector): Removed. 11325169689Skan (lambda_compute_target_space): Use lambda_vector_gcd. Fix formatting. 11326169689Skan * Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H. 11327169689Skan 11328169689Skan2006-02-20 Diego Novillo <dnovillo@redhat.com> 11329169689Skan 11330169689Skan * ipa-type-escape.c: Tidy some comments and white space. 11331169689Skan * tree-ssa-operands.c: Likewise. 11332169689Skan 11333169689Skan2006-02-20 Andrew Pinski <pinskia@physics.uc.edu> 11334169689Skan 11335169689Skan PR tree-opt/25879 11336169689Skan * tree-pretty-print.c (debug_tree_chain): Walk the chains. 11337169689Skan (dump_decl_name): Do not walk the decl tree chains. 11338169689Skan * tree-pass.h (TDF_CHAIN): Remove. 11339169689Skan 11340169689Skan2006-02-20 Rafael �vila de Esp�ndola <rafael.espindola@gmail.com> 11341169689Skan 11342169689Skan * Makefile.in (C): Remove 11343169689Skan (PROTO): Remove 11344169689Skan (.PHONY): Remove C and PROTO 11345169689Skan 11346169689Skan2006-02-20 Roger Sayle <roger@eyesopen.com> 11347169689Skan 11348169689Skan PR middle-end/26236 11349169689Skan * doc/c-tree.texi (INTEGER_TYPE): Remove reference to the now 11350169689Skan deprecated CHAR_TYPE tree code. 11351169689Skan 11352169689Skan2006-02-20 Paolo Bonzini <bonzini@gnu.org> 11353169689Skan 11354169689Skan * configure.ac (target_list): Add install-info, dvi, html. 11355169689Skan * configure: Regenerate. 11356169689Skan 11357169689Skan * ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in, 11358169689Skan java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in, 11359169689Skan treelang/Make-lang.in: Do not use double-colon rules. 11360169689Skan 11361169689Skan2006-02-20 Daniel Berlin <dberlin@dberlin.org> 11362169689Skan 11363169689Skan * tree.h (struct tree_memory_tag): Add is_used_alone member. 11364169689Skan (TMT_USED_ALONE): New macro. 11365169689Skan * tree-pass.h (PROP_tmt_usage): New property. 11366169689Skan (TODO_update_tmt_usage): New todo. 11367169689Skan * tree-ssa-alias.c (updating_used_alone): New variable. 11368169689Skan (recalculate_used_alone): New function. 11369169689Skan (compute_may_aliases): Set updating_used_alone, call 11370169689Skan recalculate_used_alone. 11371169689Skan * tree-sra.c (pass_sra): Note that this pass destroys 11372169689Skan PROP_tmt_usage, and add TODO_update_tmt_usage. 11373169689Skan * tree-ssa-forwprop.c (pass_forwprop): Ditto. 11374169689Skan * tree-flow.h (updating_used_alone): Prototype. 11375169689Skan (recalculate_used_alone): Ditto. 11376169689Skan * passes.c (execute_todo): Add code to set updating_used_alone, 11377169689Skan and call recalculate. 11378169689Skan * tree-ssa-operands.c (add_virtual_operand): Only append bare def 11379169689Skan for clobber if used alone, and add assert to verify used_alone 11380169689Skan status. 11381169689Skan 11382169689Skan2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com> 11383169689Skan 11384169689Skan * config/s390/s390.c (legitimize_pic_address): Assertions checking 11385169689Skan for non tls symbols added. 11386169689Skan (legitimize_address): Do nothing for PLUS expressions if one of the 11387169689Skan addends is a tls symbol reference. 11388169689Skan 11389169689Skan2006-02-20 Paolo Bonzini <bonzini@gnu.org> 11390169689Skan 11391169689Skan PR bootstrap/25476 11392169689Skan 11393169689Skan * Makefile.in (LDFLAGS): Define from autoconf substitution. 11394169689Skan 11395169689Skan * Makefile.in (BOOTSTRAPPING): New. 11396169689Skan (quickstrap): New definition if BOOTSTRAPPING=yes. 11397169689Skan 11398169689Skan * Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages. 11399169689Skan * configure.ac: Substitute all_selected_languages with the languages 11400169689Skan that were configured. For all the other variables except 11401169689Skan lang_specs_files, include all the languages in the tree. 11402169689Skan * configure: Regenerate. 11403169689Skan 11404169689Skan * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory, 11405169689Skan if there is one. Run the commands to run fixincludes in the same 11406169689Skan subshell. 11407169689Skan 11408169689Skan * doc/makefile.texi: Document new makefile targets from toplevel bootstrap. 11409169689Skan * doc/install.texi: Document exact conventions for searching target tools. 11410169689Skan Document --with-build-time-tools. Document toplevel bootstrap. Document 11411169689Skan something more about building an Ada cross-compiler. Don't list GNU Make 11412169689Skan requirements which affect all platforms. 11413169689Skan 11414169689Skan2006-02-19 Roger Sayle <roger@eyesopen.com> 11415169689Skan 11416169689Skan PR middle-end/19543 11417169689Skan * varasm.c (compare_constant) <INTEGER_CST>: Integer constants are 11418169689Skan only equivalent if the have both the same mode and precision. 11419169689Skan 11420169689Skan2006-02-20 Ben Elliston <bje@au.ibm.com> 11421169689Skan 11422169689Skan * doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE. 11423169689Skan 11424169689Skan2006-02-19 Roger Sayle <roger@eyesopen.com> 11425169689Skan Steven Bosscher <stevenb.gcc@gmail.com> 11426169689Skan 11427169689Skan * gcse.c (want_to_gcse_p): On STACK_REGS targets, look through 11428169689Skan constant pool references to identify stack mode constants. 11429169689Skan * rtlanal.c (constant_pool_constant_p): New predicate to check 11430169689Skan whether operand is a floating point constant in the pool. 11431169689Skan * rtl.h (constant_pool_constant_p): Prototype here. 11432169689Skan * loop.c (scan_loop): Avoid hoisting constants from the constant 11433169689Skan pool on STACK_REGS targets. 11434169689Skan (load_mems): Likewise. 11435169689Skan * loop-invariant.c (get_inv_cost): Make hoisting constant pool 11436169689Skan loads into x87 registers expensive in terms of register pressure. 11437169689Skan 11438169689Skan2006-02-19 Roger Sayle <roger@eyesopen.com> 11439169689Skan 11440169689Skan * gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to 11441169689Skan __foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined. 11442169689Skan 11443169689Skan2006-02-19 David Edelsohn <edelsohn@gnu.org> 11444169689Skan 11445169689Skan * config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define. 11446169689Skan * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define. 11447169689Skan 11448169689Skan2006-02-19 Daniel Berlin <dberlin@dberlin.org> 11449169689Skan 11450169689Skan * doc/invoke.texi: Document -fipa-pta. 11451169689Skan * common.opt: Add ipa-pta option. 11452169689Skan * tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed. 11453169689Skan (do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code. 11454169689Skan (do_ds_constraint): Ditto. 11455169689Skan (get_constraint_for): Only add to referenced_vars if 11456169689Skan referenced_vars exists. 11457169689Skan (insert_into_field_list): Rewrite to do this unsorted. 11458169689Skan (insert_into_field_list_sorted): Rename old insert_into_field_list 11459169689Skan to this. 11460169689Skan (create_function_info_for): Use insert_into_field_list_sorted. 11461169689Skan (create_variable_info_for): Rewrite so it uses unsorted version, 11462169689Skan since the field list is sorted. 11463169689Skan (intra_create_variable_infos): Only add to referenced_vars if 11464169689Skan referenced_vars exists. 11465169689Skan (ipa_pta_execute): Init heapvars, and delete when done. 11466169689Skan * passes.c (init_optimization_passes): Add call to pass_ipa_pta. 11467169689Skan 11468169689Skan2006-02-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 11469169689Skan 11470169689Skan * doc/install.texi: Add missing `@samp'. 11471169689Skan 11472169689Skan2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> 11473169689Skan 11474169689Skan * config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): 11475169689Skan Use the arguments. 11476169689Skan 11477169689Skan2006-02-18 Mark Wielaard <mark@klomp.org> 11478169689Skan 11479169689Skan * doc/contrib.texi (Contributors): Add classpath/libgcj hackers 11480169689Skan who added new 4.1 features, bug fixes and integration support. 11481169689Skan 11482169689Skan2006-02-18 David Edelsohn <edelsohn@gnu.org> 11483169689Skan 11484169689Skan PR target/26350 11485169689Skan * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized 11486169689Skan MEM for ABI_V4 pic. 11487169689Skan 11488169689Skan2006-02-18 Richard Sandiford <richard@codesourcery.com> 11489169689Skan 11490169689Skan * cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE. 11491169689Skan * emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx. 11492169689Skan (copy_insn_1): Likewise. Don't copy each field individually. 11493169689Skan Reindent. 11494169689Skan * read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead 11495169689Skan of RTX_SIZE. 11496169689Skan * reload1.c (eliminate_regs): Use shallow_copy_rtx. 11497169689Skan * rtl.c (rtx_size): Rename variable to... 11498169689Skan (rtx_code_size): ...this. 11499169689Skan (rtx_size): New function. 11500169689Skan (rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE. 11501169689Skan (copy_rtx): Use shallow_copy_rtx. Don't copy each field individually. 11502169689Skan Reindent. 11503169689Skan (shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE. 11504169689Skan * rtl.h (rtx_code_size): New variable. 11505169689Skan (rtx_size): Change from a variable to a function. 11506169689Skan (RTX_SIZE): Rename to... 11507169689Skan (RTX_CODE_SIZE): ...this. 11508169689Skan 11509169689Skan PR target/9703 11510169689Skan PR tree-optimization/17106 11511169689Skan * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document. 11512169689Skan (Anchored Addresses): New section. 11513169689Skan * doc/invoke.texi (-fsection-anchors): Document. 11514169689Skan * doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise. 11515169689Skan (SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise. 11516169689Skan (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise. 11517169689Skan * hooks.c (hook_bool_mode_rtx_false): New function. 11518169689Skan * hooks.h (hook_bool_mode_rtx_false): Declare. 11519169689Skan * gengtype.c (create_optional_field): New function. 11520169689Skan (adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when 11521169689Skan SYMBOL_REF_IN_BLOCK_P is true. 11522169689Skan * target.h (output_anchor, use_blocks_for_constant_p): New hooks. 11523169689Skan (min_anchor_offset, max_anchor_offset): Likewise. 11524169689Skan (use_anchors_for_symbol_p): New hook. 11525169689Skan * toplev.c (compile_file): Call output_object_blocks. 11526169689Skan (target_supports_section_anchors_p): New function. 11527169689Skan (process_options): Check that -fsection-anchors is only used on 11528169689Skan targets that support it and when -funit-at-a-time is in effect. 11529169689Skan * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL 11530169689Skan if the decl doesn't have one. 11531169689Skan * dwarf2out.c: Remove instantiations of VEC(rtx,gc). 11532169689Skan * expr.c (emit_move_multi_word, emit_move_insn): Pass the result 11533169689Skan of force_const_mem through use_anchored_address. 11534169689Skan (expand_expr_constant): New function. 11535169689Skan (expand_expr_addr_expr_1): Call it. Use the same modifier when 11536169689Skan calling expand_expr for INDIRECT_REF. 11537169689Skan (expand_expr_real_1): Pass DECL_RTL through use_anchored_address 11538169689Skan for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant. 11539169689Skan * expr.h (use_anchored_address): Declare. 11540169689Skan * loop-unroll.c: Don't declare rtx vectors here. 11541169689Skan * explow.c: Include output.h. 11542169689Skan (validize_mem): Call use_anchored_address. 11543169689Skan (use_anchored_address): New function. 11544169689Skan * common.opt (-fsection-anchors): New switch. 11545169689Skan * varasm.c (object_block_htab, anchor_labelno): New variables. 11546169689Skan (hash_section, object_block_entry_eq, object_block_entry_hash) 11547169689Skan (use_object_blocks_p, get_block_for_section, create_block_symbol) 11548169689Skan (use_blocks_for_decl_p, change_symbol_section): New functions. 11549169689Skan (get_variable_section): New function, split out from assemble_variable. 11550169689Skan (make_decl_rtl): Create a block symbol if use_object_blocks_p and 11551169689Skan use_blocks_for_decl_p say so. Use change_symbol_section if the 11552169689Skan symbol has already been created. 11553169689Skan (assemble_variable_contents): New function, split out from... 11554169689Skan (assemble_variable): ...here. Don't output any code for 11555169689Skan block symbols; just pass them to place_block_symbol. 11556169689Skan Use get_variable_section and assemble_variable_contents. 11557169689Skan (get_constant_alignment, get_constant_section, get_constant_size): New 11558169689Skan functions, split from output_constant_def_contents. 11559169689Skan (build_constant_desc): Create a block symbol if use_object_blocks_p 11560169689Skan says so. Or into SYMBOL_REF_FLAGS. 11561169689Skan (assemble_constant_contents): New function, split from... 11562169689Skan (output_constant_def_contents): ...here. Don't output any code 11563169689Skan for block symbols; just pass them to place_section_symbol. 11564169689Skan Use get_constant_section and get_constant_alignment. 11565169689Skan (force_const_mem): Create a block symbol if use_object_blocks_p and 11566169689Skan use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS. 11567169689Skan (output_constant_pool_1): Add an explicit alignment argument. 11568169689Skan Don't switch sections here. 11569169689Skan (output_constant_pool): Adjust call to output_constant_pool_1. 11570169689Skan Switch sections here instead. Don't output anything for block symbols; 11571169689Skan just pass them to place_block_symbol. 11572169689Skan (init_varasm_once): Initialize object_block_htab. 11573169689Skan (default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK. 11574169689Skan (default_asm_output_anchor, default_use_aenchors_for_symbol_p) 11575169689Skan (place_block_symbol, get_section_anchor, output_object_block) 11576169689Skan (output_object_block_htab, output_object_blocks): New functions. 11577169689Skan * target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro. 11578169689Skan (TARGET_ASM_OUT): Include it. 11579169689Skan (TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro. 11580169689Skan (TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros. 11581169689Skan (TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro. 11582169689Skan (TARGET_INITIALIZER): Include them. 11583169689Skan * rtl.c (rtl_check_failed_block_symbol): New function. 11584169689Skan * rtl.h: Include vec.h. Declare heap and gc rtx vectors. 11585169689Skan (block_symbol, object_block): New structures. 11586169689Skan (rtx_def): Add a block_symbol field to the union. 11587169689Skan (BLOCK_SYMBOL_CHECK): New macro. 11588169689Skan (rtl_check_failed_block_symbol): Declare. 11589169689Skan (SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags. 11590169689Skan (SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates. 11591169689Skan (SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2. 11592169689Skan (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors. 11593169689Skan * output.h (output_section_symbols): Declare. 11594169689Skan (object_block): Name structure. 11595169689Skan (place_section_symbol, get_section_anchor, default_asm_output_anchor) 11596169689Skan (default_use_anchors_for_symbol_p): Declare. 11597169689Skan * Makefile.in (RTL_BASE_H): Add vec.h. 11598169689Skan (explow.o): Depend on output.h. 11599169689Skan * config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default. 11600169689Skan (TARGET_MAX_ANCHOR_OFFSET): Likewise. 11601169689Skan (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. 11602169689Skan (rs6000_use_blocks_for_constant_p): New function. 11603169689Skan 11604169689Skan2006-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 11605169689Skan 11606169689Skan * doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0. 11607169689Skan 11608169689Skan2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> 11609169689Skan 11610169689Skan PR tree-opt/25680 11611169689Skan * tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and 11612169689Skan IMAGPART_EXPR. 11613169689Skan 11614169689Skan2006-02-18 Diego Novillo <dnovillo@redhat.com> 11615169689Skan 11616169689Skan * tree-flow.h (struct var_ann_d): Rename field is_alias_tag to 11617169689Skan is_aliased. 11618169689Skan Update all users. 11619169689Skan 11620169689Skan2006-02-18 Jakub Jelinek <jakub@redhat.com> 11621169689Skan 11622169689Skan PR middle-end/26334 11623169689Skan * stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER 11624169689Skan instead of DECL_REGISTER. 11625169689Skan 11626169689Skan2006-02-18 Olivier Hainque <hainque@adacore.com> 11627169689Skan 11628169689Skan PR ada/13408 11629169689Skan * pa.h (WIDEST_HARDWARE_FP_SIZE): Define. 11630169689Skan 11631169689Skan2006-02-18 Joseph S. Myers <joseph@codesourcery.com> 11632169689Skan 11633169689Skan PR target/24837 11634169689Skan * config.gcc: Define UCLIBC_DEFAULT to 0 or 1. 11635169689Skan * opth-gen.awk: Handle Var and InverseMask together. 11636169689Skan * config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc). 11637169689Skan * config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT. 11638169689Skan (TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC. 11639169689Skan (CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc 11640169689Skan used together. 11641169689Skan (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, 11642169689Skan LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. 11643169689Skan * config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER, 11644169689Skan UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, 11645169689Skan LINUX_DYNAMIC_LINKER): Define. 11646169689Skan (ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER. 11647169689Skan * config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to 11648169689Skan TARGET_GLIBC. 11649169689Skan * config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11650169689Skan (CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option. 11651169689Skan * config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11652169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11653169689Skan (TARGET_C99_FUNCTIONS): Don't define. 11654169689Skan * config/i386/linux.h (DYNAMIC_LINKER): Rename to 11655169689Skan GLIBC_DYNAMIC_LINKER. 11656169689Skan (SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER. 11657169689Skan * config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32, 11658169689Skan GLIBC_DYNAMIC_LINKER64): Define. 11659169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and 11660169689Skan LINUX_DYNAMIC_LINKER64. 11661169689Skan * config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11662169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11663169689Skan * config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define. 11664169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11665169689Skan * config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11666169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11667169689Skan * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32, 11668169689Skan GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32, 11669169689Skan UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define. 11670169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64 11671169689Skan and LINUX_DYNAMIC_LINKER32. 11672169689Skan * config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11673169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11674169689Skan * config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define. 11675169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11676169689Skan * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to 11677169689Skan TARGET_GLIBC. 11678169689Skan * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise. 11679169689Skan (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, 11680169689Skan UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, 11681169689Skan CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, 11682169689Skan LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. 11683169689Skan (LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32. 11684169689Skan (LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64. 11685169689Skan * config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER, 11686169689Skan UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, 11687169689Skan LINUX_DYNAMIC_LINKER): Define. 11688169689Skan (LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE. 11689169689Skan * config/s390/linux.h (GLIBC_DYNAMIC_LINKER32, 11690169689Skan GLIBC_DYNAMIC_LINKER64): Define. 11691169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and 11692169689Skan LINUX_DYNAMIC_LINKER64. 11693169689Skan * config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11694169689Skan (SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11695169689Skan * config/sparc/linux.h (GLIBC_DYNAMIC_LINKER, 11696169689Skan UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, 11697169689Skan LINUX_DYNAMIC_LINKER): Define. 11698169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11699169689Skan (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. 11700169689Skan * config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32, 11701169689Skan GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32, 11702169689Skan UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER, 11703169689Skan LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. 11704169689Skan (LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32. 11705169689Skan (LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64. 11706169689Skan (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. 11707169689Skan * config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11708169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11709169689Skan * doc/invoke.texi (-muclibc): Remove caveat about supported 11710169689Skan targets. 11711169689Skan 11712169689Skan2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> 11713169689Skan 11714169689Skan * doc/cpp.texi (__TIMESTAMP__): Document. 11715169689Skan 11716169689Skan2006-02-17 Roger Sayle <roger@eyesopen.com> 11717169689Skan 11718169689Skan PR middle-end/25600 11719169689Skan * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when 11720169689Skan C is one less than the width of X (and related transformations). 11721169689Skan * simplify-rtx.c (simplify_unary_operation_1): Transform 11722169689Skan (neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C) 11723169689Skan depending on STORE_FLAG_VALUE, were C is one less then the 11724169689Skan width of X. 11725169689Skan 11726169689Skan2006-02-17 Daniel Berlin <dberlin@dberlin.org> 11727169689Skan 11728169689Skan Fix PR tree-optimization/26341 11729169689Skan * tree-ssa-operands.c (add_virtual_operand): Remove assert 11730169689Skan about NAME_MEMORY_TAG's. 11731169689Skan 11732169689Skan2006-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 11733169689Skan 11734169689Skan PR target/26255 11735169689Skan * pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit 11736169689Skan with hardware float support, and software float support. Add fcpy 11737169689Skan alternative to hardware patterns. Add alternatives to copy between 11738169689Skan general and floating-point registers to the 32-bit pattern. 11739169689Skan * pa.c (pa_secondary_reload): Don't abort if reload tries to find a 11740169689Skan secondary reload to load a QI or HI mode constant into a floating 11741169689Skan point register. 11742169689Skan * pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode. 11743169689Skan * pa64-regs.h (VALID_FP_MODE_P): Likewise. 11744169689Skan 11745169689Skan2006-02-17 Andrew Pinski <pinskia@physics.uc.edu> 11746169689Skan 11747169689Skan PR target/26272 11748169689Skan * config/rs6000/darwin.md (load_macho_picbase_si): Add 11749169689Skan pc to the pattern. 11750169689Skan (load_macho_picbase_di): Likewise. 11751169689Skan 11752169689Skan2006-02-16 Jeff Law <law@redhat.com> 11753169689Skan 11754169689Skan * tree-vrp.c (set_value_range_to_nonnegative): New function. 11755169689Skan (vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise. 11756169689Skan (ssa_name_nonzero_p): Likewise. 11757169689Skan (get_value_range): Return NULL if VRP is not running. 11758169689Skan (extract_range_from_expr): Fallback to tree_expr_XXX_p if 11759169689Skan VRP routines do not discover a range. 11760169689Skan (vrp_finalize): Clear VR_VALUE to indicate VRP is not running. 11761169689Skan * tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype. 11762169689Skan * fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP. 11763169689Skan (tree_expr_nonnegative_p): Similarly. 11764169689Skan * tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove. 11765169689Skan (restore_nonzero_vars_to_original_value): Remove. 11766169689Skan (unsafe_associative_fp_binop): Remove. 11767169689Skan (tree_ssa_dominator_optimize): Remove initialization and 11768169689Skan finalization of nonzero_vars and nonzero_vars_stack. 11769169689Skan (dom_opt_initialize_block): No longer push marker on 11770169689Skan nonzero_vars_stack. 11771169689Skan (dom_opt_finalize_block): No longer call 11772169689Skan restore_nonzero_vars_to_original_value. 11773169689Skan (record_equivalences_from_phis): No longer look for 11774169689Skan nonzero PHI arguments. 11775169689Skan (cprop_into_successor_phis): No longer propagate nonzero 11776169689Skan property into PHI arguments. Lose unused argument. Caller 11777169689Skan updated. 11778169689Skan (record_equivalences_from_stmt): No longer record nonzero 11779169689Skan values for SSA_NAMEs. 11780169689Skan (lookup_avail_expr): No longer use nonzero_vars. 11781169689Skan 11782169689Skan * stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly 11783169689Skan for sizetype when sizetype is unsigned. 11784169689Skan 11785169689Skan2006-02-16 Denis Nagorny <denis_nagorny@linux.intel.com> 11786169689Skan 11787169689Skan PR rtl-optimization/25603 11788169689Skan * reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note. 11789169689Skan (regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case. 11790169689Skan * reload1.c (choose_reload_regs): Added call of regno_clobbered_p 11791169689Skan with new meaning of SETS. 11792169689Skan 11793169689Skan2006-02-16 Joseph S. Myers <joseph@codesourcery.com> 11794169689Skan 11795169689Skan PR target/20353 11796169689Skan PR target/24578 11797169689Skan PR target/24837 11798169689Skan * config/linux.opt: New file. 11799169689Skan * config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, 11800169689Skan LINUX_DYNAMIC_LINKER): Define. 11801169689Skan (TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC. 11802169689Skan * config.gcc (*-*-linux*): Define extra_options. 11803169689Skan (*-*-*uclibc*): Define UCLIBC_DEFAULT. 11804169689Skan (arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi. 11805169689Skan * config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to 11806169689Skan GLIBC_DYNAMIC_LINKER. 11807169689Skan * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise. 11808169689Skan (LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11809169689Skan * config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define. 11810169689Skan (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. 11811169689Skan * doc/invoke.texi (GNU/Linux Options): New section. 11812169689Skan 11813169689Skan2006-02-16 Eric Botcazou <ebotcazou@libertysurf.fr> 11814169689Skan 11815169689Skan * config/sparc/sparc.md (setjmp): Rewrite. 11816169689Skan (setjmp_32): Delete. 11817169689Skan (setjmp_64): Likewise. 11818169689Skan 11819169689Skan2006-02-16 Daniel Berlin <dberlin@dberlin.org> 11820169689Skan 11821169689Skan * tree-ssa-operands.c (access_can_touch_variable): Fix typo in 11822169689Skan previous change. 11823169689Skan 11824169689Skan2006-02-16 Zdenek Dvorak <dvorakz@suse.cz> 11825169689Skan 11826169689Skan * loop-invariant.c (invariant_for_use, check_dependencies): Fail for 11827169689Skan read-write uses. 11828169689Skan 11829169689Skan2006-02-16 Zdenek Dvorak <dvorakz@suse.cz> 11830169689Skan 11831169689Skan PR rtl-optimization/26296 11832169689Skan * Makefile.in (loop-invariant.c): Add except.h dependency. 11833169689Skan * loop-invariant.c: Include except.h. 11834169689Skan (find_invariant_insn): Ignore insns satisfying can_throw_internal. 11835169689Skan 11836169689Skan2005-02-16 Paul Brook <paul@codesourcery.com> 11837169689Skan 11838169689Skan * reload1.c (emit_reload_insns): Invalidate dead input registers used 11839169689Skan for reloads. 11840169689Skan 11841169689Skan2006-02-16 Bernd Schmidt <bernd.schmidt@analog.com> 11842169689Skan 11843169689Skan PR rtl-optimization/25636 11844169689Skan * local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test 11845169689Skan when deciding whether an insn is an initializing insn. 11846169689Skan 11847169689Skan2006-02-15 Daniel Berlin <dberlin@dberlin.org> 11848169689Skan 11849169689Skan * tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. 11850169689Skan (tree_code_size): Ditto. 11851169689Skan * tree.h (struct tree_memory_tag): Remove parent_var. 11852169689Skan (struct tree_struct_field_tag): New. 11853169689Skan (SFT_OFFSET): New. 11854169689Skan (SFT_SIZE): New. 11855169689Skan (union tree_node): Add sft member. 11856169689Skan * tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY 11857169689Skan specially here. 11858169689Skan (create_sft): Add size and offset argument, set SFT_OFFSET and 11859169689Skan SFT_SIZE. 11860169689Skan (create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE. 11861169689Skan * treestruct.def: Add TS_STRUCT_FIELD_TAG. 11862169689Skan * tree-flow-inline.h (get_subvar_at): Update for 11863169689Skan SFT_OFFSET/SFT_SIZE. 11864169689Skan (var_can_have_subvars): Ditto. 11865169689Skan (overlap_subvar): Ditto. 11866169689Skan * print-tree.c (print_node): Print out interesting things for 11867169689Skan SFT's. 11868169689Skan * tree-flow.h (struct subvar): Remove offset and size members. 11869169689Skan * tree-ssa-operands.c (get_expr_operands): Update for 11870169689Skan get_indirect_ref_operands changes. 11871169689Skan (get_indirect_ref_operands): Call add_virtual_operand instead of 11872169689Skan add_stmt_operand. Only recurse on base var if requested. 11873169689Skan (access_can_touch_variable): New function. 11874169689Skan (add_stmt_operand): Split virtual operand handling into ... 11875169689Skan (add_virtual_operand): Here. Add offset, size, and for_clobber 11876169689Skan arguments. Prune alias sets. 11877169689Skan (add_call_clobber_ops): Call add_virtual_operand. 11878169689Skan 11879169689Skan2006-02-15 Jakub Jelinek <jakub@redhat.com> 11880169689Skan 11881169689Skan PR middle-end/26300 11882169689Skan * combine.c (make_extraction): Bail out if ORIG_POS is negative. 11883169689Skan 11884169689Skan * tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather 11885169689Skan than TREE_CODE as index into omp_clause_num_ops array. 11886169689Skan 11887169689Skan2006-02-15 Uttam Pawar <uttamp@us.ibm.com> 11888169689Skan 11889169689Skan PR rtl-optimization/26184 11890169689Skan * modulo-sched.c (generate_reg_moves): Free bitmap vector 11891169689Skan uses_of_defs. 11892169689Skan * modulo-sched.c (sms_schedule): Free g_arr pointer. 11893169689Skan * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers 11894169689Skan must_precede, must_follow and tobe_scheduled. 11895169689Skan 11896169689Skan PR other/26147 11897169689Skan * opts.c (common_handle_option): Free new_option pointer. 11898169689Skan * df-core.c (df_analyze): Free postorder pointer. 11899169689Skan 11900169689Skan2006-02-15 Rafael �vila de Esp�ndola <rafael.espindola@gmail.com> 11901169689Skan 11902169689Skan * Makefile.in: Fix the examples about the use of stamps 11903169689Skan 11904169689Skan2006-02-15 Michael Matz <matz@suse.de> 11905169689Skan 11906169689Skan PR middle-end/22275 11907169689Skan 11908169689Skan * stor-layout.c (layout_decl): Zero-width bitfields aren't 11909169689Skan influenced by maximum_field_alignment or DECL_PACKED. 11910169689Skan (update_alignment_for_field): Ditto. 11911169689Skan (place_field): Ditto. 11912169689Skan * doc/extend.texi (<#pragma pack>, <Type Attributes>): Document 11913169689Skan this behaviour. 11914169689Skan 11915169689Skan2006-02-15 Paolo Bonzini <bonzini@gnu.org> 11916169689Skan 11917169689Skan * cfg.c (dump_flow_info): Get dump flags as an additional parameter. 11918169689Skan (debug_flow_info): Pass it. 11919169689Skan * alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info. 11920169689Skan * bb-reorder.c (reorder_basic_blocks): Likewise. 11921169689Skan * cfgcleanup.c (rest_of_handle_jump2): Likewise. 11922169689Skan * cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise. 11923169689Skan * flow.c (life_analysis, recompute_reg_usage): Likewise. 11924169689Skan * gcse.c (gcse_main, bypass_jumps): Likewise. 11925169689Skan * ifcvt.c (rest_of_handle_if_conversion): Likewise. 11926169689Skan * local-alloc.c (rest_of_handle_local_alloc): Likewise. 11927169689Skan * loop-init.c (rtl_loop_init, rtl_loop_done): Likewise. 11928169689Skan * profile.c (compute_branch_probabilities, branch_prob): Likewise. 11929169689Skan * rtl.h (dump_flow_info): Adjust prototype. 11930169689Skan * tracer.c (rest_of_handle_tracer, tracer): Likewise. 11931169689Skan * var-tracking.c (variable_tracking_main): Likewise. 11932169689Skan * passes.c (execute_todo): Obey TDF_BLOCKS for RTL. 11933169689Skan * tree-dump.c (enable_rtl_dump_file): Enable the details and blocks 11934169689Skan options. 11935169689Skan 11936169689Skan2006-02-15 Marcin Dalecki <martin@dalecki.de> 11937169689Skan 11938169689Skan * tree-ssa-dom.c (dom_thread_across_edge): fix tag expression 11939169689Skan construction. 11940169689Skan 11941169689Skan2006-02-14 Zdenek Dvorak <dvorakz@suse.cz> 11942169689Skan 11943169689Skan PR tree-optimization/26209 11944169689Skan * tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg. 11945169689Skan * tree-cfgcleanup.c (cleanup_control_flow): Remove dead 11946169689Skan eh edges. 11947169689Skan * tree-cfg.c (replace_uses_by): Do not alter cfg. 11948169689Skan 11949169689Skan2006-02-14 Roger Sayle <roger@eyesopen.com> 11950169689Skan 11951169689Skan PR middle-end/23670 11952169689Skan * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into 11953169689Skan (X,Y) and the corresponding symmetry related transformations. 11954169689Skan (fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into 11955169689Skan (X,Y) and its symmetry related transformations. 11956169689Skan 11957169689Skan2006-02-14 Roger Sayle <roger@eyesopen.com> 11958169689Skan 11959169689Skan * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU 11960169689Skan and GEU. 11961169689Skan 11962169689Skan2006-02-14 Adam Nemet <anemet@caviumnetworks.com> 11963169689Skan 11964169689Skan * simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE. 11965169689Skan 11966169689Skan2006-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 11967169689Skan 11968169689Skan PR bootstrap/26053 11969169689Skan * configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers 11970169689Skan support COMDAT group. 11971169689Skan * configure: Regenerate. 11972169689Skan 11973169689Skan2006-02-14 Roger Sayle <roger@eyesopen.com> 11974169689Skan 11975169689Skan PR middle-end/26279 11976169689Skan PR middle-end/26280 11977169689Skan PR middle-end/26283 11978169689Skan * dojump.c (do_compare_rtx_and_jump): Handle multi-word LE. 11979169689Skan 11980169689Skan2006-02-14 Daniel Berlin <dberlin@dberlin.org> 11981169689Skan 11982169689Skan Fix PR tree-optimization/26260 11983169689Skan 11984169689Skan * doc/invoke.texi (max-fields-for-field-sensitive): Document 11985169689Skan param. 11986169689Skan * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New. 11987169689Skan * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto. 11988169689Skan * tree-ssa-structalias.c (create_variable_info_for): Use 11989169689Skan MAX_FIELDS_FOR_FIELD_SENSITIVE. 11990169689Skan 11991169689Skan2006-02-14 Zdenek Dvorak <dvorakz@suse.cz> 11992169689Skan 11993169689Skan * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl): 11994169689Skan Document. 11995169689Skan * tree-ssa-loop-niter.c (number_of_iterations_ne, 11996169689Skan number_of_iterations_lt, number_of_iterations_cond): Remember the shape 11997169689Skan of the ending condition. 11998169689Skan * tree-ssa-loop-manip.c: Include params.h. 11999169689Skan (build_if_stmt, can_unroll_loop_p, determine_exit_conditions, 12000169689Skan tree_unroll_loop): New functions. 12001169689Skan * tree-pass.h (pass_loop_prefetch): Declare. 12002169689Skan * loop.c (rest_of_handle_loop_optimize): Test for 12003169689Skan -fprefetch-loop-arrays-rtl. 12004169689Skan * tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h. 12005169689Skan * timevar.def (TV_TREE_PREFETCH): New timevar. 12006169689Skan * tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch, 12007169689Skan pass_loop_prefetch): New. 12008169689Skan * tree-cfgcleanup.c: Include tree-scalar-evolution.h. 12009169689Skan (cleanup_tree_cfg_loop): Call scev_reset. 12010169689Skan * common.opt (fprefetch-loop-arrays-rtl): Add. 12011169689Skan * tree-ssa-loop-prefetch.c: New file. 12012169689Skan * tree-outof-ssa.c (struct value_expr_d): Add expr_vars field. 12013169689Skan (new_temp_expr_table): Initialize expr_vars. 12014169689Skan (free_temp_expr_table): Cleanup expr_vars. 12015169689Skan (check_replaceable, find_replaceable_in_bb): Prevent accumulating 12016169689Skan expressions from being merged into one. 12017169689Skan * tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h. 12018169689Skan (struct tree_niter_desc): Add control, bound and cmp fields. 12019169689Skan (tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop): 12020169689Skan Declare. 12021169689Skan * Makefile.in (tree-ssa-loop-prefetch.o): Add. 12022169689Skan (tree-cfgcleanup.o): Add SCEV_H dependency. 12023169689Skan (tree-ssa-loop-manip.o): Add PARAMS_H dependency. 12024169689Skan * passes.c (init_optimization_passes): Add pass_loop_prefetch. 12025169689Skan 12026169689Skan2006-02-14 Richard Guenther <rguenther@suse.de> 12027169689Skan 12028169689Skan PR tree-optimization/26258 12029169689Skan * tree-ssa-structalias.c (find_func_aliases): Handle aggregates 12030169689Skan in PHI argument processing. 12031169689Skan 12032169689Skan2006-02-13 Adam Nemet <anemet@caviumnetworks.com> 12033169689Skan 12034169689Skan * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return 12035169689Skan new expression in the requested machine mode. 12036169689Skan 12037169689Skan2006-02-13 Roger Sayle <roger@eyesopen.com> 12038169689Skan 12039169689Skan * optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx 12040169689Skan directly, instead let do_compare_rtx_and_jump handle this for us. 12041169689Skan * expr.c (expand_expr_real_1): Likewise. 12042169689Skan * dojump.c (do_jump_by_parts_greater_rtx): Make static. Move 12043169689Skan before do_jump_by_parts_greater. 12044169689Skan (do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx. 12045169689Skan * expr.h (do_jump_by_parts_greater_rtx): Delete prototype. 12046169689Skan 12047169689Skan2006-02-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12048169689Skan 12049169689Skan * pa/quadlib.c: Use defines instead of enum qfcmp_magic. 12050169689Skan 12051169689Skan2006-02-13 Zdenek Dvorak <dvorakz@suse.cz> 12052169689Skan 12053169689Skan PR rtl-optimization/26235 12054169689Skan * loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats. 12055169689Skan (invariant_expr_equal_p): Handle 'i' and 'n' formats. Fail on unknown 12056169689Skan format. 12057169689Skan 12058169689Skan2006-02-13 Jeff Law <law@redhat.com> 12059169689Skan 12060169689Skan * tree-vrp.c (extract_range_from_binary_expr): Remove handling of 12061169689Skan TRUTH_XOR_EPR. 12062169689Skan 12063169689Skan2006-02-13 Jakub Jelinek <jakub@redhat.com> 12064169689Skan 12065169689Skan PR middle-end/26092 12066169689Skan * gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl 12067169689Skan twice if decl is a builtin. When trying again, call get_callee_fndecl 12068169689Skan first to verify it is still a builtin. 12069169689Skan 12070169689Skan2006-02-13 Geoffrey Keating <geoffk@apple.com> 12071169689Skan 12072169689Skan * dwarf2out.c (base_type_die): Don't add AT_name here. 12073169689Skan (subrange_type_die): Don't add AT_name here. 12074169689Skan (modified_type_die): Rearrange code flow. Do add AT_name here. 12075169689Skan 12076169689Skan2006-02-13 Zdenek Dvorak <dvorakz@suse.cz> 12077169689Skan 12078169689Skan PR rtl-optimization/26247 12079169689Skan PR rtl-optimization/26248 12080169689Skan * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode. 12081169689Skan 12082169689Skan2006-02-13 Richard Sandiford <richard@codesourcery.com> 12083169689Skan 12084169689Skan * config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113. 12085169689Skan * config/fixtfdi.c: Likewise. 12086169689Skan * config/fixunstfdi.c: Likewise. 12087169689Skan * config/floatditf.c: Likewise. 12088169689Skan 12089169689Skan2006-02-13 Roger Sayle <roger@eyesopen.com> 12090169689Skan 12091169689Skan PR middle-end/24427 12092169689Skan * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2 12093169689Skan into (X,C2) if C1 is a subset of the bits of C2. Transform 12094169689Skan (X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as 12095169689Skan (X&(C1&~C2))|C2. 12096169689Skan <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2). 12097169689Skan 12098169689Skan2006-02-13 Josh Conner <jconner@apple.com> 12099169689Skan 12100169689Skan PR target/25376 12101169689Skan * varasm.c (function_section): Check for section name before 12102169689Skan calling select_section on targets that define 12103169689Skan USE_SELECT_SECTION_FOR_FUNCTIONS. On other targets, use 12104169689Skan unlikely_text_section instead of hot_function_section if 12105169689Skan first_function_block_is_cold. 12106169689Skan 12107169689Skan2006-02-13 J"orn Rennecke <joern.rennecke@st.com> 12108169689Skan 12109169689Skan PR middle-end/25335 12110169689Skan * reload1.c (gen_reload): Also use find_replacement in UNARY_P case. 12111169689Skan 12112169689Skan2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> 12113169689Skan 12114169689Skan PR rtl-optimization/26222 12115169689Skan * function.c (assign_stack_temp_for_type): Do not reuse stack slots 12116169689Skan after tree->rtl expansion. 12117169689Skan * loop-invariant.c (move_invariant_reg): Use force_operand on rhs 12118169689Skan before passing it to emit_move_insn. 12119169689Skan 12120169689Skan2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net> 12121169689Skan 12122169689Skan * doc/invoke.texi (-Write-strings): Document that it is enabled by 12123169689Skan default. 12124169689Skan * c.opt (-Wwrite-strings): Declare variable warn_write_strings. 12125169689Skan Clarify documentation. 12126169689Skan * c-common.h (warn_write_strings): Remove. 12127169689Skan * c-common.c (warn_write_strings): Likewise. 12128169689Skan * c-opts.c (c_common_init_options): Enable -Wwrite-strings by 12129169689Skan default for C++. 12130169689Skan 12131169689Skan2006-02-12 Roger Sayle <roger@eyesopen.com> 12132169689Skan 12133169689Skan PR middle-end/25724 12134169689Skan * dojump.c (do_jump): Call do_compare_rtx_and_jump. 12135169689Skan (do_jump_parts_zero_rtx): New function renamed from 12136169689Skan do_jump_parts_equality_rtx. Made static. Add a mode argument. 12137169689Skan (do_jump_parts_equality_rtx): New function split out from 12138169689Skan do_jump_parts_equality. Old implementation renamed as above. 12139169689Skan Call do_jump_parts_zero_rtx if either operand is zero. 12140169689Skan (do_jump_parts_equality): Call do_jump_parts_equality_rtx to 12141169689Skan do all of the heavy lifting. 12142169689Skan (do_compare_rtx_and_jump): Handle multi-word comparisons by 12143169689Skan calling either do_jump_by_parts_greater_rtx or 12144169689Skan do_jump_by_parts_equality_rtx. 12145169689Skan * expr.h (do_jump_by_parts_equality_rtx): Remove prototype. 12146169689Skan * expmed.c (do_cmp_and_jump): Now multi-word optimization has 12147169689Skan moved to do_compare_rtx_and_jump, call it directly. 12148169689Skan * stmt.c (do_jump_if_equal): Remove static prototype. Add a 12149169689Skan mode argument. Call do_compare_rtx_and_jump. 12150169689Skan (emit_case_nodes): Update calls to do_jump_if_equal. 12151169689Skan 12152169689Skan2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> 12153169689Skan 12154169689Skan PR rtl-optimization/26225 12155169689Skan * loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands. 12156169689Skan 12157169689Skan2006-02-12 Zdenek Dvorak <dvorakz@suse.cz> 12158169689Skan 12159169689Skan PR rtl-optimization/26232 12160169689Skan * loop-invariant.c (find_invariant_insn): Ignore insns that set CC0. 12161169689Skan 12162169689Skan2006-02-11 Jason Merrill <jason@redhat.com> 12163169689Skan 12164169689Skan PR tree-opt/24365 12165169689Skan * tree-inline.c (declare_return_variable): Just don't use the 12166169689Skan modify target if it's a gimple complex reg and the return slot 12167169689Skan isn't. 12168169689Skan 12169169689Skan2006-02-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12170169689Skan 12171169689Skan * doc/contrib.texi: Update my entry. 12172169689Skan 12173169689Skan2006-02-10 Geoffrey Keating <geoffk@apple.com> 12174169689Skan 12175169689Skan * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define. 12176169689Skan 12177169689Skan2006-02-10 Diego Novillo <dnovillo@redhat.com> 12178169689Skan 12179169689Skan * tree-inline.c (estimate_num_insns_1): Make OpenMP directives 12180169689Skan expensive. 12181169689Skan 12182169689Skan2006-02-10 Zdenek Dvorak <dvorakz@suse.cz> 12183169689Skan 12184169689Skan * doc/invoke.texi (-floop-optimize2): Removed. 12185169689Skan * toplev.c (process_options): Remove handling of flag_loop_optimize2. 12186169689Skan * loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2. 12187169689Skan Test flag_branch_on_count_reg only if HAVE_doloop_end. 12188169689Skan * common.opt (floop-optimize2): Removed. 12189169689Skan (fmove-loop-invariants): Enabled by default. 12190169689Skan 12191169689Skan2006-02-10 Sebastian Pop <pop@cri.ensmp.fr> 12192169689Skan 12193169689Skan * tree-if-conv.c (combine_blocks): Free the result of 12194169689Skan get_loop_exit_edges. 12195169689Skan 12196169689Skan2006-02-10 Jeff Law <law@redhat.com> 12197169689Skan 12198169689Skan * fold-const.c (tree_expr_nonzero_p): Fix thinko. 12199169689Skan 12200169689Skan PR tree-optimization/26213 12201169689Skan * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not 12202169689Skan loop trying to follow SSA_NAME_VALUE chains. 12203169689Skan 12204169689Skan2006-02-10 Richard Guenther <rguenther@suse.de> 12205169689Skan 12206169689Skan * tree-dfa.c (get_ref_base_and_extent): When computing maxsize 12207169689Skan deal with structures that end in implicitly variable sized arrays. 12208169689Skan 12209169689Skan2006-02-09 Zdenek Dvorak <dvorakz@suse.cz> 12210169689Skan 12211169689Skan PR rtl-optimization/24762 12212169689Skan * df-scan.c (df_bb_refs_record): Record correct registers defined on 12213169689Skan eh edges. 12214169689Skan 12215169689Skan2006-02-09 Zdenek Dvorak <dvorakz@suse.cz> 12216169689Skan 12217169689Skan * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed. 12218169689Skan (struct ivopts_data): Add regs_used field. 12219169689Skan (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops. 12220169689Skan (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used 12221169689Skan instead of loop_data->regs_used; 12222169689Skan (free_loop_data): Do not free aux fields for loops. 12223169689Skan (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init 12224169689Skan and tree_ssa_iv_optimize_finalize. 12225169689Skan 12226169689Skan2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org> 12227169689Skan 12228169689Skan * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE. 12229169689Skan 12230169689Skan2006-02-09 J"orn Rennecke <joern.rennecke@st.com> 12231169689Skan 12232169689Skan PR target/26141 12233169689Skan * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when 12234169689Skan computing the effective result type. 12235169689Skan 12236169689Skan2006-02-09 J"orn Rennecke <joern.rennecke@st.com> 12237169689Skan 12238169689Skan PR inline-asm/16194 12239169689Skan * tree.h (decl_overlaps_hard_reg_set_p) Don't declare. 12240169689Skan (tree_overlaps_hard_reg_set): Declare. 12241169689Skan * stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return 12242169689Skan type and signature to match function type expected by walk_tree. 12243169689Skan (tree_overlaps_hard_reg_set): New function. 12244169689Skan (decl_conflicts_with_clobbers_p): Rename to: 12245169689Skan (tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument. 12246169689Skan Use tree_overlaps_hard_reg_set. Changed caller. 12247169689Skan * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace 12248169689Skan decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set. 12249169689Skan * cris.c (cris_md_asm_clobbers): Likewise. 12250169689Skan 12251169689Skan2006-02-09 Bernd Schmidt <bernd.schmidt@analog.com> 12252169689Skan 12253169689Skan * reload1.c (emit_input_reload_insns): Delete code that tries to 12254169689Skan inherit using find_equiv_reg. 12255169689Skan 12256169689Skan2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net> 12257169689Skan 12258169689Skan * c-common.h (flag_const_strings): Don't declare. 12259169689Skan * c-common.c (flag_const_strings): Remove. 12260169689Skan * c.opt (fconst_strings): Remove. 12261169689Skan * c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>. 12262169689Skan <OPT_Wwrite_strings>: Don't set flag_const_strings. 12263169689Skan (c_common_init_options): Don't set flag_const_strings. 12264169689Skan * doc/invoke.texi (-fno-const-strings): Remove documentation. 12265169689Skan 12266169689Skan2006-02-09 Richard Earnshaw <richard.earnshaw@arm.com> 12267169689Skan 12268169689Skan * arm.md (tlobits_cbranch): New pattern. 12269169689Skan * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if 12270169689Skan testing a single bit. 12271169689Skan 12272169689Skan2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> 12273169689Skan 12274169689Skan PR tree-opt/26179 12275169689Skan * tree-ssa-pre.c (create_component_ref_by_pieces): 12276169689Skan Handle RETURN_DECL like VAR_DECL. 12277169689Skan 12278169689Skan2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> 12279169689Skan 12280169689Skan PR middle-end/26134 12281169689Skan * fold-const.c (fold_indirect_ref_1): Fold 12282169689Skan "*(foo *)&complexfoo" to "__real__ complexfoo" 12283169689Skan and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo". 12284169689Skan 12285169689Skan2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> 12286169689Skan 12287169689Skan * tree-flow-inline.h (var_can_have_subvars): 12288169689Skan Volatile variables should not have subvariables. 12289169689Skan 12290169689Skan2006-02-09 Diego Novillo <dnovillo@redhat.com> 12291169689Skan 12292169689Skan PR 26180 12293169689Skan * tree-vrp.c (vrp_int_const_binop): Detect overflow when 12294169689Skan multiplying unsigned values. 12295169689Skan Tidy comments. 12296169689Skan 12297169689Skan2006-02-09 Eric Botcazou <ebotcazou@libertysurf.fr> 12298169689Skan 12299169689Skan * config/sparc/sparc.c (tls_call_delay): Fix oversight. 12300169689Skan 12301169689Skan2006-02-08 Jason Merrill <jason@redhat.com> 12302169689Skan 12303169689Skan PR c++/25979 12304169689Skan * tree.def: Elaborate on difference from MODIFY_EXPR. 12305169689Skan * doc/c-tree.texi (INIT_EXPR): Likewise. 12306169689Skan * gimplify.c (internal_get_tmp_var): Use INIT_EXPR. 12307169689Skan (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise. 12308169689Skan (gimplify_target_expr): Likewise. 12309169689Skan (gimplify_cond_expr): Remove target handling. 12310169689Skan (gimplify_modify_expr): Don't clobber INIT_EXPR code here. 12311169689Skan (gimplify_expr): Clobber it here. 12312169689Skan (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here. 12313169689Skan Do return slot optimization if we have an INIT_EXPR. 12314169689Skan 12315169689Skan PR tree-opt/24365 12316169689Skan * tree-inline.c (declare_return_variable): Also clear 12317169689Skan DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case. 12318169689Skan 12319169689Skan PR c++/16405 12320169689Skan * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling. 12321169689Skan 12322169689Skan PR middle-end/22439 12323169689Skan * gimplify.c (gimplify_one_sizepos): Fix typo. 12324169689Skan 12325169689Skan2006-02-08 Jeff Law <law@redhat.com> 12326169689Skan 12327169689Skan PR tree-optimization/21417 12328169689Skan * tree-ssa-threadedge.c (thread_across_edge): Reject threading 12329169689Skan across a backedge if the control statement at the end of the 12330169689Skan block is data dependent on other statements in the same block. 12331169689Skan (record_temporary_equivalences_from_stmts): Remove over-conservative 12332169689Skan test for threading across backedges. 12333169689Skan 12334169689Skan * tree-ssa-dce.c (remove_dead_statement): When removing a dead 12335169689Skan control statement, handle all three special cases in the same 12336169689Skan manner as they all have the same desired solution. No longer 12337169689Skan special case edge flag updating when the post dominator is 12338169689Skan the exit block. 12339169689Skan 12340169689Skan2006-02-08 Roger Sayle <roger@eyesopen.com> 12341169689Skan 12342169689Skan * tree.def (CHAR_TYPE): Remove. 12343169689Skan * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE. 12344169689Skan * dwarf2out.c (base_type_die, is_base_type): Likewise. 12345169689Skan (gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays. 12346169689Skan (gen_string_type_die): Delete unreachable function. 12347169689Skan 12348169689Skan * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE. 12349169689Skan * tree.c (build_int_cst_wide, type_contains_placeholder_1, 12350169689Skan type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise. 12351169689Skan * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise. 12352169689Skan * builtins.c (type_to_class): Likewise. 12353169689Skan * fold-const.c (fold_convert, build_range_check, 12354169689Skan merge_ranges): Likewise. 12355169689Skan * expr.c (count_type_elements): Likewise. 12356169689Skan * c-pretty-print.c (pp_c_type_specifier): Likewise. 12357169689Skan * stor-layout.c (layout_type): Likewise. 12358169689Skan * ipa-type-escape.c (type_to_consider): Likewise. 12359169689Skan * gimplify.c (omp_firstprivatize_type_sizes, 12360169689Skan gimplify_type_sizes): Likewise. 12361169689Skan * explow.c (promote_mode): Likewise. 12362169689Skan * tree-sra.c (is_sra_scalar_type): Likewise. 12363169689Skan * varasm.c (output_constant): Likewise. 12364169689Skan * tree-inline.c (remap_type_1): Likewise. 12365169689Skan * convert.c (convert_to_pointer, convert_to_real, 12366169689Skan convert_to_integer, convert_to_complex): Likewise. 12367169689Skan 12368169689Skan2006-02-08 Daniel Berlin <dberlin@dberlin.org> 12369169689Skan 12370169689Skan * df-scan.c (df_def_record_1): A set destination may 12371169689Skan be a parallel regardless of mode. 12372169689Skan 12373169689Skan2006-02-08 Roger Sayle <roger@eyesopen.com> 12374169689Skan 12375169689Skan PR target/22209 12376169689Skan * config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc. 12377169689Skan * config/mips/_tilib.c: Remove. 12378169689Skan * config/fixtfdi.c: New libgcc source file. 12379169689Skan * config/fixunstfdi.c: New source file. 12380169689Skan * config/floatditf.c: New source file. 12381169689Skan * config/floatunditf.c: New souce file. 12382169689Skan * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source 12383169689Skan files above instead of config/mips/_tilib.c. 12384169689Skan * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise. 12385169689Skan 12386169689Skan2006-02-08 Jeff Law <law@redhat.com> 12387169689Skan 12388169689Skan PR tree-optimization/26169 12389169689Skan * tree-vrp.c (execute_vrp): Perform any queued SSA updates before 12390169689Skan threading jumps. 12391169689Skan 12392169689Skan2006-02-08 Zdenek Dvorak <dvorakz@suse.cz> 12393169689Skan 12394169689Skan * df.h (DF_REG_SIZE): Return the length of the initialized 12395169689Skan part of the array. 12396169689Skan 12397169689Skan2006-02-08 Nathan Sidwell <nathan@codesourcery.com> 12398169689Skan 12399169689Skan * config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3, 12400169689Skan __muldf3): Return a correctly signed zero. 12401169689Skan 12402169689Skan2006-02-08 Paolo Bonzini <bonzini@gnu.org> 12403169689Skan 12404169689Skan * passes.c (register_one_dump_file): Accept the current properties 12405169689Skan instead of pass number. Adjust call to dump_register. Remove 12406169689Skan duplicated code. 12407169689Skan (register_dump_files): Now a wrapper around... 12408169689Skan (register_dump_files_1): ... this one. Do not modify the pass 12409169689Skan structure. 12410169689Skan (next_pass_1): Cosmetic fix. 12411169689Skan (execute_todo): Keep second parameter only. Use curr_properties 12412169689Skan instead of fetching it from the pass structure. Check and set 12413169689Skan last_verified. 12414169689Skan (execute_one_pass): Handle TODO_set_props. Use curr_properties 12415169689Skan instead of fetching it from the pass structure. Fix calls to 12416169689Skan execute_todo. Update curr_properties and initialize .vcg RTL dump 12417169689Skan after running the pass. Reset last_verified. 12418169689Skan * tree-dump.c (dump_files): Renumber consecutively. Put .cgraph dump 12419169689Skan at the beginning. 12420169689Skan (FIRST_AUTO_NUMBERED_DUMP): New. 12421169689Skan (dump_register): Remove "num" parameter, assign it within the 12422169689Skan function. 12423169689Skan (get_dump_file_name): Modify template for dumps. 12424169689Skan * tree-dump.h (dump_register): Adjust prototype. 12425169689Skan * tree-pass.h (enum tree_dump_index): Move cgraph at the beginning. 12426169689Skan (PROP_trees): Add PROP_gimple_lomp. 12427169689Skan (TODO_set_props): New. 12428169689Skan * gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf. 12429169689Skan * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh. 12430169689Skan * cfgexpand.c (pass_expand): Destroy PROP_trees. 12431169689Skan 12432169689Skan2006-02-08 Jakub Jelinek <jakub@redhat.com> 12433169689Skan 12434169689Skan * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file. 12435169689Skan (sparc64-*-linux*): Likewise. 12436169689Skan * config/sparc/t-linux64 (SHLIB_MAPFILES): Removed. 12437169689Skan * config/sparc/t-linux: New file. 12438169689Skan * config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi, 12439169689Skan __floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128. 12440169689Skan (__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if 12441169689Skan -m32 -mlong-double-128. 12442169689Skan 12443169689Skan * config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file. 12444169689Skan * config/alpha/t-linux: New file. 12445169689Skan * config/alpha/libgcc-alpha-ldbl.ver: New file. 12446169689Skan 12447169689Skan * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define 12448169689Skan __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128. 12449169689Skan (CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here. 12450169689Skan * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define 12451169689Skan __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32. 12452169689Skan (CPP_ARCH32_SPEC): Remove. 12453169689Skan 12454169689Skan2006-02-07 Uttam Pawar <uttamp@us.ibm.com> 12455169689Skan 12456169689Skan PR tree-optimization/26145 12457169689Skan * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free 12458169689Skan bbs pointer. 12459169689Skan 12460169689Skan2006-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12461169689Skan 12462169689Skan PR target/26109 12463169689Skan * pa.c (attr_length_indirect_call): Don't return length 8 for distances 12464169689Skan >= 240000 when generating code for SOM runtime. 12465169689Skan (output_indirect_call): Don't use "b,l" instruction for indirect calls 12466169689Skan to $$dyncall when generating code for SOM runtime.. 12467169689Skan 12468169689Skan2006-02-07 Dirk Mueller <dmueller@suse.com> 12469169689Skan 12470169689Skan PR c++/18150 12471169689Skan * doc/invoke.texi (-Wsequence-point): Update documentation 12472169689Skan that -Wsequence-point is implemented for C++ as well. 12473169689Skan 12474169689Skan2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 12475169689Skan 12476169689Skan * config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread. 12477169689Skan * config/sol2.h (CPP_SUBTARGET_SPEC): Likewise. 12478169689Skan (LIB_SPEC): Likewise. 12479169689Skan * doc/invoke.texi (SPARC options): Document -pthread. 12480169689Skan 12481169689Skan2006-02-07 Geoffrey Keating <geoffk@apple.com> 12482169689Skan 12483169689Skan * config/i386/i386.c (ix86_delegitimize_address): Support Darwin 12484169689Skan PIC addresses. 12485169689Skan 12486169689Skan2006-02-07 Roger Sayle <roger@eyesopen.com> 12487169689Skan 12488169689Skan * config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE. 12489169689Skan Correct comment describing BOOLEAN_TYPE. 12490169689Skan 12491169689Skan2006-02-07 Dirk Mueller <dmueller@suse.com> 12492169689Skan 12493169689Skan * c.opt: C++ frontend supports -Wdiv-by-zero. 12494169689Skan * c-opts.c (c_common_handle_option): Remove dead case. 12495169689Skan 12496169689Skan2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 12497169689Skan 12498169689Skan * configure.ac (TLS assembler check): Do not enable TLS by 12499169689Skan default on SPARC/Solaris before version 10. 12500169689Skan * configure: Regenerate. 12501169689Skan 12502169689Skan2006-02-07 David Edelsohn <edelsohn@gnu.org> 12503169689Skan 12504169689Skan * doc/invoke.texi (xl-compat): Document conversion and support 12505169689Skan routine names. 12506169689Skan 12507169689Skan2006-02-07 Jeff Law <law@redhat.com> 12508169689Skan 12509169689Skan * tree-vrp.c (find_conditional_asserts): Update comments. 12510169689Skan (simplify_stmt_for_jump_threading): New. 12511169689Skan (identify_jump_threads, finalize_jump_threads): New. 12512169689Skan (vrp_finalize): Call identify_jump_threads. 12513169689Skan (execute_vrp): Call finalize_jump_threads. 12514169689Skan * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field. 12515169689Skan (vrp_element, vrp_data, vrp_element_p): Remove. 12516169689Skan (vrp_hash_elt, vrp_variables_stack): Remove. 12517169689Skan (vrp_hash, vrp_eq, record_range): Remove. 12518169689Skan (simplify_cond_and_lookup_avail_expr): Remove. 12519169689Skan (extract_range_from_cond): Remove. 12520169689Skan (thread_across_edge): Relocated into tree-ssa-threadedge.c. 12521169689Skan (simplify_stmt_for_jump_threading): New. 12522169689Skan (dom_thread_across_edge): New wrapper. 12523169689Skan (tree_ssa_dominator_optimize): No longer initialize or 12524169689Skan finalize any of the VRP datastructures. Remove iteration 12525169689Skan step and simplify as a result of removal of iteration step. 12526169689Skan (pass_dominator): Perform a cfg cleanup after DOM. 12527169689Skan (dom_opt_finalize_block): Use the new common routines 12528169689Skan for threading jumps. Simplify stack management slightly. 12529169689Skan No longer need to unwind VRP state. 12530169689Skan (record_equivalences_from_incoming_edge): No longer record 12531169689Skan VRP information. 12532169689Skan (eliminate_redundant_computations): No longer call 12533169689Skan simplify_cond_and_lookup_avail_expr. 12534169689Skan * tree-flow.h (potentially_threadable_block): Prototype. 12535169689Skan (thread_across_edge): Likewise. 12536169689Skan * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o 12537169689Skan (tree-ssa-threadedge.o): Add dependencies. 12538169689Skan * tree-ssa-threadedge.c: New file. 12539169689Skan * passes.c (init_optimization_passes): Merge PHIs before 12540169689Skan calling VRP. Run VRP again late in the SSA optimization pipeline. 12541169689Skan 12542169689Skan2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> 12543169689Skan 12544169689Skan * df-core.c (df_set_blocks): Do not dereference function pointers. 12545169689Skan (df_finish1): Likewise. 12546169689Skan (df_hybrid_search_forward): Likewise. 12547169689Skan (df_hybrid_search_backward): Likewise. 12548169689Skan (df_iterative_dataflow): Likewise. 12549169689Skan (df_analyze_problem): Likewise. 12550169689Skan (df_compact_blocks): Likewise. 12551169689Skan (df_dump): Likewise. 12552169689Skan * df-scan.c (df_rescan_blocks): Likewise. 12553169689Skan (df_record_entry_block_defs): Likewise. 12554169689Skan 12555169689Skan * genconditions.c (write_conditions): Guard the definition of 12556169689Skan 'insn_conditions' with the check on GCC version. 12557169689Skan (write_writer): Guard the traversal 'insn_conditions' with 12558169689Skan the check on GCC version. 12559169689Skan 12560169689Skan2006-02-07 Richard Guenther <rguenther@suse.de> 12561169689Skan 12562169689Skan PR c++/26140 12563169689Skan Revert 12564169689Skan 2006-01-30 Richard Guenther <rguenther@suse.de> 12565169689Skan PR c++/23372 12566169689Skan * gimplify.c (gimplify_target_expr): Handle easy cases 12567169689Skan without creating a temporary. 12568169689Skan 12569169689Skan2006-02-07 Pete Steinmetz <steinmtz@us.ibm.com> 12570169689Skan 12571169689Skan * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate 12572169689Skan use of float in probability computations. Use edge probabilities 12573169689Skan in place of statically computed probabilities. 12574169689Skan (min_spec_prob): New static variable. 12575169689Skan (schedule_insns): Initialize it. 12576169689Skan (GET_SRC_PROB): Removed. 12577169689Skan * doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob. 12578169689Skan 12579169689Skan2006-02-07 Alexandre Oliva <aoliva@redhat.com> 12580169689Skan 12581169689Skan PR debug/24444 12582169689Skan * config/ia64/unwind-ia64.c: Revert last change. 12583169689Skan * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed. 12584169689Skan (INCOMING_FRAME_SP_OFFSET): Define. 12585169689Skan 12586169689Skan2006-02-06 Roger Sayle <roger@eyesopen.com> 12587169689Skan 12588169689Skan * config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE. 12589169689Skan 12590169689Skan2006-02-07 Ben Elliston <bje@au.ibm.com> 12591169689Skan 12592169689Skan * config/i386/i386.c (ix86_scalar_mode_supported_p): New. 12593169689Skan (TARGET_SCALAR_MODE_SUPPORTED_P): Define hook. 12594169689Skan (classify_argument): Handle SDmode, DDmode, TDmode for 64-bit. 12595169689Skan (ix86_return_in_memory): Handle TDmode. 12596169689Skan (ix86_libcall_value): Handle SDmode, DDmode, TDmode. 12597169689Skan (ix86_value_regno): Return non-TDmode decimal float modes in %eax. 12598169689Skan 12599169689Skan2006-02-06 Richard Sandiford <richard@codesourcery.com> 12600169689Skan 12601169689Skan * reorg.c (dbr_schedule): Use dump_file instead of file. 12602169689Skan 12603169689Skan2006-02-06 Steve Ellcey <sje@cup.hp.com> 12604169689Skan 12605169689Skan PR target/25917 12606169689Skan * config/ia64/predicates.md (extr_len_operand): New predicate. 12607169689Skan * config/ia64/ia64.md (extv): Tighten constraints. 12608169689Skan (extzv): Ditto. 12609169689Skan (*tbit_and_2): Ditto. 12610169689Skan (*tbit_and_3): Ditto. 12611169689Skan (*tbit_or_2): Ditto. 12612169689Skan (*tbit_or_3): Ditto. 12613169689Skan (*bit_zero): Ditto. 12614169689Skan (*bit_one): Ditto. 12615169689Skan 12616169689Skan2006-02-06 Andrew Pinski <pinskia@physics.uc.edu> 12617169689Skan 12618169689Skan PR target/23359 12619169689Skan * config/i386/i386.md (trap): Use ASM_SHORT instead of .word. 12620169689Skan 12621169689Skan2006-02-06 Zdenek Dvorak <dvorakz@suse.cz> 12622169689Skan 12623169689Skan * tree-vrp.c (execute_vrp): Do not pass dump argument to. 12624169689Skan loop_optimizer_init and loop_optimizer_finalize 12625169689Skan * tree-ssa-sink.c (execute_sink_code): Ditto. 12626169689Skan * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. 12627169689Skan * tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init, 12628169689Skan tree_ssa_loop_done): Ditto. 12629169689Skan * tree-ssa-pre.c (init_pre, fini_pre): Ditto. 12630169689Skan * sched-ebb.c: Include output.h. 12631169689Skan (schedule_ebbs): Do not use dump argument. 12632169689Skan * value-prof.h (struct profile_hooks): Remove profile_dump_file. 12633169689Skan * loop.c (loop_dump_stream): Removed. 12634169689Skan (loop_optimize, rest_of_handle_loop_optimize): Do not use dump 12635169689Skan argument. 12636169689Skan (scan_loop, move_movables, find_and_verify_loops, mark_loop_jump, 12637169689Skan emit_prefetch_instructions, loop_bivs_find, loop_bivs_check, 12638169689Skan final_biv_value, loop_biv_eliminable_p, loop_givs_rescan, 12639169689Skan loop_iterations, strength_reduce, record_biv, record_giv, 12640169689Skan final_giv_value, check_final_value, check_ext_dependent_givs, 12641169689Skan combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems, 12642169689Skan try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use 12643169689Skan dump_file instead of loop_dump_stream. 12644169689Skan * ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call 12645169689Skan argument dump_file. 12646169689Skan * reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use 12647169689Skan dump argument. 12648169689Skan * flow.c (life_analysis, rest_of_handle_life): Ditto. 12649169689Skan * haifa-sched.c: Include output.h 12650169689Skan (schedule_insns, sched_init): Do not use dump argument. 12651169689Skan * mode-switching.c (optimize_mode_switching): Ditto. 12652169689Skan * modulo-sched.c (stats_file): Removed. 12653169689Skan (print_node_sched_params): Do not call argument dump_file. 12654169689Skan (sms_schedule_by_order, loop_canon_p, sms_schedule, 12655169689Skan rest_of_handle_sms): Do not use dump argument. Use dump_file instead 12656169689Skan of stats_file. 12657169689Skan * cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not 12658169689Skan use dump argument. 12659169689Skan * loop-init.c (loop_optimizer_init, loop_optimizer_finalize, 12660169689Skan rtl_loop_init, rtl_loop_done): Ditto. 12661169689Skan * global.c (global_alloc, rest_of_handle_global_alloc): Ditto. 12662169689Skan * predict.c (combine_predictions_for_bb, tree_estimate_probability): 12663169689Skan Ditto. 12664169689Skan * recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto. 12665169689Skan * lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto. 12666169689Skan * regmove.c (fixup_match_1, fixup_match_2, regmove_optimize, 12667169689Skan rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto. 12668169689Skan * emit-rtl.c (renumber_insns): Ditto. 12669169689Skan * cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr, 12670169689Skan expand_gimple_basic_block, tree_expand_cfg): Ditto. 12671169689Skan * regclass.c (regclass): Ditto. 12672169689Skan * tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts, 12673169689Skan remove_ssa_form, rewrite_out_of_ssa): Ditto. 12674169689Skan * reg-stack.c (compensate_edge, compensate_edges, convert_regs_1, 12675169689Skan convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs): 12676169689Skan Ditto. 12677169689Skan * sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto. 12678169689Skan * local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file 12679169689Skan to regclass. 12680169689Skan * gcse.c (gcse_file, debug_stderr): Removed. 12681169689Skan (gcse_main, bypass_jumps, rest_of_handle_jump_bypass, 12682169689Skan rest_of_handle_gcse): Do not use dump argument. 12683169689Skan (cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets, 12684169689Skan one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb, 12685169689Skan pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass, 12686169689Skan compute_code_hoist_vbeinout, compute_code_hoist_data, 12687169689Skan one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores, 12688169689Skan compute_store_table, build_store_vectors, insert_insn_start_bb, 12689169689Skan insert_store, remove_reachable_equiv_notes, replace_store_insn, 12690169689Skan store_motion): Use dump_file instead of gcse_file. 12691169689Skan * ipa-type-escape.c (type_escape_execute): Remove debugging comments. 12692169689Skan * profile.c (profile_dump_file): Removed. 12693169689Skan (branch_prob): Use dump_file instead of profile_dump_file. 12694169689Skan * ipa.c (cgraph_remove_unreachable_nodes): Do not call argument 12695169689Skan dump_file. 12696169689Skan * tree-ssa-copy.c (dump_copy_of): Ditto. 12697169689Skan * rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass 12698169689Skan dump file to life_analysis. 12699169689Skan * bt-load.c (branch_target_load_optimize): Ditto. 12700169689Skan * cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to 12701169689Skan renumber_insns. 12702169689Skan * rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs, 12703169689Skan regclass, dbr_schedule): Declaration changed. 12704169689Skan * sched-int.h (sched_init): Declaration changed. 12705169689Skan * tree-profile.c (tree_profile_dump_file): Removed. 12706169689Skan (tree_profile_hooks): Removed profile_dump_file hook. 12707169689Skan * rtl-profile (rtl_profile_dump_file): Removed. 12708169689Skan (rtl_profile_hooks): emoved profile_dump_file hook. 12709169689Skan * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration 12710169689Skan changed. 12711169689Skan * c-gimplify.c (c_genericize): Do not call local variable dump_file. 12712169689Skan * tree-cfg.c (build_tree_cfg): Ditto. 12713169689Skan * Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency. 12714169689Skan * basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm): 12715169689Skan Declaration changed. 12716169689Skan * config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to 12717169689Skan life_analysis and schedule_insns. 12718169689Skan * config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to 12719169689Skan life_analysis. 12720169689Skan * config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to 12721169689Skan dbr_schedule. 12722169689Skan * config/mips/mips.c (mips_reorg): Ditto. 12723169689Skan * config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to 12724169689Skan schedule_ebbs. 12725169689Skan 12726169689Skan2006-02-06 Aldy Hernandez <aldyh@redhat.com> 12727169689Skan 12728169689Skan * config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. 12729169689Skan (s390_mangle_fundamental_type): New. 12730169689Skan * config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): 12731169689Skan Define. 12732169689Skan 12733169689Skan * config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. 12734169689Skan (alpha_mangle_fundamental_type): New. 12735169689Skan * config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): 12736169689Skan Define. 12737169689Skan 12738169689Skan * config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): 12739169689Skan Define. 12740169689Skan * config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING): 12741169689Skan Define. 12742169689Skan * config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define. 12743169689Skan (sparc_mangle_fundamental_type): New. 12744169689Skan 12745169689Skan2006-02-06 Jakub Jelinek <jakub@redhat.com> 12746169689Skan 12747169689Skan * config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file. 12748169689Skan (s390x-*-linux*): Likewise. 12749169689Skan * config/s390/t-linux64 (SHLIB_MAPFILES): Removed. 12750169689Skan * config/s390/t-linux: New file. 12751169689Skan 12752169689Skan2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> 12753169689Skan 12754169689Skan * config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>, 12755169689Skan sync_and<mode>, sync_xor<mode>): Operand 0 is in-out. 12756169689Skan 12757169689Skan2006-02-06 Daniel Berlin <dberlin@dberlin.org> 12758169689Skan 12759169689Skan * tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads. 12760169689Skan (ANTIC_SAFE_LOADS): New macro. 12761169689Skan (find_or_generate_expression): Add prototype. 12762169689Skan (set_contains_value): Allow null set for sake of not always having 12763169689Skan to allocate ANTIC_SAFE_LOADS. 12764169689Skan (phi_translate): Move placement of AGGREGATE_TYPE_P check. 12765169689Skan Allow COMPONENT_REF too. 12766169689Skan (valid_in_set): Allow COMPONENT_REF. 12767169689Skan Check ANTIC_SAFE_LOADS too. 12768169689Skan (compute_antic_aux): Print out ANTIC_SAFE_LOADS. 12769169689Skan (compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and 12770169689Skan rename. 12771169689Skan (can_PRE_operation): Add COMPONENT_REF. 12772169689Skan (create_component_ref_by_pieces): New function. 12773169689Skan (create_expression_by_pieces): Use create_component_ref_by_pieces. 12774169689Skan (insert_aux): Move AGGREGATE_TYPE_P check here. 12775169689Skan (compute_avail): Set bb local stmt uids. 12776169689Skan (pass_pre): Use TODO_update_ssa_only_virtuals. 12777169689Skan 12778169689Skan2006-02-06 Ben Elliston <bje@au.ibm.com> 12779169689Skan 12780169689Skan * configure.ac: Unconditionally disable decimal float by default. 12781169689Skan * configure: Regenerate. 12782169689Skan 12783169689Skan2006-02-06 Ben Elliston <bje@au.ibm.com> 12784169689Skan 12785169689Skan * read-rtl.c (read_name): Terminate reading on EOF. 12786169689Skan 12787169689Skan2006-02-06 Ben Elliston <bje@au.ibm.com> 12788169689Skan 12789169689Skan * dfp.c (decimal_real_arithmetic): Change second argument type 12790169689Skan from int to enum tree_code. Do not always return true, but now 12791169689Skan return result of any call to decimal_do helper functions. 12792169689Skan * dfp.h (decimal_real_arithmetic): Update prototype. 12793169689Skan 12794169689Skan2006-02-05 Eric Botcazou <ebotcazou@libertysurf.fr> 12795169689Skan 12796169689Skan * config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID. 12797169689Skan 12798169689Skan2006-02-05 Andrew Pinski <pinskia@physics.uc.edu> 12799169689Skan 12800169689Skan PR tree-opt/25251 12801169689Skan * tree-cfg.c (cleanup_dead_labels): Also don't remove 12802169689Skan forced labels. 12803169689Skan 12804169689Skan2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> 12805169689Skan 12806169689Skan * tree-vrp.c (cfg_loops): Removed. 12807169689Skan (adjust_range_with_scev, vrp_visit_assignment, execute_vrp): 12808169689Skan Use current_loops instead of cfg_loops. Pass flags to 12809169689Skan loop_optimizer_init. 12810169689Skan * cfgloopmanip.c (fix_loop_structure): Update only available 12811169689Skan information. 12812169689Skan * tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to 12813169689Skan loop_optimizer_init. 12814169689Skan * modulo-sched.c (build_loops_structure): Removed. 12815169689Skan (sms_schedule): Use loop_optimizer_init. 12816169689Skan * loop-init.c (loop_optimizer_init): Use flags to determine 12817169689Skan which properties of loops to prepare. 12818169689Skan (rtl_loop_init): Pass flags to loop_optimizer_init. 12819169689Skan * tree-ssa-sink.c (execute_sink_code): Ditto. 12820169689Skan * tree-ssa-loop.c (tree_loop_optimizer_init): Ditto. 12821169689Skan * tree-ssa-pre.c (init_pre): Ditto. 12822169689Skan * cfgloop.h (LOOPS_NORMAL): New. 12823169689Skan (loop_optimizer_init): Declaration changed. 12824169689Skan 12825169689Skan2006-02-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12826169689Skan 12827169689Skan * pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files. 12828169689Skan * config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of 12829169689Skan pa/t-pa. 12830169689Skan * config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of 12831169689Skan pa/t-pa. 12832169689Skan * config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of 12833169689Skan pa/x-ada. 12834169689Skan * pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules. 12835169689Skan * pa/t-pa64: Delete quadlib.c rule. 12836169689Skan * pa/x-ada: Revert last change. 12837169689Skan * pa/t-pa: Revert last change. Delete quadlib.c rule. 12838169689Skan 12839169689Skan2006-02-04 Zdenek Dvorak <dvorakz@suse.cz> 12840169689Skan 12841169689Skan PR rtl-optimization/26087 12842169689Skan * rtlanal.c (canonicalize_condition): Do not cross basic block 12843169689Skan boundaries. 12844169689Skan 12845169689Skan2006-02-04 Alexandre Oliva <aoliva@redhat.com> 12846169689Skan 12847169689Skan PR debug/24444 12848169689Skan * config/ia64/ia64.c: Include debug.h. 12849169689Skan (MAX_ARTIFICIAL_LABEL_BYTES): New. 12850169689Skan (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New. 12851169689Skan (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0. 12852169689Skan (process_epilogue, process_set, process_for_unwind_directive): 12853169689Skan Output unwind info only if requested. Add CFA info if requested. 12854169689Skan Add new arguments as needed. Adjust callers. 12855169689Skan * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override 12856169689Skan incorrect default. 12857169689Skan (DWARF2_FRAME_INFO): Define to zero. 12858169689Skan * config/ia64/unwind-ia64.c: Remove code that compensated for 12859169689Skan the CFA offset error fixed above. 12860169689Skan * config/ia64/t-ia64 (ia64.o): Depend on debug.h. 12861169689Skan * dwarf2out.c (DWARF2_FRAME_INFO): Define default. 12862169689Skan (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for 12863169689Skan -funwind-tables and -fexceptions to enable frame info. 12864169689Skan (dwarf2out_frame_init): Define initial CFA even if 12865169689Skan DWARF2_UNWIND_INFO is disabled. Call initial_return_save if 12866169689Skan DWARF2_UNWIND_INFO is nonzero, not just defined. 12867169689Skan (dwarf2out_frame_finish): Output non-EH call frame info only 12868169689Skan if DWARF2_FRAME_INFO is nonzero. 12869169689Skan (convert_cfa_to_loc_list, 12870169689Skan compute_frame_pointer_to_cfa_displacement): Define even if 12871169689Skan unwind info is not supported. 12872169689Skan (gen_subprogram_die): Use the above unconditionally. Remove 12873169689Skan legacy alternate code. 12874169689Skan * toplev.c (compile_file): Compile in call to 12875169689Skan dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined. 12876169689Skan (lang_dependent_init): Ditto for dwarf2out_frame_init. 12877169689Skan 12878169689Skan2006-02-04 David Edelsohn <edelsohn@gnu.org> 12879169689Skan Jakub Jelinek <jakub@redhat.com> 12880169689Skan 12881169689Skan * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle 12882169689Skan IBM extended float format long double as "g" on powerpc*-linux. 12883169689Skan 12884169689Skan2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 12885169689Skan 12886169689Skan PR target/25926 12887169689Skan * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10. 12888169689Skan * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10. 12889169689Skan 12890169689Skan2006-02-03 Jason Merrill <jason@redhat.com> 12891169689Skan 12892169689Skan PR c++/25979 12893169689Skan * gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now. 12894169689Skan 12895169689Skan PR middle-end/25977 12896169689Skan * gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO 12897169689Skan on the return slot if it's an NRV. 12898169689Skan 12899169689Skan2006-02-03 Zdenek Dvorak <dvorakz@suse.cz> 12900169689Skan 12901169689Skan * tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER. 12902169689Skan (dump_use, add_derived_ivs_candidates, determine_use_iv_cost, 12903169689Skan rewrite_use): Do not handle USE_OUTER. 12904169689Skan (find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer, 12905169689Skan add_iv_outer_candidates, may_replace_final_value, 12906169689Skan determine_use_iv_cost_outer, rewrite_use_outer): Removed. 12907169689Skan (find_interesting_uses_op): Functionality of 12908169689Skan find_interesting_uses_outer_or_nonlin moved here. 12909169689Skan (find_interesting_uses_outside): Use find_interesting_uses_op. 12910169689Skan 12911169689Skan2006-02-03 Alan Modra <amodra@bigpond.net.au> 12912169689Skan 12913169689Skan PR target/25960 12914169689Skan * config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result. 12915169689Skan 12916169689Skan2006-02-03 Andreas Krebbel <krebbel1@de.ibm.com> 12917169689Skan Ulrich Weigand <uweigand@de.ibm.com> 12918169689Skan 12919169689Skan PR target/25864 12920169689Skan * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf", 12921169689Skan "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations. 12922169689Skan * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions. 12923169689Skan * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr 12924169689Skan and dxr fields. 12925169689Skan (z900_cost, z990_cost, z9_109_cost): Values for the new fields added. 12926169689Skan (s390_rtx_costs): Use the new fields to calculate rtx costs. 12927169689Skan (s390_secondary_input_reload_class, s390_secondary_output_reload_class): 12928169689Skan Define secondary reloads for TFmode moves. 12929169689Skan (constant_modes): Add TFmode. 12930169689Skan (NR_C_MODES): Set to 8. 12931169689Skan * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__ 12932169689Skan builtin define. 12933169689Skan (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64. 12934169689Skan (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define. 12935169689Skan (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, 12936169689Skan CANNOT_CHANGE_MODE_CLASS): Consider TFmode. 12937169689Skan * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, 12938169689Skan fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values. 12939169689Skan (FPR mode macro): Add TFmode. 12940169689Skan (DSF mode macro): New. 12941169689Skan (<de>, <dee> mode attributes): Removed. 12942169689Skan (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New. 12943169689Skan ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", 12944169689Skan "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", 12945169689Skan "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", 12946169689Skan "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", 12947169689Skan "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", 12948169689Skan "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>", 12949169689Skan "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", 12950169689Skan "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", 12951169689Skan "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2", 12952169689Skan "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", 12953169689Skan "*negabs<mode>2", "sqrt<mode>2"): 12954169689Skan Changed <de> to <xde>. R constraint replaced by <Rf>. 12955169689Skan ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by 12956169689Skan <Rf>. 12957169689Skan ("fix_trunc<FPR:mode>di2"): 'FPR:' removed. 12958169689Skan ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF. 12959169689Skan ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 12960169689Skan splitters. 12961169689Skan ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", 12962169689Skan "extenddftf2", "extendsftf2"): New expanders. 12963169689Skan ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", 12964169689Skan "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm", 12965169689Skan "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns. 12966169689Skan * config/s390/s390.opt (mlong-double-128, mlong-double-64): 12967169689Skan New options. 12968169689Skan * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined. 12969169689Skan * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, 12970169689Skan __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi, 12971169689Skan __floatditf): Add a GCC_4.1.0 symbol version tag. 12972169689Skan * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document 12973169689Skan the new options. 12974169689Skan 12975169689Skan2006-02-02 Andrew Pinski <pinskia@physics.uc.edu> 12976169689Skan 12977169689Skan PR target/25377 12978169689Skan * config/i386/i386.c (ix86_function_ok_for_sibcall): 12979169689Skan Use targetm.binds_local_p instead of TREE_PUBLIC. 12980169689Skan 12981169689Skan2006-02-02 Roger Sayle <roger@eyesopen.com> 12982169689Skan 12983169689Skan * tree.h (TYPE_STRING_FLAG): Document that this field may be used 12984169689Skan on INTEGER_TYPEs to indicate that it denotes a character type. 12985169689Skan * tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on 12986169689Skan signed_char_type_node, unsigned_char_type_node and char_type_node. 12987169689Skan * dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to 12988169689Skan INTEGER_TYPE. Use TYPE_STRING_FLAG to decide whether to emit 12989169689Skan a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed. 12990169689Skan 12991169689Skan2006-02-02 Zdenek Dvorak <dvorakz@suse.cz> 12992169689Skan Daniel Berlin <dberlin@dberlin.org> 12993169689Skan 12994169689Skan * tree-tailcall.c (arg_needs_copy_p): New function. 12995169689Skan (eliminate_tail_call): Use arg_needs_copy_p. 12996169689Skan (tree_optimize_tail_calls_1): Ditto. Also call add_virtual_phis. 12997169689Skan (add_virtual_phis): New function. 12998169689Skan 12999169689Skan2006-02-02 Jakub Jelinek <jakub@redhat.com> 13000169689Skan 13001169689Skan * config/sparc/sparc.c (sparc_output_scratch_registers): Use 13002169689Skan #ignore instead of #scratch for %g7 .register directive. 13003169689Skan 13004169689Skan2006-02-02 Andreas Tobler <a.tobler@schweiz.ch> 13005169689Skan 13006169689Skan * config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate 13007169689Skan object files. 13008169689Skan 13009169689Skan2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com> 13010169689Skan 13011169689Skan * flow.c (calculate_global_regs_live): Assert that there aren't any 13012169689Skan EDGE_FAKE edges. 13013169689Skan 13014169689Skan2006-02-02 Paolo Bonzini <bonzini@gnu.org> 13015169689Skan 13016169689Skan * tree-flow-inline.h (bsi_after_labels): Rewrite, return 13017169689Skan what its name says. 13018169689Skan * lambda-code.c (perfect_nestify): Use bsi_insert_before on 13019169689Skan bsi_after_labels iterator. 13020169689Skan * tree-if-conv.c (find_phi_replacement_condition, 13021169689Skan replace_phi_with_cond_modify_expr): Likewise. 13022169689Skan * tree-scalar-evolution.c (scev_const_prop): Likewise. 13023169689Skan * tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Likewise. 13024169689Skan 13025169689Skan2006-02-02 Diego Novillo <dnovillo@redhat.com> 13026169689Skan 13027169689Skan * tree-inline.c (copy_tree_r): Also copy OMP_CLAUSE nodes. 13028169689Skan 13029169689Skan2006-02-02 Diego Novillo <dnovillo@redhat.com> 13030169689Skan 13031169689Skan PR 25990 13032169689Skan * tree-cfg.c (move_block_to_fn): Clear out the basic block 13033169689Skan array after growing it. 13034169689Skan 13035169689Skan2006-02-01 Steve Ellcey <sje@cup.hp.com> 13036169689Skan 13037169689Skan PR middle-end/24901 13038169689Skan * fold-const.c (fold_checksum_tree): Change type of buf. 13039169689Skan 13040169689Skan2006-02-01 Bernd Schmidt <bernd.schmidt@analog.com> 13041169689Skan 13042169689Skan * reload.c (push_secondary_reload): Initialize t_icode. 13043169689Skan 13044169689Skan2006-02-01 Jakub Jelinek <jakub@redhat.com> 13045169689Skan 13046169689Skan * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For 13047169689Skan -msoft-float -mlong-double-128 only issue a warning, but don't 13048169689Skan swich to DFmode long double. 13049169689Skan 13050169689Skan2006-02-01 Hans-Peter Nilsson <hp@axis.com> 13051169689Skan 13052169689Skan * cse.c (fold_rtx) <case RTX_COMM_COMPARE, RTX_COMPARE>: When arg1 13053169689Skan has a constant equivalent, iterate over equivalents for arg0, 13054169689Skan calling simplify_relational_operation and if there's a result 13055169689Skan cheaper than X, apply fold_rtx and return the result. 13056169689Skan 13057169689Skan2006-02-01 Jan Hubicka <jh@suse.cz> 13058169689Skan 13059169689Skan * opts.c (no_unit_at_a_time_default): New global variable. 13060169689Skan (decode_options): Use it. 13061169689Skan * opts.h (no_unit_at_a_time_default): Declare. 13062169689Skan 13063169689Skan2006-02-01 Paul Brook <paul@codesourcery.com> 13064169689Skan 13065169689Skan * function.c (assign_parm_setup_reg): Use function argument promotion 13066169689Skan rules. 13067169689Skan * expr.c (expand_expr_real_1): Use function argument promotion rules 13068169689Skan for PARM_DECLs. 13069169689Skan 13070169689Skan2006-02-01 Steve Ellcey <sje@cup.hp.com> 13071169689Skan 13072169689Skan * gcc.c (process_command): Change j to 'unsigned int'. 13073169689Skan 13074169689Skan2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> 13075169689Skan 13076169689Skan PR middle-end/26001 13077169689Skan * expr.c (expand_expr_real_1) <case ARRAY_REF>: 13078169689Skan Use the corrected index for the character 13079169689Skan out of the string constant. 13080169689Skan 13081169689Skan2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> 13082169689Skan 13083169689Skan * mode-switching.c (optimize_mode_switching): Fix size 13084169689Skan allocated for bb_info[n_entities]. 13085169689Skan 13086169689Skan2006-01-31 Andrew Pinski <pinskia@physics.uc.edu> 13087169689Skan 13088169689Skan * gcc.c (main): Correct type that is allocated for 13089169689Skan explicit_link_files. 13090169689Skan 13091169689Skan2006-01-31 Jakub Jelinek <jakub@redhat.com> 13092169689Skan 13093169689Skan * config/s390/s390.c (init_alignment_context): Set 13094169689Skan ALIAS_SET_MEMORY_BARRIER on the MEM. 13095169689Skan * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Likewise. 13096169689Skan 13097169689Skan2006-01-31 Uttam Pawar <uttamp@us.ibm.com> 13098169689Skan 13099169689Skan PR middle-end/25933 13100169689Skan * loop-unroll.c (unroll_loop_runtime_iterations): Free 13101169689Skan dom_bbs pointer. 13102169689Skan * tree-ssa-live.c (type_var_init): Allocate bitmap after 13103169689Skan call to tpa_init. 13104169689Skan 13105169689Skan2006-01-31 Marcin Dalecki <martin@dalecki.de> 13106169689Skan 13107169689Skan * tree-vrp.c: Use XNEW/XCNEW allocation wrappers. 13108169689Skan * regrename.c: Ditto. 13109169689Skan * tree-ssa-loop-im.c: Ditto. 13110169689Skan * tree-dump.c: Ditto. 13111169689Skan * tree-complex.c: Ditto. 13112169689Skan * genrecog.c: Ditto. 13113169689Skan * tree-ssa-threadupdate.c: Ditto. 13114169689Skan * tracer.c: Ditto. 13115169689Skan * java/class.c: Ditto. 13116169689Skan * java/jcf-parse.c: Ditto. 13117169689Skan * java/resource.c: Ditto. 13118169689Skan * java/except.c: Ditto. 13119169689Skan * java/jvspec.c: Ditto. 13120169689Skan * java/jcf-write.c: Ditto. 13121169689Skan * java/jcf-path.c: Ditto. 13122169689Skan * java/gjavah.c: Ditto. 13123169689Skan * java/zextract.c: Ditto. 13124169689Skan * java/jcf-io.c: Ditto. 13125169689Skan * java/jcf.h: Ditto. 13126169689Skan * java/buffer.c: Ditto. 13127169689Skan * java/lang.c: Ditto. 13128169689Skan * java/parse-scan.y: Ditto. 13129169689Skan * java/lex.c: Ditto. 13130169689Skan * java/lex.h: Ditto. 13131169689Skan * cfgloopmanip.c: Ditto. 13132169689Skan * postreload-gcse.c: Ditto. 13133169689Skan * tree-ssa-loop-manip.c: Ditto. 13134169689Skan * postreload.c: Ditto. 13135169689Skan * tree-ssa-loop-ch.c: Ditto. 13136169689Skan * loop.c: Ditto. 13137169689Skan * ipa-cp.c: Ditto. 13138169689Skan * cppspec.c: Ditto. 13139169689Skan * diagnostic.c: Ditto. 13140169689Skan * final.c: Ditto. 13141169689Skan * genoutput.c: Ditto. 13142169689Skan * gcc.c: Ditto. 13143169689Skan * cfghooks.c: Ditto. 13144169689Skan * cfgloopanal.c: Ditto. 13145169689Skan * objc/objc-act.c: Ditto. 13146169689Skan * gcov.c: Ditto. 13147169689Skan * genextract.c: Ditto. 13148169689Skan * genautomata.c: Ditto. 13149169689Skan * pretty-print.c: Ditto. 13150169689Skan * genemit.c: Ditto. 13151169689Skan * cgraphunit.c: Ditto. 13152169689Skan * flow.c: Ditto. 13153169689Skan * df-scan.c: Ditto. 13154169689Skan * haifa-sched.c: Ditto. 13155169689Skan * dominance.c: Ditto. 13156169689Skan * dbxout.c: Ditto. 13157169689Skan * tree-ssa-loop-ivopts.c: Ditto. 13158169689Skan * df-core.c: Ditto. 13159169689Skan * mode-switching.c: Ditto. 13160169689Skan * modulo-sched.c: Ditto. 13161169689Skan * graph.c: Ditto. 13162169689Skan * ipa-pure-const.c: Ditto. 13163169689Skan * cse.c: Ditto. 13164169689Skan * fix-header.c: Ditto. 13165169689Skan * web.c: Ditto. 13166169689Skan * tree-stdarg.c: Ditto. 13167169689Skan * ipa-utils.c: Ditto. 13168169689Skan * loop-init.c: Ditto. 13169169689Skan * ipa-inline.c: Ditto. 13170169689Skan * cfganal.c: Ditto. 13171169689Skan * global.c: Ditto. 13172169689Skan * alloc-pool.c: Ditto. 13173169689Skan * dwarf2out.c: Ditto. 13174169689Skan * opts.c: Ditto. 13175169689Skan * genattrtab.c: Ditto. 13176169689Skan * tree-ssa-loop-ivcanon.c: Ditto. 13177169689Skan * predict.c: Ditto. 13178169689Skan * timevar.c: Ditto. 13179169689Skan * lcm.c: Ditto. 13180169689Skan * fortran/gfortranspec.c: Ditto. 13181169689Skan * regmove.c: Ditto. 13182169689Skan * local-alloc.c: Ditto. 13183169689Skan * langhooks.c: Ditto. 13184169689Skan * function.c: Ditto. 13185169689Skan * tree-vectorizer.c: Ditto. 13186169689Skan * gcse.c: Ditto. 13187169689Skan * ipa-type-escape.c: Ditto. 13188169689Skan * alias.c: Ditto. 13189169689Skan * tree-if-conv.c: Ditto. 13190169689Skan * profile.c: Ditto. 13191169689Skan * ipa.c: Ditto. 13192169689Skan * tree-data-ref.c: Ditto. 13193169689Skan * loop-unroll.c: Ditto. 13194169689Skan * treelang/treetree.c: Ditto. 13195169689Skan * calls.c: Ditto. 13196169689Skan * bt-load.c: Ditto. 13197169689Skan * ggc-common.c: Ditto. 13198169689Skan * except.c: Ditto. 13199169689Skan * coverage.c: Ditto. 13200169689Skan * cselib.c: Ditto. 13201169689Skan * tree-cfgcleanup.c: Ditto. 13202169689Skan * tree-ssa-pre.c: Ditto. 13203169689Skan * cfgcleanup.c: Ditto. 13204169689Skan * loop-invariant.c: Ditto. 13205169689Skan * loop-iv.c: Ditto. 13206169689Skan * ipa-prop.c: Ditto. 13207169689Skan * print-tree.c: Ditto. 13208169689Skan * conflict.c: Ditto. 13209169689Skan * ggc-page.c: Ditto. 13210169689Skan * sched-deps.c: Ditto. 13211169689Skan * regclass.c: Ditto. 13212169689Skan * tree-object-size.c: Ditto. 13213169689Skan * combine.c: Ditto. 13214169689Skan * bb-reorder.c: Ditto. 13215169689Skan * resource.c: Ditto. 13216169689Skan * var-tracking.c: Ditto. 13217169689Skan * cfgloop.c: Ditto. 13218169689Skan * df-problems.c: Ditto. 13219169689Skan * reg-stack.c: Ditto. 13220169689Skan * tlink.c: Ditto. 13221169689Skan * gccspec.c: Ditto. 13222169689Skan * sched-rgn.c: Ditto. 13223169689Skan * tree-ssa-structalias.c: Ditto. 13224169689Skan * tree-ssa-reassoc.c: Ditto. 13225169689Skan * config/darwin-c.c: Ditto. 13226169689Skan * config/darwin.c: Ditto. 13227169689Skan * config/arm/arm.c: Ditto. 13228169689Skan * cfgrtl.c: Ditto. 13229169689Skan * collect2.c: Ditto. 13230169689Skan * reload1.c: Ditto. 13231169689Skan 13232169689Skan2006-01-31 Nicolas Pitre <nico@cam.org> 13233169689Skan 13234169689Skan * arm.md (smaxsi3): Make aware of smax_m1. 13235169689Skan (smax_m1): New. 13236169689Skan 13237169689Skan2006-01-31 Nathan Sidwell <nathan@codesourcery.com> 13238169689Skan 13239169689Skan * config/m68k/lb1sf68.asm: Use moveq to load small constants. 13240169689Skan 13241169689Skan2006-01-31 Richard Guenther <rguenther@suse.de> 13242169689Skan 13243169689Skan * doc/invoke.texi (-msselibm): Document. 13244169689Skan * target.h (expand_library_builtin): New target hook. 13245169689Skan * builtins.c (expand_builtin): Use expand_library_builtin. 13246169689Skan (default_expand_library_builtin): New function. 13247169689Skan * gcc.c (LINK_GCC_MATH_SPEC): Define. 13248169689Skan (LINK_COMMAND_SPEC): Handle %(link_gcc_math). 13249169689Skan (link_gcc_math_spec): Declare. 13250169689Skan (static_specs): Add link_gcc_math_spec. 13251169689Skan * expr.h (default_expand_library_builtin): Declare. 13252169689Skan * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. 13253169689Skan (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. 13254169689Skan * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. 13255169689Skan * config/i386/i386.opt (msselibm): New target option. 13256169689Skan * config/i386/i386.c (ix86_builtin_function_variants): New array. 13257169689Skan (ix86_init_sse_abi_builtins): New function. 13258169689Skan (ix86_expand_library_builtin): Likewise. 13259169689Skan (TARGET_EXPAND_LIBRARY_BUILTIN): Define. 13260169689Skan (override_options): Handle error conditions wrt -msselibm. 13261169689Skan (ix86_builtins): Add function codes for SSE2 ABI builtins. 13262169689Skan (ix86_init_builtins): Call ix86_init_sse_abi_builtins. 13263169689Skan * doc/extend.texi (__builtin_sse2_*): Document new target specific 13264169689Skan builtins. 13265169689Skan 13266169689Skan2006-01-31 Richard Guenther <rguenther@suse.de> 13267169689Skan Paolo Bonzini <bonzini@gnu.org> 13268169689Skan 13269169689Skan * doc/install.texi (--disable-libgcc-math): Document. 13270169689Skan 13271169689Skan2006-01-30 Marcin Dalecki <martin@dalecki.de> 13272169689Skan 13273169689Skan * expr.h (expand_normal): new inline function. 13274169689Skan * builtins.c: use it, use EXPAND_NORMAL explicitely. 13275169689Skan * dojump.c: use it. 13276169689Skan * dwarf2out.c: use it. 13277169689Skan * expr.c: use it. 13278169689Skan * calls.c: use it. 13279169689Skan * expmed.c: use it. 13280169689Skan * except.c: use it. 13281169689Skan * config/sparc/sparc.c: use it. 13282169689Skan * config/i386/i386.c: use it. 13283169689Skan * config/rs6000/rs6000.c: use it. 13284169689Skan * config/arm/arm.c: use it. 13285169689Skan * config/mips/mips.c: use it. 13286169689Skan * stmt.c: use it, use EXPAND_NORMAL explicitely. 13287169689Skan 13288169689Skan2006-01-30 Roger Sayle <roger@eyesopen.com> 13289169689Skan 13290169689Skan * config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast 13291169689Skan argv to the appropriate type. 13292169689Skan 13293169689Skan2006-01-30 Zdenek Dvorak <dvorakz@suse.cz> 13294169689Skan 13295169689Skan * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove 13296169689Skan unreachable code. 13297169689Skan 13298169689Skan2006-01-30 Ulrich Weigand <uweigand@de.ibm.com> 13299169689Skan 13300169689Skan PR target/26018 13301169689Skan * config/s390/s390.c (struct machine_function): New flag 13302169689Skan decomposed_literal_pool_addresses_ok_p. 13303169689Skan (s390_reorg): Set it before final stage of literal pool transforms. 13304169689Skan (s390_decompose_address): Only accept displacements of the form 13305169689Skan (minus (label_ref ...) (label_ref ...)) if that flag is set. 13306169689Skan 13307169689Skan2006-01-30 Carlos O'Donell <carlos@codesourcery.com> 13308169689Skan 13309169689Skan * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias 13310169689Skan the comparison routine return. 13311169689Skan 13312169689Skan2006-01-30 Michael Matz <matz@suse.de> 13313169689Skan 13314169689Skan * global.c (find_reg): Only evict for global regs. 13315169689Skan Take n_refs into account and dump more info. 13316169689Skan 13317169689Skan2006-01-30 J"orn Rennecke <joern.rennecke@st.com> 13318169689Skan 13319169689Skan PR target/14798: 13320169689Skan * sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable. 13321169689Skan (pragma_trap, pragma_nosave_low_regs): Likewise. 13322169689Skan (current_function_anonymous_args): Likewise. 13323169689Skan (sh_deferred_function_attributes): New variable. 13324169689Skan (sh_deferred_function_attributes_tail): Likewise. 13325169689Skan (print_operand): For '@', look up trap_exit attribute. 13326169689Skan (calc_live_regs): Look up trapa_handler attribute. For trapa 13327169689Skan handlers, save/restore fpscr, but don't do any other 13328169689Skan interrupt-specific saves. 13329169689Skan Don't save r0..r7 if the nosave_low_regs attribute is in effect. 13330169689Skan Fix check for partially saved registers to check for SHmedia. 13331169689Skan (sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute. 13332169689Skan (sh_output_function_epilogue): Don't clear any of the removed 13333169689Skan variables. 13334169689Skan (sh_insert_attributes): Don't check pragma_interrupt. 13335169689Skan Insert deferred attributes. Check that interrupt attribute is 13336169689Skan present for other attributes that require its presence. 13337169689Skan (sh_attribute_table): Add new attributes trapa_handler and 13338169689Skan nosave_low_regs. 13339169689Skan (sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): 13340169689Skan Don't check for pragma_interrupt. Don't store argument. 13341169689Skan * sh.h (pragma_interrupt, sp_switch): Don't declare. 13342169689Skan (sh_deferred_function_attributes): Declare. 13343169689Skan (sh_deferred_function_attributes_tail): Likewise. 13344169689Skan * sh.md (sp_switch_1): Add operand. Change generator caller. 13345169689Skan (sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove. 13346169689Skan (*return_i): Don't use when trap_exit attribute is in effect. 13347169689Skan (*return_trapa): New insn pattern. 13348169689Skan * sh-c.c: New file. 13349169689Skan * config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza, 13350169689Skan setting c_target_objs and cxx_target_objs. 13351169689Skan * t-sh: Add rule for sh-c.o. 13352169689Skan 13353169689Skan2006-01-30 Richard Guenther <rguenther@suse.de> 13354169689Skan 13355169689Skan PR c++/23372 13356169689Skan * gimplify.c (gimplify_target_expr): Handle easy cases 13357169689Skan without creating a temporary. 13358169689Skan 13359169689Skan2006-01-30 Nathan Sidwell <nathan@codesourcery.com> 13360169689Skan 13361169689Skan * vec.h (safe_grow): Remove duplicated line. 13362169689Skan 13363169689Skan2006-01-29 Diego Novillo <dnovillo@redhat.com> 13364169689Skan 13365169689Skan PR 25874 13366169689Skan * omp-low.c (execute_expand_omp): Move CFG cleanup code ... 13367169689Skan (expand_omp): ... here. 13368169689Skan (expand_omp_parallel): Only remove barriers for combined 13369169689Skan parallel+workshare constructs. 13370169689Skan 13371169689Skan2006-01-29 Eric Botcazou <ebotcazou@adacore.com> 13372169689Skan 13373169689Skan Revert 13374169689Skan 13375169689Skan 2005-11-09 Eric Botcazou <ebotcazou@adacore.com> 13376169689Skan * tree.c (build_qualified_type): Chain the new type to the original 13377169689Skan type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is 13378169689Skan a POINTER_TYPE or a REFERENCE_TYPE respectively. 13379169689Skan (build_pointer_type_for_mode): Only return unqualified types. 13380169689Skan (build_reference_type_for_mode): Likewise. 13381169689Skan 13382169689Skan2006-01-29 Gabriel Dos Reis <gdr@integgrable-solutions.net> 13383169689Skan 13384169689Skan * configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported. 13385169689Skan * Makefile.in (CXX_COMPAT_WARN): Define. 13386169689Skan * configure: Regenerate. 13387169689Skan 13388169689Skan2006-01-29 Dorit Nuzman <dorit@il.ibm.com> 13389169689Skan 13390169689Skan PR tree-opt/25911 13391169689Skan * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert 13392169689Skan to an if check. 13393169689Skan 13394169689Skan2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> 13395169689Skan 13396169689Skan * toplev.c: Fix thinko. 13397169689Skan 13398169689Skan2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net> 13399169689Skan Marcin Dalecki <martin@dalecki.de> 13400169689Skan 13401169689Skan * toplev.c (floor_log2, exact_log2): Don't define if __cplusplus. 13402169689Skan (push_srcloc): Use XNEW. 13403169689Skan (init_asm_output, default_get_pch_validity): Use XNEWVEC. 13404169689Skan 13405169689Skan2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com> 13406169689Skan 13407169689Skan * df-core.c (df_set_blocks): Deleted all variable. 13408169689Skan 13409169689Skan2006-01-28 Ian Lance Taylor <ian@airs.com> 13410169689Skan 13411169689Skan * cgraphunit.c (cgraph_assemble_pending_functions): Call 13412169689Skan cgraph_output_pending_asms. 13413169689Skan 13414169689Skan2006-01-28 Zack Weinberg <zackw@panix.com> 13415169689Skan 13416169689Skan * c.opt: Add -W(no-)overlength-strings. 13417169689Skan * doc/invoke.texi: Document it. 13418169689Skan * c-opts.c (c_common_handle_option): -pedantic implies 13419169689Skan -Woverlength-strings, if not explicitly disabled already. 13420169689Skan (c_common_post_options): -Woverlength-strings defaults to off, and 13421169689Skan is always off for C++. 13422169689Skan * c-common.c (fix_string_type): Issue warning about strings longer 13423169689Skan than is portable only if warn_overlength_strings. Rearrange code 13424169689Skan a little for clarity. 13425169689Skan * configure.in: Check for -Wno-overlength-strings as well before 13426169689Skan enabling -pedantic in stage 1. 13427169689Skan * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings. 13428169689Skan (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete. 13429169689Skan 13430169689Skan * genconditions.c (write_header, write_one_condition) 13431169689Skan (write_conditions, write_writer): Consolidate very long strings 13432169689Skan that were broken up to fit in C89 portable limit. Don't use 13433169689Skan printf when fputs will do. 13434169689Skan 13435169689Skan2006-01-28 Adam Nemet <anemet@caviumnetworks.com> 13436169689Skan 13437169689Skan * combine.c (simplify_comparison <AND>): Check 13438169689Skan TRULY_NOOP_TRUNCATION before start using a subreg. 13439169689Skan 13440169689Skan * config/mips/mips.md (*branch_zero<mode>, 13441169689Skan *branch_zero<mode>_inverted, *branch_equality<mode>, 13442169689Skan *branch_equality<mode>_inverted, *branch_equality<mode>_mips16): 13443169689Skan Remove mode check from comparisons. 13444169689Skan 13445169689Skan2006-01-28 Kenneth Zadeck <zadeck@naturalbridge.com> 13446169689Skan 13447169689Skan * config/mips/mips-protos.h (mips_set_live_on_entry): Deleted. 13448169689Skan 13449169689Skan2006-01-28 Kazu Hirata <kazu@codesourcery.com> 13450169689Skan 13451169689Skan * expmed.c (const_mult_add_overflow_p): Remove. 13452169689Skan * expr.h: Remove the prototype for const_mult_add_overflow_p. 13453169689Skan 13454169689Skan * recog.c (validate_replace_rtx_subexp): Remove. 13455169689Skan * recog.h: Remove the prototype for 13456169689Skan validate_replace_rtx_subexp. 13457169689Skan 13458169689Skan * integrate.h: Remove the prototype for 13459169689Skan copy_decl_for_inlining. 13460169689Skan * rtl.h: Remove the prototype for mark_constant_function. 13461169689Skan * tree-vectorizer.h: Remove the prototype for 13462169689Skan vect_strip_conversion. 13463169689Skan 13464169689Skan * modulo-sched.c (create_partial_schedule, 13465169689Skan free_partial_schedule, reset_partial_schedule): Make them 13466169689Skan static. 13467169689Skan 13468169689Skan * hooks.c (hook_bool_rtx_int_false): Remove. 13469169689Skan * hooks.h: Remove the prototype for hook_bool_rtx_int_false. 13470169689Skan 13471169689Skan2006-01-28 David Edelsohn <edelsohn@gnu.org> 13472169689Skan 13473169689Skan * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float 13474169689Skan and -mlong-double-128 are incompatible. 13475169689Skan * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same. 13476169689Skan * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c. 13477169689Skan (TARGET_LIBGCC2_CFLAGS): Define. 13478169689Skan * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same. 13479169689Skan (TARGET_LIBGCC2_CFLAGS): Same. 13480169689Skan * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX. 13481169689Skan 13482169689Skan2006-01-28 Kazu Hirata <kazu@codesourcery.com> 13483169689Skan 13484169689Skan PR c/19606. 13485169689Skan * c-typeck.c (build_binary_op): Perform implicit casts of 13486169689Skan operands before shortening them. 13487169689Skan 13488169689Skan * cfgloopmanip.c (split_loop_bb): Remove. 13489169689Skan * cfgloop.h: Remove the prototype for split_loop_bb. 13490169689Skan 13491169689Skan * cfgloop.c (flow_loop_outside_edge_p): Remove. 13492169689Skan * cfgloop.h: Remove the prototype for 13493169689Skan flow_loop_outside_edge_p. 13494169689Skan 13495169689Skan * emit-rtl.c (init_virtual_regs): Make it static. 13496169689Skan * function.h: Remove the prototype for init_virtual_regs. 13497169689Skan 13498169689Skan * recog.c (peephole2_optimize): Make it static. 13499169689Skan * recog.h: Remove the prototype for peephole2_optimize. 13500169689Skan 13501169689Skan2006-01-27 H.J. Lu <hongjiu.lu@intel.com> 13502169689Skan 13503169689Skan * df-scan.c (df_record_entry_block_defs): Check if 13504169689Skan INCOMING_RETURN_ADDR_RTX is defined. 13505169689Skan 13506169689Skan2006-01-27 Daniel Berlin <dberlin@dberlin.org> 13507169689Skan Kenneth Zadeck <zadeck@naturalbridge.com> 13508169689Skan 13509169689Skan PR rtl-optimization/24762 13510169689Skan * doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY. 13511169689Skan * targhooks.c (hook_void_bitmap): New hook prototype. 13512169689Skan * targhoohs.h (hook_void_bitmap): Ditto. 13513169689Skan * bitmap.h (bitmap_head_def): Moved to coretypes.h. 13514169689Skan * coretypes.h (bitmap_head_def): Moved from bitmap.h. 13515169689Skan * target.h (live_on_entry): New function pointer. 13516169689Skan * df-scan.c (df_all_hard_regs): Removed. 13517169689Skan (df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs. 13518169689Skan (df_scan_free_internal): Added df->entry_block_defs. 13519169689Skan (df_scan_alloc): Ditto. 13520169689Skan (df_scan_dump): Ditto. 13521169689Skan (df_uses_record): Plumbed flag field properly thru calls. 13522169689Skan Record EH_RETURN_DATA_REGNO in eh blocks unconditionally. 13523169689Skan This part fixes PR24762. 13524169689Skan (df_bb_refs_record): Added code to make the frame and arg 13525169689Skan pointers live in EH blocks. 13526169689Skan (df_refs_record): Added call to df_record_entry_block_defs. 13527169689Skan (df_record_entry_block_defs): New function. 13528169689Skan * df-core.c: Added comments to describe new artifical defs. 13529169689Skan * df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags. 13530169689Skan (entry_block_defs): New field in struct df. 13531169689Skan (df_all_hard_regs): Deleted. 13532169689Skan * target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY. 13533169689Skan * df-problems.c (df_ru_bb_local_compute_process_def): 13534169689Skan Added code to handle artifical defs in the entry to a function. 13535169689Skan (df_ru_bb_local_compute): Ditto. 13536169689Skan (df_rd_bb_local_compute_process_def): Ditto. 13537169689Skan (df_rd_bb_local_compute): Ditto. 13538169689Skan (df_lr_bb_local_compute): Ditto. 13539169689Skan (df_ur_bb_local_compute): Ditto. 13540169689Skan (df_urec_bb_local_compute): Ditto. 13541169689Skan (df_chain_create_bb): Ditto. 13542169689Skan (df_ur_local_finalize): Removed entry. 13543169689Skan (df_urec_init): Ditto. 13544169689Skan (df_urec_local_finalize): Ditto. 13545169689Skan (df_ri_bb_compute): Added detection of last use of pseudos. 13546169689Skan * Makefile.in (df-scan.o): Updated dependencies. 13547169689Skan * config/mips/mips-protos.h (mips_set_live_on_entry): Added. 13548169689Skan * config/mips/mips.c (mips_set_live_on_entry): Added. 13549169689Skan * config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value 13550169689Skan for target hook. 13551169689Skan * dce.c (marked_insn_p): Added code to handle artifical defs. 13552169689Skan 13553169689Skan2006-01-27 H.J. Lu <hongjiu.lu@intel.com> 13554169689Skan 13555169689Skan * config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel 13556169689Skan intrinsic. 13557169689Skan (_mm_cvtsi128_si64): Likewise. 13558169689Skan (_mm_cvtsd_si64): Likewise. 13559169689Skan (_mm_cvttsd_si64): Likewise. 13560169689Skan (_mm_cvtsi64_sd): Likewise. 13561169689Skan (_mm_cvtsi64_si128): Likewise. 13562169689Skan * config/i386/mmintrin.h (_m_from_int64): Likewise. 13563169689Skan (_mm_cvtsi64_m64): Likewise. 13564169689Skan (_m_to_int64): Likewise. 13565169689Skan (_mm_cvtm64_si64): Likewise. 13566169689Skan * config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise. 13567169689Skan (_mm_cvttss_si64): Likewise. 13568169689Skan (_mm_cvtsi64_ss): Likewise. 13569169689Skan (_mm_cvtss_f32): Likewise. 13570169689Skan 13571169689Skan2006-01-27 Carlos O'Donell <carlos@codesourcery.com> 13572169689Skan 13573169689Skan * c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion 13574169689Skan for pragma redefine_extname. 13575169689Skan 13576169689Skan2006-01-27 Jakub Jelinek <jakub@redhat.com> 13577169689Skan 13578169689Skan PR target/25864 13579169689Skan * libgcc-std.ver: Add GCC_4.1.0 symbol version. 13580169689Skan * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append 13581169689Skan -mno-minimal-toc to previous content. 13582169689Skan (bispecs): Remove goal. 13583169689Skan * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h. 13584169689Skan * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4 13585169689Skan compatibility aliases on powerpc-*-*gnu*. 13586169689Skan * config/rs6000/libgcc-ppc-glibc.ver: New file. 13587169689Skan * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append 13588169689Skan libgcc-ppc-glibc.ver on powerpc*-*-*gnu*. 13589169689Skan (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs. 13590169689Skan (ldblspecs): New goal. 13591169689Skan * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed. 13592169689Skan * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and 13593169689Skan _df_to_tf. 13594169689Skan * config/fp-bit.h (TMODES): Don't define if none of TFLOAT, 13595169689Skan L_sf_to_tf or L_df_to_tf is defined. 13596169689Skan 13597169689Skan2006-01-27 David Edelsohn <edelsohn@gnu.org> 13598169689Skan Alan Modra <amodra@bigpond.net.au> 13599169689Skan 13600169689Skan PR target/25864 13601169689Skan * config/rs6000/linux.h (POWERPC_LINUX): Define. 13602169689Skan * config/rs6000/linux64.h (POWERPC_LINUX): Define. 13603169689Skan * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC. 13604169689Skan * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero. 13605169689Skan * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero. 13606169689Skan * config/rs6000/rs6000.c (rs6000_ieeequad): New variable. 13607169689Skan (rs6000_override_options): Initialize rs6000_ieeequad. 13608169689Skan Initialize TFmode format to ibm_extended_format if not 13609169689Skan TARGET_IEEEQUAD. 13610169689Skan (rs6000_handle_option): Accept -mabi= ibmlongdouble and 13611169689Skan ieeelongdouble. 13612169689Skan (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts. 13613169689Skan (rs6000_return_in_memory): Only return IEEEQUAD in memory. 13614169689Skan (function_arg_advance): IBM long double passed in two FPRs, not 13615169689Skan split. 13616169689Skan (function_arg): IBM long double passed in FPRs. 13617169689Skan (rs6000_pass_by_reference): Only IEEEQUAD passed by reference. 13618169689Skan (rs6000_gimplify_va_arg): IBM long double passed in two FPRs. 13619169689Skan Only multireg GPR aligned. 13620169689Skan (rs6000_init_libfuncs): Enable IBM long double functions if not 13621169689Skan IEEEQUAD. 13622169689Skan (rs6000_generate_compare): Use IBM long double compare if not 13623169689Skan TARGET_IEEEQUAD. 13624169689Skan * config/rs6000/rs6000.h (rs6000_ieeequad): Declare. 13625169689Skan (TARGET_IEEEQUAD): Define. 13626169689Skan (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if 13627169689Skan not TARGET_IEEEQUAD. 13628169689Skan * config/rs6000/rs6000.md: Enable TFmode patterns if 13629169689Skan !TARGET_IEEEQUAD. 13630169689Skan * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. 13631169689Skan * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float 13632169689Skan and -mlong-double-128 are incompatible. 13633169689Skan * doc/invoke.texi (-mabi): Collect options together. Add 13634169689Skan ibmlongdouble and ieeelongdouble. 13635169689Skan 13636169689Skan2006-01-27 Richard Sandiford <richard@codesourcery.com> 13637169689Skan 13638169689Skan * doc/rtl.texi (SYMBOL_REF_DATA): Adjust documentation for new 13639169689Skan opaque type. 13640169689Skan * optabs.c (init_one_libfunc): Use SET_SYMBOL_REF_DECL. 13641169689Skan * varasm.c (make_decl_rtl, build_constant_desc): Likewise. 13642169689Skan (force_const_mem): Use SET_SYMBOL_REF_CONSTANT. 13643169689Skan * rtl.h (rtunion_def): Remove rt_ptr. 13644169689Skan (X0PTR): Delete. 13645169689Skan (SYMBOL_REF_DATA): Use X0ANY instead of X0PTR. 13646169689Skan (SET_SYMBOL_REF_DECL, SET_SYMBOL_REF_CONSTANT): New macros. 13647169689Skan * config/i386/winnt.c (i386_pe_mark_dllexport) 13648169689Skan (i386_pe_mark_dllimport): Use SET_SYMBOL_REF_DECL. 13649169689Skan 13650169689Skan2006-01-27 Gabor Loki <loki@gcc.gnu.org> 13651169689Skan 13652169689Skan * cfgcleanup.c (try_crossjump_to_edge): Fix comment typo. 13653169689Skan 13654169689Skan2006-01-26 Alexandre Oliva <aoliva@redhat.com> 13655169689Skan 13656169689Skan PR other/24829 13657169689Skan PR target/24831 13658169689Skan * gthr-dce.h: Do not gthrw-ify pthread_once_init, 13659169689Skan pthread_key_delete. From John David Anglin. gthrw-ify 13660169689Skan pthread_getunique_np only if it it's not a macro. Delete 13661169689Skan UNUSED macro. 13662169689Skan (__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate, 13663169689Skan __gthread_objc_condition_wait, __gthread_objc_condition_broadcast, 13664169689Skan __gthread_objc_condition_signal, __gthread_key_delete): Add 13665169689Skan "__attribute__ ((__unused__))" to unused arguments. 13666169689Skan (__gthread_recursive_mutex_init_function): Add missing return. 13667169689Skan * gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h, 13668169689Skan gthr-posix95.h: Use macro-based approach for name redirection 13669169689Skan on targets missing weakref. 13670169689Skan 13671169689Skan2006-01-26 Zack Weinberg <zackw@panix.com> 13672169689Skan 13673169689Skan * genconditions.c (write_header): In generated code, #ifdef out 13674169689Skan all includes and fake declarations, except includes of bconfig.h 13675169689Skan and system.h, unless GCC_VERSION >= 3001. Do not include 13676169689Skan gensupport.h in any case. 13677169689Skan (write_conditions): Generate a definition of struct c_test. Add 13678169689Skan a comment to the generated #endif. 13679169689Skan (write_one_condition): Escape backslashes in string too. 13680169689Skan (write_writer): Generated code must escape backslashes and quote 13681169689Skan marks (but not newlines) in the strings it writes. 13682169689Skan * Makefile.in (build/gencondmd.o): Update dependencies. 13683169689Skan 13684169689Skan2006-01-26 Steve Ellcey <sje@cup.hp.com> 13685169689Skan 13686169689Skan PR target/25961 13687169689Skan * Makefile.in (insn-automata.o): Add header file dependencies. 13688169689Skan * genautomata.c: Add includes. 13689169689Skan 13690169689Skan2006-01-26 Steve Ellcey <sje@cup.hp.com> 13691169689Skan 13692169689Skan PR target/25961 13693169689Skan * Makefile.in (insn-automata.o): Add -Wno-error flag. 13694169689Skan 13695169689Skan2006-01-26 Paolo Bonzini <bonzini@gnu.org> 13696169689Skan 13697169689Skan * configure.ac: Expect target tools paths to be passed from the toplevel 13698169689Skan and wrap the detection into AS_SET_VAR_IF. Extract side-effects out of 13699169689Skan AS_SET_VAR_IF. 13700169689Skan * acinclude.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL): Remove. 13701169689Skan 13702169689Skan2006-01-26 Alexandre Oliva <aoliva@redhat.com> 13703169689Skan 13704169689Skan PR c/25892 13705169689Skan * c.opt (Wpointer-sign): Init to -1. 13706169689Skan * c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and 13707169689Skan OPT_pedantic, to 0 otherwise. 13708169689Skan * doc/invoke.texi: Update. 13709169689Skan 13710169689Skan2006-01-26 Paolo Bonzini <bonzini@gnu.org> 13711169689Skan 13712169689Skan * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Emit 13713169689Skan constants provided by 80387 instructions in the destination mode. 13714169689Skan 13715169689Skan2006-01-26 Richard Guenther <rguenther@suse.de> 13716169689Skan Andrew Pinski <pinskia@physics.uc.edu> 13717169689Skan 13718169689Skan PR tree-opt/21470 13719169689Skan partial PR tree-opt/17064 13720169689Skan * tree-ssa-structalias.c (intra_create_variable_infos): 13721169689Skan Create heap variables for incoming parameters if 13722169689Skan flag_argument_noalias > 1. 13723169689Skan (find_what_p_points_to): Look through default defs of 13724169689Skan parameter decls. 13725169689Skan 13726169689Skan2006-01-26 Jeff Law <law@redhat.com> 13727169689Skan 13728169689Skan PR ada/25900 13729169689Skan * tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE 13730169689Skan with a VR_ANTI_RANGE and the VR_ANTI_RANGE is completely contained 13731169689Skan within the VR_RANGE, use the VR_RANGE as the result, not the 13732169689Skan VR_ANTI_RANGE. 13733169689Skan (adjust_range_with_scev): Reject ranges from SCEV which are out of 13734169689Skan bounds for the type. 13735169689Skan 13736169689Skan2006-01-26 Daniel Berlin <dberlin@dberlin.org> 13737169689Skan 13738169689Skan * tree-ssa-alias.c (maybe_create_global_var): Change 13739169689Skan subvar walking to an assertion that we don't have subvar'd variables. 13740169689Skan 13741169689Skan2006-01-26 Andrew Pinski <pinskia@physics.uc.edu> 13742169689Skan 13743169689Skan PR C/25861 13744169689Skan * c-common.c (c_common_truthvalue_conversion) <case ADDR_EXPR>: 13745169689Skan Use a new variable, inner. PARM_DECLs are always non-weak. 13746169689Skan 13747169689Skan2006-01-26 Shantonu Sen <ssen@opendarwin.org> 13748169689Skan 13749169689Skan * tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for 13750169689Skan --disable-checking. 13751169689Skan 13752169689Skan2006-01-26 Adam Nemet <anemet@caviumnetworks.com> 13753169689Skan 13754169689Skan * config/mips/mips.md (*clear_upper32): New combiner pattern. 13755169689Skan 13756169689Skan2006-01-26 Richard Earnshaw <richard.earnshaw@arm.com> 13757169689Skan 13758169689Skan * arm.md (smaxsi3, sminsi3): Convert to define_expand. 13759169689Skan (smax_insn, smin_insn, smax_0, smin_0): New. 13760169689Skan 13761169689Skan2006-01-26 Hans-Peter Nilsson <hp@axis.com> 13762169689Skan 13763169689Skan PR target/25947 13764169689Skan * config/cris/cris.c (cris_order_for_addsi3): New function. 13765169689Skan * config/cris/cris-protos.h: Prototype it. 13766169689Skan * config/cris/cris.md (split for "move.S1 [rx=rx+i],ry") 13767169689Skan (split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]") 13768169689Skan (split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry") 13769169689Skan (split for "op.S1 [rx=rx+i],ry (swapped)") 13770169689Skan (split for "op(s|u).S1 [rx=rx+i],ry") 13771169689Skan (split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"): 13772169689Skan Apply cris_order_for_addsi3 when generating addsi3 insns. 13773169689Skan 13774169689Skan2006-01-25 Diego Novillo <dnovillo@redhat.com> 13775169689Skan 13776169689Skan * tree.h (TREE_RANGE_CHECK): Fix range predicate. 13777169689Skan (TREE_BLOCK): Add call to EXPR_CHECK. 13778169689Skan 13779169689Skan2006-01-25 Diego Novillo <dnovillo@redhat.com> 13780169689Skan 13781169689Skan PR 25886 13782169689Skan * tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE. 13783169689Skan * tree-pretty-print.c (dump_omp_clause): Extract from ... 13784169689Skan (dump_omp_clauses): ... here. 13785169689Skan (dump_generic_node): Handle OMP_CLAUSE. 13786169689Skan * tree.c (omp_clause_num_ops): New. 13787169689Skan (omp_clause_code_name): New. 13788169689Skan (tree_code_size): Handle OMP_CLAUSE. 13789169689Skan (tree_size): Likewise. 13790169689Skan (make_node): Document handling of OMP_CLAUSE. 13791169689Skan (tree_node_structure): Handle OMP_CLAUSE. 13792169689Skan (omp_clause_check_failed): New. 13793169689Skan (omp_clause_range_check_failed): New. 13794169689Skan (omp_clause_operand_check_failed): New. 13795169689Skan (build_omp_clause): New. 13796169689Skan (walk_tree): Adjust handling of OMP_CLAUSE_* nodes. 13797169689Skan * tree.h (enum omp_clause_code): Declare. 13798169689Skan (OMP_CLAUSE_SUBCODE_CHECK): Define. 13799169689Skan (OMP_CLAUSE_RANGE_CHECK): Define. 13800169689Skan (OMP_CLAUSE_ELT_CHECK): Define. 13801169689Skan (omp_clause_check_failed): Declare. 13802169689Skan (omp_clause_operand_check_failed): Declare. 13803169689Skan (omp_clause_range_check_failed): Declare. 13804169689Skan (OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK. 13805169689Skan (OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK. 13806169689Skan (OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK. 13807169689Skan (OMP_CLAUSE_LASTPRIVATE): Likewise. 13808169689Skan (OMP_CLAUSE_IF_EXPR): Likewise. 13809169689Skan (OMP_CLAUSE_NUM_THREADS_EXPR): Likewise. 13810169689Skan (OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise. 13811169689Skan (OMP_CLAUSE_REDUCTION_CODE): Likewise. 13812169689Skan (OMP_CLAUSE_REDUCTION_INIT): Likewise. 13813169689Skan (OMP_CLAUSE_REDUCTION_MERGE): Likewise. 13814169689Skan (OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise. 13815169689Skan Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY. 13816169689Skan (OMP_CLAUSE_SCHEDULE_KIND): Likewise. 13817169689Skan (OMP_CLAUSE_DEFAULT_KIND): Likewise. 13818169689Skan (OMP_CLAUSE_CODE): Define. 13819169689Skan (OMP_CLAUSE_SET_CODE): Define. 13820169689Skan (OMP_CLAUSE_CODE): Define. 13821169689Skan (OMP_CLAUSE_OPERAND): Define. 13822169689Skan (struct tree_omp_clause): Declare. 13823169689Skan (union tree_node): Add field 'omp_clause'. 13824169689Skan * treestruct.def (TS_OMP_CLAUSE): Define. 13825169689Skan * tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED 13826169689Skan OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE, 13827169689Skan OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN, 13828169689Skan OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF, 13829169689Skan OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE, 13830169689Skan OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove. 13831169689Skan (OMP_CLAUSE): Define. 13832169689Skan * print-tree.c (print_node): Handle OMP_CLAUSE. 13833169689Skan * omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes. 13834169689Skan * c-typeck.c: Likewise. 13835169689Skan * gimplify.c: Likewise. 13836169689Skan * c-omp.c: Likewise. 13837169689Skan * tree-nested.c: Likewise. 13838169689Skan * tree-inline.c: Likewise. 13839169689Skan * c-parser.c: Likewise. 13840169689Skan * gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on 13841169689Skan clauses. 13842169689Skan 13843169689Skan2006-01-25 Roger Sayle <roger@eyesopen.com> 13844169689Skan 13845169689Skan PR rtl-optimization/25703 13846169689Skan * combine.c (try_combine): Handle zero_extract and strict_low_part 13847169689Skan of non-lowpart SUBREGs for constant reg_subword_p set optimization. 13848169689Skan 13849169689Skan2006-01-25 Peter Bergner <bergner@vnet.ibm.com> 13850169689Skan 13851169689Skan * global.c: Fix comment typos. 13852169689Skan 13853169689Skan2006-01-25 Andrew Pinski <pinskia@physics.uc.edu> 13854169689Skan 13855169689Skan PR target/25758 13856169689Skan * config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>: 13857169689Skan Use output_addr_const instead of assemble_name. 13858169689Skan 13859169689Skan2006-01-25 Paolo Bonzini <bonzini@gnu.org> 13860169689Skan 13861169689Skan * Makefile.in (sched-vis.o): Update dependencies. 13862169689Skan * haifa-sched.c (sched_finish): Clear current_sched_info. 13863169689Skan * cfg.c (dump_bb_info): New, split from dump_flow_info. 13864169689Skan (dump_flow_info): Call it. 13865169689Skan * passes.c (execute_todo): Call print_rtl_slim_with_bb to make 13866169689Skan a slim RTL dump. 13867169689Skan * basic-block.h (dump_bb_info): Declare. 13868169689Skan * tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all 13869169689Skan option, and apply options only for dump files whose TDF_RTL, 13870169689Skan TDF_TREE, or TDF_IPA bits match. 13871169689Skan * rtl.h: Declare new functions exported from sched-vis.c. 13872169689Skan * sched-vis.c: Enable also if scheduling is not used. 13873169689Skan (print_value): Print the mode of registers if not inside scheduling. 13874169689Skan (print_insn): Make it work outside the scheduler. Beautify the output 13875169689Skan a bit. 13876169689Skan (dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New. 13877169689Skan 13878169689Skan2006-01-25 Richard Sandiford <richard@codesourcery.com> 13879169689Skan 13880169689Skan * doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document. 13881169689Skan * gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of 13882169689Skan a SYMBOL_REF as either a tree or a constant_descriptor_rtx, 13883169689Skan depending on the value of CONSTANT_POOL_ADDRESS_P. 13884169689Skan * optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than 13885169689Skan SYMBOL_REF_DECL. 13886169689Skan * varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA 13887169689Skan rather than SYMBOL_REF_DECL. 13888169689Skan (rtx_constant_pool): Remove const_rtx_sym_htab. 13889169689Skan (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete. 13890169689Skan (init_varasm_status): Don't initialize const_rtx_sym_htab. 13891169689Skan (force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry. 13892169689Skan Remove handling of const_rtx_sym_htab. 13893169689Skan (find_pool_constant): Delete. 13894169689Skan (get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT 13895169689Skan rather than find_pool_constant. 13896169689Skan (get_pool_constant_for_function): Delete. 13897169689Skan (get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than 13898169689Skan find_pool_constant. 13899169689Skan * rtl.h (rtunion_def): Add rt_constant and rt_ptr fields. 13900169689Skan (X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros. 13901169689Skan (SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P. 13902169689Skan (SYMBOL_REF_CONSTANT): New macro. 13903169689Skan (get_pool_constant_for_function): Delete. 13904169689Skan * config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA 13905169689Skan rather than SYMBOL_REF_DECL. 13906169689Skan (i386_pe_mark_dllimport): Likewise. 13907169689Skan * config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA 13908169689Skan rather than SYMBOL_REF_DECL. 13909169689Skan * config/darwin.c (machopic_indirect_data_reference): Likewise. 13910169689Skan (machopic_indirect_call_target): Likewise. 13911169689Skan 13912169689Skan2006-01-25 Eric Botcazou <ebotcazou@adacore.com> 13913169689Skan 13914169689Skan * flow.c (delete_noop_moves): Add missing EOL to dump message. 13915169689Skan 13916169689Skan2006-01-25 Richard Sandiford <richard@codesourcery.com> 13917169689Skan 13918169689Skan * genattrtab.c (gen_bypass): Allow bypasses to contain whitespace. 13919169689Skan 13920169689Skan2006-01-25 Kaz Kojima <kkojima@gcc.gnu.org> 13921169689Skan 13922169689Skan * config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE. 13923169689Skan 13924169689Skan2006-01-24 David Daney <ddaney@avtrex.com> 13925169689Skan 13926169689Skan PR java/25816 13927169689Skan * configure.ac (enable_tls): New enable option. 13928169689Skan (HAVE_AS_TLS): Don't do assembler check if enable_tls set. 13929169689Skan * configure: Regenerate. 13930169689Skan * doc/install.texi (--enable-tls): Document new option. 13931169689Skan (--disable-tls): Ditto. 13932169689Skan 13933169689Skan2006-01-24 Richard Henderson <rth@redehat.com> 13934169689Skan 13935169689Skan * alias.h (ALIAS_SET_MEMORY_BARRIER): New. 13936169689Skan * alias.c (true_dependence): Respect it. 13937169689Skan (canon_true_dependence, write_dependence_p): Likewise. 13938169689Skan * builtins.c (get_builtin_sync_mem): Set it. 13939169689Skan 13940169689Skan2006-01-25 Zdenek Dvorak <dvorakz@suse.cz> 13941169689Skan 13942169689Skan * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more 13943169689Skan efficient way. 13944169689Skan 13945169689Skan2006-01-24 DJ Delorie <dj@redhat.com> 13946169689Skan 13947169689Skan * expmed.c (store_bit_field): Don't arbitrarily deny using insv 13948169689Skan for storing constants in single-bit bitfields. 13949169689Skan 13950169689Skan2006-01-25 Ben Elliston <bje@au.ibm.com> 13951169689Skan 13952169689Skan * dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long. 13953169689Skan 13954169689Skan2006-01-24 Andrew Pinski <pinskia@physics.uc.edu> 13955169689Skan 13956169689Skan PR tree-opt/25860 13957169689Skan * tree-ssa-pre.c (phi_translate): Return NULL 13958169689Skan for AGGREGATE_TYPE's. 13959169689Skan 13960169689Skan2006-01-24 Zack Weinberg <zackw@panix.com> 13961169689Skan 13962169689Skan * genautomata.c (process_state_for_insn_equiv_partition): 13963169689Skan Use xcalloc for insn_arcs_array. 13964169689Skan * vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates. 13965169689Skan (DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P. 13966169689Skan 13967169689Skan2006-01-24 Richard Henderson <rth@redhat.com> 13968169689Skan 13969169689Skan * genextract.c (VEC_safe_set_locstr): Take VEC by reference; 13970169689Skan update all callers. 13971169689Skan 13972169689Skan2006-01-23 Paolo Bonzini <bonzini@gnu.org> 13973169689Skan 13974169689Skan PR rtl-optimization/25890 13975169689Skan PR rtl-optimization/25905 13976169689Skan * combine.c (expand_compound_operation, expand_field_assignment): 13977169689Skan Fail if the bitfield's final position is out of bounds. 13978169689Skan 13979169689Skan2006-01-24 Ian Lance Taylor <ian@airs.com> 13980169689Skan 13981169689Skan PR middle-end/25930 13982169689Skan * cgraphunit.c (cgraph_output_in_order): Don't clear 13983169689Skan cgraph_asm_nodes until after asm strings have been output. 13984169689Skan 13985169689Skan2006-01-23 Adam Nemet <anemet@caviumnetworks.com> 13986169689Skan 13987169689Skan * fix-header.c (read_scan_file): Add new parameter imultilib when 13988169689Skan calling register_include_chains. 13989169689Skan 13990169689Skan2006-01-23 Diego Novillo <dnovillo@redhat.com> 13991169689Skan 13992169689Skan * omp-low.c: Update documentation. 13993169689Skan 13994169689Skan2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> 13995169689Skan Daniel Berlin <dberlin@dberlin.org> 13996169689Skan 13997169689Skan PR tree-opt/25315 13998169689Skan PR tree-opt/25857 13999169689Skan * tree-ssa-pre.c (insert_extra_phis): If an incomming edge is abnormal 14000169689Skan return from the function. 14001169689Skan 14002169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14003169689Skan 14004169689Skan * rtl.def (match_code): Add second argument. 14005169689Skan * genpreds.c (write_extract_subexp): New function. 14006169689Skan (write_match_code): Add path argument. Use write_extract_subexp. 14007169689Skan (write_predicate_expr): Pass path to write_match_code. 14008169689Skan (mark_mode_tests): MATCH_CODE applied to a subexpression does 14009169689Skan not perform a mode test. 14010169689Skan * genrecog.c (compute_predicate_codes): MATCH_CODE applied to 14011169689Skan a subexpression does not constrain the top-level code set. 14012169689Skan * read-rtl.c (read_rtx_variadic): New function. 14013169689Skan (read_rtx_1): Use it; allow AND and IOR to be variadic. 14014169689Skan * doc/md.texi: Document new notation. 14015169689Skan * config/i386/predicates.md (cmpsi_operand_1): Fold into ... 14016169689Skan (cmpsi_operand): ... here, using new notation. 14017169689Skan 14018169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14019169689Skan 14020169689Skan * varray.c: Remove GENERATOR_FILE #ifdefs. 14021169689Skan 14022169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14023169689Skan 14024169689Skan * genautomata.c (output_reserved_units_table): Emit nothing if 14025169689Skan description->query_units_num is zero. Remove extra blank line. 14026169689Skan (output_cpu_unit_reservation_p): Short circuit 14027169689Skan if description->query_units_num is zero. 14028169689Skan 14029169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14030169689Skan 14031169689Skan * genattrtab.c: Don't include genattrtab.h. Define ATTR_NONE 14032169689Skan and ATTR_SPECIAL (from genattrtab.h). Don't define num_dfa_decls 14033169689Skan nor any of the random handful of variables that used to be necessary 14034169689Skan when this program was linked with rtlanal.o. Prune set of forward 14035169689Skan function declarations. 14036169689Skan (struct attr_desc): Remove static_p field. 14037169689Skan (hash_obstack, temp_obstack, attr_hash_table, attr_printf) 14038169689Skan (check_attr_test, make_internal_attr, make_numeric_value): Make static. 14039169689Skan (attr_string): Do not read the character one past the length of 14040169689Skan the string. 14041169689Skan (write_attr_get, find_attr, make_internal_attr): Don't touch static_p. 14042169689Skan (struct insn_reserv, all_insn_reservs, last_insn_reserv_p) 14043169689Skan (n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses) 14044169689Skan (n_bypasses, gen_bypass_1, gen_bypass, process_bypasses) 14045169689Skan (make_automaton_attrs): New. 14046169689Skan (main): Do not call into genautomata. Call local gen_bypass 14047169689Skan and gen_insn_reserv as appropriate. Call make_automaton_attrs. 14048169689Skan Remove special case for insn_alts. 14049169689Skan * genautomata.c: Include gensupport.h; not genattrtab.h nor 14050169689Skan varray.h (leftover from previous change). Prune set of forward 14051169689Skan function declarations. Remove state_alts fields from all 14052169689Skan structures. Remove state_alts_table from struct automaton. 14053169689Skan Make everything except main static. Do not maintain num_dfa_decls. 14054169689Skan Do not maintain state_alts fields of various structures. 14055169689Skan (process_decls): Don't validate condexp for dm_insn_reserv decls. 14056169689Skan (add_arc): Remove state_alts argument. All callers updated. 14057169689Skan (output_reserved_units_table): Emit #ifdef here... 14058169689Skan (output_tables): ...not here. Don't generate state_alts tables. 14059169689Skan (expand_automata): Don't generate attributes. 14060169689Skan (write_automata): Don't generate state_alts functions. 14061169689Skan (main): New function. 14062169689Skan (it_is_empty_reserv_sets, output_state_alts_full_vect_name) 14063169689Skan (output_state_alts_comb_vect_name, output_state_alts_check_vect_name) 14064169689Skan (AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME) 14065169689Skan (STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME) 14066169689Skan (BYPASS_P_FUNC_NAME, output_state_alts_table) 14067169689Skan (output_automata_list_state_alts_code, output_internal_state_alts_func) 14068169689Skan (output_state_alts_func, make_insn_alts_attr, make_bypass_attr) 14069169689Skan (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr): 14070169689Skan Delete. 14071169689Skan * genattr.c: Declare internal_dfa_insn_code in insn-attr.h. 14072169689Skan * genattrtab.h: Delete file. 14073169689Skan * Makefile.in (OBJS-common): Add insn-automata.o. 14074169689Skan (insn-automata.o): New rule. 14075169689Skan (simple_generated_c): Add insn-automata.c. 14076169689Skan (build/genattrtab.o, build/genautomata.o): Update dependencies. 14077169689Skan (genprogmd): Add automata. 14078169689Skan (build/genattrtab): Needs no extra objects nor libraries. 14079169689Skan (build/genautomata): Needs build/vec.o and -lm. 14080169689Skan 14081169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14082169689Skan 14083169689Skan * genautomata.c (process_state_longest_path, max_dfa_issue_rate) 14084169689Skan (output_dfa_max_issue_rate, locked_states_num): Delete. 14085169689Skan (struct automaton): Add locked_states field. 14086169689Skan (output_dead_lock_vect): Save number of locked states in 14087169689Skan automaton->locked_states. If it is zero, don't print anything. 14088169689Skan (output_max_insn_queue_index_def): Define max_insn_queue_index const. 14089169689Skan (output_internal_dead_lock_func): Only test the dead_lock_vect 14090169689Skan for automata that have locked states. 14091169689Skan (output_statistics): Always print the number of locked states for 14092169689Skan each automaton. Calculate total number of locked states here. 14093169689Skan (write_automata): Don't call output_dfa_max_issue_rate. 14094169689Skan * genattrtab.c: Define length_unit_log as a const variable. 14095169689Skan * genattr.c: Don't emit MAX_DFA_ISSUE_RATE. Declare 14096169689Skan max_insn_queue_index const. 14097169689Skan * final.c (length_unit_log): Declare const. 14098169689Skan * doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE. 14099169689Skan 14100169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14101169689Skan 14102169689Skan * genautomata.c: Include vec.h, not varray.h. 14103169689Skan Delete vla_ptr_t, all of the VLA_PTR_ macros, and all of the 14104169689Skan VLA_HWINT_ macros. Change vla_hwint_t to a typedef for 14105169689Skan VEC(vect_el_t,heap) *. Convert all uses of VLA_* macros to 14106169689Skan VEC_* macros operating on appropriately typed vectors, or to 14107169689Skan malloced arrays when the size is known in advance. Const-ify 14108169689Skan many char* variables and function arguments. No functional changes. 14109169689Skan * Makefile.in (build/varray.o): Delete rule. 14110169689Skan (build/genattrtab): Depend on build/vec.o instead of build/varray.o. 14111169689Skan (build/genautomata.o): Depend on vec.h instead of $(VARRAY_H). 14112169689Skan 14113169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14114169689Skan 14115169689Skan * gensupport.c: Define get_insn_name and record_insn_name here. 14116169689Skan (read_md_rtx): Call record_insn_name as appropriate. 14117169689Skan * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c 14118169689Skan * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c 14119169689Skan * genpreds.c, genrecog.c: Don't define get_insn_name nor 14120169689Skan record_insn_name. 14121169689Skan * Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL. 14122169689Skan (BUILD_VARRAY): Delete. 14123169689Skan (genprognormal): Rename genprogmd. Fold in all programs from 14124169689Skan genprognoprint; also attrtab. 14125169689Skan (build/genattrtab): Just mention genautomata.o and varray.o. 14126169689Skan Reorganize a bit, add comments to make the categories clearer. 14127169689Skan 14128169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14129169689Skan 14130169689Skan * genconditions.c (condition_table, add_condition): Delete. 14131169689Skan (write_conditions): Don't emit n_insn_conditions nor 14132169689Skan insn_elision_unavailable. Issue the gcc version #ifdef here, 14133169689Skan inside the table, with no #else clause ... 14134169689Skan (write_header): ...not here. 14135169689Skan (write_writer): New function. 14136169689Skan (main): Don't initialize condition_table. Use add_c_test. 14137169689Skan Call write_writer. 14138169689Skan * gensupport.c (init_md_reader_args_cb): Handle multiple input 14139169689Skan files on the command line. 14140169689Skan (maybe_eval_c_test): Don't check insn_elision_unavailable. 14141169689Skan Return -1 if there is no entry in the table, don't abort. 14142169689Skan (add_c_test, traverse_c_tests): New functions. 14143169689Skan * gensupport.h (insn_elision_unavailable, insn_conditions) 14144169689Skan (n_insn_conditions): Delete declarations. 14145169689Skan (add_c_test, traverse_c_tests): Declare. 14146169689Skan * read-rtl.c: Include gensupport.h. 14147169689Skan (read_conditions): New function. 14148169689Skan (read_rtx): If read_rtx_1 returns 0, treat as EOF. 14149169689Skan (read_rtx_1): If we get EOF when we were looking for an initial 14150169689Skan open paren, return 0. Call read_conditions when appropriate. 14151169689Skan * Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to 14152169689Skan dummy-conditions.o. Eliminate references to insn-conditions.o, 14153169689Skan or change them to build/gencondmd.o, as appropriate. Remove 14154169689Skan insn-constants.h from $(simple_generated_h) and insn-conditions.c 14155169689Skan from $(simple_generated_c). For all files remaining in those 14156169689Skan two lists, add insn-conditions.md to the generator command line. 14157169689Skan Give insn-constants.h/s-constants their own rules. Add rules 14158169689Skan for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd. 14159169689Skan (build/read-rtl.o): Depend on gensupport.h. 14160169689Skan (genprognormal): Include preds. 14161169689Skan (genprogearly): Rename genprognoprint; only difference is now that 14162169689Skan they don't link with $(BUILD_PRINT). 14163169689Skan * dummy-conditions.c: Delete. 14164169689Skan 14165169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14166169689Skan 14167169689Skan * genextract.c: Don't include insn-config.h. Do include vec.h. 14168169689Skan Declare vectors of int, char, and locstr. 14169169689Skan (locstr): New typedef. 14170169689Skan (struct extraction): Make all array fields into bare pointers. 14171169689Skan (insn_name_ptr, insn_name_ptr_size): Move down by get_insn_name. 14172169689Skan (insn_code_number): Delete. 14173169689Skan (accum_extract): New struct. 14174169689Skan (VEC_safe_set_locstr, VEC_char_to_string): New functions. 14175169689Skan (gen_insn): Take insn_code_number as an argument. Use an 14176169689Skan accum_extract structure instead of loading data directly into 14177169689Skan a struct extraction, and having to know how big it might get. 14178169689Skan (walk_rtx): Operate entirely on an accum_extract structure. 14179169689Skan (print_path): Avoid unnecessary use of printf. 14180169689Skan (print_header): New function, split out of main. Distinguish 14181169689Skan more carefully between an unrecognizable insn and an insn that 14182169689Skan has the code number of a define_expand. 14183169689Skan (main): Pass insn_code_number to gen_insn. Call print_header 14184169689Skan only after parsing. Avoid unnecessary use of printf. 14185169689Skan * Makefile.in (build/vec.o): New rule. 14186169689Skan (build/genextract): Depend on build/vec.o. 14187169689Skan (build/genextract.o): Don't depend on insn-config.h. 14188169689Skan 14189169689Skan2006-01-22 Zack Weinberg <zackw@panix.com> 14190169689Skan 14191169689Skan * Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or 14192169689Skan $(RUN_GEN). Use pattern rules to factor out as much boilerplate as 14193169689Skan practical. Eliminate per-generator-program link rules. 14194169689Skan 14195169689Skan2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> 14196169689Skan 14197169689Skan PR middle-end/24437 14198169689Skan * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF 14199169689Skan with a call expr to ... 14200169689Skan * fold-const.c (fold_ternary) <case CALL_EXPR>: Here. 14201169689Skan 14202169689Skan2006-01-23 Richard Guenther <rguenther@suse.de> 14203169689Skan 14204169689Skan * cfgloopmanip.c (lv_adjust_loop_entry_edge): Add comment 14205169689Skan before make_edge with conditional EDGE_TRUE_VALUE. 14206169689Skan 14207169689Skan2006-01-23 Steven Bosscher <stevenb.gcc@gmail.com> 14208169689Skan Jan Hubicka <jh@suse.cz> 14209169689Skan Richard Guenther <rguenther@suse.de> 14210169689Skan 14211169689Skan PR rtl-optimization/25654 14212169689Skan * cfgexpand.c (aggregate_contains_union_type): New function. 14213169689Skan (add_alias_set_conflicts): Call it. Make sure to add conflicts 14214169689Skan for structure variables that contain a union type. 14215169689Skan 14216169689Skan2006-01-23 Richard Sandiford <richard@codesourcery.com> 14217169689Skan 14218169689Skan * gengtype.c (new_structure): Return the structure. 14219169689Skan (create_option): Add an extra "next" argument. 14220169689Skan (create_field): New function. 14221169689Skan (adjust_field_rtx_def): Use create_option and create_field. 14222169689Skan Remove a now-unnecessary call to find_structure. 14223169689Skan (adjust_field_tree_def): Likewise. 14224169689Skan (note_yacc_type): Remove an unnecessary call to find_structure. 14225169689Skan * gengtype.h (new_structure): Return the structure. 14226169689Skan (create_option): Add an extra argument. 14227169689Skan * gengtype-yacc.y (type): Remove unnecessary calls to find_structure. 14228169689Skan (option): Adjust calls to create_option. 14229169689Skan 14230169689Skan2006-01-22 David Edelsohn <edelsohn@gnu.org> 14231169689Skan 14232169689Skan * config/rs6000/aix.h (STACK_BOUNDARY): Define. 14233169689Skan 14234169689Skan2006-01-22 Paul Brook <paul@codesourcery.com> 14235169689Skan Peter Barada <peter@the-baradas.com> 14236169689Skan 14237169689Skan * config/m68k/m68k.md: Add Coldfire FPU support. 14238169689Skan Define FP mode macro and associated attributes. 14239169689Skan Use it for float mode patterns. 14240169689Skan * config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value. 14241169689Skan (LIBCALL_VALUE): Use m68k_libcall_value. 14242169689Skan * config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype. 14243169689Skan (m68k_function_value): Ditto. 14244169689Skan (emit_move_sequence): Ditto. 14245169689Skan * config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value. 14246169689Skan * config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e. 14247169689Skan * config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e. 14248169689Skan (MULTILIB_EXCEPTIONS): Ditto. 14249169689Skan * config/m68k/m68k.opt: Add mcfv4e. 14250169689Skan * config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e. 14251169689Skan (m68k_compute_frame_layout): Include space for ColdFire FPU regs. 14252169689Skan (m68k_output_function_prologue): Save ColdFire FPU registers. 14253169689Skan (m68k_output_function_epilogue): Restore ColdFire FPU registers. 14254169689Skan (force_mode, fp_reg_operand, emit_move_sequence): New functions. 14255169689Skan (m68k_regno_mode_ok): Don't allow types larget than 8 bytes in 14256169689Skan ColdFire FPU registers. 14257169689Skan (m68k_libcall_value, m68k_function_value): New functions. 14258169689Skan * config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value. 14259169689Skan (LIBCALL_VALUE): Use m68k_libcall_value. 14260169689Skan * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__. 14261169689Skan (MASK_COLDFIRE): Add MASK_CFV4E. 14262169689Skan (TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New. 14263169689Skan (MODES_TIEABLE_P): Use TARGET_HARD_FLOAT. 14264169689Skan (REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto. 14265169689Skan (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define. 14266169689Skan (GO_IF_LEGITIMATE_ADDRESS): Use it. 14267169689Skan (LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses. 14268169689Skan * doc/invoke.tex: Document -mcfv4e on m68k. 14269169689Skan 14270169689Skan2006-01-22 Ranjit Mathew <rmathew@gcc.gnu.org> 14271169689Skan 14272169689Skan * doc/contribute.texi: Change CVS to SVN and update the corresponding 14273169689Skan URL. 14274169689Skan 14275169689Skan2006-01-21 Gabriel Dos Reis <gdr@integrable-solutions.net> 14276169689Skan 14277169689Skan PR c++/16190 14278169689Skan * c-opts.c (c_common_handle_option): Don't include 14279169689Skan -Wnon-virtual-dtor in -Wall; enable if -Weffc++. 14280169689Skan * doc/invoke.texi (C++ Dialect Options): Document that 14281169689Skan -Wnon-virtual-dtor is no longer included in -Wall. 14282169689Skan 14283169689Skan2006-01-21 Joseph S. Myers <joseph@codesourcery.com> 14284169689Skan 14285169689Skan * gcov.c (print_version), gcov-dump.c (print_version), 14286169689Skan mips-tdump.c (main), mips-tfile.c (main): Update copyright notice 14287169689Skan dates. 14288169689Skan 14289169689Skan2006-01-21 Kenneth Zadeck <zadeck@naturalbridge.com> 14290169689Skan 14291169689Skan * df-scan.c (problem_SCAN): Added NULL reset function. 14292169689Skan (df_scan_reset_blocks): Added code to call reset block function 14293169689Skan (df_bb_refs_delete) Fixed comment. 14294169689Skan (df_insn_refs_delete): Made tolerant of deleting non existent info 14295169689Skan for dataflow problems that need to be reset. 14296169689Skan * df-core.c (df_set_blocks): Ditto. 14297169689Skan * df.h (struct df_problem): Added reset_fun. 14298169689Skan * df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR, 14299169689Skan problem_UREC, problem_CHAIN, problem_RI): Initialized reset_fun field. 14300169689Skan (df_chain_insn_reset, df_chain_bb_reset, df_chain_reset): New 14301169689Skan functions to clear out all references to def-use or use-def chains. 14302169689Skan 14303169689Skan2006-01-21 Ben Elliston <bje@au.ibm.com> 14304169689Skan 14305169689Skan * varasm.c (assemble_real): Initialise data array. 14306169689Skan 14307169689Skan2006-01-20 Paul Brook <paul@codesourcery.com> 14308169689Skan 14309169689Skan Merge from csl-arm-branch. 14310169689Skan 2005-09-21 Kazu Hirata <kazu@codesourcery.com> 14311169689Skan * config/arm/arm.md (movdi): Force operands[1] to a register 14312169689Skan if we have a non-register source. 14313169689Skan (*arm_movdi, *movdf_soft_insn): Require that one of the 14314169689Skan operands be a register. 14315169689Skan * config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise. 14316169689Skan * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise. 14317169689Skan 14318169689Skan2006-01-20 DJ Delorie <dj@redhat.com> 14319169689Skan 14320169689Skan * varasm.c (initializer_constant_valid_p): Allow pointers 14321169689Skan initialized from integer constants of lesser precision. 14322169689Skan (output_constant): Allow non-int-sized pointer modes to be 14323169689Skan initialized from integer constants. 14324169689Skan 14325169689Skan2006-01-20 Joseph S. Myers <joseph@codesourcery.com> 14326169689Skan 14327169689Skan PR libstdc++/25524 14328169689Skan * cppdefault.h (struct default_include): Add multilib flag. 14329169689Skan * cppdefault.c (cpp_include_defaults): Set it. 14330169689Skan * c.opt (-imultilib): New option. 14331169689Skan * c-opts.c (imultilib): New. 14332169689Skan (c_common_handle_option): Handle -imultilib. 14333169689Skan (c_common_post_options): Likewise. 14334169689Skan * c-incpath.c (add_standard_paths, register_include_chains): 14335169689Skan Likewise. 14336169689Skan * c-incpath.h (register_include_chains): Add extra parameter. 14337169689Skan * gcc.c (do_spec_1): Generate -imultilib option. 14338169689Skan (The Specs Language): Update %I description. 14339169689Skan (process_command): Update copyright notice. 14340169689Skan * doc/cppopts.texi (-imultilib): Document. 14341169689Skan * doc/invoke.texi (-imultilib): Include in option summary. 14342169689Skan (%I): Update specs documentation. 14343169689Skan 14344169689Skan2006-01-20 Zdenek Dvorak <dvorakz@suse.cz> 14345169689Skan 14346169689Skan * loop-iv.c (iv_analysis_loop_init): Use df in more conservative way. 14347169689Skan 14348169689Skan2006-01-20 Richard Sandiford <richard@codesourcery.com> 14349169689Skan 14350169689Skan * stmt.c (case_bit_test_cmp): Stabilize the sort using code 14351169689Skan label numbers. 14352169689Skan 14353169689Skan2006-01-20 Richard Guenther <rguenther@suse.de> 14354169689Skan Steven Bosscher <stevenb.gcc@gmail.com> 14355169689Skan 14356169689Skan PR rtl-optimization/24626 14357169689Skan * cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set 14358169689Skan EDGE_TRUE_VALUE if in RTL mode. 14359169689Skan 14360169689Skan Revert 14361169689Skan 2005-03-30 Mostafa Hagog <mustafa@il.ibm.com> 14362169689Skan * cfgrtl.c (rtl_verify_flow_info_1): Fix. 14363169689Skan 14364169689Skan2006-01-20 Dirk Mueller <dmueller@suse.com> 14365169689Skan 14366169689Skan PR c++/5520 14367169689Skan * c-parser.c (c_parser_if_body): Use build_empty_stmt() 14368169689Skan instead of a special NOP marker. 14369169689Skan * c-typeck.c (c_finish_if_stmt): Remove obsoleted special 14370169689Skan NOP marker handling. 14371169689Skan * c-common.h (empty_body_warning): Add forward declaration. 14372169689Skan * c-common.c (empty_body_warning): Add (from c_finish_if_stmt). 14373169689Skan Now uses IS_EMPTY_STMT() instead of special NOP markers. 14374169689Skan 14375169689Skan2006-01-20 Paul Brook <paul@codesourcery.com> 14376169689Skan 14377169689Skan * Makefile.in (lang_checks): Keep going if mkdir fails. 14378169689Skan 14379169689Skan2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> 14380169689Skan 14381169689Skan * df-scan.c (df_scan_free_bb_info): Added basic block parameter to 14382169689Skan be able to clean out basic block when not necessary. 14383169689Skan (df_scan_free): Fixed to properly delete information if df is 14384169689Skan unused before calling df_finish. 14385169689Skan (df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink, 14386169689Skan df_insn_create_insn_record, df_bb_refs_record): Fixed formatting 14387169689Skan or comment typos. 14388169689Skan (df_bb_refs_delete): New function. 14389169689Skan (df_refs_delete): Moved per block code to df_bb_refs_delete. 14390169689Skan * df-core.c (df_set_blocks): Added code to properly clean out 14391169689Skan unused blocks if they are not part of the blocks to consider. 14392169689Skan Added additional null check. 14393169689Skan (df_compact_blocks): Added basic block parameter to free_bb_fun to 14394169689Skan be able to clean out basic block when not necessary 14395169689Skan * df.h (df_free_bb_function): Ditto. 14396169689Skan (df_bb_refs_delete): New function. 14397169689Skan * df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info, 14398169689Skan df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added 14399169689Skan basic block parameter to be able to clean out basic block when not 14400169689Skan necessary. 14401169689Skan (df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test. 14402169689Skan (df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free): 14403169689Skan Fixed to properly delete information if df is unused before 14404169689Skan calling df_finish. 14405169689Skan 14406169689Skan2006-01-19 Kenneth Zadeck <zadeck@naturalbridge.com> 14407169689Skan 14408169689Skan PR rtl-optimization/25799 14409169689Skan * df-problems.c (df_ru_confluence_n, df_rd_confluence_n): 14410169689Skan Corrected confluence operator to remove bits from op2 before oring 14411169689Skan with op1 rather than removing bits from op1. 14412169689Skan (df_ru_transfer_function): Corrected test on wrong bitmap which 14413169689Skan caused infinite loop. Both of these problems were introduced in 14414169689Skan the dataflow rewrite. 14415169689Skan 14416169689Skan2006-01-19 DJ Delorie <dj@redhat.com> 14417169689Skan 14418169689Skan * reload1.c (find_reload_regs): Note the details of reload 14419169689Skan failures in the dump file. 14420169689Skan (spill_failure): Likewise. 14421169689Skan 14422169689Skan2006-01-20 Zdenek Dvorak <dvorakz@suse.cz> 14423169689Skan 14424169689Skan * loop-iv.c: Include df.h and hashtab.h. 14425169689Skan (enum iv_grd_result): New enum. 14426169689Skan (DF_REF_IV, DF_REF_IV_SET): New macros. 14427169689Skan (struct biv_entry): New. 14428169689Skan (df, bivs): New global variables. 14429169689Skan (struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no, 14430169689Skan assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p): 14431169689Skan Removed. 14432169689Skan (clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr, 14433169689Skan iv_analyze_result, iv_analyze_def, biv_hash, biv_eq, 14434169689Skan analyzed_for_bivness_p, record_biv): New functions. 14435169689Skan (iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p, 14436169689Skan get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op, 14437169689Skan iv_analyze, biv_p, iv_analysis_done): Work with df representation of 14438169689Skan UD chains. 14439169689Skan (iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Do not set 14440169689Skan analysed. 14441169689Skan (iv_number_of_iterations): Use new interface to iv analysis. 14442169689Skan * loop-unroll.c: Do not include varray.h. 14443169689Skan (analyze_iv_to_split_insn): Use new interface to iv 14444169689Skan analysis. 14445169689Skan * loop-unswitch.c (may_unswitch_on): Ditto. 14446169689Skan * df.c (df_bitmaps_free): Only work for bbs for that structures are 14447169689Skan allocated. 14448169689Skan (df_bb_modify): Realloc tables to the new index. 14449169689Skan (df_find_use): New function. 14450169689Skan * df.h (df_find_use): Declare. 14451169689Skan * optabs.c (expand_unop): Make the mode of the REG_EQUAL node be 14452169689Skan outmode. 14453169689Skan * cfgloop.h (struct rtx_iv): Remove analysed field. 14454169689Skan (iv_get_reaching_def): Removed. 14455169689Skan (iv_analyze_result, iv_analyze_expr, iv_current_loop_df): Declare. 14456169689Skan * Makefile.in (loop-unroll.o): Remove VARRAY_H dependency. 14457169689Skan (loop-iv.o): Add df.h and hashtab.h dependency. 14458169689Skan * df-problems.c (df_ru_alloc, df_rd_alloc): Fix memory reallocation. 14459169689Skan 14460169689Skan2006-01-20 Alan Modra <amodra@bigpond.net.au> 14461169689Skan 14462169689Skan PR target/25668 14463169689Skan * libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended 14464169689Skan Double TFmode. 14465169689Skan (__floatundisf, __floatundidf): Likewise. 14466169689Skan * libgcc2.h (IS_IBM_EXTENDED): Define. 14467169689Skan 14468169689Skan2006-01-19 DJ Delorie <dj@redhat.com> 14469169689Skan 14470169689Skan * config/m32c/m32c.h (REG_ALLOC_ORDER): Define. 14471169689Skan 14472169689Skan2006-01-19 Paul Brook <paul@codesourcery.com> 14473169689Skan 14474169689Skan * config/arm/arm.c (arm_compute_func_type): Treat all functions 14475169689Skan as nothrow when unwinding tables are disabled. 14476169689Skan 14477169689Skan2006-01-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 14478169689Skan 14479169689Skan PR testsuite/25171 14480169689Skan * c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type 14481169689Skan of bit-field" when in system header. 14482169689Skan 14483169689Skan2006-01-19 DJ Delorie <dj@redhat.com> 14484169689Skan 14485169689Skan * config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with 14486169689Skan the 16 bit shift limit of the m16c. 14487169689Skan 14488169689Skan2006-01-19 Andrew Pinski <pinskia@physics.uc.edu> 14489169689Skan 14490169689Skan PR target/22099 14491169689Skan * config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label. 14492169689Skan * config/i386/i386.c (output_set_got): Output the label if we have one 14493169689Skan for the TARGET_DEEP_BRANCH_PREDICTION case. 14494169689Skan 14495169689Skan2006-01-19 Jan Hubicka <jh@suse.cz> 14496169689Skan H.J. Lu <hongjiu.lu@intel.com> 14497169689Skan Evandro Menezes <evandro.menezes@amd.com> 14498169689Skan 14499169689Skan * invoke.texi (generic): Document 14500169689Skan (i686) Update. 14501169689Skan * config.gcc: Make x86_64-* and i686-* default to generic tunning. 14502169689Skan * i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC, 14503169689Skan TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros. 14504169689Skan (x86_use_incdec, x86_pad_returns): New variables 14505169689Skan (TARGET_CPU_DEFAULT_generic): New constant 14506169689Skan (TARGET_CPU_DEFAULT_NAMES): Add generic. 14507169689Skan (enum processor_type): Add generic32 and generic64. 14508169689Skan * i386.md (cpu attribute): Add generic32/generic64 14509169689Skan (movhi splitter): Behave sanely when both partial_reg_dependency and 14510169689Skan partial_reg_stall are set. 14511169689Skan (K8 splitters): Enable for generic as well. 14512169689Skan * predicates.md (incdec_operand): Use TARGET_INCDEC 14513169689Skan (aligned_operand): Avoid memory mismatch stalls. 14514169689Skan * athlon.md: Enable for generic64, new patterns for 128bit moves. 14515169689Skan * ppro.md: Enable for generic32 14516169689Skan * i386.c (generic64_cost, generic32_cost): New. 14517169689Skan (m_GENERIC32, m_GENERIC64, m_GENERIC): New macros. 14518169689Skan (x86_use_leave): Enable for generic64. (x86_use_sahf, 14519169689Skan x86_ext_80387_constants): Enable for generic32. (x86_push_memory, 14520169689Skan x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop, 14521169689Skan x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8, 14522169689Skan x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, 14523169689Skan x86_partial_reg_dependency, x86_memory_mismatch_stall, 14524169689Skan x86_accumulate_outgoing_args, x86_prologue_using_move, 14525169689Skan x86_epilogue_using_move, x86_arch_always_fancy_math_387, 14526169689Skan x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule): 14527169689Skan Enable for generic. 14528169689Skan (x86_use_incdec, x86_pad_returns): New. 14529169689Skan (override_options): Add generic32 and generic64, translate "generic" 14530169689Skan to generic32/generic64 and "i686" to "generic32", refuse 14531169689Skan "generic32"/"generic64" as arch target. 14532169689Skan (ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon. 14533169689Skan (ix86_reorg): Honor PAD_RETURNS. 14534169689Skan 14535169689Skan2006-01-19 Diego Novillo <dnovillo@redhat.com> 14536169689Skan 14537169689Skan * tree-pretty-print.c (dump_generic_node): Handle 14538169689Skan OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR. 14539169689Skan * cgraph.c (cgraph_expand_queue): Rename from 14540169689Skan cgraph_analyze_queue. Update all users. 14541169689Skan * cgraphunit.c (cgraph_assemble_pending_functions): Process 14542169689Skan cgraph_expand_queue. 14543169689Skan (cgraph_expand_all_functions): Likewise. 14544169689Skan (cgraph_finalize_pending_functions): Remove. Update callers. 14545169689Skan 14546169689Skan * tree.h (OMP_DIRECTIVE_P): Define. 14547169689Skan (OMP_PARALLEL_FN): Define. 14548169689Skan (OMP_PARALLEL_DATA_ARG): Define. 14549169689Skan (OMP_SECTIONS_SECTIONS): Define. 14550169689Skan * tree-pass.h (pass_expand_omp): Declare. 14551169689Skan * omp-low.c (struct omp_region): Declare. 14552169689Skan (struct omp_context): Remove fields 'parallel_type', 14553169689Skan 'parallel_start_ix' and 'parallel_start_additional_args'. 14554169689Skan Update all users. 14555169689Skan (struct omp_for_data): Rename from struct expand_omp_for_data. 14556169689Skan (omp_regions): New static variable. 14557169689Skan (root_omp_region): New static variable. 14558169689Skan (find_omp_clause): Make static. 14559169689Skan (is_in_combined_parallel_ctx): Remove. 14560169689Skan (is_combined_parallel): New. 14561169689Skan (extract_omp_for_data): Move earlier in the file. 14562169689Skan (workshare_safe_to_combine_p): New. 14563169689Skan (get_ws_args_for): New. 14564169689Skan (determine_parallel_type): Move earlier in the file. 14565169689Skan (omp_copy_decl_2): Do not set DECL_CONTEXT of new local to the 14566169689Skan child function. 14567169689Skan (omp_copy_decl): Likewise. 14568169689Skan (create_omp_child_function): Likewise. 14569169689Skan (lookup_omp_region): New. 14570169689Skan (dump_omp_region): New. 14571169689Skan (debug_omp_region): New. 14572169689Skan (debug_all_omp_regions): New. 14573169689Skan (new_omp_region): New. 14574169689Skan (scan_omp_parallel): If parallel_nesting_level > 1, the 14575169689Skan directive is nested within another parallel directive. 14576169689Skan Set OMP_PARALLEL_FN. 14577169689Skan (scan_omp_for): Do not try to handle combined parallel+for 14578169689Skan cases. 14579169689Skan Remove FIXME comment. 14580169689Skan (scan_omp_nested): Remove. 14581169689Skan (scan_omp_1): Do not call scan_omp_nested when 14582169689Skan parallel_nesting_level is > 1. 14583169689Skan Do not change the DECL_CONTEXT of local variables found. 14584169689Skan (lookup_decl_in_outer_ctx): New. 14585169689Skan (lower_rec_input_clauses): Rename from expand_rec_input_clauses. 14586169689Skan (lower_lastprivate_clauses): Rename from expand_lastprivate_clauses. 14587169689Skan (lower_reduction_clauses): Rename from expand_reduction_clauses. 14588169689Skan (lower_copyprivate_clauses): Rename from expand_copyprivate_clauses. 14589169689Skan If CTX is nested, lookup VAR in the outer context when 14590169689Skan building copy assignment. 14591169689Skan (lower_send_clauses): Rename from expand_send_clauses. 14592169689Skan If CTX is nested, lookup VAR in the outer context when 14593169689Skan building copy assignments. 14594169689Skan (lower_send_shared_vars): Rename from expand_send_shared_vars. 14595169689Skan If CTX is nested, lookup VAR in the outer context when 14596169689Skan building copy assignments. 14597169689Skan (expand_parallel_call): Rename from build_parallel_call. 14598169689Skan Handle combined parallel+workshare cases. 14599169689Skan Re-implement to emit code into the CFG. 14600169689Skan (list2chain): New. 14601169689Skan (expand_omp_parallel): Re-implement to emit code into the CFG. 14602169689Skan Call move_sese_region_to_fn to outline the sub-graph 14603169689Skan containing the parallel region. 14604169689Skan (expand_omp_for_1): Remove. 14605169689Skan (expand_omp_for_generic): Re-implement to emit code into the 14606169689Skan CFG. 14607169689Skan (expand_omp_for_static_nochunk): Likewise. 14608169689Skan (expand_omp_for_static_chunk): Likewise. 14609169689Skan (expand_omp_for): Likewise. 14610169689Skan (expand_omp_sections): Likewise. 14611169689Skan (remove_exit_barriers): New. 14612169689Skan (expand_omp_synch): New. 14613169689Skan (expand_omp): New. 14614169689Skan (build_omp_regions_1): New. 14615169689Skan (build_omp_regions): New. 14616169689Skan (execute_expand_omp): New. 14617169689Skan (gate_expand_omp): New. 14618169689Skan (pass_expand_omp): Define. 14619169689Skan (lower_omp_sections): Rename from expand_omp_sections. 14620169689Skan Set OMP_SECTIONS_SECTIONS. 14621169689Skan (lower_omp_single_simple): Rename from expand_omp_single_simple. 14622169689Skan (lower_omp_single_copy): Rename from expand_omp_single_copy. 14623169689Skan (lower_omp_single): Rename from expand_omp_simple. 14624169689Skan (lower_omp_master): Rename from expand_omp_master. 14625169689Skan (lower_omp_ordered): Rename from expand_omp_ordered. 14626169689Skan (lower_omp_critical): Rename from expand_omp_critical. 14627169689Skan (lower_omp_for_lastprivate): Rename from expand_omp_for_lastprivate. 14628169689Skan (lower_omp_for): Re-implement. 14629169689Skan (lower_omp_parallel): Re-implement. 14630169689Skan (lower_regimplify): Rename from expand_regimplify. 14631169689Skan (lower_omp_1): Rename from expand_omp_1. 14632169689Skan If there are syntax errors in the program, replace every 14633169689Skan OpenMP directive with NOP. 14634169689Skan Call lower_omp_* instead of expand_omp_*. 14635169689Skan (lower_omp): Rename from expand_omp. 14636169689Skan 14637169689Skan * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN_EXPR. 14638169689Skan * tree-gimple.h (enum omp_parallel_type): Remove. 14639169689Skan (gimple_boolify): Declare extern. 14640169689Skan (find_omp_clause, determine_parallel_type): Remove. 14641169689Skan 14642169689Skan * gimple-low.c (lower_omp_directive): New. 14643169689Skan (lower_stmt): Call it. 14644169689Skan (record_vars_into): Move from ... 14645169689Skan (record_vars): ... here. 14646169689Skan Call record_vars_into with current_function_decl. 14647169689Skan 14648169689Skan * gimplify.c (struct gimplify_ctx): Remove fields 14649169689Skan combined_pre_p and combined_ctxp. Update users. 14650169689Skan (get_formal_tmp_var): Add documentation. 14651169689Skan (gimple_boolify): Make extern. 14652169689Skan (gimplify_expr_in_ctx): Remove. Update callers. 14653169689Skan (gimplify_omp_parallel): Do not assume that OMP_PARALLEL_BODY 14654169689Skan will always be a BIND_EXPR. 14655169689Skan (gimplify_expr): Handle OMP_RETURN_EXPR. 14656169689Skan * tree.def (BLOCK): Remove documentation about BLOCK_TYPE_TAGS. 14657169689Skan (OMP_PARALLEL): Add 3 operands. 14658169689Skan (OMP_SECTIONS): Add 1 operand. 14659169689Skan (OMP_RETURN_EXPR): Define. 14660169689Skan 14661169689Skan * tree-inline.c (estimate_num_insns_1): Handle OpenMP directives. 14662169689Skan (copy_tree_r): Restore TREE_CHAIN in OMP_CLAUSE_*. 14663169689Skan * tree-iterator.c (alloc_stmt_list): Assert that we are not 14664169689Skan creating a circular free list. 14665169689Skan (free_stmt_list): Assert that we are not freeing stmt_list_cache. 14666169689Skan 14667169689Skan * tree-flow.h (move_sese_region_to_fn): Declare. 14668169689Skan (record_vars_into): Declare. 14669169689Skan * tree-cfg.c (make_omp_sections_edges): New. 14670169689Skan (make_exit_edges): Handle OMP_PARALLEL, OMP_FOR, OMP_SINGLE, 14671169689Skan OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_RETURN_EXPR, 14672169689Skan OMP_SECTIONS and OMP_SECTION. 14673169689Skan (is_ctrl_altering_stmt): Return true for OMP_DIRECTIVE_P. 14674169689Skan (set_bb_for_stmt): Undo change to check currently_expanding_to_rtl. 14675169689Skan (verify_stmt): Do not handle OMP_DIRECTIVE_P. 14676169689Skan (gather_blocks_in_sese_region): New. 14677169689Skan (struct move_stmt_d): Declare. 14678169689Skan (move_stmt_r): New. 14679169689Skan (move_block_to_fn): New. 14680169689Skan (move_sese_region_to_fn): New. 14681169689Skan 14682169689Skan * passes.c (init_optimization_passes): Schedule 14683169689Skan pass_expand_omp after pass_init_datastructures. 14684169689Skan 14685169689Skan * tree-ssa-operands.c (get_expr_operands): Handle 14686169689Skan OMP_PARALLEL, OMP_SECTIONS, OMP_FOR, OMP_RETURN_EXPR, 14687169689Skan OMP_SINGLE, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL. 14688169689Skan 14689169689Skan2006-01-19 Jeff Law <law@redhat.com> 14690169689Skan 14691169689Skan * tree-vrp.c (extract_range_from_assert): Refine the result range 14692169689Skan if the variable referenced by the ASSERT_EXPR has a range and 14693169689Skan either the tentative result range or the previous range is a 14694169689Skan VR_ANTI_RANGE. 14695169689Skan 14696169689Skan2006-01-19 Richard Sandiford <richard@codesourcery.com> 14697169689Skan 14698169689Skan * c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses. 14699169689Skan 14700169689Skan2006-01-19 Jan Hubicka <jh@suse.cz> 14701169689Skan 14702169689Skan * tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error. 14703169689Skan 14704169689Skan2006-01-19 Paolo Bonzini <bonzini@gnu.org> 14705169689Skan 14706169689Skan * combine.c (try_combine): Do not worry about MEMs wrapped by USEs. 14707169689Skan (expand_compound_operation, expand_field_assignment): Fail if the 14708169689Skan bit lengths of an extract operation are out of range. 14709169689Skan (make_extraction): Compute wanted_inner_mode based on the position 14710169689Skan and length of the extraction. Make it extraction_mode for non-constant 14711169689Skan positions, and do not modify offset in that case. When generating a 14712169689Skan new MEM, use a mode that can hold the extraction while keeping correct 14713169689Skan alignment. Remove code that supported MEMs wrapped by USEs. 14714169689Skan (simplify_shift_const_1, force_to_mode) <case USE>: Remove. 14715169689Skan 14716169689Skan2006-01-19 Andreas Krebbel <krebbel1@de.ibm.com> 14717169689Skan 14718169689Skan * config/s390/s390.md ("Y", "y"): New mode attribute. 14719169689Skan ("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc", 14720169689Skan "*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly", 14721169689Skan "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64", 14722169689Skan "*addsi3_imm_cc", "*addsi3_carry1_cc", 14723169689Skan "*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly", 14724169689Skan "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", 14725169689Skan "*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc", 14726169689Skan "*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64", 14727169689Skan "*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc", 14728169689Skan "*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2", 14729169689Skan "addsi3", "subsi3"): Insn patterns removed. 14730169689Skan ("*add<mode>3_carry1_cc", "*add<mode>3_carry1_cconly", 14731169689Skan "*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc", 14732169689Skan "*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc", 14733169689Skan "*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly", 14734169689Skan "*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly", 14735169689Skan "*sub<mode>3_cconly2"): New insn patterns. 14736169689Skan ("addsi3", "subsi3"): New expanders. 14737169689Skan 14738169689Skan2006-01-19 Dorit Nuzman <dorit@il.ibm.com> 14739169689Skan 14740169689Skan * Makefile.in (tree-vect-patterns.o): Add rule for new file. 14741169689Skan * tree-vect-analyze.c (vect_determine_vectorization_factor): Use 14742169689Skan existing STMT_VINFO_VECTYPE if available. 14743169689Skan (vect_mark_relevant): Add special handling for stmts that are 14744169689Skan marked as STMT_VINFO_IN_PATTERN_P. 14745169689Skan (vect_analyze_loop): Call vect_pattern_recog. 14746169689Skan * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields. 14747169689Skan * tree-vectorizer.h (in_pattern_p, related_stmt): New fields in 14748169689Skan stmt_info. 14749169689Skan (STMT_VINFO_IN_PATTERN_P, STMT_VINFO_RELATED_STMT): New macros. 14750169689Skan (vect_recog_func_ptr): New function-pointer type. 14751169689Skan * tree-vect-patterns.c: New file. 14752169689Skan (vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern): 14753169689Skan (vect_recog_dot_prod_pattern, vect_pattern_recog): 14754169689Skan (vect_pattern_recog_1): New functions. 14755169689Skan (vect_pattern_recog_funcs): New array of function pointers. 14756169689Skan 14757169689Skan * tree-vectorizer.h (ternary_op): New enum value. 14758169689Skan * tree-vect-transform.c (vect_create_epilog_for_reduction): Added 14759169689Skan declaration. Revised documentation. Removed redundant dump prints. 14760169689Skan Removed redundant argument. Added support for reduction patterns. 14761169689Skan (vectorizable_reduction): Added support for reduction patterns. 14762169689Skan (vect_transform_stmt): Added support for patterns. 14763169689Skan 14764169689Skan * expr.c (expand_expr_real_1): Added case for DOT_PROD_EXPR. 14765169689Skan * genopinit.c (udot_prod_optab, sdot_prod_optab): Initialize. 14766169689Skan * optabs.c (optab_for_tree_code): Added case for DOT_PROD_EXPR. 14767169689Skan (expand_widen_pattern_expr): New function. 14768169689Skan (init_optabs): Initialize new optabs udot_prod_optab, 14769169689Skan sdot_prod_optab. 14770169689Skan * optabs.h (OTI_sdot_prod, OTI_udot_prod): New. 14771169689Skan (sdot_prod_optab, udot_prod_optab): Define new optabs. 14772169689Skan (expand_widen_pattern_expr): New function declaration. 14773169689Skan * tree.def (DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR): New 14774169689Skan tree-codes. 14775169689Skan * tree-inline.c (estimate_num_insns_1): Added cases for new 14776169689Skan tree-codes DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR. 14777169689Skan * tree-pretty-print.c (dump_generic_node): Likewise. 14778169689Skan (op_prio): Likewise. 14779169689Skan (op_symbol): Added cases for WIDEN_SUM_EXPR, WIDEN_MULT_EXPR. 14780169689Skan * tree-ssa-operands.c (get_expr_operands): Added case for 14781169689Skan DOT_PROD_EXPR. 14782169689Skan * tree-vect-patterns.c (widened_name_p): New function. 14783169689Skan (vect_recog_dot_prod_pattern): Added function implementation. 14784169689Skan * tree-vect-transform.c (get_initial_def_for_reduction): Added 14785169689Skan cases for DOT_PROD_EXPR, WIDEN_SUM_EXPR. 14786169689Skan * config/rs6000/altivec.md (udot_prod<mode>, sdot_prodv8hi): New. 14787169689Skan * config/i386/sse.md (sdot_prodv8hi, udot_prodv4si): New. 14788169689Skan 14789169689Skan * expr.c (expand_expr_real_1): Added case for WIDEN_SUM_EXPR. 14790169689Skan * genopinit.c (widen_ssum_optab, widen_usum_optab): Initialize. 14791169689Skan * optabs.c (optab_for_tree_code): Added case for WIDEN_SUM_EXPR. 14792169689Skan (init_optabs): Initialize new optabs widen_ssum_optab, 14793169689Skan widen_usum_optab. 14794169689Skan * optabs.h (OTI_widen_ssum, OTI_widen_usum): New. 14795169689Skan (widen_ssum_optab, widen_usum_optab): Define new optabs. 14796169689Skan * tree-vect-generic.c: (expand_vector_operations_1): Check type of 14797169689Skan use instead of type of def. 14798169689Skan * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Added 14799169689Skan function implementation. 14800169689Skan * config/rs6000/altivec.md (widen_usum<mode>, widen_ssumv16qi, 14801169689Skan widen_ssumv8hi): New. 14802169689Skan 14803169689Skan * doc/tm.texi (ssum_widen, usum_widen, sdot_prod, udot_prod): New 14804169689Skan patterns. 14805169689Skan 14806169689Skan2006-01-19 Richard Sandiford <richard@codesourcery.com> 14807169689Skan 14808169689Skan PR c/25805 14809169689Skan * c-decl.c (add_flexible_array_elts_to_size): New function. 14810169689Skan (finish_decl): Use it. 14811169689Skan 14812169689Skan2006-01-18 Andrew Pinski <pinskia@physics.uc.edu> 14813169689Skan 14814169689Skan * diagnostic.h: Include options.h. 14815169689Skan * config/rs6000/x-darwin (host-ppc-darwin.o): Correct the 14816169689Skan dependancies for diagnostic.h. 14817169689Skan * Makefile.in (DIAGNOSTIC_H): Add options.h. 14818169689Skan 14819169689Skan2006-01-16 Daniel Berlin <dberlin@dberlin.org> 14820169689Skan 14821169689Skan * tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove. 14822169689Skan (ssa_ro_call_cache_valid): Ditto. 14823169689Skan * tree-ssa-alias.c (sort_tags_by_id): New function. 14824169689Skan (init_transitive_clobber_worklist): Ditto. 14825169689Skan (add_to_worklist): Ditto. 14826169689Skan (mark_aliases_call_clobbered): Ditto. 14827169689Skan (compute_tag_properties): Ditto. 14828169689Skan (set_initial_properties): Ditto. 14829169689Skan (compute_call_clobbered): Ditto. 14830169689Skan (compute_may_aliases): Call compute_call_clobbered and grouping. 14831169689Skan (compute_flow_sensitive_aliasing): Remove clobbering related code. 14832169689Skan (compute_flow_insensitive_aliasing): Grouping now happens in our 14833169689Skan caller. 14834169689Skan (setup_pointers_and_addressables): Remove clobbering related code. 14835169689Skan (add_may_alias): Ditto. 14836169689Skan (replace_may_alias): Ditto. 14837169689Skan (get_nmt_for): Ditto. 14838169689Skan (create_global_var): 14839169689Skan (is_escape_site): Return an escape_type enumeration. 14840169689Skan * tree-flow-inline.h (is_call_clobbered): Global var does not 14841169689Skan imply call clobbered. 14842169689Skan (mark_call_clobbered): Take a reason for marking this. Remove 14843169689Skan marking of globalness, and cache invalidation. 14844169689Skan (clear_call_clobbered): Remove cache invalidation code. 14845169689Skan * tree-dfa.c (dump_variable): If details is on, dump the reason 14846169689Skan for escaping. 14847169689Skan * tree-outof-ssa.c (create_temp): Copy escape mask from original 14848169689Skan variable. 14849169689Skan * tree-flow.h (struct ptr_info_def): Add escape mask member. 14850169689Skan (struct var_ann_d): Ditto. 14851169689Skan (enum escape_type): New. 14852169689Skan (mark_call_clobbered): Adjust prototype. 14853169689Skan * tree-ssa-structalias.c (update_alias_info): Unmodifiable vars 14854169689Skan are never call clobbered. 14855169689Skan Record reasons for escaping. 14856169689Skan * tree-ssa-structalias.h (is_escape_site): Update prototype. 14857169689Skan * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove. 14858169689Skan (ssa_ro_call_cache_valid): Ditto. 14859169689Skan (clobbered_v_may_defs): Ditto. 14860169689Skan (clobbered_vuses): Ditto. 14861169689Skan (ro_call_vuses): Ditto. 14862169689Skan (clobber_stats): New. 14863169689Skan (init_ssa_operands): Zero out clobber stats. 14864169689Skan (fini_ssa_operands): Print out clobber stats. 14865169689Skan (get_call_expr_operands): Pass callee fndecl to 14866169689Skan add_call_read_ops). 14867169689Skan (add_call_clobber_ops): Remove use of cache. 14868169689Skan Add use of PURE_CONST information. 14869169689Skan (add_call_read_ops): Remove use of cache. 14870169689Skan Add use of static not_read information. 14871169689Skan 14872169689Skan2006-01-18 Alexandre Oliva <aoliva@redhat.com> 14873169689Skan 14874169689Skan Introduce TLS descriptors for i386 and x86_64. 14875169689Skan * config/i386/i386.h (TARGET_GNU2_TLS): New macro. 14876169689Skan (TARGET_ANY_GNU_TLS): New macro. 14877169689Skan (enum tls_dialect): Added TLS_DIALECT_GNU2. 14878169689Skan (struct machine_function): Add tls_descriptor_call_expanded_p. 14879169689Skan (ix86_tls_descriptor_calls_expande_in_cfun): New macro. 14880169689Skan (ix86_current_function_calls_tls_descriptor): Likewise. 14881169689Skan * config/i386/i386.c (ix86_tls_dialect): Fix typo in comment. 14882169689Skan (override_options): Introduce gnu2 tls dialect. 14883169689Skan (ix86_frame_pointer_required): Functions containing TLSCALLs are 14884169689Skan not leaves. 14885169689Skan (ix86_select_alt_pic_regnum, ix86_compute_frame_layout): 14886169689Skan Likewise. 14887169689Skan (legitimize_tls_address): Adjust logic for GNU2 TLS. 14888169689Skan (ix86_init_machine_status): Initialize new field. 14889169689Skan (ix86_tls_get_addr): Use TARGET_ANY_GNU_TLS. 14890169689Skan (ix86_tls_module_base): New. 14891169689Skan * config/i386/i386-protos.h (ix86_tls_module_base): Declare it. 14892169689Skan * config/i386/i386.md (UNSPEC_TLSDESC): New constant. 14893169689Skan (tls_global_dynamic_32, tls_global_dynamic_64): Handle GNU2 TLS. 14894169689Skan (tls_local_dynamic_base_32, tls_local_dynamic_base_64): Likewise. 14895169689Skan (tls_dynamic_gnu2_32, *tls_dynamic_lea_32): New patterns. 14896169689Skan (*tls_dynamic_call_32, *tls_dynamic_gnu2_combine_32): Likewise. 14897169689Skan (tls_dynamic_gnu2_64, *tls_dynamic_lea_64): Likewise. 14898169689Skan (*tls_dynamic_call_64, *tls_dynamic_gnu2_combine_64): Likewise. 14899169689Skan * config/i386/predicates.md (tls_modbase_operand): New. 14900169689Skan (tp_or_register_operand): New. 14901169689Skan 14902169689Skan2006-01-18 Daniel Berlin <dberlin@dberlin.org> 14903169689Skan 14904169689Skan * ipa-reference.c (check_operand): Allow FUNCTION_DECL. 14905169689Skan (look_for_address_of): Ditto. 14906169689Skan (ipa_init): Walk the function decls. 14907169689Skan (static_execute): Don't set readonly on FUNCTION_DECL's. 14908169689Skan 14909169689Skan2006-01-18 Roger Sayle <roger@eyesopen.com> 14910169689Skan 14911169689Skan * config/i386/i386.md (shift spliter): Fix a a typo in the splitter 14912169689Skan for shifts where the source and destination registers are different. 14913169689Skan 14914169689Skan2006-01-18 Paul Brook <paul@codesourcery.com> 14915169689Skan 14916169689Skan Merge from csl-arm-branch. 14917169689Skan 2005-03-14 Julian Brown <julian@codesourcery.com> 14918169689Skan * config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS. 14919169689Skan (aeabi_llsl): Likewise. 14920169689Skan (ashrdi3): Likewise. 14921169689Skan (aeabi_lasr): Likewise. 14922169689Skan (lshrdi3): Likewise. 14923169689Skan (aeabi_llsr): Likewise. 14924169689Skan 2005-03-10 Julian Brown <julian@codesourcery.com> 14925169689Skan * config.gcc: Disable shared libgcc for SymbianOS. 14926169689Skan * config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c. 14927169689Skan 14928169689Skan2006-01-18 DJ Delorie <dj@redhat.com> 14929169689Skan 14930169689Skan * c-pragma.c (handle_pragma_diagnostic): New. 14931169689Skan (init_pragma): Register it. 14932169689Skan * doc/extend.texi: Document it. 14933169689Skan 14934169689Skan * diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED. 14935169689Skan * diagnostic.h (diagnostic_classify_diagnostic): Declare. 14936169689Skan (diagnostic_context): Add classify_diagnostic[]. 14937169689Skan * diagnostic.c (diagnostic_count_diagnostic): Don't count warnings 14938169689Skan as errors if they're overridden to DK_WARNING. 14939169689Skan (diagnostic_initialize): Initialize classify_diagnostic[]. 14940169689Skan (diagnostic_set_kind_override): New. 14941169689Skan (diagnostic_report_diagnostic): Check for kind changes. 14942169689Skan * opts.c (common_handle_option): Take lang_mask. Update callers. 14943169689Skan Handle OPT_Werror_. 14944169689Skan * common.opt (Werror=): New. 14945169689Skan * doc/invoke.texi: Document -Werror=* 14946169689Skan 14947169689Skan2006-01-18 Jeff Law <law@redhat.com> 14948169689Skan 14949169689Skan * tree-vrp.c (test_for_singularity): Correct test for new 14950169689Skan min limit. Use operand_equal_p rather than pointer equality 14951169689Skan for testing if new min/max values are equal. 14952169689Skan 14953169689Skan * tree-ssa-propagate.c (substitute_and_fold): Delay simplifications 14954169689Skan using range information until after propagation and folding. 14955169689Skan 14956169689Skan2006-01-18 Richard Henderson <rth@redhat.com> 14957169689Skan Aldy Hernandez <aldyh@redhat.com> 14958169689Skan Jakub Jelinek <jakub@redhat.com> 14959169689Skan Diego Novillo <dnovillo@redhat.com> 14960169689Skan 14961169689Skan * omp-low.c: New file. 14962169689Skan * c-omp.c: New file. 14963169689Skan 14964169689Skan2006-01-18 Richard Henderson <rth@redhat.com> 14965169689Skan Jakub Jelinek <jakub@redhat.com> 14966169689Skan Diego Novillo <dnovillo@redhat.com> 14967169689Skan 14968169689Skan * doc/invoke.texi: Document -fopenmp. 14969169689Skan * tree-dump.h (debug_function): Declare. 14970169689Skan * hooks.c (hook_bool_tree_bool_false): New function. 14971169689Skan (hook_tree_tree_null): Remove. 14972169689Skan (hook_tree_tree_tree_null): New. 14973169689Skan * hooks.h: Update to match. 14974169689Skan * tree-pretty-print.c (debug_tree_chain): New. 14975169689Skan (print_generic_expr): Handle TDF_CHAIN. 14976169689Skan (dump_generic_node): Handle BLOCK. 14977169689Skan Do not abort with incomplete SWITCH_EXPRs. 14978169689Skan Do not dump body of an OpenMP directive if TDF_SLIM is given. 14979169689Skan <case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't 14980169689Skan print space after directive name. 14981169689Skan <OMP_FOR>: Handle printing OMP_FOR_PRE_BODY. 14982169689Skan Handle OMP_MASTER and OMP_ORDERED. 14983169689Skan Handle printing of OMP_BODY just in one place, goto 14984169689Skan dump_omp_body in the rest of OMP_* nodes that have 14985169689Skan OMP_BODY. 14986169689Skan Don't handle clause nodes here. Update omp statements to 14987169689Skan use dump_omp_clauses. 14988169689Skan Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION, 14989169689Skan OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC, 14990169689Skan OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF, 14991169689Skan GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED, 14992169689Skan GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE, 14993169689Skan GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE. 14994169689Skan Adjust output for GOMP_PARALLEL. 14995169689Skan (dump_omp_clauses): New. 14996169689Skan (print_declaration): Dump DECL_VALUE_EXPR. 14997169689Skan (op_symbol_1): Split out of op_symbol. 14998169689Skan (dumping_stmts): Remove. Update all users. 14999169689Skan * cgraph.c (cgraph_analyze_queue): New. 15000169689Skan (cgraph_add_new_function): New. 15001169689Skan * cgraph.h (cgraph_analyze_queue): Declare. 15002169689Skan (cgraph_add_new_function): Declare. 15003169689Skan (cgraph_lower_function): Remove. 15004169689Skan * tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_* 15005169689Skan nodes. Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS 15006169689Skan and TYPE_P nodes in its default clause. 15007169689Skan (empty_body_p): New. 15008169689Skan (tree_range_check_failed): New. 15009169689Skan (build5_stat): New. 15010169689Skan * tree.h (OMP_CLAUSE_REDUCTION_INIT, 15011169689Skan OMP_CLAUSE_REDUCTION_MERGE, 15012169689Skan OMP_CLAUSE_REDUCTION_PLACEHOLDER, 15013169689Skan OMP_CLAUSE_PRIVATE_DEBUG, 15014169689Skan OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY, 15015169689Skan OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY, 15016169689Skan OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND, 15017169689Skan OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL, 15018169689Skan OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR, 15019169689Skan OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR, 15020169689Skan OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT, 15021169689Skan OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT, 15022169689Skan OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC, 15023169689Skan OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST, 15024169689Skan OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE 15025169689Skan OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY, 15026169689Skan OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY, 15027169689Skan OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New. 15028169689Skan (TREE_RANGE_CHECK): New. 15029169689Skan (empty_body_p): Declare. 15030169689Skan (enum omp_clause_default_kind): New. 15031169689Skan (build_string_literal): Declare. 15032169689Skan (enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New. 15033169689Skan (build5_stat, build5): Declare. 15034169689Skan * tree-pass.h (TDF_CHAIN): Define. 15035169689Skan * tree-pass.h (PROP_gimple_lomp): Define. 15036169689Skan (pass_lower_omp): Declare. 15037169689Skan * diagnostic.h (debug_tree_chain): Declare. 15038169689Skan * builtins.c (get_builtin_sync_mode): Use 0 as last argument to 15039169689Skan mode_for_size. 15040169689Skan (expand_builtin): Handle sync BUILT_IN_*_16 builtins. 15041169689Skan * builtins.c (build_string_literal): Make extern. 15042169689Skan * gcc.c (include_spec_function): New. 15043169689Skan (static_spec_functions): Add it. 15044169689Skan (main): Move load of libgomp.spec ... 15045169689Skan (LINK_COMMAND_SPEC): ... here. 15046169689Skan (link_gomp_spec): New. 15047169689Skan (static_specs): Include it. 15048169689Skan (LINK_COMMAND_SPEC): Add link_gomp. 15049169689Skan (GOMP_SELF_SPECS): New. 15050169689Skan (driver_self_specs): Include it. 15051169689Skan (switch_matches): Don't mark inline. 15052169689Skan (main): Load libgomp.spec. 15053169689Skan * tree-gimple.c (is_gimple_stmt): True for OMP_MASTER, 15054169689Skan OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION, 15055169689Skan and OMP_SINGLE, OMP_FOR and OMP_PARALLEL. 15056169689Skan * tree-gimple.h (enum omp_parallel): Declare. 15057169689Skan (determine_parallel_type): Declare. 15058169689Skan (omp_firstprivatize_variable): Declare. 15059169689Skan (omp_reduction_init): Declare. 15060169689Skan (diagnose_omp_structured_block_errors): Declare. 15061169689Skan (struct walk_stmt_info): Add want_return_expr. 15062169689Skan (struct walk_stmt_info): Add want_bind_expr, want_locations. 15063169689Skan (find_omp_clause): Declare. 15064169689Skan (insert_field_into_struct): Declare. 15065169689Skan (struct walk_stmt_info): Move from tree-nested.c 15066169689Skan (walk_stmts): Declare. 15067169689Skan * c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP 15068169689Skan to 200505. 15069169689Skan * cgraphunit.c (cgraph_lower_function): Make static. 15070169689Skan (cgraph_finalize_pending_functions): New. 15071169689Skan (cgraph_finalize_function): Call it. 15072169689Skan (cgraph_finalize_compilation_unit): Likewise. 15073169689Skan * builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16, 15074169689Skan BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add. 15075169689Skan (BT_FN_UINT_UINT): New. 15076169689Skan (DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7, 15077169689Skan DEF_FUNCTION_TYPE_VAR_4): Document. 15078169689Skan (BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT, 15079169689Skan BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR, 15080169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT, 15081169689Skan BT_FN_VOID_OMPFN_PTR_UINT_UINT, 15082169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 15083169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 15084169689Skan BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, 15085169689Skan BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New. 15086169689Skan * builtins.def: Update DEF_BUILTIN comment to include COND argument. 15087169689Skan Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins 15088169689Skan into separate files. 15089169689Skan (DEF_GOMP_BUILTIN): New. 15090169689Skan (BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER, 15091169689Skan BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END, 15092169689Skan BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END, 15093169689Skan BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START, 15094169689Skan BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START, 15095169689Skan BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, 15096169689Skan BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, 15097169689Skan BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, 15098169689Skan BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, 15099169689Skan BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, 15100169689Skan BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, 15101169689Skan BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, 15102169689Skan BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, 15103169689Skan BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, 15104169689Skan BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, 15105169689Skan BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, 15106169689Skan BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, 15107169689Skan BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, 15108169689Skan BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, 15109169689Skan BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT, 15110169689Skan BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END, 15111169689Skan BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END, 15112169689Skan BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT, 15113169689Skan BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END, 15114169689Skan BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START, 15115169689Skan BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New. 15116169689Skan * sync-builtins.def: New file, moved from builtins.def. 15117169689Skan * omp-builtins.def: New file, moved from builtins.def. 15118169689Skan * c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine. 15119169689Skan * gimple-low.c (lower_function_body): Clear data. 15120169689Skan (lower_stmt): Do not handle COMPOUND_EXPR. 15121169689Skan Remove call to print_node_brief. 15122169689Skan * c-tree.h (c_finish_omp_clauses): New prototype. 15123169689Skan (C_DECL_THREADPRIVATE_P): Define. 15124169689Skan (lookup_name_no_remap, c_omp_remap_private): Remove 15125169689Skan (c_begin_omp_parallel, c_finish_omp_parallel): Update. 15126169689Skan (check_for_loop_decls): Update decl. 15127169689Skan (lookup_name_no_remap, c_omp_remap_private): Declare. 15128169689Skan (build_indirect_ref, build_modify_expr, pushdecl, 15129169689Skan pushdecl_top_level): Move to c-common.h. 15130169689Skan * dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp 15131169689Skan before the switch, but just in the 2 places that need it. 15132169689Skan * c-decl.c (diagnose_mismatched_decls): Do not check for 15133169689Skan mismatched thread-local attributes when OLDDECL is marked 15134169689Skan threadprivate and NEWDECL has no thread-local attributes. 15135169689Skan (merge_decls): Merge C_DECL_THREADPRIVATE_P. 15136169689Skan (c_gimple_diagnostics_recursively): Rename from 15137169689Skan c_warn_unused_result_recursively. Invoke 15138169689Skan diagnose_omp_structured_block_errors. 15139169689Skan (check_for_loop_decls): Return a singular decl found. 15140169689Skan * langhooks.c (lhd_omp_predetermined_sharing): Return 15141169689Skan OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls. 15142169689Skan (lhd_omp_firstprivatize_type_sizes): New. 15143169689Skan (lhd_omp_assignment): New. 15144169689Skan (lhd_omp_predetermined_sharing): New. 15145169689Skan * langhooks.h (struct gimplify_omp_ctx): Forward declare. 15146169689Skan (struct lang_hooks_for_types): Add 15147169689Skan omp_firstprivatize_type_sizes, omp_privatize_by_reference, 15148169689Skan omp_predetermined_sharing, omp_disregard_value_expr, 15149169689Skan omp_private_debug_clause, omp_clause_default_ctor, 15150169689Skan omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor. 15151169689Skan (c_finish_omp_clauses): New. 15152169689Skan (c_finish_bc_stmt): Diagnose break within omp for. 15153169689Skan (c_begin_omp_parallel, c_finish_omp_parallel): New. 15154169689Skan (build_unary_op): Return error_mark after reporting 15155169689Skan a readonly_error. 15156169689Skan (build_modify_expr): Likewise. 15157169689Skan * gimplify.c: Include optabs.h and pointer-set.h. 15158169689Skan (enum gimplify_omp_var_data): Declare. 15159169689Skan (struct gimplify_omp_ctx): Declare. 15160169689Skan (struct gimplify_ctx): Add fields prev_context, combined_pre_p 15161169689Skan and combined_ctxp. 15162169689Skan (gimplify_ctxp, gimplify_omp_ctxp): New local variables. 15163169689Skan (push_gimplify_context, pop_gimplify_context): Allow nesting. 15164169689Skan (splay_tree_compare_decl_uid): New. 15165169689Skan (new_omp_context): New. 15166169689Skan (delete_omp_context): New. 15167169689Skan (gimple_add_tmp_var): Call omp_add_variable. 15168169689Skan (gimplify_bind_expr): Likewise. 15169169689Skan (gimplify_var_or_parm_decl): If omp_notice_variable returned 15170169689Skan true, disregard DECL_VALUE_EXPR on the decl if any. 15171169689Skan (gimplify_expr_in_ctx): New. 15172169689Skan (omp_firstprivatize_variable, omp_firstprivatize_type_sizes 15173169689Skan omp_add_variable, omp_notice_variable, omp_is_private 15174169689Skan gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1 15175169689Skan gimplify_adjust_omp_clauses, gimplify_omp_parallel 15176169689Skan gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p 15177169689Skan gimplify_omp_atomic_fetch_op, goa_stabilize_expr 15178169689Skan gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex 15179169689Skan gimplify_omp_atomic): New. 15180169689Skan (gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, 15181169689Skan OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, 15182169689Skan OMP_CRITICAL and OMP_ATOMIC. 15183169689Skan (gimplify_body): Verify gimplify_ctxp is empty after gimplification. 15184169689Skan * c-pragma.h (enum pragma_kind): Add 15185169689Skan PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER, 15186169689Skan PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR, 15187169689Skan PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED, 15188169689Skan PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR, 15189169689Skan PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION, 15190169689Skan PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE, 15191169689Skan PRAGMA_OMP_THREADPRIVATE. 15192169689Skan * tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS, 15193169689Skan OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED, 15194169689Skan OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE, 15195169689Skan OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE, 15196169689Skan OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION, 15197169689Skan OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE, 15198169689Skan OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, 15199169689Skan OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT, 15200169689Skan OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define. 15201169689Skan * print-tree.c (print_node): Dump DECL_VALUE_EXPR. 15202169689Skan * tree-ssa-dce.c (find_control_dependence): Do not assume that 15203169689Skan ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR). 15204169689Skan * tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for 15205169689Skan OpenMP directives. 15206169689Skan (struct nesting_info): Add field_map, 15207169689Skan suppress_expansion, debug_var_chain. 15208169689Skan (create_nesting_tree): Initialize them. 15209169689Skan (lookup_field_for_decl): Use field_map. 15210169689Skan (get_nonlocal_debug_decl, get_local_debug_decl): New. 15211169689Skan (convert_local_omp_clauses): New. 15212169689Skan (finalize_nesting_tree_1): Add debug_var_chain to toplevel block. 15213169689Skan (walk_body): Split out of walk_function. 15214169689Skan (convert_nonlocal_omp_clauses, convert_local_omp_clauses): New. 15215169689Skan (convert_nonlocal_reference): Handle omp statements. 15216169689Skan (convert_local_reference): Likewise. 15217169689Skan (unnest_nesting_tree_1): Split out of finalize_nesting_tree_1. 15218169689Skan (unnest_nesting_tree): New. 15219169689Skan (lower_nested_functions): Call it. 15220169689Skan (insert_field_into_struct): Make extern. 15221169689Skan (struct walk_stmt_info): Move to tree-gimple.h. 15222169689Skan (walk_stmts): Make extern. 15223169689Skan * omp-builtins.def: New file. 15224169689Skan * tree-iterator.c (expr_only): Clarify comment. 15225169689Skan * c-common.h (pushdecl_top_level, pushdecl, 15226169689Skan build_modify_expr, build_indirect_ref, 15227169689Skan c_finish_omp_master, c_finish_omp_critical, 15228169689Skan c_finish_omp_ordered, c_finish_omp_barrier, 15229169689Skan c_finish_omp_atomic, c_finish_omp_flush, 15230169689Skan c_finish_omp_for, c_split_parallel_clauses, 15231169689Skan omp_clause_default_kind, c_omp_sharing_predetermined, 15232169689Skan c_omp_remap_decl): Declare. 15233169689Skan * Makefile.in (BUILTINS_DEF): Add omp-builtins.def. 15234169689Skan (OBJS-common): Add omp-low.o. 15235169689Skan (c-omp.o, omp-low.o): Add. 15236169689Skan (gimplify.o): Add dependency on $(OPTABS_H). 15237169689Skan (GTFILES): Add omp-low.c. 15238169689Skan (gt-stringpool.h): Add. 15239169689Skan * tree-cfg.c (set_bb_for_stmt): Do not update the 15240169689Skan block-to-labels map if we are currently expanding to RTL. 15241169689Skan (tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P 15242169689Skan checks. 15243169689Skan Handle IDENTIFIER_NODE. 15244169689Skan (tree_verify_flow_info): Do not ICE when emitting error 15245169689Skan messages about invalid labels. 15246169689Skan (dump_function_to_file): Reset CFUN before emitting the body 15247169689Skan of the function. 15248169689Skan (debug_function): New. 15249169689Skan * passes.c (init_optimization_passes): Schedule 15250169689Skan pass_lower_omp. 15251169689Skan * langhooks-def.h (lhd_omp_predetermined_sharing, 15252169689Skan lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes): 15253169689Skan Declare. 15254169689Skan (LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define. 15255169689Skan (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it. 15256169689Skan (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE, 15257169689Skan LANG_HOOKS_OMP_PREDETERMINED_SHARING, 15258169689Skan LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR, 15259169689Skan LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE, 15260169689Skan LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR, 15261169689Skan LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, 15262169689Skan LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, 15263169689Skan LANG_HOOKS_OMP_CLAUSE_DTOR): Define. 15264169689Skan (LANG_HOOK_DECLS): Use them. 15265169689Skan 15266169689Skan2006-01-18 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> 15267169689Skan Richard Henderson <rth@redhat.com> 15268169689Skan Jakub Jelinek <jakub@redhat.com> 15269169689Skan Diego Novillo <dnovillo@redhat.com> 15270169689Skan 15271169689Skan * c-parser.c (pragma_omp_clause): Define. 15272169689Skan (c_parser_declaration_or_fndef): Document OpenMP syntax. 15273169689Skan (c_parser_compound_statement): Likewise. 15274169689Skan (c_parser_statement): Likewise. 15275169689Skan (c_parser_pragma): Handle omp pragmas. 15276169689Skan (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK, 15277169689Skan OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define. 15278169689Skan (c_parser_omp_clause_name, check_no_duplicate_clause, 15279169689Skan c_parser_omp_variable_list, 15280169689Skan c_parser_omp_var_list_parens, c_parser_omp_clause_copyin, 15281169689Skan c_parser_omp_clause_copyprivate, 15282169689Skan c_parser_omp_clause_default, 15283169689Skan c_parser_omp_clause_firstprivate, c_parser_omp_clause_if, 15284169689Skan c_parser_omp_clause_lastprivate, 15285169689Skan c_parser_omp_clause_nowait, 15286169689Skan c_parser_omp_clause_num_threads, 15287169689Skan c_parser_omp_clause_ordered, c_parser_omp_clause_private, 15288169689Skan c_parser_omp_clause_reduction, 15289169689Skan c_parser_omp_clause_schedule, c_parser_omp_clause_shared, 15290169689Skan c_parser_omp_all_clauses, c_parser_omp_structured_block, 15291169689Skan c_parser_omp_atomic, c_parser_omp_barrier, 15292169689Skan c_parser_omp_critical, c_parser_omp_flush, 15293169689Skan c_parser_omp_for_loop, c_parser_omp_for, 15294169689Skan c_parser_omp_master, c_parser_omp_ordered, 15295169689Skan c_parser_omp_sections_scope, c_parser_omp_sections, 15296169689Skan c_parser_omp_parallel, c_parser_omp_single, 15297169689Skan c_parser_omp_construct, c_parser_omp_threadprivate): New. 15298169689Skan * c-pragma.c (init_pragma): Do omp pragma registration here. 15299169689Skan * c.opt (fopenmp): New flag. 15300169689Skan 15301169689Skan2006-01-18 Eric Christopher <echristo@apple.com> 15302169689Skan 15303169689Skan * gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif. 15304169689Skan * config/darwin.h (GOMP_SELF_SPECS): Define. 15305169689Skan 15306169689Skan2006-01-18 Kazu Hirata <kazu@codesourcery.com> 15307169689Skan 15308169689Skan * rtl.h: Remove the prototype for reg_alloc. 15309169689Skan 15310169689Skan2006-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 15311169689Skan 15312169689Skan PR target/25731 15313169689Skan * config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*, 15314169689Skan hppa[12]*-*-hpux11*): Override default shared libgcc version for both 15315169689Skan sjlj and dwarf2 exception handling. 15316169689Skan * pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable. 15317169689Skan Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION. 15318169689Skan * pa/pa.c (function_value): Treat complex and vector types as 15319169689Skan aggregates. 15320169689Skan (function_arg): Likewise. Only pass scalar floats in the floating 15321169689Skan point argument registers. 15322169689Skan * pa/t-slibgcc-dwarf-ver: New file. 15323169689Skan * pa/t-slibgcc-sjlj-ver: New file. 15324169689Skan * pa/t-slibgcc-elf-ver: Delete file. 15325169689Skan 15326169689Skan2006-01-19 Alan Modra <amodra@bigpond.net.au> 15327169689Skan 15328169689Skan * config/rs6000/rs6000.c (rs6000_assemble_integer): Correct 15329169689Skan unlikely_test_section_p test. 15330169689Skan 15331169689Skan2006-01-18 Kazu Hirata <kazu@codesourcery.com> 15332169689Skan 15333169689Skan * mode-switching.c (optimize_mode_switching): Make it static. 15334169689Skan * basic-block.h: Remove the prototype for 15335169689Skan optimize_mode_switching. 15336169689Skan 15337169689Skan * modulo-sched.c (sms_schedule): Make it static. 15338169689Skan * rtl.h: Remove the prototype for sms_schedule. 15339169689Skan 15340169689Skan * postreload-gcse.c (gcse_after_reload_main): Make it static. 15341169689Skan * rtl.h: Remove the prototype for gcse_after_reload_main. 15342169689Skan 15343169689Skan * reg-stack.c (reg_to_stack): Make it static. 15344169689Skan * rtl.h: Remove the prototype for reg_to_stack. 15345169689Skan 15346169689Skan * regrename.c (regrename_optimize, copyprop_hardreg_forward): 15347169689Skan Make them static. 15348169689Skan * rtl.h: Remove the prototypes for regrename_optimize and 15349169689Skan copyprop_hardreg_forward. 15350169689Skan 15351169689Skan2006-01-18 Eric Botcazou <ebotcazou@adacore.com> 15352169689Skan 15353169689Skan * config/alpha/alpha.c (alpha_split_tfmode_pair): Rename into 15354169689Skan alpha_split_tmode_pair. Add 'mode' and 'fixup_overlap' arguments. 15355169689Skan Test against the appropriate null constant for the mode. 15356169689Skan If 'fixup_overlap' is true, swap the operands if they overlap. 15357169689Skan (alpha_split_tfmode_frobsign): Adjust call to alpha_split_tfmode_pair. 15358169689Skan * config/alpha/alpha-protos.h (alpha_split_tfmode_pair): Rename into 15359169689Skan alpha_split_tmode_pair and adjust for above change. 15360169689Skan * config/alpha/alpha.md (movtf_internal): Adjust call to 15361169689Skan alpha_split_tfmode_pair and rely on it to swap the operands. 15362169689Skan (movti_internal): New insn and post-reload splitter. 15363169689Skan (movti): New expander. 15364169689Skan 15365169689Skan2006-01-18 Philippe De Muyter <phdm@macqel.be> 15366169689Skan 15367169689Skan * config/m68k/m68k.md (*addsi3_5200): Allow addq/subq to memory 15368169689Skan operands. 15369169689Skan 15370169689Skan2006-01-18 Kazu Hirata <kazu@codesourcery.com> 15371169689Skan 15372169689Skan * rtlanal.c (global_reg_mentioned_p_1, 15373169689Skan global_reg_mentioned_p): Remove. 15374169689Skan * rtl.h: Remove the prototype for global_reg_mentioned_p. 15375169689Skan 15376169689Skan * flow.c (initialize_uninitialized_subregs): Make it static. 15377169689Skan * rtl.h: Remove the prototype for 15378169689Skan initialize_uninitialized_subregs. 15379169689Skan 15380169689Skan * function.c (instantiate_virtual_regs): Make it static. 15381169689Skan * function.h: Remove the prototype for 15382169689Skan instantiate_virtual_regs. 15383169689Skan 15384169689Skan * regmove.c (regmove_optimize, combine_stack_adjustments): 15385169689Skan Make them static. 15386169689Skan * rtl.h: Remove the prototypes for regmove_optimize and 15387169689Skan combine_stack_adjustments. 15388169689Skan 15389169689Skan2006-01-17 Roger Sayle <roger@eyesopen.com> 15390169689Skan 15391169689Skan * config/i386/i386.c (COSTS_N_BYTES): New macro. 15392169689Skan (size_cost): Encode costs in bytes so that a reg-reg addition is 15393169689Skan equivalent to COSTS_N_INSNS(1). 15394169689Skan (override_options): Use the size_cost.branch_cost as the default 15395169689Skan ix86_branch_cost when optimizing for size. 15396169689Skan 15397169689Skan2006-01-18 Ben Elliston <bje@au.ibm.com> 15398169689Skan 15399169689Skan * Makefile.in (D32PBIT_FUNCS): New. 15400169689Skan (D64PBIT_FUNCS, D128PBIT_FUNCS): Likewise. 15401169689Skan (libgcc.mk): Set D32PBIT, D64PBIT, D128PBIT, D32PBIT_FUNCS, 15402169689Skan D64PBIT_FUNCS and D128PBIT_FUNCS. 15403169689Skan (LIBGCC_DEPS): Include $(D32PBIT), $(D64PBIT), $(D128PBIT). 15404169689Skan * mklibgcc.in Bring in the DFP support code if D32PBIT, D64PBIT or 15405169689Skan D128PBIT are set. 15406169689Skan (decnumber_dep): Define. 15407169689Skan * doc/libgcc.texi (Decimal float library routines): New node. 15408169689Skan * config/dfp-bit.h, config/dfp-bit.c: New files. 15409169689Skan 15410169689Skan2006-01-18 Ben Elliston <bje@au.ibm.com> 15411169689Skan 15412169689Skan * expr.c (emit_move_change_mode): Always adjust addresses, not 15413169689Skan just during reload. Copy replacements only during reload. 15414169689Skan (emit_move_insn_1): Move MODE_DECIMAL_FLOAT modes by invoking 15415169689Skan emit_move_via_integer. 15416169689Skan 15417169689Skan2006-01-17 Shantonu Sen <ssen@opendarwin.org> 15418169689Skan 15419169689Skan * Makefile.in (check-%, check-consistency): Use $${srcdir} 15420169689Skan instead of $(srcdir) and ${srcdir}. 15421169689Skan 15422169689Skan2006-01-17 Richard Earnshaw <rearnsha@arm.com> 15423169689Skan 15424169689Skan PR target/592 15425169689Skan PR middle-end/11135 15426169689Skan * arm.h (struct machine_function): Add pic_reg. 15427169689Skan * arm.c (arm_pic_register): Make unsigned. 15428169689Skan (arm_override_options): Only set arm_pic_register if 15429169689Skan TARGET_SINGLE_PIC_BASE. 15430169689Skan (use_return_insn): Only test for a pic register if it is fixed. 15431169689Skan (arm_compute_save_reg0_reg12_mask): Likewise. 15432169689Skan (thumb_compute_save_reg_mask): Likewise. 15433169689Skan (legitimate_pic_operand): Factor out some known invariants. 15434169689Skan (legitimize_pic_address): If we don't have a fixed pic register, 15435169689Skan then set up a pseudo in the function entry sequence. Handle the 15436169689Skan pic base being in a pseudo. 15437169689Skan (arm_load_pic_register): Handle the pic register being in a pseudo. 15438169689Skan (arm_expand_prologue): Only set up the pic register if it is fixed. 15439169689Skan (thumb_expand_prologue): Likewise. 15440169689Skan * arm.md (pic_load_addr_based): Handle the pic base being a pseudo. 15441169689Skan (pic_load_addr_based_insn): Likewise. 15442169689Skan (builtin_setjmp_receiver): Don't restore the pic base if it isn't 15443169689Skan fixed. 15444169689Skan 15445169689Skan2006-01-18 Ben Elliston <bje@au.ibm.com> 15446169689Skan 15447169689Skan * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Reject 15448169689Skan decimal float modes for all floating point registers. 15449169689Skan 15450169689Skan * config/rs6000/predicates.md (reg_or_mem_operand): Pair up 15451169689Skan match_code "mem" with match_test "macho_lo_sum_memory_operand". 15452169689Skan 15453169689Skan2006-01-17 Jakub Jelinek <jakub@redhat.com> 15454169689Skan 15455169689Skan PR c/25682 15456169689Skan * c-typeck.c (build_unary_op): Fold offsetof-like expressions 15457169689Skan even when the pointer is not NULL. 15458169689Skan 15459169689Skan2006-01-16 Ian Lance Taylor <ian@airs.com> 15460169689Skan 15461169689Skan * common.opt (ftoplevel-reorder): New option. 15462169689Skan * cgraph.c (cgraph_asm_nodes): New global variable. 15463169689Skan (cgraph_asm_last_node): New static variable. 15464169689Skan (cgraph_order): New global variable. 15465169689Skan (cgraph_create_node): Set new order field. 15466169689Skan (cgraph_varpool_node): Likewise. 15467169689Skan (decide_is_variable_needed): Return true if not 15468169689Skan flag_toplevel_reorder. 15469169689Skan (cgraph_add_asm_node): New function. 15470169689Skan * cgraph.h (struct cgraph_node): Add order field. 15471169689Skan (struct cgraph_varpool_node): Add order field. 15472169689Skan (struct cgraph_asm_node): Define. 15473169689Skan (cgraph_asm_nodes, cgraph_order): Declare. 15474169689Skan (cgraph_add_asm_node): Declare. 15475169689Skan * cgraphunit.c (cgraph_varpool_assemble_decl): New static 15476169689Skan function. 15477169689Skan (cgraph_varpool_assemble_pending_decls): Call it. 15478169689Skan (cgraph_output_pending_asms): New static function. 15479169689Skan (cgraph_finalize_compilation_unit): Call it. 15480169689Skan (struct cgraph_order_sort): Define. 15481169689Skan (cgraph_output_in_order): New static function. 15482169689Skan (cgraph_optimize): Call cgraph_output_pending_asms. Add code for 15483169689Skan !flag_toplevel_reorder case. 15484169689Skan * c-parser.c: Include "cgraph.h". 15485169689Skan (c_parser_asm_definition): Call cgraph_add_asm_node rather than 15486169689Skan assemble_asm. 15487169689Skan * Makefile.in (CRTSTUFF_CFLAGS): Use -fno-toplevel-reorder rather 15488169689Skan than -fno-unit-at-a-time. 15489169689Skan * doc/invoke.texi (Option Summary): Mention 15490169689Skan -fno-toplevel-reorder. 15491169689Skan (Optimize Options): Document -fno-toplevel-reorder. Mention it in 15492169689Skan -funit-at-a-time documentation. 15493169689Skan 15494169689Skan2006-01-17 Hans-Peter Nilsson <hp@axis.com> 15495169689Skan Kazu Hirata <kazu@codesourcery.com> 15496169689Skan 15497169689Skan * Makefile.in (FUNCTION_H, LAMBDA_H): Use $(TREE_H), not tree.h. 15498169689Skan 15499169689Skan2006-01-17 Kazu Hirata <kazu@codesourcery.com> 15500169689Skan 15501169689Skan * Makefile.in (FUNCTION_H): New. Use it instead of 15502169689Skan function.h throughout the file. 15503169689Skan * function.h: Include tree.h. 15504169689Skan 15505169689Skan2006-01-17 Ben Elliston <bje@au.ibm.com> 15506169689Skan 15507169689Skan * recog.c: Separate some functions with whitespace. 15508169689Skan 15509169689Skan2006-01-16 Richard Henderson <rth@redhat.com> 15510169689Skan 15511169689Skan Merge from gomp branch: 15512169689Skan * Makefile.in (TREE_INLINE_H): New. Use it as needed. 15513169689Skan * tree-inline.h (struct copy_body_data): Move from tree-inline.c 15514169689Skan and rename from struct inline_data. Rename callee* to dst*; 15515169689Skan caller* to src*; add copy_decl hook, transform_call_graph_edges, 15516169689Skan transform_new_cfg, transform_return_to_modify, and 15517169689Skan transform_lang_insert_block flags; remove cloning_p, versioning_p, 15518169689Skan update_clones_p. 15519169689Skan (copy_body_r, insert_decl_map, remap_decl, remap_type): Declare. 15520169689Skan (copy_decl_for_dup): Remove. 15521169689Skan * tree-inline.c (struct inline_data): Move to header. 15522169689Skan (insert_decl_map): Export. 15523169689Skan (remap_decl): Update for member name changes. Use copy_decl hook. 15524169689Skan Allow for replacement to be a non-decl. Remove dead code. 15525169689Skan (remap_type_1): Check for existing mapping. 15526169689Skan (remap_type): Export. 15527169689Skan (remap_decls): Update for member name changes. 15528169689Skan (remap_block, copy_bb, copy_cfg_body, copy_generic_body): Likewise. 15529169689Skan (copy_body, setup_one_parameter, declare_return_variable): Likewise. 15530169689Skan (expand_call_inline, optimize_inline_calls, clone_body): Likewise. 15531169689Skan (copy_tree_r, mark_local_for_remap_r, unsave_expr_now): Likewise. 15532169689Skan (tree_function_versioning, build_duplicate_type): Likewise. 15533169689Skan (copy_body_r): Likewise. Export. 15534169689Skan (copy_decl_for_dup): Split into ... 15535169689Skan (copy_decl_for_dup_finish, copy_decl_to_var, 15536169689Skan copy_decl_no_change, copy_decl_maybe_to_var): ... these. 15537169689Skan (replace_ref_tree, inlining_p): Remove. 15538169689Skan 15539169689Skan2006-01-16 Kazu Hirata <kazu@codesourcery.com> 15540169689Skan 15541169689Skan * ifcvt.c (if_convert): Make it static. 15542169689Skan * rtl.h: Remove the prototype for if_convert. 15543169689Skan 15544169689Skan * local-alloc.c (local_alloc): Make it static. 15545169689Skan * rtl.h: Remove the prototype for local_alloc. 15546169689Skan 15547169689Skan * loop.c (loop_optimize): Make it static. 15548169689Skan * cfgloop.h: Remove the prototype for loop_optimize. 15549169689Skan * rtl.h: Likewise. 15550169689Skan 15551169689Skan2006-01-16 DJ Delorie <dj@redhat.com> 15552169689Skan 15553169689Skan * reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of 15554169689Skan mems. 15555169689Skan 15556169689Skan2006-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 15557169689Skan 15558169689Skan * pa.md: Disparage copies between general and floating-point registers 15559169689Skan in 32-bit move patterns. 15560169689Skan 15561169689Skan2006-01-16 H.J. Lu <hongjiu.lu@intel.com> 15562169689Skan 15563169689Skan PR testsuite/25741 15564169689Skan * Makefile.in (check-%): Depend on site.exp instead of 15565169689Skan $(TESTSUITEDIR)/site.exp. Run "runtest" in separate language 15566169689Skan directories. 15567169689Skan 15568169689Skan2006-01-16 Kazu Hirata <kazu@codesourcery.com> 15569169689Skan 15570169689Skan * global.c (global_alloc): Make it static. 15571169689Skan * rtl.h: Remove the prototype for global_alloc. 15572169689Skan 15573169689Skan2006-01-16 Richard Guenther <rguenther@suse.de> 15574169689Skan 15575169689Skan * tree-ssa-alias.c (struct used_part): Add write_only field. 15576169689Skan (get_or_create_used_part_for): Initialize it to true. 15577169689Skan (create_overlap_variables_for): Don't create structure variables 15578169689Skan for structures that only are written to. 15579169689Skan (find_used_portions): Handle MODIFY_EXPR to track whether a 15580169689Skan structure is only written to. 15581169689Skan 15582169689Skan2006-01-16 Kazu Hirata <kazu@codesourcery.com> 15583169689Skan 15584169689Skan * bb-reorder.c (partition_hot_cold_basic_blocks): Make it 15585169689Skan static. 15586169689Skan * basic-block.h: Remove the prototype for 15587169689Skan partition_hot_cold_basic_blocks. 15588169689Skan 15589169689Skan2006-01-16 Rafael �vila de Esp�����ndola <rafael.espindola@gmail.com> 15590169689Skan 15591169689Skan * cppspec.c (lang_specific_spec_functions): Remove. 15592169689Skan * gcc.c (lookup_spec_function): Use static_spec_functions directly. 15593169689Skan * gcc.h (lang_specific_spec_functions): Remove. 15594169689Skan * gccspec.c (lang_specific_spec_functions): Remove. 15595169689Skan 15596169689Skan2006-01-16 Paolo Bonzini <bonzini@gnu.org> 15597169689Skan 15598169689Skan * combine.c (record_value_for_reg): Invalidate registers 15599169689Skan if INSN is null. 15600169689Skan (record_dead_and_set_regs_1): Likewise, by passing them to 15601169689Skan record_value_for_reg. 15602169689Skan (record_dead_and_set_regs): Invalidate stores made by a 15603169689Skan call. We do not combine across a call, but we still 15604169689Skan relied on equivalences. 15605169689Skan 15606169689Skan2006-01-16 Eric Botcazou <ebotcazou@adacore.com> 15607169689Skan 15608169689Skan * tree-vrp.c (extract_range_from_binary_expr): Cope with 15609169689Skan vrp_int_const_binop returning non-constant nodes. 15610169689Skan 15611169689Skan2006-01-16 Paul Brook <paul@codesourcery.com> 15612169689Skan 15613169689Skan * config/m68k/m68k.c (output_move_const_into_data_reg): 15614169689Skan Output correct mnemonic for mvz and mvs. 15615169689Skan 15616169689Skan2006-01-16 Gabor Loki <loki@gcc.gnu.org> 15617169689Skan 15618169689Skan * rtl-factoring.c: Add sequence abstraction algorithm. 15619169689Skan * cfgcleanup.c (outgoing_edges_match): Extra checks. 15620169689Skan (try_crossjump_to_edge): Avoid deleting preserve label when redirecting 15621169689Skan ABNORMAL edges. 15622169689Skan (block_has_preserve_label): New function. 15623169689Skan * common.opt: Register new pass. 15624169689Skan * Makefile.in: Ditto. 15625169689Skan * passes.c: Ditto. 15626169689Skan * timevar.def: Ditto. 15627169689Skan * tree-pass.h: Ditto. 15628169689Skan * emit-rtl.c (make_jump_insn_raw): Remove forward decl. 15629169689Skan * rtl.h (make_jump_insn_raw): Add forward decl. 15630169689Skan * doc/invoke.texi: Add documentation for -frtl-abstract-sequences. 15631169689Skan 15632169689Skan2006-01-16 Eric Botcazou <ebotcazou@adacore.com> 15633169689Skan Roger Sayle <roger@eyesopen.com> 15634169689Skan 15635169689Skan * fold-const.c (fold_minmax): New static function. 15636169689Skan (fold_binary) <MIN_EXPR>: Call it. 15637169689Skan <MAX_EXPR>: Likewise. 15638169689Skan * stor-layout.c (place_field): Use DECL_SIZE consistently 15639169689Skan in the computation of the new record size. 15640169689Skan 15641169689Skan2006-01-16 Kazu Hirata <kazu@codesourcery.com> 15642169689Skan 15643169689Skan * cse.c (cse_condition_code_reg): Make it static. 15644169689Skan * rtl.h: Remove the prototype for cse_condition_code_reg. 15645169689Skan 15646169689Skan * combine.c (combine_instructions): Make it static. 15647169689Skan * rtl.h: Remove the prototype for combine_instructions. 15648169689Skan 15649169689Skan2006-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 15650169689Skan 15651169689Skan PR target/25168 15652169689Skan * tree.c (get_file_function_name_long): Concatenate the first global 15653169689Skan object name with a string derived from the input filename of the object 15654169689Skan for type "F". 15655169689Skan 15656169689Skan2006-01-16 Ben Elliston <bje@au.ibm.com> 15657169689Skan 15658169689Skan * config/i386/winnt-stubs.c: Update FSF address. 15659169689Skan * config/xtensa/ieee754-df.S: Ditto. 15660169689Skan * config/xtensa/ieee754-sf.S: Ditto. 15661169689Skan 15662169689Skan2006-01-14 Ian Lance Taylor <ian@airs.com> 15663169689Skan 15664169689Skan * ifcvt.c (noce_init_if_info): New static function, broken out of 15665169689Skan noce_process_if_block. 15666169689Skan (noce_process_if_block): Call noce_init_if_info. 15667169689Skan (check_cond_move_block): New static function. 15668169689Skan (cond_move_process_if_block): New static function. 15669169689Skan (process_if_block): Call cond_move_process_if_block. 15670169689Skan 15671169689Skan2006-01-15 Kazu Hirata <kazu@codesourcery.com> 15672169689Skan 15673169689Skan * cselib.c (hash_table): Rename to cselib_hash_table. 15674169689Skan (cselib_clear_table, discard_useless_values, 15675169689Skan remove_useless_values, cselib_lookup_mem, cselib_lookup, 15676169689Skan cselib_init, cselib_finish): Adjust uses of hash_table. 15677169689Skan 15678169689Skan2006-01-14 Kazu Hirata <kazu@codesourcery.com> 15679169689Skan 15680169689Skan PR tree-optimization/25485 15681169689Skan * tree-vrp.c (extract_range_from_binary_expr): Handle cases 15682169689Skan where one of the operands of TRUTH_AND_EXPR and TRUTH_OR_EXPR 15683169689Skan is known to be false and true, respectively. 15684169689Skan 15685169689Skan2006-01-14 Richard Guenther <rguenther@suse.de> 15686169689Skan 15687169689Skan PR tree-optimization/22548 15688169689Skan PR tree-optimization/22555 15689169689Skan PR tree-optimization/22501 15690169689Skan * Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H). 15691169689Skan * params.def (salias-max-array-elements): New parameter. 15692169689Skan * params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define. 15693169689Skan * doc/invoke.texi (salias-max-array-elements): Document. 15694169689Skan * tree-flow-inline.h (var_can_have_subvars): We also handle 15695169689Skan arrays now. 15696169689Skan * tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like 15697169689Skan COMPONENT_REF. 15698169689Skan * tree-ssa-structalias.c (params.h): Include. 15699169689Skan (push_fields_onto_fieldstack): Handle ARRAY_TYPE. 15700169689Skan (find_func_aliases): Handle multiple constraints from ARRAY_REF. 15701169689Skan (get_constraint_for): For ADDR_EXPR operating on something 15702169689Skan containing an ARRAY_REF, add all subvars to the solution. 15703169689Skan (handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types. 15704169689Skan * tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF 15705169689Skan for creating MUST_DEFs. 15706169689Skan (get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars. 15707169689Skan 15708169689Skan2006-01-14 Zdenek Dvorak <dvorakz@suse.cz> 15709169689Skan 15710169689Skan * tree-ssa-loop-niter.c (number_of_iterations_cond): Split into several 15711169689Skan functions. 15712169689Skan (number_of_iterations_ne, number_of_iterations_lt_to_ne, 15713169689Skan assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt, 15714169689Skan number_of_iterations_le): New functions. 15715169689Skan (number_of_iterations_special): Removed. 15716169689Skan (number_of_iterations_exit): Do not use number_of_iterations_special. 15717169689Skan * tree.c (unsigned_type_for): Always return integer type. 15718169689Skan 15719169689Skan2006-01-14 Steven Bosscher <stevenb.gcc@gmail.com> 15720169689Skan Richard Guenther <rguenther@suse.de> 15721169689Skan 15722169689Skan PR rtl-optimization/24257 15723169689Skan * gcse.c (find_moveable_store): Only consider a store movable 15724169689Skan when the SET_SRC of the insn can be assigned to a register. 15725169689Skan 15726169689Skan2006-01-14 Ian Lance Taylor <ian@airs.com> 15727169689Skan 15728169689Skan * tree.c (tree_not_class_check_failed): New function. 15729169689Skan * tree.h (NON_TYPE_CHECK): Call tree_not_class_check_failed. 15730169689Skan (tree_not_class_check_failed): Declare. 15731169689Skan 15732169689Skan2006-01-13 Ian Lance Taylor <ian@airs.com> 15733169689Skan 15734169689Skan * reload1.c (do_output_reload): Add assertion rejecting a 15735169689Skan CALL_INSN. 15736169689Skan 15737169689Skan2006-01-13 Adam Nemet <anemet@caviumnetworks.com> 15738169689Skan 15739169689Skan * combine.c (struct reg_stat): Add new fields truncation_label and 15740169689Skan truncated_to_mode. 15741169689Skan (record_value_for_reg): Reset truncated_to_mode. 15742169689Skan (record_truncated_value): New function. 15743169689Skan (check_promoted_subreg): Call it. Rename to check_conversions. 15744169689Skan (combine_instructions): Rename check_promoted_subreg to 15745169689Skan check_conversions. 15746169689Skan (reg_truncated_to_mode): New function. 15747169689Skan (make_extraction): Use it. Check TRULY_NOOP_TRUNCATION. 15748169689Skan (gen_lowpart_or_truncate): New function. 15749169689Skan (force_to_mode): Use it instead of gen_lowpart. 15750169689Skan 15751169689Skan2006-01-13 Diego Novillo <dnovillo@redhat.com> 15752169689Skan 15753169689Skan * tree-ssa-alias.c (add_type_alias): Fix typo. Test whether 15754169689Skan VAR is a tag, not its type tag. 15755169689Skan 15756169689Skan2006-01-13 Alexandre Oliva <aoliva@redhat.com> 15757169689Skan 15758169689Skan * config/i386/sse.md (*vec_extractv2di_1_sse2): Reorder 15759169689Skan alternatives to match style of other entries. 15760169689Skan (*vec_extractv2di_1_sse): Likewise. Fix mode attr. 15761169689Skan 15762169689Skan2006-01-13 Daniel Berlin <dberlin@dberlin.org> 15763169689Skan 15764169689Skan PR tree-optimization/25771 15765169689Skan * tree-ssa-pre.c (insert_extra_phis): Don't insert merges of abnormal 15766169689Skan SSA_NAMES. 15767169689Skan 15768169689Skan2006-01-13 Andrew Pinski <pinskia@physics.uc.edu> 15769169689Skan 15770169689Skan PR tree-opt/24365 15771169689Skan * tree-inline.c (declare_return_variable): If the return variable 15772169689Skan was marked as a non gimple complex, set the return slot variable 15773169689Skan to be a non gimple comple variable. 15774169689Skan 15775169689Skan2006-01-13 Richard Guenther <rguenther@suse.de> 15776169689Skan 15777169689Skan * builtins.c (expand_builtin_sincos): New function. 15778169689Skan (expand_builtin_mathfn_3): Remove dead code, sin and cos 15779169689Skan do not set errno. 15780169689Skan (expand_builtin): Expand sincos using expand_builtin_sincos. 15781169689Skan 15782169689Skan2006-01-12 DJ Delorie <dj@redhat.com> 15783169689Skan 15784169689Skan * config/m32c/shift.md: Rewrite: Allow arbitrary operands for 15785169689Skan shift counts, separate SI shifts for m32c vs m16c, pass shift type 15786169689Skan so that constant shifts can be split. 15787169689Skan * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add In6. 15788169689Skan (m32c_valid_pointer_mode): Make static. 15789169689Skan (shift_gen_func_for): New. 15790169689Skan (m32c_prepare_shift): Use it. Split large const shifts into 15791169689Skan multiple shifts. 15792169689Skan * config/m32c/predicates.md (shiftcount_operand): Allow more 15793169689Skan general operands. 15794169689Skan (longshiftcount_operand): New. 15795169689Skan * doc/md.texi (Machine Constraints): Document In6. 15796169689Skan 15797169689Skan2006-01-13 Ben Elliston <bje@au.ibm.com> 15798169689Skan 15799169689Skan * doc/tm.texi (Data Output): Add REAL_VALUE_TO_TARGET_DECIMAL32, 15800169689Skan REAL_VALUE_TO_TARGET_DECIMAL64 and REAL_VALUE_TO_TARGET_DECIMAL128 15801169689Skan documentation. 15802169689Skan 15803169689Skan2006-01-12 Daniel Berlin <dberlin@dberlin.org> 15804169689Skan 15805169689Skan * tree-ssa-operands.c (add_call_clobber_ops): Use SFT_PARENT_VAR 15806169689Skan to try to avoid clobbering pieces of structures when we know 15807169689Skan something about the whole structure. 15808169689Skan * tree-ssa-alias.c (create_sft): Set SFT_PARENT_VAR 15809169689Skan 15810169689Skan2006-01-13 Ben Elliston <bje@au.ibm.com> 15811169689Skan 15812169689Skan * doc/rtl.texi (Insns): Remove statement that libcalls cannot 15813169689Skan return in memory, as this is no limitation is no longer present. 15814169689Skan 15815169689Skan2006-01-12 DJ Delorie <dj@redhat.com> 15816169689Skan 15817169689Skan * config/m32c/addsub.md (addhi3): Add two more alternatives, for 15818169689Skan mova with fb, and for fb+0 -> An. 15819169689Skan 15820169689Skan * config/m32c/mov.md (peephole2): Fix enabling logic. 15821169689Skan 15822169689Skan * config/m32c/m32c.h (CTOR_LIST_BEGIN, CTOR_LIST_END, 15823169689Skan DTOR_LIST_BEGIN, DTOR_LIST_END, CTORS_SECTION_ASM_OP, 15824169689Skan DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP, 15825169689Skan FINI_ARRAY_SECTION_ASM_OP): Define. 15826169689Skan 15827169689Skan * config/m32c/m32c.c (m32c_legitimize_address): Remove temporary 15828169689Skan variable. 15829169689Skan (m32c_legitimize_reload_address): New logic to reload FB to An. 15830169689Skan (m32c_output_reg_push): Add newline. 15831169689Skan (m32c_output_reg_pop): Likewise. 15832169689Skan 15833169689Skan2006-01-12 Ulrich Weigand <uweigand@de.ibm.com> 15834169689Skan 15835169689Skan * struct-equiv.c (find_dying_inputs): Fix off-by-one bug. 15836169689Skan 15837169689Skan2006-01-11 Andrew Pinski <pinskia@physics.uc.edu> 15838169689Skan 15839169689Skan * config/i386/darwin.h (SUBTARGET_ENCODE_SECTION_INFO): Define. 15840169689Skan 15841169689Skan2006-01-11 Kazu Hirata <kazu@codesourcery.com> 15842169689Skan 15843169689Skan * config/sh/predicates.md (sh_rep_vec): Add parallel to 15844169689Skan match_code. 15845169689Skan 15846169689Skan2006-01-11 Ben Elliston <bje@au.ibm.com> 15847169689Skan 15848169689Skan * rtlanal.c (find_reg_note): Assert insn is not null. 15849169689Skan 15850169689Skan2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com> 15851169689Skan 15852169689Skan * df-scan.c (df_hard_reg_init): Move declaration of i outside 15853169689Skan ifdef. 15854169689Skan 15855169689Skan2006-01-11 Jeff Law <law@redhat.com> 15856169689Skan 15857169689Skan * tree-ssa-threadupdate.c (threaded_edges): New VEC to 15858169689Skan hold edge pairs. 15859169689Skan (mark_threaded_blocks, register_jump_thread): New functions. 15860169689Skan (thread_through_all_blocks): Remove unwanted argument. No 15861169689Skan longer rely on e->aux to communicate thread target info. 15862169689Skan Call mark_threaded_blocks. Release the threaded_blocks 15863169689Skan bitmap and threaded_edges vector when complete. 15864169689Skan * tree-ssa-dom.c (struct edge_info): Remove redirection_target field. 15865169689Skan (threaded_blocks): Remove. 15866169689Skan (tree_ssa_dominator_optimize): Remove initialization and 15867169689Skan finalization of threaded_blocks. Simplify call to 15868169689Skan thread_through_all_blocks. 15869169689Skan (thread_across_edge): Call register_jump_thread rather than 15870169689Skan storing thread information into e->aux. 15871169689Skan (free_all_edge_infos): Simplify now that e->aux is no longer 15872169689Skan used to communicate with thread_through_all_blocks. 15873169689Skan * tree-flow.h (thread_through_all_blocks): Update prototype. 15874169689Skan (register_jump_thread): Prototype. 15875169689Skan 15876169689Skan2006-01-11 Kazu Hirata <kazu@codesourcery.com> 15877169689Skan 15878169689Skan * df-core.c (df_compact_blocks, df_bb_replace): Use 15879169689Skan SET_BASIC_BLOCK instead of BASIC_BLOCK. 15880169689Skan 15881169689Skan2006-01-11 Richard Guenther <rguenther@suse.de> 15882169689Skan 15883169689Skan PR tree-optimization/25734 15884169689Skan * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not 15885169689Skan stop propagation after successful propagation to the LHS. 15886169689Skan 15887169689Skan2006-01-11 Kazu Hirata <kazu@codesourcery.com> 15888169689Skan 15889169689Skan * basic-block.h (control_flow_graph): Change the type of 15890169689Skan x_basic_block_info to VEC(basic_block,gc) *. 15891169689Skan (BASIC_BLOCK_FOR_FUNCTION, BASIC_BLOCK): Adjust the uses of 15892169689Skan basic_block_info. 15893169689Skan (SET_BASIC_BLOCK): New. 15894169689Skan * cfg.c (compact_blocks, expunge_block): Use SET_BASIC_BLOCK 15895169689Skan instead of BASIC_BLOCK when assigning to BASIC_BLOCK. 15896169689Skan * cfgbuild.c (find_basic_blocks): Likewise. 15897169689Skan * cfglayout.c (fixup_reorder_chain): Likewise. 15898169689Skan * cfgrtl.c (create_basic_block_structure, 15899169689Skan rtl_create_basic_block): Likewise. 15900169689Skan * ifcvt.c (find_if_case_1): Likewise. 15901169689Skan * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb): 15902169689Skan Likewise. 15903169689Skan 15904169689Skan2006-01-11 Kenneth Zadeck <zadeck@naturalbridge.com> 15905169689Skan 15906169689Skan * Makefile.in: Removed rotted odf.c entry. 15907169689Skan 15908169689Skan2006-01-11 Hans-Peter Nilsson <hp@axis.com> 15909169689Skan 15910169689Skan PR target/25706 15911169689Skan * config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side") 15912169689Skan ("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side", 15913169689Skan ("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E 15914169689Skan output pattern modifier, not %e. 15915169689Skan * config/cris/cris.c (cris_op_str): Update comment about pattern 15916169689Skan modifier. 15917169689Skan (cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound 15918169689Skan before falling through into... 15919169689Skan <case 'E'>: Redefined from old 'e' case. 15920169689Skan 15921169689Skan2006-01-11 Jan Hubicka <jh@suse.cz> 15922169689Skan 15923169689Skan PR target/25042 15924169689Skan * i386.c (ix86_init_mmx_sse_builtins): Do not delcare float128 15925169689Skan 15926169689Skan2006-01-11 Jan Hubicka <jh@suse.cz> 15927169689Skan 15928169689Skan * i386.h (TARGET_DECOMPOSE_LEA): Kill. 15929169689Skan * i386.c (x86_decompose_lea): Kill. 15930169689Skan (ix86_rtx_costs): Kill. 15931169689Skan 15932169689Skan2006-01-11 Jan Hubicka <jh@suse.cz> 15933169689Skan 15934169689Skan * cgraph.c (cgraph_insert_node_to_hashtable): New function. 15935169689Skan * cgraph.h (cgraph_node): Add inline_decl. 15936169689Skan (cgraph_insert_node_to_hashtable): Declare. 15937169689Skan (save_inline_function_body): Declare. 15938169689Skan * cgraphunit.c (verify_cgraph_node): Inline edges might point to inline 15939169689Skan clones. 15940169689Skan (cgraph_preserve_function_body_p): Do not presrve when dump is enabled. 15941169689Skan (cgraph_function_versioning): Update call of tree_function_versioning. 15942169689Skan (save_inline_function_body): New function. 15943169689Skan * function.h (struct function): Kill saved_eh, saved_cfg, saved_args, 15944169689Skan saved_static_chain_decl, saved_blocks and saved-unexpanded_var_list. 15945169689Skan * ipa-inline.c (cgraph_mark_inline_edge): Look for inline clones. 15946169689Skan (cgraph_default_inline_p): Likewise. 15947169689Skan (cgraph_decide_inlining_incrementally): Likewise. 15948169689Skan * tree-inline.c (inline_data): Kill saving_p add update_clones_p. 15949169689Skan (copy_bb): Kill saving; do updating of clones. 15950169689Skan (copy_cfg_body): Kill saving. 15951169689Skan (initialize_inlined-parameters): Likewise. 15952169689Skan (expand_call_inline): Likewise. 15953169689Skan (save_body): Kill. 15954169689Skan (tree_function_versioning): New parameter "update_clones". 15955169689Skan (inlining_p): Kill saving. 15956169689Skan * tree-inline.h (tree_function_versioning): Update prototype. 15957169689Skan * tree-optimize.c (tree_rest_of_compilation): Use clonning instead of 15958169689Skan saving. 15959169689Skan 15960169689Skan2006-01-11 Ian Lance Taylor <ian@airs.com> 15961169689Skan 15962169689Skan * combine.c (struct undo): Remove is_int. Enumify types of undos. 15963169689Skan Allow undoing set of machine mode. 15964169689Skan (do_SUBST): Use enums instead of is_int. 15965169689Skan (do_SUBST_MODE): New function. 15966169689Skan (SUBST_MODE): New macro. 15967169689Skan (try_combine): Use SUBST_MODE/PUT_MODE instead of generating a new 15968169689Skan reg and trying to replace reg_regno_rtx with a new register. 15969169689Skan (undo_all): Use new enums, handle undoing a PUT_MODE change. 15970169689Skan (simplify_set): Use SUBST_MODE. 15971169689Skan (distribute_notes): Remove code that tried to update reg notes 15972169689Skan for regno_reg_rtx changes. 15973169689Skan 15974169689Skan2006-01-11 Paolo Bonzini <bonzini@gnu.org> 15975169689Skan 15976169689Skan PR tree-optimization/23109 15977169689Skan PR tree-optimization/23948 15978169689Skan PR tree-optimization/24123 15979169689Skan 15980169689Skan * Makefile.in (tree-ssa-math-opts.o): Adjust dependencies. 15981169689Skan * tree-cfg.c (single_noncomplex_succ): New. 15982169689Skan * tree-flow.h (single_noncomplex_succ): Declare it. 15983169689Skan * tree-ssa-math-opts.c (enum place_reciprocal): Remove. 15984169689Skan * tree-ssa-math-opts.c (enum place_reciprocal): Remove. 15985169689Skan (struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit, 15986169689Skan insert_bb, register_division_in, insert_reciprocals, 15987169689Skan replace_reciprocal, free_bb): New. 15988169689Skan (execute_cse_reciprocals_1): Rewritten. 15989169689Skan (execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1. 15990169689Skan Do not commit any edge insertion. Always compute dominators and 15991169689Skan create the allocation pool. 15992169689Skan * target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New. 15993169689Skan * target.h (struct gcc_target): Add min_divistions_for_recip_mul. 15994169689Skan * targhooks.c (default_min_divistions_for_recip_mul): New. 15995169689Skan * targhooks.h (default_min_divistions_for_recip_mul): New prototype. 15996169689Skan * passes.c (init_optimization_passes): Run recip after tree loop 15997169689Skan optimizations. 15998169689Skan * doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL. 15999169689Skan 16000169689Skan2006-01-11 Danny Berlin <dberlin@dberlin.org> 16001169689Skan Kenneth Zadeck <zadeck@naturalbridge.com> 16002169689Skan 16003169689Skan * df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN, 16004169689Skan DF_RI, DF_LAST_PROBLEM_PLUS1, DF_DU_CHAIN, DF_UD_CHAIN, 16005169689Skan DF_REF_TYPE_NAMES, DF_HARD_REGS, DF_EQUIV_NOTES, DF_SUBREGS, 16006169689Skan DF_SCAN_BB_INFO, DF_RU_BB_INFO, DF_RD_BB_INFO, DF_LR_BB_INFO, 16007169689Skan DF_UR_BB_INFO, DF_UREC_BB_INFO, DF_LIVE_IN, DF_LIVE_OUT, 16008169689Skan DF_RA_LIVE_IN, DF_RA_LIVE_OUT, DF_UPWARD_LIVE_IN, 16009169689Skan DF_UPWARD_LIVE_OUT, DF_REF_REAL_REG, DF_REF_REGNO, 16010169689Skan DF_REF_REAL_LOC, DF_REF_REG, DF_REF_LOC, DF_REF_BB, DF_REF_BBNO, 16011169689Skan DF_REF_INSN, DF_REF_INSN_UID, DF_REF_TYPE, DF_REF_CHAIN, 16012169689Skan DF_REF_ID, DF_REF_FLAGS, DF_REF_NEXT_REG, DF_REF_PREV_REG, 16013169689Skan DF_REF_NEXT_REF, DF_REF_DATA, DF_REF_REG_DEF_P, DF_REF_REG_USE_P, 16014169689Skan DF_REF_REG_MEM_STORE_P, DF_REF_REG_MEM_LOAD_P, DF_REF_REG_MEM_P, 16015169689Skan DF_DEFS_SIZE, DF_DEFS_GET, DF_DEFS_SET, DF_USES_SIZE, DF_USES_GET, 16016169689Skan DF_USES_SET, DF_REG_SIZE, DF_REG_DEF_GET, DF_REG_DEF_SET, 16017169689Skan DF_REG_USE_GET, DF_REG_USE_SET, DF_REGNO_FIRST_DEF, 16018169689Skan DF_REGNO_LAST_USE, DF_INSN_SIZE, DF_INSN_GET, DF_INSN_SET, 16019169689Skan DF_INSN_CONTAINS_ASM, DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, 16020169689Skan DF_INSN_UID_GET, DF_INSN_UID_LUID, DF_INSN_UID_DEFS, 16021169689Skan DF_INSN_UID_USES, DF_SCAN_INITIAL, DF_SCAN_GLOBAL, 16022169689Skan DF_SCAN_POST_ALLOC): New macros. 16023169689Skan (df_flow_dir, df_ref_type, df_ref_flags, df_alloc_function, 16024169689Skan df_free_bb_function, df_local_compute_function, df_init_function, 16025169689Skan df_dataflow_function, df_confluence_function_0, 16026169689Skan df_confluence_function_n, df_transfer_function, 16027169689Skan df_finalizer_function, df_free_function, df_dump_problem_function, 16028169689Skan df_problem, dataflow, df_insn_info, df_reg_info, df_ref, df_link, 16029169689Skan df_ref_info, df, df_map, df_scan_bb_info, df_ru_bb_info, 16030169689Skan df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, df_ur_bb_info, 16031169689Skan df_urec_bb_info, ) New types. 16032169689Skan (df_invalidated_by_call, df_all_hard_regs, df_state) New public 16033169689Skan variables. 16034169689Skan (df_init, df_add_problem, df_set_blocks, df_finish, df_analyze, 16035169689Skan df_analyze_simple_change_some_blocks, 16036169689Skan df_analyze_simple_change_one_block, df_compact_blocks, 16037169689Skan df_bb_replace, df_bb_regno_last_use_find, 16038169689Skan df_bb_regno_first_def_find, df_bb_regno_last_def_find, 16039169689Skan df_insn_regno_def_p, df_find_def, df_find_use, 16040169689Skan df_iterative_dataflow, df_dump, df_chain_dump, df_refs_chain_dump, 16041169689Skan df_regs_chain_dump, df_insn_debug, df_insn_debug_regno, 16042169689Skan df_regno_debug, df_ref_debug, debug_df_insn, debug_df_regno, 16043169689Skan debug_df_reg, debug_df_defno, debug_df_useno, debug_df_ref, 16044169689Skan debug_df_chain, df_get_dependent_problem, df_chain_create, 16045169689Skan df_chain_unlink, df_chain_copy, df_get_live_in, df_get_live_out, 16046169689Skan df_grow_bb_info, df_chain_dump, df_print_bb_index, 16047169689Skan df_ru_add_problem, df_ru_get_bb_info, df_rd_add_problem, 16048169689Skan df_rd_get_bb_info, df_lr_add_problem, df_lr_get_bb_info, 16049169689Skan df_ur_add_problem, df_ur_get_bb_info, df_urec_add_problem, 16050169689Skan df_urec_get_bb_info, df_chain_add_problem, df_ri_add_problem, 16051169689Skan df_reg_lifetime, df_scan_get_bb_info, df_scan_add_problem, 16052169689Skan df_rescan_blocks, df_ref_create, df_get_artificial_defs, 16053169689Skan df_get_artificial_uses, df_reg_chain_create, df_reg_chain_unlink, 16054169689Skan df_ref_remove, df_insn_refs_delete, df_refs_delete, 16055169689Skan df_reorganize_refs, df_set_state, df_hard_reg_init, 16056169689Skan df_read_modify_subreg_p) New public functions. 16057169689Skan * df-core.c: The core dataflow solver and glue routines for rtl 16058169689Skan dataflow. 16059169689Skan (df_init, df_add_problem, df_set_blocks, df_finish, 16060169689Skan df_hybrid_search_forward, df_hybrid_search_backward, 16061169689Skan df_iterative_dataflow, df_prune_to_subcfg, df_analyze_problem, 16062169689Skan df_analyze, df_get_bb_info, df_set_bb_info, df_bb_replace, 16063169689Skan df_bb_regno_last_use_find, df_bb_regno_first_def_find, 16064169689Skan df_bb_regno_last_def_find, df_insn_regno_def_p, df_find_def, 16065169689Skan df_reg_defined, df_find_use, df_reg_used, df_dump, 16066169689Skan df_refs_chain_dump, df_regs_chain_dump, df_insn_debug, 16067169689Skan df_insn_debug_regno, df_regno_debug, df_ref_debug, debug_df_insn, 16068169689Skan debug_df_reg, debug_df_regno, debug_df_ref debug_df_defno, 16069169689Skan debug_df_useno, reset_df_after_reload): New functions. 16070169689Skan * df-scan.c: The scanning fuctions, once in df.c, completely 16071169689Skan rewritten so that they now fully model the functionality of 16072169689Skan register usage at the backend. 16073169689Skan (df_scan_free_internal, df_scan_get_bb_info, df_scan_set_bb_info, 16074169689Skan df_scan_free_bb_info, df_scan_alloc, df_scan_free, df_scan_dump, 16075169689Skan df_scan_add_problem, df_grow_reg_info, df_grow_ref_info, 16076169689Skan df_grow_insn_info, df_rescan_blocks, df_ref_create, 16077169689Skan df_get_artificial_defs, df_get_artificial_uses, 16078169689Skan df_reg_chain_create, df_ref_unlink, df_reg_chain_unlink, 16079169689Skan df_ref_remove, df_insn_create_insn_record, df_insn_refs_delete, 16080169689Skan df_refs_delete, df_reorganize_refs, df_set_state, 16081169689Skan df_ref_create_structure, df_ref_record, df_read_modify_subreg_p, 16082169689Skan df_def_record_1, df_defs_record, df_uses_record, 16083169689Skan df_insn_contains_asm_1, df_insn_contains_asm, df_insn_refs_record, 16084169689Skan df_has_eh_preds, df_bb_refs_record, df_refs_record, df_mark_reg, 16085169689Skan df_record_exit_block_uses, df_hard_reg_init): New functions. 16086169689Skan 16087169689Skan * df-problems.c: Seven concrete dataflow problems that use the 16088169689Skan scanning in df-scan.c and are solved by the engine in df-core.c. 16089169689Skan (df_get_dependent_problem, df_chain_create, df_chain_unlink, 16090169689Skan df_chain_copy, df_get_live_in, df_get_live_out, df_grow_bb_info, 16091169689Skan df_chain_dump, df_print_bb_index, df_ref_bitmap, df_set_seen, 16092169689Skan df_unset_seen, df_ru_get_bb_info, df_ru_set_bb_info, 16093169689Skan df_ru_free_bb_info, df_ru_alloc, 16094169689Skan df_ru_bb_local_compute_process_def, 16095169689Skan df_ru_bb_local_compute_process_use, df_ru_bb_local_compute, 16096169689Skan df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n, 16097169689Skan df_ru_transfer_function, df_ru_free, df_ru_dump, 16098169689Skan df_ru_add_problem, df_rd_get_bb_info, df_rd_set_bb_info, 16099169689Skan df_rd_free_bb_info, df_rd_alloc, 16100169689Skan df_rd_bb_local_compute_process_def, df_rd_bb_local_compute, 16101169689Skan df_rd_local_compute, df_rd_init_solution, df_rd_confluence_n, 16102169689Skan df_rd_transfer_function, df_rd_free, df_rd_dump, 16103169689Skan df_rd_add_problem, df_lr_get_bb_info, df_lr_set_bb_info, 16104169689Skan df_lr_free_bb_info, df_lr_alloc, df_lr_bb_local_compute, 16105169689Skan df_lr_local_compute, df_lr_init, df_lr_confluence_0, 16106169689Skan df_lr_confluence_n, df_lr_transfer_function, df_lr_free, 16107169689Skan df_lr_dump, df_lr_add_problem, df_ur_get_bb_info, 16108169689Skan df_ur_set_bb_info, df_ur_free_bb_info, df_ur_alloc, 16109169689Skan df_ur_bb_local_compute, df_ur_local_compute, df_ur_init, 16110169689Skan df_ur_local_finalize, df_ur_confluence_n, df_ur_transfer_function, 16111169689Skan df_ur_free, df_ur_dump, df_ur_add_problem, df_urec_get_bb_info, 16112169689Skan df_urec_set_bb_info, df_urec_free_bb_info, df_urec_alloc, 16113169689Skan df_urec_mark_reg_change, df_urec_check_earlyclobber, 16114169689Skan df_urec_mark_reg_use_for_earlyclobber, 16115169689Skan df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute, 16116169689Skan df_urec_local_compute, df_urec_init, df_urec_local_finalize, 16117169689Skan df_urec_confluence_n, df_urec_transfer_function, df_urec_free, 16118169689Skan df_urec_dump, df_urec_add_problem, df_chain_alloc, 16119169689Skan df_chain_create_bb_process_use, df_chain_create_bb, 16120169689Skan df_chain_finalize, df_chain_free, df_chains_dump, 16121169689Skan df_chain_add_problem, df_ri_alloc, df_ri_bb_compute, 16122169689Skan df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem, 16123169689Skan df_reg_lifetime): New functions. 16124169689Skan * df.c: Deleted file. 16125169689Skan * ddg.c (create_ddg_dep_no_link, build_inter_loop_deps): Made code 16126169689Skan consistent with new df api. 16127169689Skan * modulo-sched.c (sms_schedule, rest_of_handle_sms, 16128169689Skan rest_of_handle_sms): Ditto. 16129169689Skan * web.c (unionfind_union, union_defs, entry_register, web_main): 16130169689Skan Ditto. 16131169689Skan * loop_invariant.c (invariant_for_use, hash_invariant_expr_1, 16132169689Skan invariant_expr_equal_p, find_defs, check_dependencies, 16133169689Skan find_invariant_insn, find_invariants_to_move, move_invariant_reg, 16134169689Skan free_inv_motion_data, move_loop_invariants): Ditto. 16135169689Skan * Makefile.in (df.c, df-scan.c df-problems.c df-core.c): 16136169689Skan Update dependencies. 16137169689Skan (odf.c): Added defective entry that was deleted later in day. 16138169689Skan * sched-deps.c (sched_analyze_1): Ditto. 16139169689Skan 16140169689Skan2006-01-11 Zdenek Dvorak <dvorakz@suse.cz> 16141169689Skan 16142169689Skan * tree-ssa-operands.c (get_expr_operands): Record addressable 16143169689Skan variables directly. Do not call add_stmt_operands for CONST_DECLs 16144169689Skan and ARRAY_DECLs. 16145169689Skan (get_indirect_ref_operands): Remove handling of *(&a + offset) case. 16146169689Skan (add_stmt_operands): Handle only objects satisfying SSA_VAR_P. 16147169689Skan 16148169689Skan2006-01-11 Ben Elliston <bje@au.ibm.com> 16149169689Skan 16150169689Skan * config/i386/i386.c (ix86_return_in_memory): Fix comment: this 16151169689Skan function returns true in the positive case. 16152169689Skan 16153169689Skan2006-01-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 16154169689Skan 16155169689Skan PR target/20754 16156169689Skan * config/pa/pa.md: Create separate 32 and 64-bit move patterns 16157169689Skan for SI, DI, SF and DF modes. Add alternatives to copy between 16158169689Skan general and floating point registers to the 32-bit patterns. 16159169689Skan * config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED_RTX): Delete undefine. 16160169689Skan * config/pa/pa.h (SECONDARY_MEMORY_NEEDED_RTX): Delete define. 16161169689Skan (SECONDARY_MEMORY_NEEDED): Secondary memory is only needed when 16162169689Skan generating 64-bit code. 16163169689Skan * config/pa/pa.c (output_move_double): Handle copies between general 16164169689Skan and floating registers. 16165169689Skan 16166169689Skan2006-01-10 Stuart Hastings <stuart@apple.com> 16167169689Skan 16168169689Skan * config/i386/i386.md (set_got): Update. 16169169689Skan (set_got_labelled): New. (UNSPEC_LD_MPIC): New. 16170169689Skan (builtin_setjmp_receiver): Mach-O support. 16171169689Skan * config/i386/darwin.h (TARGET_ASM_FILE_END) Define. 16172169689Skan (GOT_SYMBOL_NAME): Define. 16173169689Skan (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New. 16174169689Skan (TARGET_DEEP_BRANCH_PREDICTION): Remove. 16175169689Skan * config/i386/i386.c (override_options): Revise for Darwin. 16176169689Skan (USE_HIDDEN_LINKONCE): Enable for Mach-O. (ix86_file_end): Mach-O 16177169689Skan support. (darwin_x86_file_end): New. (output_set_got): Add label 16178169689Skan parameter, revise for Mach-O. (x86_output_mi_thunk): Likewise. 16179169689Skan * config/i386/i386-protos.h (output_set_got): Likewise. 16180169689Skan * config/darwin.c (machopic_legitimize_pic_address): Update 16181169689Skan regs_ever_live[]. 16182169689Skan 16183169689Skan2006-01-10 Kaz Kojima <kkojima@gcc.gnu.org> 16184169689Skan 16185169689Skan * config/sh/sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Use GET_MODE_SIZE 16186169689Skan when MODE isn't BLKmode. 16187169689Skan 16188169689Skan2006-01-10 Eric Botcazou <ebotcazou@libertysurf.fr> 16189169689Skan 16190169689Skan PR rtl-optimization/25367 16191169689Skan * config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro. 16192169689Skan 16193169689Skan2006-01-10 Hans-Peter Nilsson <hp@axis.com> 16194169689Skan 16195169689Skan PR target/25718 16196169689Skan * config/cris/cris.md ("uminsi3"): Don't use 8- or 16-bit sizes 16197169689Skan for a negative bound. 16198169689Skan 16199169689Skan2006-01-10 Richard Guenther <rguenther@suse.de> 16200169689Skan 16201169689Skan * tree-ssa-structalias.c (get_constraint_for_component_ref): 16202169689Skan Never override with anything constraint. 16203169689Skan 16204169689Skan2006-01-10 Jan Beulich <jbeulich@novell.com> 16205169689Skan 16206169689Skan * config/i386/i386.c (ix86_data_alignment): Don't force alignment to 16207169689Skan 256 bits when optimize_size. 16208169689Skan 16209169689Skan2006-01-10 Jan Beulich <jbeulich@novell.com> 16210169689Skan 16211169689Skan * config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include 16212169689Skan MASK_ALIGN_DOUBLE. 16213169689Skan * config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option. 16214169689Skan * config/i386/t-nwld (SHLIB_LINK): Insert spaces between expr 16215169689Skan arguments. 16216169689Skan 16217169689Skan2006-01-10 Ben Elliston <bje@au.ibm.com> 16218169689Skan 16219169689Skan * config/rs6000/predicates.md (easy_fp_constant): Discount decimal 16220169689Skan float modes. 16221169689Skan * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): New. 16222169689Skan (TARGET_SCALAR_MODE_SUPPORTED_P): Define. 16223169689Skan (USE_FP_FOR_ARG): Reject decimal float modes. 16224169689Skan (function_arg_advance): Likewise. 16225169689Skan (output_toc): Handle emitting TDmode, DDmode and SDmode constants. 16226169689Skan (rs6000_handle_altivec_attribute): Do not permit decimal floating 16227169689Skan point types in AltiVec vectors. 16228169689Skan (rs6000_function_value): Use GP_ARG_RETURN for decimal floats. 16229169689Skan (rs6000_libcall_value): Likewise. 16230169689Skan 16231169689Skan2006-01-09 Bob Wilson <bob.wilson@acm.org> 16232169689Skan 16233169689Skan * config/xtensa/ieee754-df.S: New file. 16234169689Skan * config/xtensa/ieee754-sf.S: New file. 16235169689Skan * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove fp-bit.c & dp-bit.c. 16236169689Skan (LIB1ASMFUNCS): Add SFmode and DFmode floating-point functions. 16237169689Skan * config/xtensa/lib1funcs.asm: Include ieee754-df.S and ieee754-sf.S. 16238169689Skan 16239169689Skan2006-01-09 Kazu Hirata <kazu@codesourcery.com> 16240169689Skan 16241169689Skan * config/sh/predicates.md (binary_float_operator, 16242169689Skan binary_logical_operator, commutative_float_operator, 16243169689Skan equality_comparison_operator, greater_comparison_operator, 16244169689Skan less_comparison_operator, logical_operator, 16245169689Skan noncommutative_float_operator, shift_operator, 16246169689Skan symbol_ref_operand, unary_float_operator): Remove redundant 16247169689Skan conditionals. 16248169689Skan 16249169689Skan2006-01-09 Jeff Law <law@redhat.com> 16250169689Skan 16251169689Skan * tree-ssa-dom.c (simplify_cond_and_lookup_avail_expr): Remove 16252169689Skan code to propagate the RHS of a cast into COND_EXPR_COND. Remove 16253169689Skan now unused arguments. Callers updated. 16254169689Skan (eliminate_redundant_computations): Remove now unused arguments, 16255169689Skan callers updated. 16256169689Skan (local_fold): Remove, no longer used. 16257169689Skan (find_equivalent_equality_comparison): Removed from tree-ssa-dom.c 16258169689Skan and moved to... 16259169689Skan * tree-ssa-forwprop.c (find_equivalent_equality_comparison): Here. 16260169689Skan (simplify_cond): New function. 16261169689Skan (forward_propagate_into_cond): Call simplify_cond. 16262169689Skan 16263169689Skan2006-01-09 Alexandre Oliva <aoliva@redhat.com> 16264169689Skan 16265169689Skan * config/i386/sse.md (*vec_extractv2di_1_sse2): New. 16266169689Skan (*vec_extractv2di_1_sse): New. 16267169689Skan 16268169689Skan2006-01-09 Ben Elliston <bje@au.ibm.com> 16269169689Skan 16270169689Skan * config/rs6000/rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Typo fix. 16271169689Skan 16272169689Skan2006-01-08 Richard Guenther <rguenther@suse.de> 16273169689Skan 16274169689Skan * tree-ssa-structalias.c (get_constraint_for): Remove 16275169689Skan anyoffset argument. 16276169689Skan (get_constraint_for_component_ref): Likewise. 16277169689Skan (do_deref): Likewise. 16278169689Skan (get_constraint_for): Likewise. 16279169689Skan (do_structure_copy): Likewise. 16280169689Skan (handle_ptr_arith): Likewise. 16281169689Skan (find_func_aliases): Likewise. Remove unused need_anyoffset 16282169689Skan variable. 16283169689Skan 16284169689Skan2006-01-08 J"orn Rennecke <joern.rennecke@st.com> 16285169689Skan Kaz Kojima <kkojima@gcc.gnu.org> 16286169689Skan 16287169689Skan * config/sh/sh.h (CONST_OK_FOR_K16): Define. 16288169689Skan (CONST_OK_FOR_K): Add CONST_OK_FOR_K16 case. 16289169689Skan (EXTRA_CONSTRAINT_C16): Remove. 16290169689Skan (EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Define. 16291169689Skan (EXTRA_CONSTRAINT_C): Remove EXTRA_CONSTRAINT_C16 case and add 16292169689Skan EXTRA_CONSTRAINT_Css and EXTRA_CONSTRAINT_Csu cases. 16293169689Skan * config/sh/sh.c (print_operand): Handle unsigned 16-bit symbolic 16294169689Skan constants of SHmedia. Handle nested constant expressions of 16295169689Skan SHmedia correctly. 16296169689Skan (andcosts): Fix the costs for SHmedia constants. 16297169689Skan (sh_rtx_costs): Take account of outer_code for SHmedia constants. 16298169689Skan * config/sh/sh.md (*movsi_media): Use Css constraint instead of C16. 16299169689Skan (*movsi_media_nofpu, *movqi_media, *movhi_media): Likewise. 16300169689Skan (*movdi_media, *movdi_media_nofpu, movv8qi_i, movv2hi_i): Likewise. 16301169689Skan (movv4hi_i, movv2si_i): Likewise. 16302169689Skan (movsi_const): Adjust the second operand of ior so to match with 16303169689Skan the Csu constraint. 16304169689Skan (movdi_const, movdi_const_32bit): Likewise. 16305169689Skan (movdi_const_16bit+1): Don't sign-extend LOW. 16306169689Skan (movdi_const_16bit+2): Likewise. Remove the zero_extend and truncate 16307169689Skan step. 16308169689Skan (*double_shori): Fix the split condition. Use GEN_INT instead 16309169689Skan of get_int_mode calls. Mask lower 16-bit of the argument of 16310169689Skan the last GEN_INT. 16311169689Skan (sym2GOTPLT): Remove. 16312169689Skan (symGOTPLT2reg): Replace gen_sym2GOTPLT with gen_rtx_CONST and 16313169689Skan gen_rtx_UNSPEC. 16314169689Skan * config/sh/predicates.md (arith_operand): Use EXTRA_CONSTRAINT_Css 16315169689Skan instead of EXTRA_CONSTRAINT_C16. 16316169689Skan 16317169689Skan2006-01-07 Ian Lance Taylor <ian@airs.com> 16318169689Skan David Edelsohn <edelsohn@gnu.org> 16319169689Skan 16320169689Skan PR rtl-optimization/25662 16321169689Skan * optabs.c (simplify_expand_binop): Use simplify_binary_operation 16322169689Skan for constant operands instead of simplify_gen_binary. 16323169689Skan * simplify-rtx.c (simplify_gen_binary): Swap commutative operands 16324169689Skan after trying simplify_binary_operation 16325169689Skan 16326169689Skan2006-01-06 Daniel Berlin <dberlin@dberlin.org> 16327169689Skan 16328169689Skan * tree.c (iterative_hash_expr): Hash decls based on UID. 16329169689Skan 16330169689Skan2006-01-06 Eric Christopher <echristo@apple.com> 16331169689Skan 16332169689Skan * doc/tm.texi (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Document. 16333169689Skan (TARGET_UNWIND_EMIT): Fix spelling. 16334169689Skan * target.h (gcc_target): Add except_table_label. 16335169689Skan * except.c (output_function_exception_table): Use. 16336169689Skan * varasm.c (default_emit_except_table_label): New. 16337169689Skan * target-def.h (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): New default 16338169689Skan define. 16339169689Skan (asm_out): Add here. 16340169689Skan * output.h (default_emit_except_table_label): Prototype. 16341169689Skan * config/darwin-protos.h (darwin_emit_except_table_label): Ditto. 16342169689Skan * config/darwin.c (darwin_emit_except_table_label): Define. 16343169689Skan * config/darwin.h (TARGET_ASM_EMIT_EXCEPT_TABLE): Ditto. 16344169689Skan 16345169689Skan2006-01-06 Zdenek Dvorak <dvorakz@suse.cz> 16346169689Skan 16347169689Skan PR tree-optimization/18527 16348169689Skan * tree-ssa-loop-niter.c (number_of_iterations_cond, 16349169689Skan number_of_iterations_special, number_of_iterations_exit): 16350169689Skan Move base and step of an iv to a single structure. Add 16351169689Skan no_overflow flag, and use it in # of iterations analysis. 16352169689Skan * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Add 16353169689Skan folded_casts argument. 16354169689Skan (simple_iv): Pass base and step in a structure. Set no_overflow 16355169689Skan flag. 16356169689Skan (scev_const_prop): Add argument to analyze_scalar_evolution_in_loop. 16357169689Skan Evaluate expensiveness of computing # of iterations instead of 16358169689Skan the final expression. 16359169689Skan * tree-scalar-evolution.h (affine_iv): New structure. 16360169689Skan (simple_iv): Declaration changed. 16361169689Skan * tree-chrec.c (chrec_apply): Handle chrecs containing symbols. 16362169689Skan * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev, 16363169689Skan find_givs_in_stmt): Changed due to simple_iv change. 16364169689Skan 16365169689Skan2006-01-06 Jeff Law <law@redhat.com> 16366169689Skan 16367169689Skan PR ada/24994 16368169689Skan * tree-cfg.c (bsi_replace): Rename final argument from 16369169689Skan PRESERVE_EH_INFO to UPDATE_EH_INFO. Fix typo in last 16370169689Skan change (stmt -> orig_stmt). 16371169689Skan * tree-eh.c (verify_eh_throw_stmt_node): New function. 16372169689Skan (bsi_remove): Add new argument. Remove EH information 16373169689Skan if requested. 16374169689Skan (verify_eh_throw_table_statements): New function. 16375169689Skan (bsi_remove): Add new argument REMOVE_EH_INFO. All callers 16376169689Skan updated. 16377169689Skan * tree-optimize.c (execute_free_cfg_annotations): Verify 16378169689Skan the EH throw statement table after removing annotations. 16379169689Skan * except.h (verify_eh_throw_table_statements): Prototype. 16380169689Skan * tree-flow.h (bsi_remove): Update prototype. 16381169689Skan * tree-vrp.c (remove_range_assertions): Add new argument to 16382169689Skan bsi_remove call. 16383169689Skan * tree-ssa-loop-im.c (move_computations_stmt): Likewise. 16384169689Skan * tree-complex.c (expand_complex_div_wide): Likewise. 16385169689Skan * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Likewise 16386169689Skan * tree-tailcall.c (eliminate_tailcall): Likewise. 16387169689Skan * tree-ssa-dse.c (dse_optimize_stmt): Likewise. 16388169689Skan * tree-ssa-loop-ivopts.c (remove_statement): Likewise. 16389169689Skan * tree-nrv.c (tree_nrv): Likewise. 16390169689Skan * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Likewise. 16391169689Skan * tree-if-conv.c (tree_if_convert_cond_expr): Likewise. 16392169689Skan (combine_blocks): Likewise. 16393169689Skan * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Likewise. 16394169689Skan * tree-cfgcleanup.c (cleanup_ctrl_expr_graph): Likewise. 16395169689Skan (cleanup_control_flow): Likewise. 16396169689Skan (remove_forwarder_block): Likewise. 16397169689Skan * tree-ssa-pre.c (remove_dead_inserted_code): Likewise. 16398169689Skan * tree-sra.c (sra_replace): Likewise. 16399169689Skan * tree-ssa-forwprop.c (forward_propagate_into_cond): Likewise. 16400169689Skan (forward_propagate_single_use_vars): Likewise. 16401169689Skan * tree-ssa-dce.c (remove_dead_stmt): Likewise. 16402169689Skan * tree-inline.c (expand_call_inline): Likewise. 16403169689Skan * tree-vect-transform.c (vect_transform_loop): Likewise. 16404169689Skan * tree-outof-ssa.c (rewrite_trees): Likewise. 16405169689Skan * tree-cfg.c (make_goto_expr_edges): Likewise. 16406169689Skan (cleanup_dead_labels): Likewise. 16407169689Skan (tree_merge_blocks, remove_bb, disband_implicit_edges): Likewise. 16408169689Skan (bsi_move_before, bsi_move_after): Likewise. 16409169689Skan (bsi_move_to_bb_end, try_redirect_by_replacing_jump): Likewise 16410169689Skan (tree_redirect_edge_and_branch, tree_split_block): Likewise. 16411169689Skan 16412169689Skan2006-01-06 Andrew Pinski <pinskia@physics.uc.edu> 16413169689Skan 16414169689Skan PR tree-opt/25528 16415169689Skan * tree-ssa-alias.c (find_used_portions): Handle REALPART_EXPR 16416169689Skan and IMAGPART_EXPR. 16417169689Skan * tree-flow-inline.h (var_can_have_subvars): Handle complex types 16418169689Skan on non gimple variables. Also add checks at the top for decls and 16419169689Skan mtags. 16420169689Skan * tree-ssa-structalias.c (push_fields_onto_fieldstack): Handle 16421169689Skan complex types. 16422169689Skan * tree-ssa-operands.c (parse_ssa_operands): Handle REALPART_EXPR 16423169689Skan and IMAGPART_EXPR for creating MUST_DEFs. 16424169689Skan (get_expr_operands): Handle SSA_NAME, STRUCT_FIELD_TAG, TYPE_MEMORY_TAG, 16425169689Skan and NAME_MEMORY_TAG separately from the DECLs. 16426169689Skan 16427169689Skan2006-01-06 Richard Guenther <rguenther@suse.de> 16428169689Skan 16429169689Skan * tree-dfa.c (mark_new_vars_to_rename): Create stmt 16430169689Skan annotation, if necessary. 16431169689Skan * tree-ssa-pre.c (create_expression_by_pieces): Remove 16432169689Skan redundant calls to update_stmt. 16433169689Skan * tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): 16434169689Skan Likewise. 16435169689Skan 16436169689Skan2006-01-05 Richard Henderson <rth@redhat.com> 16437169689Skan 16438169689Skan * c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA. 16439169689Skan 16440169689Skan2006-01-05 Carlos O'Donell <carlos@codesourcery.com> 16441169689Skan 16442169689Skan * c-typeck.c: Update copyright date. 16443169689Skan 16444169689Skan2006-01-05 Carlos O'Donell <carlos@codesourcery.com> 16445169689Skan 16446169689Skan * c-typeck.c (build_c_cast): Always warn when casting 16447169689Skan from a pointer to an integer of different size, even if 16448169689Skan the node was constant. 16449169689Skan 16450169689Skan2006-01-05 Richard Guenther <rguenther@suse.de> 16451169689Skan 16452169689Skan PR tree-optimization/22555 16453169689Skan * tree-ssa-alias.c (create_overlap_variables_for): Do not give up, 16454169689Skan if one structure field is an array. 16455169689Skan * tree-ssa-operands.c (get_expr_operands): Continue scanning 16456169689Skan operands even if we found a subvar, but ignore VOPs in this 16457169689Skan case. 16458169689Skan * tree-ssa-loop-ivopts.c (rewrite_use): Mark new vars in stmt 16459169689Skan for renaming. 16460169689Skan * tree-ssa-loop.c (pass_iv_optimize): Schedule TODO_update_ssa. 16461169689Skan 16462169689Skan2006-01-05 Richard Earnshaw <rearnsha@arm.com> 16463169689Skan 16464169689Skan PR middle-end/24998 16465169689Skan * arm/t-netbsd (LIB2FUNCS_EXTRA): Define. 16466169689Skan 16467169689Skan2006-01-05 Richard Guenther <rguenther@suse.de> 16468169689Skan Diego Novillo <dnovillo@redhat.com> 16469169689Skan 16470169689Skan * tree-pass.h (TODO_remove_unused_locals): Define. 16471169689Skan * gimple-low.c (expand_var_p, remove_useless_vars, 16472169689Skan pass_remove_useless_vars): Remove. Update all users. 16473169689Skan * tree-ssa-live.c (mark_all_vars_used_1): Handle SSA names. 16474169689Skan (remove_unused_locals): New function. 16475169689Skan * tree-flow.h (remove_unused_locals): Declare. 16476169689Skan * passes.c (execute_todo): Call remove_unused_locals if 16477169689Skan TODO_remove_unused_locals is set. 16478169689Skan * tree-into-ssa.c (pass_build_ssa): Add TODO_remove_unused_locals. 16479169689Skan * tree-ssa-dce.c (pass_dce): Likewise. 16480169689Skan * tree-outof-ssa.c (pass_del_ssa): Likewise. 16481169689Skan 16482169689Skan2006-01-05 Richard Guenther <rguenther@suse.de> 16483169689Skan 16484169689Skan * tree-flow.h (struct fieldoff): Decompose field to 16485169689Skan type, size and decl. 16486169689Skan * tree-ssa-alias.c (create_sft): Take type as parameter. 16487169689Skan (create_overlap_variables_for): Store type, size and decl 16488169689Skan in the fieldoff structure. 16489169689Skan * tree-ssa-structalias.c (fieldoff_compare): Adjust users 16490169689Skan of struct fieldoff. 16491169689Skan (push_fields_onto_fieldstack): Likewise. 16492169689Skan (create_variable_info_for): Likewise. Use offset for the 16493169689Skan SFT name if the decl is not available. 16494169689Skan 16495169689Skan2006-01-04 Paul Brook <paul@codesourcery.com> 16496169689Skan 16497169689Skan * config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr. 16498169689Skan 16499169689Skan2006-01-04 Daniel Berlin <dberlin@dberlin.org> 16500169689Skan 16501169689Skan * lambda-code.c (can_put_in_inner_loop): Relax 16502169689Skan restrictions. 16503169689Skan (can_put_after_inner_loop): New function. 16504169689Skan (can_convert_to_perfect_nest): Use can_put_after_inner_loop as well. 16505169689Skan (perfect_nestify): Change to make copies and modify uses. 16506169689Skan 16507169689Skan2006-01-04 Richard Henderson <rth@redhat.com> 16508169689Skan 16509169689Skan Merge from gomp branch: 16510169689Skan * c-lex.c (c_lex_with_flags) <CPP_PRAGMA>: Smuggle pragma id 16511169689Skan via integer constant. 16512169689Skan (pragma_lex): Remove. 16513169689Skan * c-pch.c (c_common_pch_pragma): Accept the name as an argument, 16514169689Skan rather than parsing it. 16515169689Skan * c-pragma.c (handle_pragma_weak, handle_pragma_redefine_extname, 16516169689Skan handle_pragma_extern_prefix): Add %< %> quotes. 16517169689Skan (registered_pragmas): New. 16518169689Skan (c_register_pragma_1): New. 16519169689Skan (c_register_pragma): Use it. 16520169689Skan (c_register_pragma_with_expansion): Likewise. 16521169689Skan (c_invoke_pragma_handler): New. 16522169689Skan (init_pragma): Use cpp_register_deferred_pragma directly for 16523169689Skan pch_preprocess. 16524169689Skan * c-pragma.h (enum pragma_kind): New. 16525169689Skan (pragma_handler): New. 16526169689Skan (c_invoke_pragma_handler): Declare. 16527169689Skan * c-common.c (c_parse_error): Pretty print CPP_PRAGMA and 16528169689Skan CPP_PRAGMA_EOL. 16529169689Skan * c-common.h (c_common_pch_pragma): Update decl. 16530169689Skan * Makefile.in (c-parser.o): Update dependencies. 16531169689Skan (GTFILES): Add c-pragma.h. 16532169689Skan * c-parser.c (struct c_token): Add pragma_kind. 16533169689Skan (struct c_parser): Add in_pragma. 16534169689Skan (c_lex_one_token): Always initialize keyword and pragma_kind. 16535169689Skan Extract data for CPP_PRAGMA. 16536169689Skan (c_parser_peek_2nd_token): Deny CPP_PRAGMA_EOL. 16537169689Skan (c_parser_consume_token): Don't allow CPP_PRAGMA unless errors. 16538169689Skan Don't allow CPP_PRAGMA_EOL if in_pragma. 16539169689Skan (c_parser_consume_pragma): New. 16540169689Skan (c_parser_skip_until_found): Stop on CPP_PRAGMA_EOL. 16541169689Skan (c_parser_skip_to_end_of_parameter): Likewise. 16542169689Skan (c_parser_skip_to_end_of_block_or_statement): Likewise. 16543169689Skan (c_parser_skip_to_pragma_eol): New. 16544169689Skan (c_parser_external_declaration): Handle CPP_PRAGMA. 16545169689Skan (c_parser_compound_statement_nostart): Likewise. 16546169689Skan (c_parser_statement_after_labels): Likewise. 16547169689Skan (c_parser_pragma): New. 16548169689Skan (pragma_lex): Likewise. 16549169689Skan (c_parser_pragma_pch_preprocess): New. 16550169689Skan (c_parser_new): Merge into ... 16551169689Skan (c_parse_file): ... here. Call c_parser_pragma_pch_preprocess. 16552169689Skan 16553169689Skan2006-01-04 Jeff Law <law@redhat.com> 16554169689Skan 16555169689Skan PR ada/24994 16556169689Skan * tree-cfg.c (bsi_replace): Remove the original statement 16557169689Skan from the EH throw statement table. 16558169689Skan 16559169689Skan2006-01-04 Jakub Jelinek <jakub@redhat.com> 16560169689Skan 16561169689Skan * config/i386/pmm_malloc.h (posix_memalign): If __cplusplus, 16562169689Skan make the prototype extern "C" and add throw (). 16563169689Skan 16564169689Skan PR target/25554 16565169689Skan * config/i386/i386.md (testqi_ext_3): Ensure len is positive 16566169689Skan and pos non-negative and pos + len <= 32. 16567169689Skan (testqi_ext_3_rex64): Ensure len is positive and pos non-negative, 16568169689Skan drop pos + len < HOST_BITS_PER_WIDE_INT test. 16569169689Skan (testqi_ext_3* splitter): Handle pos + len == HOST_BITS_PER_WIDE_INT. 16570169689Skan 16571169689Skan PR c/25559 16572169689Skan * c-common.c (handle_vector_size_attribute): Reject zero vector size 16573169689Skan as well as sizes not multiple of component size. 16574169689Skan 16575169689Skan PR debug/25562 16576169689Skan * function.c (instantiate_expr): New function. 16577169689Skan (instantiate_decls_1, instantiate_decls): If DECL_HAS_VALUE_EXPR_P, 16578169689Skan walk its DECL_VALUE_EXPR with instantiate_expr. 16579169689Skan 16580169689Skan * dwarf2out.c (loc_descriptor_from_tree_1): Don't add 16581169689Skan DW_OP_deref{,_size} if address isn't going to be added. 16582169689Skan 16583169689Skan2006-01-04 Ben Elliston <bje@au.ibm.com> 16584169689Skan 16585169689Skan * config/fp-bit.h: Use top-of-file comment from libgcc2.c. 16586169689Skan * config/fp-bit.c: Likewise. 16587169689Skan 16588169689Skan2006-01-03 Daniel Berlin <dberlin@dberlin.org> 16589169689Skan 16590169689Skan * dominance.c: Add comment about why we use DFS numbering 16591169689Skan of dominance tree. 16592169689Skan 16593169689Skan2006-01-03 Jakub Jelinek <jakub@redhat.com> 16594169689Skan Richard Henderson <rth@redhat.com> 16595169689Skan 16596169689Skan Merge from gomp-branch: 16597169689Skan * varasm.c (assemble_variable): Handle thread-local COMMON data. 16598169689Skan * defaults.h (ASM_OUTPUT_TLS_COMMON): Define. 16599169689Skan 16600169689Skan2006-01-03 Paolo Bonzini <bonzini@gnu.org> 16601169689Skan 16602169689Skan PR rtl-optimization/25578 16603169689Skan * combine.c (combine_simplify_rtx, force_to_mode): Don't 16604169689Skan pass a parameter to simplify_shift_const if changing ASHIFTRT 16605169689Skan to LSHIFTRT. 16606169689Skan 16607169689Skan2006-01-03 Adrian Straetling <straetling@de.ibm.com> 16608169689Skan 16609169689Skan * builtins.c (get_builtin_sync_mem): New function. 16610169689Skan (expand_builtin_sync_operation, expand_builtin_compare_and_swap, 16611169689Skan expand_builtin_lock_test_and_set, expand_builtin_lock_release): 16612169689Skan Call get_builtin_sync_mem to generate mem rtx. 16613169689Skan 16614169689Skan2006-01-03 Richard Guenther <rguenther@suse.de> 16615169689Skan 16616169689Skan PR c/25183 16617169689Skan * stmt.c (add_case_node): Make sure to clear overflow flags 16618169689Skan from ranges. 16619169689Skan 16620169689Skan2006-01-03 Jakub Jelinek <jakub@redhat.com> 16621169689Skan 16622169689Skan Merge from gomp-branch. 16623169689Skan * config/sparc/sync.md: New file. 16624169689Skan * config/sparc/sparc.md (UNSPECV_MEMBAR, UNSPECV_CAS, UNSPECV_SWAP, 16625169689Skan UNSPECV_LDSTUB): New constants. 16626169689Skan * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): New function. 16627169689Skan * config/sparc/predicates.md (memory_reg_operand): New predicate. 16628169689Skan * config/sparc/sparc-protos.h (sparc_expand_compare_and_swap_12): New 16629169689Skan prototype. 16630169689Skan 16631169689Skan2006-01-03 Roger Sayle <roger@eyesopen.com> 16632169689Skan 16633169689Skan * combine.c (reg_subword_p): New predicate to test whether the 16634169689Skan destination of a set refers to a subword/piece of a register. 16635169689Skan (try_combine): Generalize the code to merge the setting of a 16636169689Skan pseudo to a constant followed by a set of a subword of that 16637169689Skan register to a constant. 16638169689Skan 16639169689Skan2006-01-03 Kazu Hirata <kazu@codesourcery.com> 16640169689Skan 16641169689Skan * basic-block.h (control_flow_graph): Change the type of 16642169689Skan x_label_to_block_map to VEC(basic_block,gc) *. 16643169689Skan * tree-cfg.c (init_empty_tree_cfg, label_to_block_fn, 16644169689Skan set_bb_for_stmt): Adjust the uses of x_label_to_block_map. 16645169689Skan 16646169689Skan * tree-ssa-propagate.c (cfg_blocks): Change the type to 16647169689Skan VEC(basic_block,heap) *. 16648169689Skan (cfg_blocks_add, cfg_blocks_get, ssa_prop_init, 16649169689Skan ssa_prop_fini): Adjust the uses of cfg_blocks. 16650169689Skan 16651169689Skan2006-01-03 Steven Bosscher <stevenb.gcc@gmail.com> 16652169689Skan 16653169689Skan * fold-const.c (operand_equal_p): Accept a NULL operand 0 for 16654169689Skan COMPONENT_REFs. 16655169689Skan * emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for 16656169689Skan hashing trees instead of a pointer hash. 16657169689Skan (mem_attrs_htab_eq): Do a deep compare instead of a pointer 16658169689Skan compare for MEM_EXPR. 16659169689Skan 16660169689Skan PR rtl-optimization/25130 16661169689Skan * cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET 16662169689Skan when comparing MEMs for GCSE 16663169689Skan 16664169689Skan2006-01-03 Ben Elliston <bje@au.ibm.com> 16665169689Skan 16666169689Skan * targhooks.h (default_decimal_float_supported_p): Declare. 16667169689Skan * targhooks.c (default_decimal_float_supported_p): Define. 16668169689Skan * target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Redefine to 16669169689Skan `default_decimal_float_supported_p'. 16670169689Skan * doc/tm.texi (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Update. 16671169689Skan 16672169689Skan2006-01-02 Adam Nemet <anemet@caviumnetworks.com> 16673169689Skan 16674169689Skan * combine.c (apply_distributive_law <SUBREG>): Check 16675169689Skan TRULY_NOOP_TRUNCATION. 16676169689Skan 16677169689Skan2006-01-02 Geoffrey Keating <geoffk@apple.com> 16678169689Skan 16679169689Skan * dwarf2out.c (have_switched_text_section): Delete. 16680169689Skan (have_multiple_function_sections): New. 16681169689Skan (have_location_lists): Make 'bool'. 16682169689Skan (add_AT_loc_list): Use 'true' not '1'. 16683169689Skan (dwarf2out_switch_text_section): Set have_multiple_function_sections. 16684169689Skan (output_loc_list): Use have_multiple_function_sections. 16685169689Skan (output_ranges): Likewise. 16686169689Skan (dwarf2out_begin_function): Set have_multiple_function_sections if 16687169689Skan necessary. 16688169689Skan (dwarf2out_source_line): Don't fake separate_line_info_table_in_use. 16689169689Skan Check function_section rather than DECL_SECTION_NAME. 16690169689Skan (dwarf2out_finish): Use have_multiple_function_sections. 16691169689Skan Don't clear have_location_lists. 16692169689Skan 16693169689Skan2006-01-02 Eric Botcazou <ebotcazou@adacore.com> 16694169689Skan Jan Hubicka <jh@suse.cz> 16695169689Skan 16696169689Skan * cfglayout.c (fixup_reorder_chain): Remove kludge for the 16697169689Skan case of conditional jump jumping to the next instruction. 16698169689Skan * cfgrtl.c (force_nonfallthru_and_redirect): Accept all 16699169689Skan cases of conditional jump jumping to the next instruction. 16700169689Skan 16701169689Skan2006-01-02 Jan Hubicka <jh@suse.cz> 16702169689Skan 16703169689Skan * i386.c (*_cost): Add COSTS_N_INSNS. 16704169689Skan (ix86_rtx_costs): Do not use COSTS_N_INSNS. 16705169689Skan 16706169689Skan2006-01-02 Paolo Bonzini <bonzini@gnu.org> 16707169689Skan 16708169689Skan PR target/25259 16709169689Skan * Makefile.in (DECNUMINC): Include libdecnumber's build directory. 16710169689Skan 16711169689Skan2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 16712169689Skan 16713169689Skan * config/arm/arm.c (all_fpus): Fix comment typo. 16714169689Skan * config/darwin.c: Likewise. 16715169689Skan * config/frv/frv.h (FRV_STRUCT_VALUE_REGNUM): Likewise. 16716169689Skan * config/h8300/h8300.md (extendqisi2_h8300hs): Likewise. 16717169689Skan * config/m68hc11/m68hc11.c (m68hc11_reload_operands): Likewise. 16718169689Skan 16719169689Skan2006-01-01 David Edelsohn <edelsohn@gnu.org> 16720169689Skan 16721169689Skan * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): New. 16722169689Skan (rs6000_split_compare_and_swapqhi): New. 16723169689Skan * config/rs6000/sync.md (sync_compare_and_swap{hi,qi}): New. 16724169689Skan (sync_compare_and_swapqhi_internal): New. 16725169689Skan * config/rs6000/rs6000-protos.h: Declare. 16726169689Skan 16727