12002-12-31 Kazu Hirata <kazu@cs.umass.edu> 2 3 * config/h8300/h8300-protos.h: Update the prototypes. 4 * config/h8300/h8300.c (const_le_2_operand): Change to 5 const_int_le_2_operand. 6 (const_int_le_6_operand): Change to const_int_le_6_operand. 7 * config/h8300/h8300.md (two peepholes): Update the function 8 names. 9 102002-12-31 Tom Tromey <tromey@redhat.com> 11 12 * doc/install.texi (Testing): Fixed typo. 13 142002-12-31 Kazu Hirata <kazu@cs.umass.edu> 15 16 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove. 17 (TRAMPOLINE_SIZE): Support the normal mode. 18 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline. 19 202002-12-31 Mark Mitchell <mark@codesourcery.com> 21 22 * c-common.h (pending_lang_change): Declare. 23 242002-12-31 Jerry Quinn <jlquinn@optonline.net> 25 26 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag 27 descriptions. 28 292002-12-31 Jerry Quinn <jlquinn@optonline.net> 30 31 * gcc/doc/invoke.texi (Optimization Options): List the options 32 enabled by each -O flag. 33 342002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 35 36 * doc/install.texi (Configuration): Explicitly refer 37 gcc/config.gcc for a list of cpu models. 38 392002-12-31 Kazu Hirata <kazu@cs.umass.edu> 40 41 * config/h8300/h8300.h: Fix comment typos. 42 432002-12-30 David Edelsohn <edelsohn@gnu.org> 44 45 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define. 46 472002-12-30 Tom Tromey <tromey@redhat.com> 48 49 * doc/install.texi (Testing): Mention Jacks. 50 512002-12-30 Joseph S. Myers <jsm@polyomino.org.uk> 52 53 * doc/gcc.texi, doc/gccint.texi: Update last modification dates. 54 552002-12-30 Kazu Hirata <kazu@cs.umass.edu> 56 57 * config/h8300/h8300.c (output_logical_op): Use extu.w in more 58 cases. 59 (compute_logical_op_length): Update to reflect the change in 60 output_logical_op. 61 (compute_logical_op_cc): Likewise. 62 632002-12-30 Joseph S. Myers <jsm@polyomino.org.uk> 64 65 * doc/service.texi: Uncomment and update FAQ link. 66 672002-12-30 Andreas Jaeger <aj@suse.de> 68 69 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj. 70 712002-12-30 Kazu Hirata <kazu@cs.umass.edu> 72 73 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New. 74 752002-12-30 Kazu Hirata <kazu@cs.umass.edu> 76 77 * config/h8300/h8300.c (output_logical_op): Use extu.w if we 78 are clearing the most significant byte. 79 (compute_logical_op_length): Update to reflect the change in 80 output_logical_op. 81 (compute_logical_op_cc): Likewise. 82 832002-12-29 Kazu Hirata <kazu@cs.umass.edu> 84 85 * config/h8300/h8300.md: Give internal names to anonymous 86 insns. 87 882002-12-29 Kazu Hirata <kazu@cs.umass.edu> 89 90 * config/h8300/h8300.md: Reorder some insns. 91 922002-12-29 Kazu Hirata <kazu@cs.umass.edu> 93 94 * config/h8300/h8300-protos.h: Add prototypes for 95 const_int_qi_operand and const_int_hi_operand. 96 * config/h8300/h8300.c (const_int_qi_operand): New. 97 (const_int_hi_operand): Likewise. 98 * config/h8300/h8300.md (three peepholes): New. 99 1002002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> 101 102 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi: 103 Use @copying. 104 1052002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> 106 107 * configure.in: Increase makeinfo version requirement to 4.[2-9]. 108 * configure: Regenerate. 109 * doc/install.texi: Update Texinfo version requirement. 110 1112002-12-28 Andreas Jaeger <aj@suse.de> 112 113 * config/i386/i386.c (x86_function_profiler): Mark labelno as 114 possibly unused. 115 116 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for 117 correct format. 118 1192002-12-27 Kazu Hirata <kazu@cs.umass.edu> 120 121 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to 122 *iorhi_ashift_8. 123 (*iorhi_lshiftrt_8): New. 124 1252002-12-27 Joseph S. Myers <jsm@polyomino.org.uk> 126 127 * doc/include/texinfo.tex: Update to version 2002-12-26.16. 128 1292002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 130 131 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara. 132 1332002-12-26 Kazu Hirata <kazu@cs.umass.edu> 134 135 * config/h8300/h8300-protos.h: Fix comment typos. 136 Update copyright. 137 * config/h8300/h8300.c: Fix comment typos. 138 1392002-12-26 Kazu Hirata <kazu@cs.umass.edu> 140 141 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab. 142 1432002-12-26 Kazu Hirata <kazu@cs.umass.edu> 144 145 * config/i386/athlon.md: Fix comment typos. 146 * config/i386/crtdll.h: Likewise. 147 * config/i386/djgpp.h: Likewise. 148 * config/i386/i386-interix.h: Likewise. 149 * config/i386/i386.c: Likewise. 150 * config/i386/i386.h: Likewise. 151 * config/i386/i386.md: Likewise. 152 * config/i386/k6.md: Likewise. 153 * config/i386/mingw32.h: Likewise. 154 * config/i386/pentium.md: Likewise. 155 * config/i386/sco5.h: Likewise. 156 * config/i386/winnt.c: Likewise. 157 * config/i386/xmmintrin.h: Likewise. 158 1592002-12-26 Jose Renau <renau@cs.uiuc.edu> 160 161 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an 162 INSN_P before checking to see if it is dead. 163 (mark_all_insn_unnecessary): Similarly. 164 (ssa_eliminate_dead_code): Similarly. 165 * rtl.h (struct rtx_def): Update comments for in_struct usage 166 in dead code elimination pass. 167 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well. 168 1692002-12-26 Andreas Schwab <schwab@suse.de> 170 171 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax. 172 1732002-12-25 David Edelsohn <edelsohn@gnu.org> 174 175 * config/rs6000/rs6000.c (rs6000_override_options): Convert to 176 tartet_flags_explicit. 177 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete. 178 Compact target_flags bits. 179 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete. 180 (TARGET_SWITCHES): Delete references to *_SET flags. 181 182Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz> 183 184 * i386.md (memory attribute): Fix setcc attribute. 185 1862002-12-25 Kazu Hirata <kazu@cs.umass.edu> 187 188 * output.h: Fix comment typos. 189 * predict.c: Likewise. 190 * print-tree.c: Likewise. 191 * profile.c: Likewise. 192 * ra-build.c: Likewise. 193 * ra-colorize.c: Likewise. 194 * ra-debug.c: Likewise. 195 * ra-rewrite.c: Likewise. 196 * ra.c: Likewise. 197 * ra.h: Likewise. 198 * real.c: Likewise. 199 * recog.c: Likewise. 200 * reg-stack.c: Likewise. 201 * regclass.c: Likewise. 202 2032002-12-25 Kazu Hirata <kazu@cs.umass.edu> 204 205 * config/h8300/h8300.c (print_operand_address): Do not negate 206 a negative number when printing one. 207 2082002-12-25 Kazu Hirata <kazu@cs.umass.edu> 209 210 * config/h8300/h8300-protos.h: Add prototypes for 211 output_plussi, compute_plussi_length, and compute_plussi_cc. 212 * config/h8300/h8300.c (output_plussi): New. 213 (compute_plussi_length): Likewise. 214 (compute_plussi_cc): Likewise. 215 * config/h8300/h8300.md (addsi_h8300h): Call 216 output_plussi, compute_plussi_length, and compute_plussi_cc. 217 2182002-12-24 Kazu Hirata <kazu@cs.umass.edu> 219 220 * config/h8300/h8300.md (two peepholes): Use match_dup instead 221 of match_operand in the new patterns. 222 2232002-12-24 Joseph S. Myers <jsm@polyomino.org.uk> 224 225 * doc/include/texinfo.tex: Update to version 2002-11-25.11. 226 2272002-12-24 Nathan Sidwell <nathan@codesourcery.com> 228 229 * configure.in (enable-coverage): Add SELF_COVERAGE. 230 * profile.c (end_branch_prob): Use SELF_COVERAGE. 231 2322002-12-24 Jim Wilson <wilson@redhat.com> 233 234 * alias.c (record_set): Handle multi-reg hard registers. 235 2362002-12-24 Kazu Hirata <kazu@cs.umass.edu> 237 238 * regmove.c: Fix comment typos. 239 * reload.c: Likewise. 240 * reload1.c: Likewise. 241 * resource.c: Likewise. 242 * rtl.def: Likewise. 243 * rtl.h: Likewise. 244 * rtlanal.c: Likewise. 245 * sched-deps.c: Likewise. 246 * sched-rgn.c: Likewise. 247 * sibcall.c: Likewise. 248 * simplify-rtx.c: Likewise. 249 * ssa-ccp.c: Likewise. 250 * ssa.c: Likewise. 251 * stmt.c: Likewise. 252 * stor-layout.c: Likewise. 253 * system.h: Likewise. 254 * tlink.c: Likewise. 255 * toplev.c: Likewise. 256 * tracer.c: Likewise. 257 * tree-inline.c: Likewise. 258 * tree.c: Likewise. 259 * tree.h: Likewise. 260 * unroll.c: Likewise. 261 * varasm.c: Likewise. 262 2632002-12-23 Larin Hennessy <larin@science.oregonstate.edu> 264 265 * doc/install.texi: Remove i386-*-isc, i860-*-bsd, 266 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries. 267 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex, 268 DG/UX entries. 269 * doc/md.texi: Remove AMD 29K entries. 270 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS 271 1.38.1, NewsOS, RT PC, WE32K entries. 272 2732002-12-23 Aldy Hernandez <aldyh@redhat.com> 274 275 PR/8763 276 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector. 277 (altivec_vspltisw_v4sf): Name pattern. 278 (altivec_vslw_v4sf): New pattern. 279 2802002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> 281 282 * doc/include/gcc-common.texi: Define DEVELOPMENT. 283 2842002-12-23 Mark Mitchell <mark@codesourcery.com> 285 286 * stor-layout.c (update_alignment_for_field): Correct handling of 287 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines. 288 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed 289 bitfield does not affect alignment. 290 2912002-12-23 David Edelsohn <edelsohn@gnu.org> 292 293 * expr.c (expand_assignment): Apply special treatment to 294 ARRAY_TYPE. 295 2962002-12-23 Kazu Hirata <kazu@cs.umass.edu> 297 298 * config/h8300/h8300-protos.h: Update the prototype of 299 expand_a_shift. 300 * config/h8300/h8300.c (expand_a_shift): Change the return 301 type to void. 302 * config/h8300/h8300.md: Update all the uses of 303 expand_a_shift. 304 3052002-12-22 Nathan Sidwell <nathan@codesourcery.com> 306 307 * tree.c (save_expr): Allow either side of a dyadic operand to be 308 constant. 309 310 * doc/portability.texi (portability): Update portability goals. 311 3122002-12-23 Kazu Hirata <kazu@cs.umass.edu> 313 314 * config/h8300/h8300.c (output_a_shift): Remove unused code. 315 3162002-12-22 Mark Mitchell <mark@codesourcery.com> 317 318 * stor-layout.c (update_alignment_for_field): Guard use of 319 ADJUST_FIELD_ALIGN with #ifdef. 320 321 * stor-layout.c (update_alignment_for_field): Use 322 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width 323 bitfield when PCC_BITFIELD_TYPE_MATTERS. 324 3252002-12-22 Kazu Hirata <kazu@cs.umass.edu> 326 327 * genautomata.c: Fix comment typos. 328 329Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz> 330 331 * params.def (tracer-min-branch-probability-feedback): Fix default. 332 * final.c (compute_alignments): Use profile to avoid code bloat. 333 3342002-12-22 Kazu Hirata <kazu@cs.umass.edu> 335 336 * config/h8300/h8300.c (get_shift_alg): Make shift insn 337 sequences end with a valid cc0 whenever possible. 338 3392002-12-22 Kazu Hirata <kazu@cs.umass.edu> 340 341 * config/h8300/h8300.md (negsf2): New. 342 (*negsf2_h8300): Likewise. 343 (*negsf2_h8300hs): Likewise. 344 3452002-12-21 Geoffrey Keating <geoffk@apple.com> 346 347 * integrate.c (output_inline_function): Don't hold private 348 pointers to 'struct function' over GC calls. 349 3502002-12-21 Kaz kojima <kkojima@gcc.gnu.org> 351 352 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with 353 NO_FPSCR_VALUES. 354 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES. 355 3562002-12-21 Kazu Hirata <kazu@cs.umass.edu> 357 358 * config/h8300/h8300.md (zero_extendqisi2): Correct the 359 length. 360 3612002-12-21 Kazu Hirata <kazu@cs.umass.edu> 362 363 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the 364 second alternative "#". 365 (*zero_extendqihi2_h8300hs): Likewise. 366 (a define_split): New. 367 3682002-12-21 Kazu Hirata <kazu@cs.umass.edu> 369 370 * config/h8300/h8300-protos.h: Update the prototype for 371 split_adds_subs. 372 Add prototypes for const_le_2_operand and const_le_6_operand. 373 * config/h8300/h8300.c (split_adds_subs): Add an argument to 374 specify whether inc/dec should be used when possible. 375 (const_le_2_operand): New. 376 (const_le_6_operand): Likewise. 377 * config/h8300/h8300.md (two peepholes): New. 378 3792002-12-21 Kazu Hirata <kazu@cs.umass.edu> 380 381 * config/fr30/fr30.md: Fix a comment typo. 382 * config/i386/i386.c: Likewise. 383 * config/ip2k/ip2k.h: Likewise. 384 3852002-12-20 Jim Wilson <wilson@redhat.com> 386 387 * config/rs6000/spe.h (__ev_subifw): Reverse arguments. 388 (__ev_subw, __ev_subiw): New. 389 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw, 390 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete. 391 3922002-12-20 John David Anglin <dave.anglin@nrc.gc.ca> 393 394 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define. 395 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define. 396 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on 397 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT. 398 3992002-12-20 Kazu Hirata <kazu@cs.umass.edu> 400 401 * config/h8300/h8300-protos.h: Add prototypes for 402 incdec_operand and eqne_operator. 403 * config/h8300/h8300.c (incdec_operand): New. 404 (eqne_operator): Likewise. 405 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise. 406 (CONST_OK_FOR_O): Likewise. 407 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and 408 CONST_OK_FOR_O. 409 * config/h8300/h8300.md (UNSPEC_INCDEC): New. 410 (addhi3_incdec): New. 411 (addsi3_incdec): Likewise. 412 (two peepholes): Likewise. 413 4142002-12-20 Kazu Hirata <kazu@cs.umass.edu> 415 416 * config/h8300/h8300.c (dosize): Remove warnings. 417 (print_operand): Likewise. 418 4192002-12-20 Richard Henderson <rth@redhat.com> 420 421 * config/alpha/alpha.c (decl_has_samegp): New. 422 (samegp_function_operand): Use it. Rename from 423 current_file_function_operand. 424 (direct_call_operand): Handle -msmall-text via symbol->jump. 425 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel. 426 (tls_symbolic_operand_type): Likewise. 427 (alpha_encode_section_info): Likewise. Handle -msmall-text. 428 (alpha_function_ok_for_sibcall): Use decl_has_samegp. 429 (alpha_end_function): Set symbol->jump for functions defined in 430 the text section. 431 * config/alpha/alpha-protos.h: Update. 432 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New. 433 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text. 434 (PREDICATE_CODES): Update. 435 * config/alpha/alpha.md (call patterns): Update for 436 samegp_function_operand rename; use !samegp reloc if 437 TARGET_EXPLICIT_RELOCS. 438 * doc/invoke.text: Document -msmall-text and -mlarge-text. 439 4402002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au> 441 442 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match 443 all registers capable of holding a double float. 444 (*rcond): change name of "reverse branch" insns to 445 something more meaningful. 446 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE 447 comparisons properly. 448 (*ffs): Change operand 0 from write to read-modify-write. 449 (*ffsssi2): Drop constraints from define_expand. 450 451 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using 452 MOVE_RATIO as default for store operations. 453 454 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add 455 LONG_REGS class. 456 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS. 457 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort(). 458 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class. 459 460 * config/ns32k/STATUS: New File 461 * config/ns32k/NOTES: New file. 462 4632002-12-20 Hartmut Penner <hpenner@de.ibm.com> 464 465 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march= 466 option for S/390 and zSeries. 467 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch, 468 s390_arch_string): New variables. 469 (override_options): Checking for options and setting of 470 appropriate target_flags, cpu and arch flags. 471 * config/s390/s390.h: (processor_type): New enum. 472 (TARGET_SWITCHES): New switches -mesa/zarch. 473 * config/s390/s390.md: New attribute 'cpu'. 474 4752002-12-19 Kazu Hirata <kazu@cs.umass.edu> 476 477 * c-pretty-print.h: Fix comment typos. 478 * integrate.c: Likewise. 479 * varasm.c: Likewise. 480 * config/c4x/c4x.h: Likewise. 481 * config/c4x/c4x.md: Likewise. 482 * config/fr30/fr30.md: Likewise. 483 * config/frv/frv.c: Likewise. 484 * config/h8300/h8300.c: Likewise. 485 * config/i386/i386.c: Likewise. 486 * config/i386/i386.h: Likewise. 487 * config/ia64/ia64.c: Likewise. 488 * config/ia64/ia64.h: Likewise. 489 * config/ip2k/ip2k.md: Likewise. 490 * config/m68hc11/m68hc11-crt0.S: Likewise. 491 * config/m68hc11/m68hc11.h: Likewise. 492 * config/m68hc11/m68hc11.md: Likewise. 493 * config/m68hc11/m68hc12.h: Likewise. 494 * config/mcore/mcore.md: Likewise. 495 * config/mips/mips.c: Likewise. 496 * config/mips/mips.md: Likewise. 497 * config/mmix/mmix-modes.def: Likewise. 498 * config/pa/pa.c: Likewise. 499 * config/rs6000/rs6000.c: Likewise. 500 * config/rs6000/rs6000.h: Likewise. 501 * config/rs6000/rs6000.md: Likewise. 502 5032002-12-19 Kazu Hirata <kazu@cs.umass.edu> 504 505 * config/h8300/h8300.md (output_a_shift): Clean up the code to 506 output shifts using rotation. 507 5082002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 509 510 * flow.c (allocate_reg_life_data): Reset REG_FREQ. 511 5122002-12-19 Kazu Hirata <kazu@cs.umass.edu> 513 514 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack 515 pointer. 516 (pushqi_h8300hs): Likewise. 517 (pushhi_h8300): Likewise. 518 (pushhi_h8300hs): Likewise. 519 520Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com> 521 522 * sched-rgn.c (init_regions): Update comment. 523 5242002-12-19 David Edelsohn <edelsohn@gnu.org> 525 526 * config/rs6000/rs6000.md (define_attr type): Remove altivec. 527 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction 528 attributes. 529 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same. 530 (get_vrsave_internal,set_vrsave_internal): Same. 531 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same. 532 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same 533 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same. 534 5352002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net> 536 Danny Smith <dannysmith@users.sourceforge.net> 537 Eric Kohl <ekohl@rz-online.de> 538 539 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for 540 attributes incompatible with fastcall attribute. 541 (ix86_handle_regparm_attribute): Likewise. 542 543 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched 544 fastcall types. 545 546 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall 547 attributes. 548 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref. 549 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare. 550 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in 551 i386_pe_output_labelref rather than here. 552 (gen_fastcall_suffix): New function. Decorates a label name with the 553 fastcall prefix (@) and the stdcall suffix. 554 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol 555 has a fastcall attribute. 556 (i386_pe_output_labelref): New function. Outputs a label reference. 557 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a 558 valid attribute. 559 (ix86_return_pops_args): Fastcall functions pop the stack. 560 (init_cumulative_args): Reserve registers ECX and EDX if function has 561 fastcall attribute. 562 (function_arg): Use registers ECX and EDX if function has fastcall 563 attribute. 564 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag. 565 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'. 566 (FASTCALL_PREFIX): Define as '@'. 567 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall 568 attributes. 569 * doc/extend.texi: Add documentation of fastcall attribute. 570 5712002-12-19 Nathanael Nerode <neroden@gcc.gnu.org> 572 573 * configure.in: FORBUILD when build!=host changed from 574 ../$build-alias to ../build-$build_alias to match change made 575 in top directory. 576 * configure: Regenerated. 577 5782002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr> 579 580 PR optimization/8988 581 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning 582 the biv when eliminating. 583 5842002-12-19 Devang Patel <dpatel@apple.com> 585 * gcc.c (struct default_compiler): Recognizes input file name with 586 .CPP extension as C++ source files 587 * cp/lang-spec.h: Same 588 * doc/invoke.texi: Add documentation for .CPP support. 589 5902002-12-19 Aldy Hernandez <aldyh@redhat.com> 591 592 PR 8553 593 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered 594 registers. 595 ("absv16qi2"): Same. 596 ("absv4si2"): Same. 597 ("absv4sf2"): Same. 598 ("altivec_abss_v16qi"): Same. 599 ("altivec_abss_v8hi"): Same. 600 ("altivec_abss_v4si"): Same. 601 6022002-12-19 Ulrich Weigand <uweigand@de.ibm.com> 603 604 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly", 605 "*tstqiCCT", "*tstqiCCT_cconly"): New insns. 606 6072002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr> 608 609 PR target/8340 610 * stmt.c (expand_asm_operands): Produce an error when 611 the PIC register is clobbered. 612 6132002-12-18 Daniel Berlin <dberlin@dberlin.org> 614 615 * Makefile.in (OBJS): Add alloc-pool.o 616 (alloc-pool.o): New object. 617 618 * alloc-pool.c: New file. 619 * alloc-pool.h: New file. 620 6212002-12-18 Loren James Rittle <ljrittle@acm.org> 622 623 * gcc.c (validate_switches): Robustify against skipping past '\0'. 624 6252002-12-18 Geoffrey Keating <geoffk@apple.com> 626 627 * config.gcc: Set extra_objs in the generic Darwin rule, 628 not in the machine-specific rules. 629 6302002-12-19 Kazu Hirata <kazu@cs.umass.edu> 631 632 * ChangeLog: Follow spelling conventions. 633 * ChangeLog.2: Likewise. 634 * ChangeLog.4: Likewise. 635 * ChangeLog.5: Likewise. 636 * cppexp.c: Likewise. 637 * df.c: Likewise. 638 * gcov.c: Likewise. 639 * gengtype.c: Likewise. 640 * reload1.c: Likewise. 641 * sched-rgn.c: Likewise. 642 * stmt.c: Likewise. 643 * stor-layout.c: Likewise. 644 * timevar.c: Likewise. 645 * toplev.c: Likewise. 646 * tree.h: Likewise. 647 * varasm.c: Likewise. 648 * config/fr30/fr30.md: Likewise. 649 * config/i386/i386.c: Likewise. 650 * config/ia64/ia64.c: Likewise. 651 * config/pa/pa.c: Likewise. 652 6532002-12-18 Roger Sayle <roger@eyesopen.com> 654 655 * basic-block.h (flow_bb_inside_loop_p): Correct prototype. 656 6572002-12-18 Aldy Hernandez <aldyh@redhat.com> 658 659 PR 8551 660 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in 661 macro. 662 (vec_cmplt C++ functions): Reverse arguments. 663 6642002-12-18 Geoffrey Keating <geoffk@apple.com> 665 666 * config/rs6000/t-rs6000: Move contents to t-fprules, 667 add rules for dependencies of rs6000.o and to build rs6000-c.o 668 * config/rs6000/t-fprules: New file from t-rs6000. 669 * config/rs6000/t-beos: Remove soft-fp rules. 670 * config/rs6000/t-ppccomm: Likewise. 671 * config/rs6000/t-newas: Likewise. 672 * config/rs6000/t-rs6000-c-rule: Delete. 673 * config.gcc: Use t-fprules for rs6000/ ports when appropriate. 674 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule. 675 Create generic Darwin rules. 676 677 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration. 678 6792002-12-18 Doug Evans <dje@sebabeach.org> 680 681 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P 682 and LIT_NAME_P. 683 (move_src_operand): Remove compile-time warning. 684 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto. 685 6862002-12-18 Jason Merrill <jason@redhat.com> 687 688 * unwind-dw2-fde.c (frame_downheap): Split out from... 689 (frame_heapsort): Here. 690 6912002-12-17 Jason Merrill <jason@redhat.com> 692 693 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes. 694 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes. 695 696 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces. 697 698 * calls.c (expand_call): Don't try to be clever about expanding 699 the return slot address. 700 7012002-12-18 Kaz kojima <kkojima@gcc.gnu.org> 702 703 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): 704 Define. 705 7062002-12-17 Jason Merrill <jason@redhat.com> 707 708 * genmultilib: Use 'cd ./foo'. 709 7102002-12-17 Kazu Hirata <kazu@cs.umass.edu> 711 712 * doc/c-tree.texi: Restore deliberate spelling mistakes. 713 7142002-12-17 Kazu Hirata <kazu@cs.umass.edu> 715 716 * doc/c-tree.texi: Fix typos and follow spelling conventions. 717 * doc/cpp.texi: Likewise. 718 * doc/extend.texi: Likewise. 719 * doc/gty.texi: Likewise. 720 * doc/install.texi: Likewise. 721 * doc/invoke.texi: Likewise. 722 * doc/md.texi: Likewise. 723 * doc/passes.texi: Likewise. 724 * doc/rtl.texi: Likewise. 725 * doc/sourcebuild.texi: Likewise. 726 * doc/tm.texi: Likewise. 727 7282002-12-17 Jerry Quinn <jlquinn@optonline.net> 729 730 * doc/invoke.texi: Minor spelling and grammar fixes. 731 7322002-12-17 Ulrich Weigand <uweigand@de.ibm.com> 733 734 * config/s390/s390.c (s390_output_constant_pool): Replace 735 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label). 736 737Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz> 738 739 * convert.c (convert_to_real): Disable function transformation for 740 now. 741 7422002-12-16 Geoffrey Keating <geoffk@apple.com> 743 744 * gcc.c (handle_braces): Allow '@' as a switch name. 745 7462002-12-16 Jason Merrill <jason@redhat.com> 747 748 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR 749 with special struct-return ABIs. 750 751 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT 752 doesn't match the begin SCOPE_STMT in partialness. 753 7542002-12-16 Geoffrey Keating <geoffk@apple.com> 755 756 * genmultilib: Create temporary files in unique subdirectory. 757 758 * gcc.c (validate_switches): Allow '@' as a switch name. 759 7602002-12-16 Loren J. Rittle <ljrittle@acm.org> 761 762 * Makefile.in (gcov-iov.h): Improve portability. 763 764Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz> 765 766 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not 767 gas 768 * mips.md (tablejump insn): Likewise. 769 7702002-12-16 Mark Mitchell <mark@codesourcery.com> 771 772 * doc/include/gcc-common.texi: Change version number to 3.4. 773 7742002-12-16 Bruce Korb <bkorb@gnu.org> 775 776 * fixinc/fixlib.h: add: #include <signal.h> 777 * fixinc/fixincl.c: remove: #include <signal.h> 778 779Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com> 780 781 * sh.h (EXTRA_CONSTRAINT_Z): New macro. 782 (EXTRA_CONSTRAINT): Use it. 783 * sh.md (anddi3): Use 'Z' constraint for alternative 2. 784 7852002-12-15 Zack Weinberg <zack@codesourcery.com> 786 787 * config.gcc (need_64bit_hwint): New variable. 788 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*, 789 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*, 790 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*, 791 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*): 792 Set it. 793 (powerpc*-*-darwin*): Unset it. 794 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*, 795 i?86-*-interix*, sparc64-*-openbsd*): Remove references to 796 deleted/nonexistent xm-*.h headers. 797 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the 798 target set need_64bit_hwint in config.gcc. 799 * configure, config.in: Regenerate. 800 801 * hwint.h: Overhaul. Don't bother trying int for 802 HOST_WIDE_INT. Do try __int64 if long is not enough. Base 803 decision to force 64-bit HOST_WIDE_INT on 804 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is 805 not visible at this point. Don't allow prior definition of 806 any macro defined by this file. 807 808 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or 809 HOST_BITS_PER_WIDE_INT. 810 * config/c4x/c4x.h: Adjust redefinition of 811 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h. 812 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h, 813 config/i386/xm-i386-interix.h: Delete file. 814 8152002-12-14 Rodney Brown <rbrown64@csc.com.au> 816 John David Anglin <dave@hiauly1.hia.nrc.ca> 817 818 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL. 819 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define. 820 8212002-12-14 Zack Weinberg <zack@codesourcery.com> 822 823 * mkconfig.sh: Correct comment. Add copyright boilerplate. 824 8252002-12-14 Zack Weinberg <zack@codesourcery.com> 826 827 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe, 828 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin, 829 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64, 830 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2, 831 config/v850/t-v850: Correct dependencies and normalize 832 compilation commands for files that include coretypes.h and tm.h. 833 834 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h, 835 not config.h and system.h. 836 837Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz> 838 839 * i386.c (flags_reg_operand): New function. 840 * i386.h (PREDICATE_CODES): Add flags_reg_operand. 841 * i386.md (cmov splitter, movqicc): Use new predicate. 842 843Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz> 844 845 * i386.md (movqicc splitter): Fix template. 846 8472002-12-13 Jason Merrill <jason@redhat.com> 848 849 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro. 850 * calls.c (expand_call): Handle it. 851 * tree-inline.c (struct inline_data): Remove target_exprs field. 852 (optimize_inline_calls): Don't initialize it. 853 (expand_call_inline): Don't modify it. Handle 854 CALL_EXPR_HAS_RETURN_SLOT_ADDR. 855 (declare_return_variable): Take return slot addr. 856 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm 857 to return_slot_addr. 858 * langhooks-def.h, langhooks.c: Adjust. 859 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for 860 a decl with no DECL_INITIAL. 861 862 * expr.c (expand_expr): Don't discard the target of a call which 863 returns in memory. 864 8652002-12-13 Neil Booth <neil@daikokuya.co.uk> 866 867 * cppinit.c (path_include): Take an environment variable name. 868 Tidy up. 869 (init_standard_includes): Simplify environment handling, and 870 move to ... 871 (cpp_read_main_file): ...here as -nostdinc should not affect 872 environment variable paths. 873 8742002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca> 875 876 * pa.c (output_millicode_call): Correct typo. 877 (output_call): Likewise. 878 879Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com> 880 881 * config/mn10300/mn10300.c (print_operand) <case N>: Check 882 operand's range. Print value directly, without aid from 883 output_address. 884 <case U>: New. 885 <case S>: Make sure argument to fprintf has the right type. 886 * config/mn10300/mn10300.h (OK_FOR_T): New macro. 887 (EXTRA_CONSTRAINT): Adjust. 888 * config/mn10300/mn10300.md: Add new all-QImode pattern for 889 bclr. Use %U for immediate operands of bset and bclr. 890 (iorqi3): New expand, with insns for AM33 and mn10300. 891 892Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com> 893 894 * sh.c (sh_register_operand): New function. 895 (prepare_move_operands): Use it. 896 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand. 897 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0. 898 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise. 899 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise. 900 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise. 901 (movv2si_i): Likewise. 902 9032002-12-13 Jim Wilson <wilson@redhat.com> 904 905 * doc/extend.texi (Complex Numbers): Update info on debug info. 906 9072002-12-13 Kazu Hirata <kazu@cs.umass.edu> 908 909 * config/h8300/h8300.md (addhi3_h8300): Remove the last 910 alternative. 911 9122002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 913 914 * hooks.h (hook_tree_tree_bool_false): Declare 915 hook_bool_tree_tree_false instead. 916 9172002-12-12 Devang Patel <dpatel@apple.com> 918 919 * doc/invoke.texi: Document Darwin linker options, -bundle 920 -bind_at_load, -all_load and -arch_errors_fatal 921 9222002-12-12 Jim Wilson <wilson@redhat.com> 923 924 * dbxout.c (dbxout_fptype_value): New. 925 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'. 926 9272002-12-12 Kazu Hirata <kazu@cs.umass.edu> 928 929 * c-decl.c: Fix a comment typo. 930 * cfg.c: Likewise. 931 * cfgcleanup.c: Likewise. 932 * cfglayout.c: Likewise. 933 * cfgrtl.c: Likewise. 934 * c-typeck.c: Likewise. 935 * dominance.c: Likewise. 936 * dwarf2asm.c: Likewise. 937 * dwarfout.c: Likewise. 938 * expmed.c: Likewise. 939 * expr.c: Likewise. 940 * final.c: Likewise. 941 * flow.c: Likewise. 942 * function.c: Likewise. 943 * gcc.c: Likewise. 944 * genautomata.c: Likewise. 945 * integrate.c: Likewise. 946 * loop.c: Likewise. 947 * loop.h: Likewise. 948 * output.h: Likewise. 949 * profile.c: Likewise. 950 * ra.h: Likewise. 951 * reload1.c: Likewise. 952 * reload.c: Likewise. 953 * sched-rgn.c: Likewise. 954 * stmt.c: Likewise. 955 * tree.h: Likewise. 956 * vmsdbgout.c: Likewise. 957 9582002-12-12 Kazu Hirata <kazu@cs.umass.edu> 959 960 * config/h8300/h8300.md: Add a new peephole2. 961 9622002-12-12 Kazu Hirata <kazu@cs.umass.edu> 963 964 * config/h8300/h8300.md (a peephole2): Accept a constant 965 that's accepted by CONST_OK_FOR_J. 966 9672002-12-12 Kazu Hirata <kazu@cs.umass.edu> 968 969 * config/h8300/h8300.h (CONST_OK_FOR_J): New. 970 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J. 971 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative. 972 (*addhi_h8300hs): Likewise. 973 974Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com> 975 976 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry. 977 (sh_register_move_cost): Add clause for SImode fp-fp moves. 978 Increase cost for moves involving multiple general purpose registers. 979 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to 980 TARGET_FMOVD. 981 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose 982 registers, and SImode in fp registers, for ! TARGET_SHMEDIA. 983 (enum reg_class reg_class_from_letter): No longer const. 984 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG / 985 REGCLASS_HAS_GENERAL_REG. 986 Handle SImode moves from/to fp registers. 987 ! TARGET_SHMEDIA && TARGET_FMOVD. 988 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG. 989 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters. 990 9912002-12-12 Andreas Schwab <schwab@suse.de> 992 993 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last 994 change and some warnings. 995 9962002-12-12 Kazu Hirata <kazu@cs.umass.edu> 997 998 * doc/md.texi (pushm): Fix a typo. 999 10002002-12-12 Alexandre Oliva <aoliva@redhat.com> 1001 1002 * config/mips/mips.c (mips_output_conditional_branch): Support 1003 PIC-safe out-of-range branch and branch-likely. 1004 * config/mips/mips.md (attr length): PIC-safe out-of-range 1005 branches are longer. 1006 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove 1007 unused code to support indirect jumps. 1008 10092002-12-11 Zack Weinberg <zack@codesourcery.com> 1010 1011 * Makefile.in (GTFILES): Add $(host_xm_file_list) and 1012 $(tm_file_list). 1013 10142002-12-11 David Edelsohn <edelsohn@gnu.org> 1015 1016 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies. 1017 1018Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz> 1019 1020 * i386.md (cmove splitters): Avoid creation of unnecesary subregs. 1021 10222002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 1023 1024 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits. 1025 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of 1026 BIGGEST_ALIGNMENT. 1027 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY. 1028 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD. 1029 10302002-12-11 Kazu Hirata <kazu@cs.umass.edu> 1031 1032 * doc/invoke.texi: Correct dump file names. 1033 10342002-12-09 Steve Ellcey <sje@cup.hp.com> 1035 1036 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped 1037 name to globalize_label or assemble_name. 1038 1039Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com> 1040 1041 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS 1042 if not TARGET_SHMEDIA. 1043 1044Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com> 1045 1046 * sh.h (REG_CLASS_HAS_FP_REG): New. 1047 (REGISTER_MOVE_COST) Use it. Put body into a function and 1048 move it into: 1049 * sh.c (sh_register_move_cost). 1050 * sh-protos.h (sh_register_move_cost): Declare. 1051 1052 * sh.c (sh_expand_builtin): Abort for unexpected nop values. 1053 (sh_adjust_cost): Always return a value. 1054 1055Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com> 1056 1057 * sh.h (REG_CLASS_HAS_GENERAL_REG): New. 1058 (REGISTER_MOVE_COST): Use it. 1059 10602002-12-11 Richard Henderson <rth@redhat.com> 1061 1062 * tree.h (MODULE_LOCAL_P): Kill. 1063 * varasm.c (default_binds_local_p_1): Use decl_visibility instead. 1064 10652002-12-11 Kazu Hirata <kazu@cs.umass.edu> 1066 1067 * config/h8300/h8300.md (two define_peephole2): New. 1068 10692002-12-11 Kazu Hirata <kazu@cs.umass.edu> 1070 1071 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove. 1072 (CONST_OK_FOR_K): Likewise. 1073 (CONST_OK_FOR_M): Likewise. 1074 (CONST_OK_FOR_LETTER_P): Do not use the above macros. 1075 10762002-12-11 Neil Booth <neil@daikokuya.co.uk> 1077 1078 * c-common.c (builtin_define_type_max): Handle unsigned 1079 types too. 1080 10812002-12-10 David Edelsohn <edelsohn@gnu.org> 1082 1083 * haifa-sched.c (rank_for_schedule): Correct style. 1084 10852002-12-10 Per Bothner <pbothner@apple.com> 1086 1087 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field 1088 directive_index into an unsigned field and a new is_directive field. 1089 * cppinit.c (mark_named_operators): Update to set new fields. 1090 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned. 1091 * cpplib.c [_cpp_handle_directive]: Test is_directive field. 1092 No longer need to subtract 1 from directive_index. 1093 (_cpp_init_directives): No longer need to add 1 to directive_index. 1094 * cpptrad.c (scan_out_logical_line): Use is_directive field. 1095 10962002-12-10 Roger Sayle <roger@eyesopen.com> 1097 1098 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations 1099 check for evaluating sqrt of a constant at compile time. 1100 * simplify-rtx.c (simplify_unary_operation): Likewise. 1101 11022002-12-10 Janis Johnson <janis187@us.ibm.com> 1103 1104 PR other/8882 1105 * doc/tm.texi (PUSH_ARGS): Remove misplaced line. 1106 11072002-12-10 Devang Patel <dpatel@appple.com> 1108 1109 * config/darwin.h(LINK_SPEC): Add darwin specific linker options. 1110 * doc/invoke.texi: Add new "Darwin Options" section. 1111 11122002-12-10 Jim Wilson <wilson@redhat.com> 1113 1114 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in 1115 memory. 1116 11172002-12-10 Andrew Haley <aph@redhat.com> 1118 1119 * cse.c (cse_insn): Don't cse past a basic block boundary. 1120 11212002-12-10 Jakub Jelinek <jakub@redhat.com> 1122 1123 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if 1124 -shared. 1125 * config/alpha/linux-elf.h (LIB_SPEC): Likewise. 1126 * config/alpha/linux.h (LIB_SPEC): Likewise. 1127 * config/arm/linux-elf.h (LIB_SPEC): Likewise. 1128 * config/pa/pa-linux.h (LIB_SPEC): Likewise. 1129 * config/sparc/linux.h (LIB_SPEC): Likewise. 1130 * config/sparc/linux64.h (LIB_SPEC): Likewise. 1131 11322002-12-09 Larin Hennessy <larin@science.oregonstate.edu> 1133 1134 * doc/invoke.texi: Document UltraSparc III option. 1135 11362002-12-09 Richard Henderson <rth@redhat.com> 1137 1138 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define 1139 __tune_pentium2__ and __tune_pentium3__ as necessary. 1140 11412002-12-09 Richard Henderson <rth@redhat.com> 1142 1143 * target.h (gcc_target): Add cannot_force_const_mem. 1144 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New. 1145 (TARGET_INITIALIZER): Add it. 1146 * varasm.c (force_const_mem): Fail if cannot_force_const_mem. 1147 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail. 1148 * reload1.c (reload): Likewise. 1149 * hooks.c (hook_bool_rtx_false): New. 1150 * hooks.h: Declare it. 1151 1152 * config/i386/i386.c (ix86_cannot_force_const_mem): New. 1153 (TARGET_CANNOT_FORCE_CONST_MEM): New. 1154 (ix86_expand_move): Remove de-const-pooling hack. 1155 1156Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz> 1157 1158 * toplev.c (dump_file): Fix order to match reality. 1159 11602002-12-08 Geoffrey Keating <geoffk@apple.com> 1161 1162 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv. 1163 (store_multiple): Likewise. 1164 11652002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca> 1166 1167 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize 1168 function pointers in page 0. 1169 11702002-12-09 Steve Ellcey <sje@cup.hp.com> 1171 1172 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove 1173 definition 1174 (MEMBER_TYPE_FORCES_BLK): Move. 1175 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass 1176 aggregate arguments. 1177 (ia64_function_value): Use PARALLEL to return aggregate values. 1178 11792002-12-09 Steve Ellcey <sje@cup.hp.com> 1180 1181 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition. 1182 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition. 1183 * calls.c (store_unaligned_arguments_into_pseudos) Remove 1184 FUNCTION_ARG_REG_LITTLE_ENDIAN. 1185 * stmt.c (expand_return): Ditto. 1186 * expr.c (move_block_from_reg): Ditto. 1187 (copy_blkmode_from_reg): Ditto. 1188 * expmed.c (store_bit_field): Ditto. 1189 11902002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com> 1191 1192 * config.gcc: Added tic4x-* target as an alias to c4x-* 1193 1194Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz> 1195 1196 * i386.c (ix86_expand_int_movcc): Use force_operand instead of 1197 constructing insn directly. 1198 11992002-12-06 Per Bothner <pbothner@apple.com> 1200 1201 * cpplib.h (struct cpp_hashnode): Change field directive_index from 1202 char to an int bit-field, for hosts where char is unsigned. 1203 12042002-12-07 Roger Sayle <roger@eyesopen.com> 1205 Richard Henderson <rth@redhat.com> 1206 1207 * real.c (ieee_extended_motorola_format, 1208 ieee_extended_intel_96_format, ieee_extended_intel_128_format, 1209 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format): 1210 Provide appropriate values for new signbit field. 1211 12122002-12-07 Roger Sayle <roger@eyesopen.com> 1213 1214 * real.h (real_format): Add signbit field. 1215 * real.c (ieee_single_format, ieee_double_format, 1216 ieee_extended_motorola_format, ieee_extended_intel_96_format, 1217 ieee_extended_intel_128_format, ibm_extended_format, 1218 ieee_quad_format, vax_f_format, vax_d_format, 1219 vax_g_format, i370_single_format, i370_double_format, 1220 c4x_single_format, c4x_extended_format, real_internal_format): 1221 Provide suitable signbit value, or -1 to avoid bit twiddling. 1222 1223 * optabs.c (expand_unop): Try implementing negation of 1224 floating point modes by flipping the sign bit. 1225 (expand_abs): Try implementing abs of floating point modes 1226 by clearing the sign bit. 1227 1228Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz> 1229 1230 * i386.c (ix86_expand_int_movcc): Use force_operand instead 1231 of constructing insn directly. 1232 12332002-12-07 Kazu Hirata <kazu@cs.umass.edu> 1234 1235 * config/h8300/h8300.md (*iorhi_shift_8): New. 1236 12372002-12-06 Bernd Schmidt <bernds@redhat.com> 1238 1239 * doc/invoke.texi: Document FRV port options. 1240 * doc/md.texi: Document FRV register classes. 1241 12422002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 1243 1244 * doc/install.texi (Configuration): Improve description of cases 1245 where `make distclean` may fail; clarify --with-gnu-as; fix grammar. 1246 12472002-12-06 Per Bothner <pbothner@apple.com> 1248 1249 * cpplib.h (NODE_MACRO_ARG): New flag. 1250 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union. 1251 Remove value.operator field. Move arg_index field to value union. 1252 (directive_index): Make signed, since also used for C++ operators. 1253 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to 1254 check for duplicate parameter. Set NODE_MACRO_ARG flag. 1255 Save node->value, and set node->value.arg_index. 1256 (_cpp_create_definition): For each paramater, restore node->value. 1257 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index. 1258 * cpptrad.c (scan_out_logical_line): Likewise. 1259 (scan_out_logical_line): Check for directive > 0. 1260 * cpplib.c (cpp_handle_directive): Likewise. 1261 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced 1262 by negative of directive_index. 1263 * cppinit.c (mark_named_operators): Likewise. 1264 1265 * hashtable.h (struct ht_identifier): Swap fields, for better packing. 1266 12672002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com> 1268 1269 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has 1270 FPU. 1271 (push): Generate push_fpscr. 1272 (pop): Generate pop_fpscr. 1273 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr". 1274 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E. 1275 1276Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com> 1277 1278 * sh.c (dump_table): DImode pool constants need only 32 bit alignment. 1279 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE. 1280 1281Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com> 1282 1283 * sh.md (movdi_i): Name. Remove inappropriate comment. 1284 1285Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com> 1286 Merged from basic improvements branch (excerpt): 1287 1288 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org> 1289 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG. 1290 12912002-12-06 Jakub Jelinek <jakub@redhat.com> 1292 1293 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place. 1294 1295Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz> 1296 1297 * i386.md (dimode peep2s): Re-add "&& 1". 1298 1299Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz> 1300 1301 * i386.c (ix86_expand_prologue): Add comment, do not use 1302 fast prologues for cold and normal functions. 1303 1304Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz> 1305 1306 * i386.c (x86_rep_movl_optimal): New variable. 1307 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL 1308 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro. 1309 1310 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs, 1311 absdf2_ifs, absdf2_ifs_rex64): Fix constraints. 1312 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not 1313 generate unnecesary subregs. 1314 13152002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca> 1316 1317 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define. 1318 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here. 1319 13202002-12-05 Dale Johannesen <dalej@apple.com> 1321 1322 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR. 1323 13242002-12-05 Danny Smith <dannysmith@users.sourceforge.net> 1325 1326 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with 1327 PROFILE_HOOK. 1328 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef. 1329 13302002-12-05 Aldy Hernandez <aldyh@redhat.com> 1331 1332 * config/rs6000/spe.h (__ev_mwlufi): Remove. 1333 (__ev_mwlufia): Remove. 1334 (__ev_mwlumfaaw): Remove. 1335 (__ev_mwlusfaaw): Remove. 1336 (__ev_mwlumfanw): Remove. 1337 (__ev_mwlusfanw): Remove. 1338 13392002-12-05 Kazu Hirata <kazu@cs.umass.edu> 1340 1341 * config/h8300/h8300.md (*andorsi3_shift_8): New. 1342 13432002-12-05 Kazu Hirata <kazu@cs.umass.edu> 1344 1345 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and 1346 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300. 1347 (get_shift_alg): Return optimal assembly instructions for the 1348 shifts mentioned above. 1349 1350Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz> 1351 1352 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode 1353 condtiional moves. 1354 13552002-12-04 Kazu Hirata <kazu@cs.umass.edu> 1356 1357 * config/h8300/h8300.c (h8300_init_once): Do not use loop to 1358 implement ashiftrt:HI by 13 bits on H8S. 1359 13602002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 1361 1362 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function. 1363 * pa.md (canonicalize_funcptr_for_compare): Output library call to 1364 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32. 1365 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL, 1366 CTOR_LIST_BEGIN): New defines. 1367 * pa/t-linux (LIB2FUNCS_EXTRA): New define. 1368 (fptr.c): Add make rules. 1369 13702002-12-04 Geoffrey Keating <geoffk@apple.com> 1371 1372 * combine.c (combine_simplify_rtx): Add new canonicalizations. 1373 * doc/md.texi (Insn Canonicalizations): Document new 1374 canonicalizations for multiply/add combinations. 1375 * config/rs6000/rs6000.md: Add and modify floating add/multiply 1376 patterns to ensure they're used whenever they can be. 1377 13782002-12-04 Kazu Hirata <kazu@cs.umass.edu> 1379 1380 * config/h8300/h8300.c: Update the comments related to shifts. 1381 13822002-12-04 Chris Demetriou <cgd@broadcom.com> 1383 1384 * config/mips/mips.md (get_fnaddr): Correct length attribute. 1385 13862002-12-04 Kazu Hirata <kazu@cs.umass.edu> 1387 1388 * config/h8300/h8300.md (*extzv_8_8): New. 1389 (*extzv_8_16): Likewise. 1390 13912002-12-04 Jason Merrill <jason@redhat.com> 1392 1393 PR c++/8461, c++/8625 1394 * integrate.c (copy_decl_for_inlining): Handle explicit invisible 1395 references. 1396 * tree-inline.c (initialize_inlined_parameters): Likewise. 1397 1398 * tree.c (variably_modified_type_p): Just return an error_mark_node. 1399 14002002-12-04 Chris Demetriou <cgd@broadcom.com> 1401 1402 * config/mips/mips.md (get_fnaddr): Avoid placing an "la" 1403 macro instruction in a branch delay slot, to avoid assembler 1404 warnings. 1405 14062002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr> 1407 1408 PR c/7622 1409 * c-semantics (genrtl_scope_stmt): Do not output inlined 1410 nested functions that contain no code. 1411 1412Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz> 1413 1414 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge 1415 to be forced into nonfallthru. 1416 14172002-12-03 Jason Thorpe <thorpej@wasabisystems.com> 1418 1419 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS). 1420 14212002-12-03 Aldy Hernandez <aldyh@redhat.com> 1422 1423 * config/rs6000/spe.md (*movv1di_const0): New pattern. 1424 14252002-12-03 Richard Henderson <rth@redhat.com> 1426 1427 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0. 1428 14292002-12-03 Hans-Peter Nilsson <hp@bitrange.com> 1430 1431 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff): 1432 Initialize tmp.using_obstack to 0. 1433 14342002-12-03 Andreas Schwab <schwab@suse.de> 1435 1436 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define. 1437 (EH_RETURN_STACKADJ_RTX): Define. 1438 (EH_RETURN_HANDLER_RTX): Define. 1439 (ASM_PREFERRED_EH_DATA_FORMAT): Define. 1440 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh 1441 registers and don't save fixed registers. 1442 (m68k_output_function_prologue): Use it. 1443 (use_return_insn): Likewise. 1444 (m68k_output_function_epilogue): Likewise. 1445 14462002-12-03 Kazu Hirata <kazu@cs.umass.edu> 1447 1448 * config/h8300/h8300.c (single_one_operand): Fix a warning. 1449 (single_zero_operand): Likewise. 1450 14512002-12-02 Nathanael Nerode <neroden@gcc.gnu.org> 1452 1453 * Makefile.in configure configure.in dummy-conditions.c fix-header.c 1454 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c 1455 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c 1456 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l 1457 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c 1458 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c 1459 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi 1460 doc/install-old.texi: Replace hconfig.h with bconfig.h. 1461 * Makefile.in: Replace HCONFIG_H with BCONFIG_H. 1462 14632002-12-02 Andrew Pinski <pinskia@physics.uc.edu> 1464 1465 * config/rs6000/rs6000.md (ffssi): Convert to expander. 1466 (ffsdi): Likewise. 1467 (cntlzw2, cntlzd2): New patterns. 1468 14692002-12-02 H.J. Lu <hjl@gnu.org> 1470 1471 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd. 1472 (mips*-*-linux*): Remove mips/t-linux. 1473 1474Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz> 1475 1476 * i386.c (ix86_expand_int_movcc): Avoid overflow. 1477 14782002-12-02 Kazu Hirata <kazu@cs.umass.edu> 1479 1480 * config/h8300/h8300.c (dosize): Replace argument op with 1481 sign. 1482 (h8300_output_function_prologue): Update the call to dosize. 1483 (h8300_output_function_epilogue): Likewise. 1484 14852002-12-02 Bob Wilson <bob.wilson@acm.org> 1486 1487 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them. 1488 14892002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org> 1490 1491 * configure.in: Use "missing" script to generate warning if 1492 flex or bison programs not found, instead of invoking "false". 1493 * configure: Rebuilt. 1494 1495Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz> 1496 1497 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P. 1498 1499Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz> 1500 1501 * i386.c (ix86_expand_int_movcc): Avoid overflow. 1502 15032002-12-02 Kazu Hirata <kazu@cs.umass.edu> 1504 1505 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp. 1506 (push): Likewise. 1507 (pop): Likewise. 1508 (h8300_output_function_prologue): Likewise. 1509 (h8300_output_function_epilogue): Likewise. 1510 1511Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com> 1512 1513 * expmed.c (store_bit_field): Use int_mode_for_mode to find 1514 corresponding mode of non-integer mode, unless it is VOIDmode. 1515 15162002-12-02 Kazu Hirata <kazu@cs.umass.edu> 1517 1518 * config/h8300/h8300.md (stm_h8300s_2): New. 1519 (stm_h8300s_3): Likewise. 1520 (stm_h8300s_4): Likewise. 1521 (five define_peephole2): Likewise. 1522 15232002-12-02 Kazu Hirata <kazu@cs.umass.edu> 1524 1525 * ra-build.c: Fix a comment typo. 1526 1527Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz> 1528 1529 * i386.c (ix86_expand_int_movcc): fix 1530 reversed BRANCH_COST test; be curefull about infinite recursion. 1531 15322002-12-01 Kazu Hirata <kazu@cs.umass.edu> 1533 1534 * config/h8300/h8300.c (h8300_output_function_prologue): 1535 Remove variable idx. 1536 (h8300_output_function_epilogue): Likewise. 1537 15382002-12-01 Zack Weinberg <zack@codesourcery.com> 1539 1540 * config/frv/xm-frv.h: Delete, unnecessary. 1541 15422002-12-01 Kazu Hirata <kazu@cs.umass.edu> 1543 1544 * config/h8300/h8300.md: Add comments for define_peephole2. 1545 15462002-12-01 Mark Mitchell <mark@codesourcery.com> 1547 1548 * builtin-types.def (BT_SIZE): Use size_type_node. 1549 * builtins.c (fold_builtin): Make the builtin strlen returns a 1550 size_t, not a sizetype. 1551 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not 1552 c_size_type_node. 1553 (c_alignof_expr): Likewise. 1554 (c_common_nodes_and_builtins): Likewise. 1555 * c-common.h (CTI_C_SIZE_TYPE): Remove. 1556 (c_size_type_node): Likewise. 1557 * c-format.c (T_ST): Use size_type_node, not c_size_type_node. 1558 * tree.h (TI_SIZE_TYPE): New enumeral. 1559 (size_type_node): Likewise. 1560 15612002-11-30 Zack Weinberg <zack@codesourcery.com> 1562 1563 * configure.in: Don't put ${tm_file} into host_xm_file, 1564 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file. 1565 Take location of tm-preds.h into account when calculating 1566 tm_p_file_list. 1567 * configure: Regenerate. 1568 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES 1569 arguments. Do not provide rtx, rtvec, tree, or GTY here. 1570 Remove special case code for tm_p.h and *config.h; add new 1571 special case code for tm.h and tconfig.h. Clean up a bit. 1572 1573 * Makefile.in (tm_file, tm_file_list): New variables set from 1574 @-substitutions. 1575 (GCONFIG_H): Deleted. 1576 (GTM_H, TM_H): New. 1577 (CONFIG_H): Is now just config.h $(host_xm_file_list). 1578 (TM_P_H): Move up with the other mkconfig.sh-generated 1579 headers; don't mention tm-preds.h explicitly. 1580 (tm.h, cs-tm.h): New rule. 1581 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust 1582 invocations of mkconfig.sh for changes to that program. 1583 (mostlyclean): Delete print-rtl1.c. 1584 (clean): Delete tm.h. 1585 Update dependencies for the files listed below. 1586 1587 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep. 1588 1589 * coretypes.h: New file. 1590 * system.h: #define malloc to xmalloc and realloc to xrealloc 1591 when FLEX_SCANNER or YYBISON is defined, independent of the 1592 value of GCC_VERSION. 1593 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c, 1594 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c, 1595 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c, 1596 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c, 1597 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c, 1598 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, 1599 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c, 1600 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, 1601 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c, 1602 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c, 1603 debug.c, df.c, diagnostic.c, doloop.c, dominance.c, 1604 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c, 1605 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c, 1606 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c, 1607 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c, 1608 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c, 1609 gencheck.c, gencodes.c, genconditions.c, genconfig.c, 1610 genconstants.c, genemit.c, genextract.c, genflags.c, 1611 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c, 1612 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c, 1613 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c, 1614 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c, 1615 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c, 1616 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c, 1617 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c, 1618 optabs.c, params.c, predict.c, prefix.c, print-rtl.c, 1619 print-tree.c, profile.c, protoize.c, ra-build.c, 1620 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c, 1621 real.c, recog.c, reg-stack.c, regclass.c, regmove.c, 1622 regrename.c, reload.c, reload1.c, reorg.c, resource.c, 1623 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c, 1624 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c, 1625 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c, 1626 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c, 1627 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c, 1628 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c, 1629 xcoffout.c, config/darwin-c.c, config/darwin.c, 1630 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c, 1631 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c, 1632 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c, 1633 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c, 1634 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c, 1635 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c, 1636 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c, 1637 config/i960/i960-c.c, config/i960/i960.c, 1638 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c, 1639 config/m32r/m32r.c, config/m68hc11/m68hc11.c, 1640 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c, 1641 config/mips/irix6-libc-compat.c, config/mips/mips.c, 1642 config/mmix/mmix.c, config/mn10200/mn10200.c, 1643 config/mn10300/mn10300.c, config/ns32k/ns32k.c, 1644 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c, 1645 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c, 1646 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c, 1647 config/sparc/sparc.c, config/stormy16/stormy16.c, 1648 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c, 1649 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c: 1650 Include coretypes.h and tm.h. 1651 1652 * genattrtab.c, genconditions.c, genemit.c, genextract.c, 1653 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c, 1654 genrecog.c: Include coretypes.h and tm.h from the file 1655 generated by this program. 1656 1657 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c, 1658 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include 1659 coretypes.h and tm.h, and tsystem.h when not already included. 1660 No need to include stddef.h nor stdlib.h. 1661 1662 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not 1663 include auto-host.h or ansidecl.h/ 1664 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h. 1665 * fixinc/procopen.c: Include server.h after fixlib.h. Do not 1666 include auto-host.h, ansidecl.h, or system.h. 1667 * fixinc/server.c: Likewise. Also, do not include signal.h, 1668 and do not redefine volatile. 1669 1670Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz> 1671 1672 * i386.md (movdf_integer): Always enable in 64bit. 1673 (movdf_nointeger): Always disable in 64bit. 1674 16752002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca> 1676 1677 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest 1678 pseudo register number plus 1. 1679 1680Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com> 1681 1682 * expmed.c (store_bit_field): Use int_mode_for_mode to find 1683 corresponding mode of non-integer mode, unless it is VOIDmode. 1684 16852002-11-29 Hans-Peter Nilsson <hp@bitrange.com> 1686 1687 * cpplib.c (_cpp_test_assertion): Default *value to 0. 1688 1689 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1. 1690 16912002-11-29 Ulrich Weigand <uweigand@de.ibm.com> 1692 1693 * config/s390/t-crtstuff: New target makefile fragment. 1694 * config.gcc [s390-*-linux, s390x-*-linux]: Use it. 1695 16962002-11-29 Kazu Hirata <kazu@cs.umass.edu> 1697 1698 * config/h8300/h8300.md (movsi_h8300hs): Change the order of 1699 alternatives to correct the length when the memory operand is 1700 either pre_dec or post_inc. 1701 17022002-11-29 Kazu Hirata <kazu@cs.umass.edu> 1703 1704 * config/h8300/h8300.md (an anonymous pattern): Give an 1705 internal name *tst_extzv_bitqi_1_n. 1706 Accept bit_operand instead of bit_memory_operand. 1707 Do not accept bit tests with the MSB. 1708 (*tst_extzv_memqi_1_n): New. 1709 1710Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz> 1711 1712 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX 1713 sharing when operand is SUBREG. 1714 1715Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz> 1716 1717 * athlon.md (athlon-decodev): New reservation unit. 1718 (athlon-direct0): New reservation. 1719 (athlon-vector): New use athlon-decodev. 1720 (athlon-double, athlon-direct): Better model. 1721 (athlon_imul_k8): Use athlon-direct0. 1722 (athlon_movlpd_load): New insn reservation. 1723 17242002-11-28 Kazu Hirata <kazu@cs.umass.edu> 1725 1726 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): 1727 Fix a comment typo. 1728 (h8300_tiny_constant_address_p): Likewise. 1729 17302002-11-28 Michael Matz <matz@suse.de> 1731 1732 * doc/passes.texi: Mention the other register allocator. 1733 17342002-11-28 Kazu Hirata <kazu@cs.umass.edu> 1735 1736 * config/h8300/h8300.md (6 new peephole2 patterns): New. 1737 17382002-11-28 Jakub Jelinek <jakub@redhat.com> 1739 1740 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff. 1741 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS). 1742 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define. 1743 17442002-11-28 Kazu Hirata <kazu@cs.umass.edu> 1745 1746 * config/h8300/h8300.c (h8300_and_costs): New. 1747 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs. 1748 * config/h8300/h8300-protos.h: Add a prototype for 1749 h8300_and_costs. 1750 1751Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz> 1752 1753 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New. 1754 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare. 1755 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro. 1756 * i386.md (truncdfsf patterns and splitters): Use 1757 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS 1758 17592002-11-27 Zack Weinberg <zack@codesourcery.com> 1760 1761 * config/rs6000/rs6000.c (altivec_init_builtins): Make the 1762 pointer argument in the prototypes of the following builtins 1763 be (const TYPE *) rather than (TYPE *): 1764 + __builtin_altivec_ld_internal_4sf 1765 + __builtin_altivec_ld_internal_4si 1766 + __builtin_altivec_ld_internal_8hi 1767 + __builtin_altivec_ld_internal_16qi 1768 + __builtin_altivec_lvsl 1769 + __builtin_altivec_lvsr 1770 + __builtin_altivec_lvebx 1771 + __builtin_altivec_lvehx 1772 + __builtin_altivec_lvewx 1773 + __builtin_altivec_lvxl 1774 + __builtin_altivec_lvx 1775 + __builtin_altivec_dst 1776 + __builtin_altivec_dstt 1777 + __builtin_altivec_dstst 1778 + __builtin_altivec_dststt 1779 17802002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1781 1782 * except.c (default_exception_section): Move variable into the 1783 scope where it is used. 1784 17852002-11-27 Krister Walfridsson <cato@df.lth.se> 1786 1787 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for 1788 correct version. 1789 17902002-11-27 Kazu Hirata <kazu@cs.umass.edu> 1791 1792 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses. 1793 17942002-11-27 Kazu Hirata <kazu@cs.umass.edu> 1795 1796 * config/h8300/h8300.c (h8300_shift_costs): New. 1797 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs. 1798 * config/h8300/h8300-protos.h: Add a prototype for 1799 h8300_shift_costs. 1800 18012002-11-27 Jim Wilson <wilson@redhat.com> 1802 1803 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands 1804 in output template. 1805 18062002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net> 1807 1808 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define. 1809 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use 1810 DLL_IMPORT_EXPORT_PREFIX, not '@'. 1811 (i386_pe_dllimport_name_p): Likewise. 1812 (i386_pe_mark_dllexport): Likewise. 1813 (i386_pe_mark_dllimport): Likewise. 1814 (i386_pe_encode_section_info): Likewise. 1815 (i386_pe_strip_name_encoding): Likewise. 1816 18172002-11-27 Richard Henderson <rth@redhat.com> 1818 1819 * mkmap-symver.awk (BEGIN): Set sawsymbol false. 1820 (nm && NF == 3): Set sawsymbol true. 1821 (END): Exit if no symbols seen. 1822 (output): Fix map syntax error if no globals for the version. 1823 1824Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz> 1825 1826 * builtins.def (DEF_C99_BUILTIN): Fix. 1827 18282002-11-26 Kaz Kojima <kkojima@gcc.gnu.org> 1829 1830 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros. 1831 (all): Add .size and .type information. 1832 1833Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz> 1834 1835 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on 1836 partial_reg_stall target. 1837 1838Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz> 1839 1840 * i386.md (movhicc): Allow general operand. 1841 (movqicc): New expander. 1842 (movqicc_noc): New pattern. 1843 * i386.c (ix86_expand_carry_flag_compare): New function. 1844 (ix86_expand_int_movcc): Optimize harder using sbb; support more 1845 HImode conversion; support QImode conditional moves 1846 1847Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz> 1848 1849 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20. 1850 (ix86_expand_prologue): Multiply the count by amount of registers to be 1851 pushed. 1852 1853Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz> 1854 1855 * i386.c (override_options): Error about wrong -mcpu on x86-64 1856 compilation. 1857 18582002-11-26 NIIBE Yutaka <gniibe@m17n.org> 1859 1860 * config/sh/linux.h (FUNCTION_PROFILER): Implemented. 1861 1862Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz> 1863 1864 * i386-protos.h (x86_extended_QIreg_mentioned_p, 1865 x86_extended_reg_mentioned_p): Declare. 1866 * i386.c (extended_reg_mentioned_1): New static function. 1867 (x86_extended_QIreg_mentioned_p, 1868 x86_extended_reg_mentioned_p): New global functions. 1869 * i386.h (REX_SSE_REGNO_P): New macro. 1870 * i386.md (prefix_rex): New attribute. 1871 (length attribute): Add rex. 1872 18732002-11-26 Andrew Haley <aph@redhat.com> 1874 1875 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename 1876 from_Unwind_Find_Enclosing_Function. 1877 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise. 1878 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise. 1879 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from 1880 _Unwind_Find_Enclosing_Function, export @@GCC_3.3. 1881 * unwind.h (_Unwind_FindEnclosingFunction): Add. 1882 18832002-11-26 Hartmut Penner <hpenner@de.ibm.com> 1884 1885 * config/s390/s390.c (390_output_constant_pool): Set alignment 1886 before label in 64 bit mode, behind otherwise. 1887 18882002-11-26 Richard Henderson <rth@redhat.com> 1889 1890 * c-common.c (handle_visibility_attribute): Accept "default". 1891 * tree.h (enum symbol_visibility): New. 1892 (decl_visibility): Declare. 1893 * target.h (gcc_target.visibility): Take visibility arg as integer. 1894 * varasm.c (default_assemble_visibility): Likewise. 1895 (decl_visibility): New. 1896 (maybe_assemble_visibility): Use it. 1897 * output.h (default_assemble_visibility): Update prototype. 1898 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take 1899 visibility arg as integer. 1900 * doc/extend.texi: Document default visibility. 1901 19022002-11-26 Kazu Hirata <kazu@cs.umass.edu> 1903 1904 * config/h8300/h8300.c: Adjust spacing. 1905 * config/h8300/h8300.h: Likewise. 1906 19072002-11-26 Richard Henderson <rth@redhat.com> 1908 1909 * hooks.c (hook_bool_void_false, hook_void_tree_int, 1910 hook_void_FILEptr_constcharptr): Rename so that the return 1911 type is first. 1912 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr, 1913 hook_bool_tree_false): New. 1914 * hooks.h: Update. 1915 * langhooks-def.h: Update for renames. 1916 * target-def.h: Likewise. 1917 * tree.c (default_comp_type_attributes, 1918 default_set_default_type_attributes, default_insert_attributes, 1919 default_function_attribute_inlinable_p, 1920 default_ms_bitfield_layout_p): Remove. 1921 * tree.h: Update. 1922 19232002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca> 1924 1925 * pa-protos.h (function_value): New prototype. 1926 * pa.c (function_value): Use a PARALLEL to return small aggregates on 1927 TARGET_64BIT. 1928 * pa.h (FUNCTION_VALUE): Use function_value. 1929 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit, 1930 call_value_internal_reg, sibcall_value_internal_symref, 1931 sibcall_value_internal_symref_64bit): Remove =rf constraint on return 1932 value. 1933 19342002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca> 1935 1936 * expr.c (gen_group_rtx, emit_group_move): New functions. 1937 * expr.h (gen_group_rtx, emit_group_move): Prototype. 1938 * function.c (expand_function_start): Use gen_group_rtx to create a 1939 PARALLEL rtx to hold the return value when the real return rtx is a 1940 PARALLEL. 1941 (expand_function_end): Use emit_group_move to move the return value 1942 from a PARALLEL to the real return registers. 1943 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned 1944 in PARALLELs. 1945 19462002-11-26 Jason Thorpe <thorpej@wasabisystems.com> 1947 1948 * config/t-libc-ok: Fix typo. 1949 19502002-11-26 Jakub Jelinek <jakub@redhat.com> 1951 1952 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back 1953 before AC_PROG_CC. 1954 * configure: Rebuilt. 1955 19562002-11-26 Nathan Sidwell <nathan@codesourcery.com> 1957 1958 * c-decl.c: (start_struct): Commonize flag setting. 1959 19602002-11-26 Jason Thorpe <thorpej@wasabisystems.com> 1961 1962 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New. 1963 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use 1964 RS6000_CPU_CPP_ENDIAN_BUILTINS. 1965 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine. 1966 19672002-11-26 Hartmut Penner <hpenner@de.ibm.com> 1968 1969 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New 1970 insns. 1971 * config/s390/s390.c (struct machine_function): Introduction of 1972 struct machine_function. 1973 (s390_output_symbolic_const): Use of cfun. 1974 (s390_optimize_prolog): Likewise. 1975 (s390_fixup_clobbered_return_reg): Likewise. 1976 (s390_frame_info): Likewise. 1977 (s390_emit_prologue, s390_emit_epilogue): Likewise. 1978 (s390_init_machine_status): New function. 1979 (override_options): call s390_init_machine_status. 1980 * config/s390/s390-protos.h (s390_output_constant_pool): Changed 1981 prototype. 1982 19832002-11-26 Jakub Jelinek <jakub@redhat.com> 1984 1985 * varasm.c (output_constant_pool): For pool constants in mergeable 1986 section ensure each constant is padded to multiple of entity size. 1987 19882002-11-26 Jakub Jelinek <jakub@redhat.com> 1989 1990 * varasm.c (default_exception_section): Move to... 1991 * except.c (default_exception_section): ... here. Make 1992 .gcc_except_table read-only if it is not expected to have any 1993 dynamic relocations and linker handles it. 1994 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only 1995 if it is not expected to have any dynamic relocations and linker 1996 handles it. 1997 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does 1998 when linking read-only and read-write sections together. 1999 * configure, config.in: Rebuilt. 2000 * crtstuff.c (EH_FRAME_SECTION_CONST): Define. 2001 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it. 2002 2003Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz> 2004 2005 * i386.md (pushsf_rex64): Fix typo. 2006 20072002-11-25 Aldy Hernandez <aldyh@redhat.com> 2008 2009 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into 2010 new function. 2011 (__ev_create_ufix32_fs): Same. 2012 (__ev_get_sfix32_fs_internal): New. 2013 (__ev_get_sfix32_fs): Define to use function. 2014 (__ev_get_ufix32_fs_internal): New. 2015 (__ev_get_ufix32_fs): Define to use function. 2016 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs. 2017 (__ev_get_lower_ufix32_fs): Same. 2018 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs. 2019 (__ev_get_lower_sfix32_fs): Same. 2020 (__ev_set_sfix32_fs_internal): New. 2021 (__ev_set_ufix32_fs_internal): New. 2022 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal. 2023 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal. 2024 (__ev_set_upper_sfix32_fs): Call function. 2025 (__ev_set_lower_sfix32_fs): Same. 2026 (__ev_set_upper_ufix32_fs): Same. 2027 (__ev_set_lower_ufix32_fs): Same. 2028 20292002-11-25 Douglas B Rupp <rupp@gnat.com> 2030 2031 * gcc.c (do_spec_1): Reset delete_this_arg to zero. 2032 20332002-11-25 Jason Thorpe <thorpej@wasabisystems.com> 2034 2035 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1. 2036 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise. 2037 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise. 2038 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise. 2039 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise. 2040 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise. 2041 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise. 2042 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise. 2043 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise. 2044 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise. 2045 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise. 2046 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise. 2047 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise. 2048 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise. 2049 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise. 2050 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise. 2051 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise. 2052 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise. 2053 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise. 2054 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise. 2055 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise. 2056 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise. 2057 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise. 2058 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before 2059 defining. 2060 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise. 2061 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise. 2062 20632002-11-25 Dave Pitts <dpitts@cozx.com> 2064 2065 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list 2066 20672002-11-25 Kazu Hirata <kazu@cs.umass.edu> 2068 2069 * config/h8300/h8300.md (an anonymous pattern): New. 2070 20712002-11-25 Richard Henderson <rth@redhat.com> 2072 2073 * alias.c (find_base_value): Use new_reg_base_value if it's live. 2074 (copying_arguments): Make boolean. 2075 20762002-11-25 Jason Thorpe <thorpej@wasabisystems.com> 2077 2078 * gcc.c (static_spec_functions): Add if-exists-else spec 2079 function. 2080 (if_exists_else_spec_function): New function. 2081 * doc/invoke.texi: Document the if-exists-else spec function. 2082 2083 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use 2084 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)". 2085 20862002-11-25 Jason Thorpe <thorpej@wasabisystems.com> 2087 2088 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with 2089 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to 2090 "${tmake_file} rs6000/t-netbsd". 2091 * config/rs6000/netbsd.h: Rewrite. 2092 * config/rs6000/t-netbsd: New file. 2093 20942002-11-25 Kazu Hirata <kazu@cs.umass.edu> 2095 2096 * config/h8300/h8300.md (an anonymous pattern): Relax the 2097 condition for the pattern. 2098 20992002-11-25 Aldy Hernandez <aldyh@redhat.com> 2100 2101 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf, 2102 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw, 2103 evmwlssfanw, evmwlsmfanw. 2104 2105 * config/rs6000/rs6000.c (bdesc_2arg): Same. 2106 2107 * config/rs6000/spe.md: Same for patterns. 2108 21092002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de> 2110 2111 PR c/8639 2112 * fold-const.c (extract_muldiv): Don't propagate division unless 2113 both arguments are multiples of C. 2114 21152002-11-25 Andrew Haley <aph@redhat.com> 2116 2117 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add. 2118 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New. 2119 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise. 2120 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise. 2121 2122Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz> 2123 2124 * i386.c (x86_use_ffreep): New global variable. 2125 * i386.h (x86_use_frfeep): Declare 2126 (TARGET_USE_FFREEP): New macro 2127 * i386.md (movs?f*): Use freep when asked for. 2128 (push?f): Remove dead code. 2129 21302002-11-24 Kazu Hirata <kazu@cs.umass.edu> 2131 2132 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the 2133 target help message. 2134 21352002-11-24 Jason Thorpe <thorpej@wasabisystems.com> 2136 2137 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set 2138 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o 2139 crtbeginT.o". 2140 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*) 2141 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts 2142 to "" for a.out configurations. 2143 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC". 2144 21452002-11-24 Jason Thorpe <thorpej@wasabisystems.com> 2146 2147 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use 2148 NETBSD_CPP_SPEC directly. 2149 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add 2150 netbsd_endfile_spec. 2151 (ENDFILE_SPEC): Use %(netbsd_endfile_spec). 2152 21532002-11-24 Jason Thorpe <thorpej@wasabisystems.com> 2154 2155 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to 2156 NETBSD_STARTFILE_SPEC. 2157 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC. 2158 (ENDFILE_SPEC): Likewise. 2159 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise. 2160 21612002-11-24 Andreas Schwab <schwab@suse.de> 2162 2163 * Makefile.in (install-driver): Remove versioned link before 2164 trying to create it. 2165 2166 * config/m68k/m68k.c: Fix typo in last change defining 2167 TARGET_ASM_CAN_OUTPUT_MI_THUNK. 2168 21692002-11-23 H.J. Lu <hjl@gnu.org> 2170 2171 * aclocal.m4: Include ../config/accross.m4. 2172 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed. 2173 (gcc_AC_C_COMPILE_ENDIAN): Removed. 2174 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian 2175 instead of $ac_cv_c_compile_endian. 2176 2177 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with 2178 AC_COMPILE_CHECK_SIZEOF. 2179 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS. 2180 * configure: Rebuild. 2181 21822002-11-23 Kazu Hirata <kazu@cs.umass.edu> 2183 2184 * config/h8300/h8300.c (print_operand): Update the use of 2185 h8300_tiny_constant_address_p. 2186 (h8300_adjust_insn_length): Likewise. 2187 (h8300_tiny_constant_address_p): Check if the given rtx is a 2188 variable declared with __attribute__ ((tiny_data)). 2189 21902002-11-22 Dale Johannesen <dalej@apple.com> 2191 2192 * toplev.c (rest_of_compilation): Fix comments. 2193 21942002-11-22 Geoffrey Keating <geoffk@apple.com> 2195 2196 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not 2197 allow mmap from /dev/zero. Don't make decisions for the host 2198 based on presence or absence of /dev/zero on the build machine. 2199 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON. 2200 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file. 2201 * configure: Regenerate. 2202 22032002-11-22 Daniel Jacobowitz <drow@mvista.com> 2204 2205 * gcc.c (make_relative_prefix, split_directories) 2206 (free_split_directories): Removed. 2207 22082002-11-22 Daniel Jacobowitz <drow@mvista.com> 2209 2210 * configure.in: Set insn=nop for DWARF-2 tests on ARM. 2211 * configure: Regenerated. 2212 22132002-11-22 Kazu Hirata <kazu@cs.umass.edu> 2214 2215 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn 2216 length computation when xor.l is output. 2217 22182002-11-21 Douglas B Rupp <rupp@gnat.com> 2219 2220 * alpha.md (movstrdi, clrstrdi): New VMS patterns. 2221 (call_vms_1, call_value_vms_1): Cleanup syntax. 2222 2223Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz> 2224 2225 * athlon.md (define_atuomaton): Add athlon_load. 2226 (athlon-double): New reservation. 2227 (athlon-ieu0): New CPU unit. 2228 (athlon-load?): Use athlon_load automaton. 2229 (*_k8 reservations): New. 2230 (other insn revervations): Activate for K8. 2231 2232Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz> 2233 2234 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag. 2235 22362002-11-21 Jim Wilson <wilson@redhat.com> 2237 2238 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE 2239 vectors to SI. 2240 22412002-11-21 Bob Wilson <bob.wilson@acm.org> 2242 2243 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare. 2244 * config/xtensa/xtensa.c (struct machine_function): Add 2245 incoming_a7_copied flag. 2246 (xtensa_copy_incoming_a7): Define. 2247 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7. 2248 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto. 2249 2250Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz> 2251 2252 * i386-protos.h (x86_64_sign_extended_value): Fix prototype. 2253 * i386.c (x86_64_general_operand, x86_64_szext_general_operand, 2254 x86_64_nonmemory_operand, x86_64_movabs_operand, 2255 x86_64_szext_nonmemory_operand, x86_64_immediate_operand, 2256 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value. 2257 (local_symbolic_operand): Do not care the 64bit limits. 2258 (x86_64_sign_extended_value): Remove allow_rip support. 2259 (legitimate_pic_address_disp_p): Handle all cases allowed 2260 with RIP addressing. 2261 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC. 2262 (legitimize_pic_address): Reorganize. 2263 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value. 2264 22652002-11-21 Jason Thorpe <thorpej@wasabisystems.com> 2266 2267 * config.gcc (arm*-*-netbsdelf*): Enable configuration. 2268 * config/arm/netbsd-elf.h: New file. 2269 22702002-11-21 Jason Thorpe <thorpej@wasabisystems.com> 2271 2272 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add 2273 subtarget_asm_float_spec. 2274 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the 2275 defaults from... 2276 (ASM_SPEC): ...here. Use subtarget_asm_float_spec. 2277 22782002-11-21 Nick Clifton <nickc@redhat.com> 2279 2280 * config/fr30/fr30.md (movsf_constant_store): Move code to 2281 detect 0.0 into fr30.c. 2282 * config/fr30/fr30-protos.h (fr30_const_double_is_zero): 2283 Prototype. 2284 * config/fr30/fr30.c (fr30_const_double_is_zero): New 2285 function. Return true if the rtx is 0.0. 2286 22872002-11-21 Jason Thorpe <thorpej@wasabisystems.com> 2288 2289 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL 2290 if -mlittle-endian is specified. 2291 22922002-11-21 Richard Earnshaw <rearnsha@arm.com> 2293 2294 PR optimization/2903 2295 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1. 2296 (anddi_notsesidi_di): Likewise. 2297 22982002-11-21 Kazu Hirata <kazu@cs.umass.edu> 2299 2300 * config/h8300/h8300.c (print_operand): Use 2301 h8300_eightbit_constant_address_p and 2302 h8300_tiny_constant_address_p. 2303 (h8300_adjust_insn_length): Likewise. 2304 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove. 2305 (TINY_CONSTANT_ADDRESS_P): Likewise. 2306 (OK_FOR_U): Use eightbit_constant_address_p. 2307 23082002-11-21 Ulrich Weigand <uweigand@de.ibm.com> 2309 2310 * config/s390/libgcc-libc.ver: Add multilib support. 2311 * config/s390/linux.h (MULTILIB_DEFAULT): Define. 2312 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 2313 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC, 2314 EXTRA_MULTILIB_PARTS): Define. 2315 23162002-11-21 Richard Earnshaw <rearnsha@arm.com> 2317 2318 * arm.c (arm_get_frame_size): A leaf function does not need its 2319 stack padding to an aligned boundary if it has no frame. 2320 (thumb_get_frame_size): Likewise. 2321 2322Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz> 2323 2324 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch. 2325 (override_options): Likewise. 2326 2327Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz> 2328 2329 * config.gcc: Add k8 target alias support 2330 * i386.c (_cost): Declare costs for various variants of divides and 2331 multiplies. 2332 (k8_cost): New. 2333 (m_K8, m_ATHLON_K8): New macros. 2334 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen, 2335 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop, 2336 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?, 2337 x86_integer_DFmode_moves, x86_partial_reg_dependency, 2338 x86_memory_mismatch_stall, x86_accumulate_outgoing_args, 2339 x86_prologue_using_move, x86_epilogue_using_move, 2340 x86_arch_always_fancy_math_387, x86_sse_partial_regs, 2341 x86_sse_typeless_stores): Set for K8 2342 (override_options): Add k8 support; fix athlon alignment; 2343 complain about non-x86-64 capable CPU being used in x86-64 compilation. 2344 (ix86_issue_rate): Set for K8. 2345 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface, 2346 x86_machine_dependent_reorg): Handle K8 like 2347 * i386.h 2348 (x86_costs): Change mult_init and divide into array. 2349 (TARGET_K8, TARGET_ATHLON): New macros. 2350 (MODE_INDEX): New macro. 2351 (RTX_COST): Use new costs. 2352 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__. 2353 (TARGET_CPU_DEFAULT_NAMES): Add k8 2354 (TARGET_CPU_DEFAULT_k8): New constant 2355 (enum processor_type): Add PROCESSOR_K8. 2356 * i386.md (cpu attribute): Add k8. 2357 2358 * invoke.texi: Document -march=k8. 2359 2360 * i386.md (type attribute): Add leave 2361 (mode attribute): Remove unknownfp. 2362 (length_immediate, modrm, memory attributes): Handle leave correctly. 2363 (fp comparison patterns): Determine FP mode. 2364 (leave, leave_rex64): Remove special cases. 2365 * ppro.md (ppro_uops, ppro_p2): Add leave 2366 * pentiun.md (pent_pop): Handle leave too. 2367 * k6.md (k6_load): Handle leave. 2368 * athlon.md (athlon_leave, athlon_pop): Fix. 2369 (athlon_decode): Handle leave. 2370 23712002-11-20 Steve Ellcey <sje@cup.hp.com> 2372 2373 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type 2374 to component type using GET_MODE_INNER. 2375 * expr.c (emit_move_insn_1): Ditto. 2376 * optabs.c (expand_binop): Ditto. 2377 (expand_unop): Ditto. 2378 (expand_complex_abs): Ditto. 2379 23802002-11-20 Douglas B Rupp <rupp@gnat.com> 2381 2382 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64). 2383 23842002-11-20 DJ Delorie <dj@redhat.com> 2385 2386 * config/stormy16/stormy16.c (s16builtins, 2387 xstormy16_init_builtins, xstormy16_expand_builtin): New. 2388 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New. 2389 23902002-11-20 Hans-Peter Nilsson <hp@bitrange.com> 2391 2392 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables. 2393 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES). 2394 (executing gencheck, genconfigs, genconditions, genflags, 2395 gencodes, genconstants, genemit, genrecog, genopinit, genextract, 2396 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds, 2397 gengtype, genprotos): Prepend $(RUN_GEN). 2398 * configure.in: Move host compiler tests before --enable-checking 2399 tests. 2400 (--enable-checking=valgrind): New. 2401 * config.in, configure: Regenerate. 2402 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD): 2403 Define as empty. 2404 (read_include_file): When doing the mmap+1 trick, 2405 valgrind-annotate the byte after the mmap:ed area as readable. 2406 (purge_cache): Remove above annotation. 2407 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend 2408 VALGRIND_PATH -q to each command. 2409 2410 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD): 2411 Define as empty. 2412 (ggc_realloc): Update valgrind annotations. 2413 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD): 2414 Define as empty. 2415 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to 2416 valgrind-annotate memory. 2417 24182002-11-20 Ulrich Weigand <uweigand@de.ibm.com> 2419 2420 * recog.c (constrain_operands): Prefer exact match over reloadable 2421 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT. 2422 2423 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT 2424 operands in Pmode. 2425 24262002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr> 2427 2428 PR c/8518 2429 * c-decl.c (duplicate_decls): Outline the second definition 2430 of an extern inline function in all cases. 2431 24322002-11-20 Richard Sandiford <rsandifo@redhat.com> 2433 2434 * stor-layout.c (place_field): Update rli->offset as well as 2435 rli->bitpos. 2436 24372002-11-20 Richard Sandiford <rsandifo@redhat.com> 2438 2439 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED. 2440 24412002-11-20 Richard Sandiford <rsandifo@redhat.com> 2442 2443 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions 2444 into a libcall block. 2445 (divsi3): Likewise divsi3_i4_media. 2446 24472002-11-20 Richard Sandiford <rsandifo@redhat.com> 2448 2449 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking 2450 out another register. 2451 24522002-11-20 Jakub Jelinek <jakub@redhat.com> 2453 2454 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask 2455 (not just mask) are set in C. 2456 24572002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil> 2458 2459 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32. 2460 24612002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 2462 2463 * profile.c (index_counts_file): Fix obvious mistake. 2464 24652002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 2466 2467 * Makefile.in (profile.o): Add hashtab.h dependency. 2468 * gcov-io.h (GCOV_SUMMARY_LENGTH): New. 2469 * profile.c: Include hashtab.h. 2470 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del, 2471 cleanup_counts_index, index_counts_file, struct section_reference, 2472 struct da_index_entry, counts_file_name, counts_file_index): New. 2473 (get_exec_counts, init_branch_prob): Modified. 2474 24752002-11-19 Kaz Kojima <kkojima@gcc.gnu.org> 2476 2477 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux 2478 to tmake_file. Remove setting gas and gnu_ld here. 2479 * config/sh/libgcc-glibc.ver: New file. 2480 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o. 2481 (SHLIB_MAPFILES): New. 2482 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine. 2483 (MD_STARTFILE_PREFIX): Likewise. 2484 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define. 2485 (DWARF2_UNWIND_INFO): Redefine. 2486 (ASM_PREFERRED_EH_DATA_FORMAT): Define. 2487 (LINK_EH_SPEC): Redefine. 2488 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media. 2489 (SH_FALLBACK_FRAME_FLOAT_STATE): Define. 2490 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0, 2491 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA, 2492 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL, 2493 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL, 2494 SH_DWARF_FRAME_FPSCR): Likewise. 2495 * config/sh/sh-protos.h (sh_set_return_address): Declare. 2496 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO 2497 registers if the current function calls EH return. 2498 (sh_expand_epilogue): Handle EH stack adjustments. 2499 (sh_set_return_address): New function. 2500 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG. 2501 Don't abort even if the number is mapped to -1. 2502 (EH_RETURN_DATA_REGNO): Define. 2503 (EH_RETURN_STACKADJ_RTX): Define. 2504 * config/sh/sh.md (UNSPEC_EH_RETURN): New. 2505 (eh_return): New pattern. 2506 (eh_set_ra_di, eh_set_ra_si): Likewise. 2507 Add splitter to perform EH return after reload. 2508 2509Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com> 2510 2511 * stor-layout.c (excess_unit_span): New function. 2512 (place_field): Use it. 2513 25142002-11-19 Andreas Schwab <schwab@suse.de> 2515 2516 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is 2517 not valid in C++. 2518 25192002-11-19 Nathanael Nerode <neroden@gcc.gnu.org> 2520 2521 * configure.in, Makefile.in: Correct BUILD/HOST confusion. 2522 * configure: Regenerate. 2523 2524Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz> 2525 2526 * convert.c (strip_float_extensions): New function. 2527 (convert_to_real): Optimize some cases. 2528 25292002-11-19 Andreas Jaeger <aj@suse.de> 2530 2531 * loop.c (record_giv): Initialize not_replaceable. 2532 (check_final_value): Likewise. 2533 25342002-11-19 Kazu Hirata <kazu@cs.umass.edu> 2535 2536 * config/h8300/h8300.c (h8300_init_once): Replace 1 with 2537 MASK_H8300S. 2538 25392002-11-19 Vijay L. Khuspe <vijayk1@kpit.com> 2540 2541 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch 2542 only if -mh or -ms present. 2543 (h8300_eightbit_constant_address_p): Support the normal mode. 2544 (h8300_tiny_constant_address_p): Likewise. 2545 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New. 2546 (POINTER_SIZE): Add 16 bit pointer for the normal mode. 2547 (Pmode): Evaluate to HImode for the normal mode. 2548 (SIZE_TYPE): Evaluate to unsigned int for normal mode. 2549 (PTRDIFF_TYPE): Evaluate to int for the normal mode. 2550 (ASM_WORD_OP): Evaluate to word for the normal mode. 2551 * config/h8300/h8300.md (tablejump_normal_mode): New. 2552 (indirect_jump_normal_mode): New. 2553 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to 2554 directory. 2555 (MULTILIB_DIRNAMES): Create target dependent directory 2556 'normal'. 2557 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300. 2558 * doc/invoke.texi (gccoptlist): Describe the new switch -mn. 2559 2560Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz> 2561 2562 * i386.md (length_immediate): Do not refer to insn address. 2563 (jcc*, jmp patterns): Compute length explicitly. 2564 25652002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr> 2566 2567 PR c/8588 2568 * optabs.c (expand_binop): Convert CONST_INTs in shift 2569 operations too. 2570 25712002-11-19 Roger Sayle <roger@eyesopen.com> 2572 2573 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note. 2574 25752002-11-19 Kazu Hirata <kazu@cs.umass.edu> 2576 2577 * config/h8300/h8300.md (an anonymous pattern): Relax the 2578 condition to accept the same operands and/or subregs. 2579 25802002-11-19 Daniel Jacobowitz <drow@mvista.com> 2581 2582 * config/sh/sh.c (gen_shl_and): Revert previous patch. 2583 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on 2584 reload_completed. 2585 25862002-11-19 Kazu Hirata <kazu@cs.umass.edu> 2587 2588 * config/h8300/h8300.c (print_operand): Update the use of 2589 EIGHTBIT_CONSTANT_ADDRESS_P. 2590 (h8300_adjust_insn_length): Likewise. 2591 (h8300_eightbit_constant_address_p): Check if the given rtx is 2592 a variable with __attribute__((eightbit_data)). 2593 * config/h8300/h8300.h (OK_FOR_U): Update the use of 2594 EIGHTBIT_CONSTANT_ADDRESS_P. 2595 25962002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2597 2598 * doc/contrib.texi (Contributors): Add self as second contact in 2599 addition to Jeff Law. 2600 26012002-11-19 Andreas Jaeger <aj@suse.de> 2602 2603 * tree-inline.c: Move prototpyes of find_alloca_call_1 and 2604 find_alloca_call to right place. 2605 26062002-11-19 Kazu Hirata <kazu@cs.umass.edu> 2607 2608 * cppfiles.c: Fix formatting. 2609 26102002-11-19 Jason Thorpe <thorpej@wasabisystems.com> 2611 2612 * gcc.c (The Specs Language): Document spec functions. 2613 (static_spec_functions, lookup_spec_function) 2614 (eval_spec_function, handle_spec_function) 2615 (if_exists_spec_function, alloc_args): New. 2616 (execute): Abort if processing_spec_function is true. 2617 (do_spec_1): Hand off spec to handle_spec_function if %: 2618 is encountered. If processing_spec_function is true, 2619 end any pending argument when the end of the string is reached. 2620 (main): Use alloc_args to allocate the initial argument vector. 2621 * gcc.h (struct spec_function): New. 2622 (lang_specific_spec_functions): New extern. 2623 2624 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s). 2625 (ENDFILE_SPEC): Add if-exists(crtn%O%s). 2626 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise. 2627 2628 * doc/invoke.texi: Document spec functions. 2629 2630 * cppspec.c (lang_specific_spec_functions): New. 2631 * gccspec.c: Likewise. 2632 26332002-11-18 Steve Ellcey <sje@cup.hp.com> 2634 2635 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New. 2636 (FIXUNS_TRUNCTFDI2_LIBCALL): New. 2637 (fixunstfsi_libfunc): Change. 2638 (fixunstfdi_libfunc): Change. 2639 (sdiv_optab): Don't zero out SImode handler. 2640 (udiv_optab): Don't zero out SImode handler. 2641 (smod_optab): Don't zero out SImode handler. 2642 (umod_optab): Don't zero out SImode handler. 2643 26442002-11-18 Neil Booth <neil@daikokuya.co.uk> 2645 2646 PR preprocessor/8524 2647 * cpplib.c (run_directive): Remove previous kludge to _Pragma. 2648 Add a new one in its place, which hopefully works. 2649 (skip_rest_of_line): Change test for bottom-of-context-stack. 2650 2651Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz> 2652 2653 * i386.md (addqi_1_slp): Fix output template. 2654 (subqi_1_slp): Fix type. 2655 2656Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz> 2657 2658 * calls.c (alloca_call_p): New global function. 2659 * tree.h (alloca_call_p): New. 2660 * tree-inline.c (inlinable_function_p): Do not inline when 2661 function calls alloca. 2662 (find_alloca_call, find_alloca_call_1): New functions. 2663 26642002-11-18 Kazu Hirata <kazu@cs.umass.edu> 2665 2666 * config/h8300/h8300.md (*andorqi3): Use bor between bld and 2667 bst. Update the insn length. 2668 (*andorhi3): Likewise. 2669 (*andorsi3): Likewise. 2670 26712002-11-18 Richard Sandiford <rsandifo@redhat.com> 2672 2673 * config/sh/sh-protos.h (sh_mark_label): Declare. 2674 * config/sh/sh.c (sh_mark_label): New function, taken from 2675 movdi_const, but fixing the case when the address has an addend. 2676 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it. 2677 26782002-11-18 Richard Sandiford <rsandifo@redhat.com> 2679 2680 * config/sh/sh.c (pool_node): New field: part_of_sequence_p. 2681 (add_constant): Set it. 2682 (dump_table): Don't reorder a constant if part_of_sequence_p. 2683 (machine_dependent_reorg): Assume that float constants will 2684 stay in their original order if used as a sequence. 2685 26862002-11-18 Richard Sandiford <rsandifo@redhat.com> 2687 2688 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness 2689 in compact code. 2690 26912002-11-18 Richard Sandiford <rsandifo@redhat.com> 2692 2693 * config/sh/sh.md (initialize_trampoline): Do not force the 2694 trampoline address into R0_REGS here. 2695 2696Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz> 2697 2698 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs, 2699 absdf2_ifs, absdf2_ifs_rex64): Fix constraints. 2700 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not 2701 generate unnecesary subregs. 2702 27032002-11-17 Kazu Hirata <kazu@cs.umass.edu> 2704 2705 * df.c: Fix formatting. 2706 27072002-11-17 Kazu Hirata <kazu@cs.umass.edu> 2708 2709 * config/h8300/h8300.md (two anonymous patterns): Fix insn 2710 lengths. 2711 27122002-11-17 Daniel Jacobowitz <drow@mvista.com> 2713 2714 * sh.c (gen_shl_and): Don't create a zero_extend if the operand 2715 is not an arith_reg_operand. 2716 27172002-11-17 Graham Stott <graham.stott@btinternet.com> 2718 2719 * real.c (real_to_decimal): Fix buffer overrun when buffer size 2720 is smaller than representation. 2721 27222002-11-17 Kazu Hirata <kazu@cs.umass.edu> 2723 2724 * builtins.c: Fix formatting. 2725 2726Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz> 2727 2728 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2, 2729 floats?dff2_i387): 2730 Work around regclass stupidity. 2731 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS 2732 2733Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz> 2734 2735 * i386.md (fop_df_6): New pattern. 2736 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions. 2737 (fop_xf_6): Rewrite 2738 (fop_xf_7): Delete. 2739 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions. 2740 (fop_tf_6): Rewrite 2741 (fop_tf_7): Delete. 2742 27432002-11-16 Kazu Hirata <kazu@cs.umass.edu> 2744 2745 * config/h8300/h8300.md (two anonymous patterns): Fix typos. 2746 27472002-11-16 Kazu Hirata <kazu@cs.umass.edu> 2748 2749 * config/h8300/h8300.md: Fix formatting. 2750 27512002-11-16 Kazu Hirata <kazu@cs.umass.edu> 2752 2753 * config/h8300/h8300.md: Replace spaces with tabs. 2754 * config/h8300/t-h8300: Remove a trailing empty line. 2755 27562002-11-16 Kazu Hirata <kazu@cs.umass.edu> 2757 2758 * tlink.c: Fix formatting. 2759 27602002-11-16 David Edelsohn <edelsohn@gnu.org> 2761 2762 PR 8362 2763 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function. 2764 * config/rs6000/rs6000.md (movti_string): Remove output modifier 2765 when scratch register never needed. 2766 (ldmsi[3-8]): New patterns. 2767 27682002-11-16 Kazu Hirata <kazu@cs.umass.edu> 2769 2770 * hard-reg-set.h: Follow spelling conventions. 2771 * real.c: Likewise. 2772 * target.h: Likewise. 2773 27742002-11-16 Jakub Jelinek <jakub@redhat.com> 2775 2776 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal. 2777 27782002-11-16 Kazu Hirata <kazu@cs.umass.edu> 2779 2780 * optabs.c: Fix formatting. 2781 2782Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz> 2783 2784 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1 2785 * i386.md (attribute type): Add type shift1 and rotate1. 2786 (*_slp): Rewrite to have just two operands to avoid reload problems. 2787 27882002-11-15 Kazu Hirata <kazu@cs.umass.edu> 2789 2790 * config/h8300/h8300.md (4 anonymous patterns): New. 2791 27922002-11-15 Geoffrey Keating <geoffk@apple.com> 2793 2794 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem. 2795 * doc/invoke.texi: Correct description of what needs to be done to 2796 force collection at every ggc_collect call. 2797 27982002-11-15 Ulrich Weigand <uweigand@de.ibm.com> 2799 2800 * config/s390/s390.c (optimization_options): Set 2801 flag_asynchronous_unwind_tables to 1 by default. 2802 28032002-11-15 Ulrich Weigand <uweigand@de.ibm.com> 2804 2805 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. 2806 2807Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz> 2808 2809 * i386-protos.h (x86_function_profiler): New function 2810 * i386.h (MCOUNT_NAME): New. 2811 (PROFILE_COUNT_REGISTER): New. 2812 (FUNCTION_PROFILER): Move offline to ... 2813 * i386.c (x86_function_profiler) ... here; fix 64bit support 2814 * beos-elf.h (FUNCTION_PROFILER): Kill. 2815 (MCOUNT_NAME): New. 2816 * freebsd-aout.h (FUNCTION_PROFILER): Kill. 2817 (MCOUNT_NAME): New. 2818 (PROFILE_COUNT_REGISTER): New. 2819 * linux.h (FUNCTION_PROFILER): Kill. 2820 (MCOUNT_NAME): New. 2821 * x86-64.h (FUNCTION_PROFILER): Kill. 2822 (MCOUNT_NAME): New. 2823 * freebsd.h (FUNCTION_PROFILER): Kill. 2824 (MCOUNT_NAME): New. 2825 28262002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> 2827 2828 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG, 2829 FUNCTION_ARG_PASS_BY_REFERENCE): Define. 2830 * config/arm/arm.c (arm_va_arg, 2831 arm_function_arg_pass_by_reference): New. 2832 * config/arm/arm-protos.h: Add prototypes. 2833 28342002-11-14 Kazu Hirata <kazu@cs.umass.edu> 2835 2836 * gthr-single.h: Fix formatting. 2837 28382002-11-14 Zack Weinberg <zack@codesourcery.com> 2839 2840 * tree.c (tree_vec_elt_check_failed): New function. 2841 * tree.h (TREE_VEC_ELT_CHECK): New checking macro. 2842 (TREE_VEC_ELT): Use it. 2843 2844 * tree-inline.c (optimize_inline_calls): Don't copy a 2845 zero-length vector. 2846 28472002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net> 2848 2849 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text. 2850 28512002-11-14 Jakub Jelinek <jakub@redhat.com> 2852 2853 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if 2854 both operands contain local relocations. 2855 (categorize_decl_for_section): Don't use mergeable sections if 2856 initializer has any relocations. 2857 28582002-11-14 Kazu Hirata <kazu@cs.umass.edu> 2859 2860 * gthr-vxworks.h: Fix formatting. 2861 28622002-11-13 Janis Johnson <janis187@us.ibm.com> 2863 2864 * doc/install.texi (Testing): Document extra Java testing. 2865 * doc/sourcebuild.texi (Test Suites): Document libgcj testing. 2866 28672002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca> 2868 2869 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the 2870 beginning of the spec. 2871 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete. 2872 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment 2873 regarding problems with global constructors when using GNU ld. 2874 28752002-11-13 Kazu Hirata <kazu@cs.umass.edu> 2876 2877 * gthr-solaris.h: Fix formatting. 2878 28792002-11-13 Kazu Hirata <kazu@cs.umass.edu> 2880 2881 * gthr-posix.h: Fix formatting. 2882 28832002-11-12 Devang Patel <dpatel@apple.com> 2884 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler. 2885 (process_command): Same. 2886 * doc/invoke.texi: Info about these two new options. 2887 28882002-11-12 Kazu Hirata <kazu@cs.umass.edu> 2889 2890 * config/h8300/h8300.md (*andorsi3): New. 2891 28922002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 2893 2894 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement. 2895 28962002-11-12 Kazu Hirata <kazu@cs.umass.edu> 2897 2898 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize 2899 expressions appropriately. 2900 29012002-11-12 Kazu Hirata <kazu@cs.umass.edu> 2902 2903 * gthr-win32.h: Fix formatting. 2904 29052002-11-12 Kazu Hirata <kazu@cs.umass.edu> 2906 2907 * config/h8300/h8300.c (single_one_operand): Correctly compute 2908 mask when mode is SImode. 2909 (single_zero_operand): Likewise. 2910 * config/h8300/h8300.md (two new anonymous insns): New. 2911 29122002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 2913 2914 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer 2915 to that entire project. 2916 29172002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2918 2919 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old 2920 directories. 2921 29222002-11-11 Zack Weinberg <zack@codesourcery.com> 2923 2924 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters. 2925 * doc/invoke.texi: Document them. 2926 2927 * ggc-page.c: Include params.h. Remove definitions of 2928 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace 2929 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define. 2930 (init_gcc): Don't set G.allocated_last_gc here. 2931 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and 2932 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to 2933 perform collection. 2934 * ggc-simple.c: Similarly. 2935 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to 2936 dependencies. 2937 29382002-11-11 Kazu Hirata <kazu@cs.umass.edu> 2939 2940 * gthr-dce.h: Fix formatting. 2941 29422002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 2943 2944 PR c/8467 2945 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the 2946 mode of DECL_RTL case. 2947 29482002-11-11 Janis Johnson <janis187@us.ibm.com> 2949 2950 * doc/contrib.texi: Merge in the list from the libstdc++ web pages. 2951 2952Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz> 2953 2954 * i386.c (construct_container): Fix handling of SSE_CLASS. 2955 29562002-11-10 Joel Sherrill <joel@gcc.gnu.org> 2957 2958 * config/m68k/t-crtstuff (crti.o): Use this... 2959 ($(T)crti.o): ... instead. 2960 (crtn.o): Use this... 2961 ($(T)crtn.o): ... instead. 2962 29632002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr> 2964 2965 PR c/8439 2966 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only 2967 if there is something new to be simplified. 2968 29692002-11-10 H.J. Lu <hjl@gnu.org> 2970 2971 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined. 2972 * expr.c (PUSH_ARGS_REVERSED): Likewise. 2973 2974 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1. 2975 29762002-11-10 Zack Weinberg <zack@codesourcery.com> 2977 2978 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here... 2979 * config/rs6000/linux.h, config/rs6000/linux64.h, 2980 config/rs6000/windiss.h: ... not here. 2981 29822002-11-10 Jason Thorpe <thorpej@wasabisystems.com> 2983 2984 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define 2985 __ABICALLS__ if TARGET_ABICALLS. 2986 2987Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz> 2988 2989 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc. 2990 29912002-11-10 Joseph S. Myers <jsm@polyomino.org.uk> 2992 2993 * c-decl.c (grokdeclarator): Make error for duplicate type 2994 qualifiers into a pedwarn, disabled for C99. 2995 29962002-11-10 Hans-Peter Nilsson <hp@bitrange.com> 2997 2998 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same 2999 as FUNCTION_ARG_PASS_BY_REFERENCE. 3000 30012002-11-09 Zack Weinberg <zack@codesourcery.com> 3002 3003 * doc/install.texi: Add *-*-vxworks* specific installation 3004 instructions. 3005 3006 * config/vxlib.c: Rewrite using generation numbers to identify 3007 valid TSD keys. 3008 3009Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz> 3010 3011 * i386.c (x86_machine_dependent_reorg): Fix even more side cases. 3012 30132002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca> 3014 3015 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16. 3016 3017 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define. 3018 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas. 3019 * pa.c (output_millicode_call): Use symbol difference rather than 3020 $PIC_pcrel$0 when using HP assembler. 3021 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or 3022 not elfos.h (i.e., gas) is being used. 3023 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP, 3024 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON, 3025 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME, 3026 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL, 3027 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when 3028 using elfos.h. 3029 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h. 3030 (DWARF2_ASM_LINE_DEBUG_INFO): Delete. 3031 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not 3032 using elfos.h. 3033 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP, 3034 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h. 3035 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): 3036 Don't define when not using elfos.h. 3037 (ASM_DECLARE_RESULT): Don't define. 3038 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler 3039 doesn't work on hppa64-hp-hpux11. 3040 (hppa*-hp-hpux11): Update. 3041 30422002-11-09 Jason Thorpe <thorpej@wasabisystems.com> 3043 3044 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC 3045 to the assembler if -mno-abicalls was specified. 3046 30472002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca> 3048 3049 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO, 3050 ASM_OUTPUT_DEF): Delete. 3051 30522002-11-09 Neil Booth <neil@daikokuya.co.uk> 3053 3054 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit. 3055 30562002-11-08 Roger Sayle <roger@eyesopen.com> 3057 3058 * real.c (real_sqrt): Update comment with bibliographic reference. 3059 3060Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz> 3061 3062 * i386.md (sse_loadss, sse2_loadsd): Fix expander. 3063 3064Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz> 3065 3066 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions. 3067 3068Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz> 3069 3070 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint 3071 (expand_builtin): Likewise. 3072 * builtins.def: Add 3073 __builtin_floor, __builtin_floorf, __builtin_floorl 3074 __builtin_ceil, __builtin_ceilf, __builtin_ceill 3075 __builtin_round, __builtin_roundf, __builtin_roundl 3076 __builtin_trunc, __builtin_truncf, __builtin_truncl 3077 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl. 3078 * genopinit.c (optabs): Initialize the new optabs. 3079 * optab.c (init_optabs): Likewise. 3080 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc, 3081 OTI_round, OTI_nearbyint. 3082 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New. 3083 * doc/md.texi: Document new named patterns. 3084 * doc/extend.texi (builtin functions) Document 3085 floor, floorf, floorl, ceil, ceilf, 3086 ceill, round, roundf, roundl, trunc, 3087 truncf, truncl, nearbyint, nearbyintf, nearbyintl. 3088 3089Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz> 3090 3091 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch. 3092 30932002-11-08 Dale Johannesen <dalej@apple.com> 3094 3095 * dbxout.c (dbxout_type): Fix stabs info for vector types. 3096 30972002-11-08 Neil Booth <neil@daikokuya.co.uk> 3098 3099 PR preprocessor/8497 3100 PR preprocessor/8501 3101 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't 3102 start a directive. In assembler, #NUM is not a line directive. 3103 31042002-11-08 Neil Booth <neil@daikokuya.co.uk> 3105 3106 * cppmain.c (cpp_preprocess_file): Loop to pop any -included 3107 buffers. 3108 31092002-11-08 Kazu Hirata <kazu@cs.umass.edu> 3110 3111 * config/h8300/h8300.md (two anonymous test insns): New. 3112 3113Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz> 3114 3115 * jump.c (mark_jump_label): Handle subregs of label_refs. 3116 3117Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz> 3118 3119 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching. 3120 * i386.c (ix86_expand_fp_movcc): Match the reversed cases. 3121 31222002-11-07 David Mosberger <davidm@hpl.hp.com> 3123 3124 * config/ia64/crtend.asm: Include "auto-host.h". 3125 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array. 3126 * config/ia64/crtbegin.asm: Similarly. 3127 * config/ia64/t-ia64 (crtbegin.o): Include from current directory. 3128 (crtend.o, crtbeginS.o, crtendS.o): Likewise. 3129 3130 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New. 3131 * configure.in: Use it if --enable-initfini-array not specified. 3132 * doc/install.texi (Configuration): Document --enable-initfini-array. 3133 * configure, config.in: Rebuild. 3134 31352002-11-07 Jason Thorpe <thorpej@wasabisystems.com> 3136 3137 * config/arm/arm-protos.h (arm_get_frame_size) 3138 (thumb_get_frame_size): New prototypes. 3139 * config/arm/arm.c (arm_get_frame_size) 3140 (thumb_get_frame_size): New functions. 3141 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue) 3142 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use 3143 arm_get_frame_size. 3144 (thumb_expand_prologue, thumb_expand_epilogue): Use 3145 thumb_get_frame_size. 3146 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define. 3147 (machine_function): Add frame_size member. 3148 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size. 3149 31502002-11-07 Richard Earnshaw <rearnsha@arm.com> 3151 3152 * arm.c (bit_count): Make argument unsigned long. Return unsigned. 3153 Adjust code to use portable unsigned bit manipulation. 3154 (insn_flags, tune_flags): Change type to unsigned. 3155 (struct processors): Make flags unsigned long. 3156 (arm_override_options): Change type of count and current_bit_count 3157 to unsigned. 3158 31592002-11-07 Richard Earnshaw <rearnsha@arm.com> 3160 3161 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %. 3162 3163Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com> 3164 3165 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM. 3166 3167Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz> 3168 3169 * reg-stack.c (compensate_edge): Fix sanity check. 3170 31712002-11-05 Geoffrey Keating <geoffk@apple.com> 3172 3173 * config.gcc: Don't create crtbegin, crtend on Darwin; do create 3174 crt2.o. Rearrange t-darwin makefiles. 3175 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete. 3176 * unwind-dw2-fde-darwin.c: New. 3177 * unwind-dw2-fde-glibc.c: Correct comment. 3178 * unwind-dw2-fde.c (__register_frame_info_bases) 3179 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end. 3180 (classify_object_over_fdes): Use last_fde. 3181 (add_fdes): Likewise. 3182 (linear_search_fdes): Likewise. 3183 * unwind-dw2-fde.h (struct object) 3184 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field. 3185 (last_fde): New. 3186 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o. 3187 (ENDFILE_SPEC): No crtend.o. 3188 * config/t-darwin: New. 3189 * config/i386/t-darwin: Delete. 3190 * config/darwin-crt2.c: New. 3191 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000 3192 or config/t-darwin. 3193 31942002-11-06 Douglas B Rupp <rupp@gnat.com> 3195 3196 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or 3197 MASK_MS_BITFIELD_LAYOUT 3198 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off 3199 MS bitfields for Objective-C. 3200 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove 3201 defines. 3202 3203 * config/i386/i386.c (ix86_ms_bitfield_layout): New function. 3204 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function. 3205 (TARGET_USE_MS_BITFIELD_LAYOUT): Define. 3206 3207 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask. 3208 TARGET_USE_MS_BITFIELD_LAYOUT): New macro. 3209 (TARGET_SWITCHES): Add above mask. 3210 3211 * testsuite/gcc.dg/bf-ms-layout.c: New test case. 3212 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case. 3213 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate 3214 flags for interix. 3215 3216Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com> 3217 3218 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output 3219 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU 3220 assembler. 3221 * config/mips/mips.md (tablejump_internal3): Output .cpadd 3222 before jump on ABI_N32 too. 3223 (tablejump_internal4): Ditto on ABI_64. Increase maximum 3224 length to match. 3225 3226Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz> 3227 3228 * i386.md (negsf splitter): Accept memory operand in second register. 3229 (abssf/absdf splitters): Simplify 3230 (sse_loadss, sse_loadsd): Turn into expander. 3231 32322002-11-06 David Edelsohn <edelsohn@gnu.org> 3233 3234 PR target/8480 3235 * config/rs6000/rs6000.md (movdi_internal64): Discourage 3236 FPR to FPR moves. 3237 32382002-11-06 Janis Johnson <janis187@us.ibm.com> 3239 3240 * doc/contrib.texi: Merge in the list from the Java web pages. 3241 32422002-11-06 David O'Brien <obrien@FreeBSD.org> 3243 3244 * config/sparc/freebsd: Fix typo. 3245 32462002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca> 3247 3248 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define. 3249 32502002-11-06 Alexandre Oliva <aoliva@redhat.com> 3251 3252 * config/mips/mips.md (call_value_multiple_internal2): Use dla for 3253 non-SImode addresses. 3254 3255Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz> 3256 3257 * i386.md (float_truncate SSE splitter): Ensure that operand is not 3258 stack register. 3259 (float SSE splitters): Reorder conditional. 3260 32612002-11-05 Bob Wilson <bob.wilson@acm.org> 3262 3263 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal". 3264 32652002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca> 3266 3267 * pa64-hpux.h (LIB_SPEC): Fix p and pg options. 3268 (STARTFILE_SPEC): Remove p and pg options. 3269 32702002-11-05 Andrew Haley <aph@redhat.com> 3271 3272 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2)) 3273 to (compound(a1,a0 op a2)) if a0 or a1 have side effects. 3274 32752002-11-05 Richard Sandiford <rsandifo@redhat.com> 3276 3277 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to... 3278 * config/mips/mips.c (mips_cannot_change_mode_class): ...here. 3279 32802002-11-04 Zack Weinberg <zack@codesourcery.com> 3281 3282 * gthr-vxworks.h: Rewritten from scratch. 3283 * config/vxlib.c: New file. 3284 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA. 3285 * config/rs6000/t-vxworks: Add config/vxlib.c to 3286 LIB2FUNCS_EXTRA here too, because of clash with 3287 config/rs6000/t-ppccomm. 3288 32892002-11-04 Dale Johannesen <dalej@apple.com> 3290 3291 * doloop.c (doloop_modify_runtime): Fix loop count computation 3292 for unrolled loops. 3293 * loop.c (loop_invariant_p): Support calling from unroller. 3294 32952002-11-04 Ulrich Weigand <uweigand@de.ibm.com> 3296 3297 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx 3298 for comparison. 3299 33002002-11-04 Aldy Hernandez <aldyh@redhat.com> 3301 3302 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New. 3303 3304 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove. 3305 (CLASS_CANNOT_CHANGE_MODE): Remove. 3306 (CANNOT_CHANGE_MODE_CLASS): New. 3307 3308 * config/alpha/alpha.h: Same. 3309 3310 * config/ia64/ia64.h: Same. 3311 3312 * config/mips/mips.h: Same. 3313 3314 * config/s390/s390.h: Same. 3315 3316 * config/sh/sh.h: Same. 3317 3318 * config/pa/pa64-regs.h: Same. 3319 3320 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype. 3321 3322 * config/sh/sh.c (sh_cannot_change_mode_class): New. 3323 3324 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add 3325 prototype. 3326 3327 * config/mips/mips.c (mips_cannot_change_mode_class): New. 3328 3329 * doc/tm.texi (Register Classes): Remove 3330 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P. 3331 Document CANNOT_CHANGE_MODE_CLASS. 3332 3333 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS. 3334 (push_reload): Same. 3335 3336 * simplify-rtx.c (simplify_subreg): Same. 3337 3338 * reload1.c (choose_reload_regs): Same. 3339 3340 * recog.c (register_operand): Same. 3341 3342 * regrename.c (mode_change_ok): Change to use new 3343 CANNOT_CHANGE_MODE_CLASS infrastructure. 3344 3345 * regclass.c (cannot_change_mode_set_regs): New. 3346 Declare subregs_of_mode. 3347 (regclass): Use subregs_of_mode. 3348 Remove references to reg_changes_mode. 3349 (init_reg_sets_1): Remove class_can_change_mode and 3350 reg_changes_mode code. 3351 (invalid_mode_change_p): New. 3352 (dump_regclass): Use invalid_mode_change_p instead of 3353 class_can_change_mode. 3354 (regclass): Same. 3355 (record_operand_costs): Do not set reg_changes_mode. 3356 3357 * local-alloc.c (struct qty): Remove changes_mode field. 3358 (alloc_qty): Remove changes_mode initialization. 3359 (update_qty_class): Remove set of changes_mode. 3360 (find_free_reg): Use subregs_of_mode. 3361 3362 * global.c (find_reg): Use subregs_of_mode info. 3363 3364 * rtl.h (cannot_change_mode_set_regs): New prototype. 3365 (invalid_mode_change_p): Same. 3366 (REG_CANNOT_CHANGE_MODE_P): New macro. 3367 3368 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove 3369 REG_CHANGES_MODE. 3370 (life_analysis): Clear subregs_of_mode. 3371 3372 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P. 3373 Remove use of CLASS_CANNOT_CHANGE_MODE. 3374 (simplify_set): Same. 3375 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove 3376 REG_CHANGES_MODE. 3377 3378 * regs.h: Add extern for subregs_of_mode; 3379 Include hard-reg-set and basic-block. 3380 (REG_CHANGES_MODE): Delete. 3381 33822002-11-03 Roger Sayle <roger@eyesopen.com> 3383 3384 * real.c (real_sqrt): New function to calculate square roots. 3385 * real.h (real_sqrt): Add function prototype. 3386 * builtins.c (fold_builtin): Fold sqrt of constant argument. 3387 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt 3388 of constant argument. 3389 33902002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca> 3391 3392 * jump.c (never_reached_warning): Don't set contains_insn until the 3393 first line note is seen. 3394 33952002-11-03 David Edelsohn <edelsohn@gnu.org> 3396 3397 * config/rs6000/rs6000.md (movti_string): Use string instructions. 3398 33992002-11-03 Roger Sayle <roger@eyesopen.com> 3400 3401 PR c/7128 3402 * c-typeck.c (c_expand_asm_operands): Defend against 3403 error_mark_nodes in the output argument to avoid ICE. 3404 34052002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr> 3406 3407 PR middle-end/8408 3408 * genrecog.c (preds): Handle ADDRESSOF. 3409 (validate_pattern): Mark it as an lvalue. 3410 34112002-11-02 David Edelsohn <edelsohn@gnu.org> 3412 3413 * config/rs6000/rs6000.c (rs6000_override_options): Use string 3414 instructions when optimizing for size. 3415 34162002-11-02 Kazu Hirata <kazu@cs.umass.edu> 3417 3418 * config/h8300/h8300.h: Fix comment typos. 3419 * config/h8300/h8300.md: Likewise. 3420 * config/h8300/lib1funcs.asm: Likewise. 3421 34222002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 3423 3424 Revert this change: 3425 3426 *doc/install.texi (Installing GCC: Configuration): Clarify 3427 the only supported ways to configure gcc. 3428 34292002-11-01 Kazu Hirata <kazu@cs.umass.edu> 3430 3431 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n' 3432 instead of 'O' for the constraint for the second operand. 3433 34342002-11-01 Mark Mitchell <mark@codesourcery.com> 3435 3436 PR c++/8391 3437 * toplev.c (rest_of_compilation): Do not refuse to output code for 3438 an inline function in a local class. 3439 34402002-11-01 David O'Brien <obrien@FreeBSD.org> 3441 3442 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__. 3443 (TRANSFER_FROM_TRAMPOLINE): Reformat. 3444 Add comment. 3445 34462002-11-01 Kazu Hirata <kazu@cs.umass.edu> 3447 3448 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify. 3449 34502002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 3451 3452 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New. 3453 34542002-11-01 Steve Ellcey <sje@cup.hp.com> 3455 3456 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove. 3457 (MASK_INLINE_DIV_THR): Remove. 3458 (TARGET_INLINE_DIV_LAT): Remove. 3459 (TARGET_INLINE_DIV_THR): Remove. 3460 (TARGET_INLINE_DIV): Remove. 3461 (MASK_INLINE_FLOAT_DIV_LAT): New macro. 3462 (MASK_INLINE_FLOAT_DIV_THR): New macro. 3463 (MASK_INLINE_INT_DIV_LAT): New macro. 3464 (MASK_INLINE_INT_DIV_THR): New macro. 3465 (TARGET_INLINE_FLOAT_DIV_LAT): New macro. 3466 (TARGET_INLINE_FLOAT_DIV_THR): New macro. 3467 (TARGET_INLINE_INT_DIV_LAT): New macro. 3468 (TARGET_INLINE_INT_DIV_THR): New macro. 3469 (TARGET_INLINE_FLOAT_DIV): New macro. 3470 (TARGET_INLINE_INT_DIV): New macro. 3471 * config/ia64/ia64.md (divsi3): Change to use new macros. 3472 (modsi3): Ditto. 3473 (udivsi3): Ditto. 3474 (umodsi3): Ditto. 3475 (divsi3_internal): Ditto. 3476 (divdi3): Ditto. 3477 (moddi3): Ditto. 3478 (udivdi3): Ditto. 3479 (umoddi3): Ditto. 3480 (divdi3_internal_lat): Ditto. 3481 (divdi3_internal_thr): Ditto. 3482 (divsf3): Ditto. 3483 (divsf3_internal_lat): Ditto. 3484 (divsf3_internal_thr): Ditto. 3485 (divdf3): Ditto. 3486 (divdf3_internal_lat): Ditto. 3487 (divdf3_internal_thr): Ditto. 3488 (divtf3): Ditto. 3489 (divtf3_internal_lat): Ditto. 3490 (divtf3_internal_thr): Ditto. 3491 * config/ia64/ia64.c (ia64_override_options): Change 3492 to check new macros for conflicts in settings. 3493 * doc/invoke.texi (-minline-divide-min-latency): Remove. 3494 (-minline-divide-max-throughput): Remove. 3495 (-minline-float-divide-min-latency): New. 3496 (-minline-float-divide-max-throughput): New. 3497 (-minline-int-divide-min-latency): New. 3498 (-minline-int-divide-max-throughput): New. 3499 35002002-11-01 Richard Earnshaw (rearnsha@arm.com) 3501 3502 PR target/7856 3503 * arm.c (use_return_insn): Don't use a return insn if there are 3504 saved integer regs, but LR is not one of them. 3505 3506Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz> 3507 3508 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P 3509 * machmode.h (SCALAR_FLOAT_MODE_P): New macro. 3510 3511Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz> 3512 3513 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander 3514 (movps, movpd splitters): Use canonical form. 3515 (movv2di): Fix merge problem. 3516 3517Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz> 3518 3519 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand. 3520 35212002-10-31 Nathanael Nerode <neroden@gcc.gnu.org> 3522 3523 PR optimization/6162 3524 * doc/md.texi: Document restriction on commutative operand 3525 specification. 3526 35272002-10-31 Eric Christopher <echristo@redhat.com> 3528 3529 * explow.c (convert_memory_address): Use shallow_copy_rtx. 3530 35312002-10-31 Steve Ellcey <sje@cup.hp.com> 3532 3533 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN. 3534 35352002-10-31 Steve Ellcey <sje@cup.hp.com> 3536 3537 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats. 3538 3539Thu Oct 31 Dale Johannesen <dalej@apple.com> 3540 3541 * config/rs6000/darwin.h: Correct formatting in previous. 3542 3543Thu Oct 31 Dale Johannesen <dalej@apple.com> 3544 3545 * config/rs6000/darwin.h: Enable -falign-xxx options. 3546 3547Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz> 3548 3549 * i386.c (override_options): Set defaults for flag_omit_frame_pointer, 3550 flag_asynchronous_unwind_tables, flag_pcc_struct_return. 3551 * i386.c (optimization_options): Set flag_omit_frame_pointer, 3552 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2. 3553 Do not clear -momit-leaf-frame-pointer when profiling. 3554 (ix86_frame_pointer_required): Frame pointer is always required when 3555 profiling. 3556 3557Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz> 3558 3559 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand. 3560 3561Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com> 3562 3563 * sh.h (binary_logical_operator): Declare. 3564 * sh.c (binary_logical_operator): New function. 3565 * sh.md (xordi3+1): New combiner splitter pattern. 3566 35672002-10-31 David O'Brien <obrien@FreeBSD.org> 3568 3569 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define 3570 __enable_execute_stack function. 3571 35722002-10-30 Zack Weinberg <zack@codesourcery.com> 3573 3574 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h, 3575 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor. 3576 * unwind-sjlj.c (fc_key_dtor): Delete. 3577 (fc_key_init): Adjust __gthread_key_create call to match. 3578 35792002-10-30 Aldy Hernandez <aldyh@redhat.com> 3580 3581 * c-common.c: Add GTY to vector_type_node_list. 3582 35832002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca> 3584 3585 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define. 3586 * pa-protos.h (attr_length_millicode_call, attr_length_call, 3587 pa_init_machine_status): Declare new global functions. 3588 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and 3589 implement new functions. 3590 (attr_length_millicode_call, attr_length_call): Implement. 3591 (total_code_bytes): Change type to long. 3592 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT. 3593 Reset counter if flag_function_sections. 3594 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT. 3595 (output_cbranch): Move call to gen_label_rtx. 3596 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose 3597 delay slot in all variants, shorten pc-relative calls. 3598 (output_call): Rewrite adding long TARGET_64BIT call, improved delay 3599 slot usage and exposure, various new call variants, and shortened 3600 sequences for some variants on TARGET_PA_20. 3601 Miscellaneous format changes. 3602 * pa.h (total_code_bytes): Change type to long. 3603 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL, 3604 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define. 3605 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options. 3606 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS, 3607 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and 3608 stores on TARGET_ELF32. 3609 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME. 3610 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and 3611 canonicalize_funcptr_for_compare expanders): Calculate attribute length 3612 attr_length_millicode_call(). 3613 (call_internal_symref, call_value_internal_symref): Clobber register 1. 3614 Calculate attribute length using attr_length_call(). 3615 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load 3616 to delay slot. 3617 (sibcall, sibcall_value): Rewrite. 3618 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber 3619 register 1. Use attr_length_call(). 3620 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit): 3621 New patterns. 3622 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite. 3623 * som.h (MEMBER_TYPE_FORCES_BLK): Define. 3624 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls". 3625 * doc/invoke.texi (mlong-calls): Document. 3626 36272002-10-30 Roger Sayle <roger@eyesopen.com> 3628 3629 * fold-const.c (fold_binary_op_with_conditional_arg): Improve 3630 handling of cases where one or both branches of the conditional 3631 have void type, i.e. throw an exception or don't return. 3632 (fold): Only apply (and undo) type conversion to the non-void 3633 branches of a COND_EXPR. 3634 36352002-10-30 Mark Mitchell <mark@codesourcery.com> 3636 3637 PR c++/8333 3638 * varasm.c (asm_output_aligned_bss): Do not call 3639 ASM_GLOBALIZE_LABEL. 3640 36412002-10-30 David Edelsohn <edelsohn@gnu.org> 3642 Torbjorn Granlund <tege@swox.com> 3643 3644 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form 3645 for addressibility. 3646 (load_toc_v4_PIC_1b): Same. 3647 36482002-10-30 Kazu Hirata <kazu@cs.umass.edu> 3649 3650 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): 3651 Truncate the addresses for H8/300 using HImode. 3652 3653Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz> 3654 3655 * i386.md (negdf splitter): Fix construction of the constant. 3656 3657Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz> 3658 3659 * i386.md (negsf, negdf): Reorganize to use vector modes 3660 for SSE variants. 3661 (abssf, absdf): Use force_reg. 3662 (movv4sf, movv2df): New splitters. 3663 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand 3664 * i386.c (zero_extended_scalar_load_operand 3665 3666 * i386-protos.h (ix86_expand_call): Update prototype. 3667 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit 3668 (ix86_expand_call): Use r11 for indirect sibcalls. 3669 * i386.md (call, call_value, untyped_call, call_value_pop): 3670 update x86_expand_call call. 3671 (sibcall, sibcall_value): new patterns 3672 (call_rex64, call_value_rex64): Do not accept sibcalls. 3673 (sibcall_rex64, sibcall_value_rex64, 3674 sibcall_rex64_v, sibcall_value_rex64_v): New. 3675 3676Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz> 3677 3678 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called 3679 before final pass. 3680 36812002-10-29 Hans-Peter Nilsson <hp@bitrange.com> 3682 3683 * toplev.c (rest_of_type_compilation): Return early in case of 3684 errors. 3685 (check_global_declarations): Don't call debug_hooks->global_decl 3686 in case of errors. 3687 36882002-10-28 Andreas Bauer <baueran@in.tum.de> 3689 3690 * doc/c-tree.texi (Tree overview): Fix typos. 3691 36922002-10-29 Phil Edwards <pme@gcc.gnu.org> 3693 3694 * Makefile.in (gnucompare*): Only record bad comparisons 3695 if there really was a bad comparison. 3696 3697Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz> 3698 3699 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H' 3700 * i386.md (movsf*, movdf*): Use 'C' instead of 'H' 3701 * md.texi (machine dependent constraints): Document 'C' 3702 3703 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging. 3704 3705 * i386.c (ix86_expand_vector_move): Fix. 3706 3707 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64. 3708 * i386.md (sse2_maskmovdqu_rex64): New pattern 3709 3710 PR target/8322 3711 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast. 3712 (ix86_init_mmx_sse_builtins): Fix type. 3713 37142002-10-29 Jason Thorpe <thorpej@wasabisystems.com> 3715 3716 * gthr-posix.h: Include <unistd.h> for feature tests. 3717 (sched_get_priority_max, sched_get_priority_min) 3718 (pthread_getschedparam, pthread_setschedparam): Only use 3719 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined. 3720 (__gthread_objc_thread_set_priority): Don't treat all nonzero 3721 returns from sched_get_priority_max and sched_get_priority_min 3722 as an error. 3723 37242002-10-29 Kazu Hirata <kazu@cs.umass.edu> 3725 3726 * config/h8300/h8300.h (TARGET_DEFAULT): Make it 3727 MASK_QUICKCALL. 3728 37292002-10-29 Kazu Hirata <kazu@cs.umass.edu> 3730 3731 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New. 3732 (h8300_tiny_constant_address_p): Likewise. 3733 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use 3734 h8300_eightbit_constant_address_p. 3735 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p. 3736 * config/h8300/h8300-protos.h: Add the prototypes for the two 3737 new functions. 3738 37392002-10-29 Kazu Hirata <kazu@cs.umass.edu> 3740 3741 * reload1.c (update_eliminables): Unconditionally check if 3742 frame_pointer_needed has changed. 3743 3744Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz> 3745 3746 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called 3747 before final pass. 3748 37492002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr> 3750 3751 PR optimization/8334 3752 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation; 3753 check for zero operands explicitly. 3754 37552002-10-29 Richard Sandiford <rsandifo@redhat.com> 3756 3757 * config/mips/mips.md (extv, extzv, insv): Set size of referenced 3758 memory after adjusting to BLKmode. 3759 37602002-10-29 Kazu Hirata <kazu@cs.umass.edu> 3761 3762 * config/h8300/h8300.h (MASK_*): New. 3763 (TARGET_*): Use MASK_*. 3764 37652002-10-28 Zack Weinberg <zack@codesourcery.com> 3766 3767 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas. 3768 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks, 3769 config/rs6000/vxworks.h: New files. 3770 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code. 3771 3772 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*, 3773 i?86-wrs-vxworks*, i960-wrs-vxworks* [all], 3774 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*, 3775 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all], 3776 sparc-*-vxsim*): Delete stanzas. 3777 * gthr-vxworks.h: Rip out all substantive code and just 3778 include gthr-single.h. 3779 3780 * config/alpha/vxworks.h, config/arm/vxarm.h, 3781 config/i386/vxi386.h, config/i960/t-vxworks960, 3782 config/i960/vx960-coff.h, config/i960/vx960.h, 3783 config/m68k/t-vxworks68, config/m68k/vxm68k.h, 3784 config/mips/vxworks.h, config/rs6000/vxppc.h, 3785 config/sparc/t-vxsparc, config/sparc/t-vxsparc64, 3786 config/sparc/vxsim.h, config/sparc/vxsparc.h, 3787 config/sparc/vxsparc64.h: Delete files. 3788 37892002-10-28 Jason Thorpe <thorpej@wasabisystems.com> 3790 3791 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to 3792 tm_defines if pthreads are enabled. 3793 * config/netbsd.h (LIB_SPEC): Only support the -pthread option 3794 if NETBSD_ENABLE_PTHREADS is defined. 3795 37962002-10-28 Kazu Hirata <kazu@cs.umass.edu> 3797 3798 * ChangeLog.1: Fix typos. 3799 * cse.c: Fix a comment typo. 3800 * reload1.c: Likewise. 3801 38022002-10-27 Hans-Peter Nilsson <hp@bitrange.com> 3803 3804 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text. 3805 * fixinc/tests/base/_G_config.h: New file. 3806 38072002-10-27 Kazu Hirata <kazu@cs.umass.edu> 3808 3809 * combine.c: Fix comment formatting. 3810 * loop.c: Likewise. 3811 * real.c: Likewise. 3812 * regclass.c: Likewise. 3813 * regmove.c: Likewise. 3814 * regrename.c: Likewise. 3815 * reg-stack.c: Likewise. 3816 * reload1.c: Likewise. 3817 * reload.c: Likewise. 3818 * reload.h: Likewise. 3819 * unroll.c: Likewise. 3820 38212002-10-27 Kazu Hirata <kazu@cs.umass.edu> 3822 3823 * reload1.c (reload): Fix a comment typo. 3824 3825Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz> 3826 3827 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define. 3828 38292002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 3830 3831 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h. 3832 * dwarf2out.c: Include hashtab.h. 3833 (is_main_source): New static variable. 3834 (attr_checksum, die_checksum): Modified to handle die references. 3835 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap, 3836 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu, 3837 record_comdat_symbol_number): New static functions. 3838 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes, 3839 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified. 3840 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type 3841 declarations added. 3842 38432002-10-26 Kazu Hirata <kazu@cs.umass.edu> 3844 3845 * config/h8300/h8300.c (initial_offset): Change to 3846 h8300_initial_elimination_offset. 3847 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use 3848 h8300_initial_elimination_offset. 3849 * config/h8300/h8300-protos.h: Update the prototype. 3850 38512002-10-26 Hans-Peter Nilsson <hp@bitrange.com> 3852 3853 * config/mmix/mmix.h (LIBCALL_VALUE): Use 3854 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM. 3855 (FUNCTION_VALUE_REGNO_P): Similar, but move code to... 3856 * config/mmix/mmix.c (mmix_function_value_regno_p): New. 3857 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE 3858 and RTX_CODE. 3859 (mmix_function_value_regno_p): Declare. 3860 3861 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix, 3862 invalid for floating point mode result, with fix. 3863 3864Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com> 3865 3866 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld. 3867 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET. 3868 (stage1_build): Likewise. 3869 38702002-10-25 Mike Stump <mrs@apple.com> 3871 3872 Fixes gcc.dg/warn-1.c. 3873 * c-typeck.c (warn_for_assignment): Don't print argument number, 3874 if zero. 3875 3876Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz> 3877 3878 * toplev.c (dump_file_index): Add DFI_ce3. 3879 (dump_file_info): Likewise. 3880 (rest_of_compilation): Run first ifcvt pass before tracer. 3881 38822002-10-25 Steve Ellcey <sje@cup.hp.com> 3883 3884 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove. 3885 38862002-10-25 Richard Henderson <rth@redhat.com> 3887 3888 * real.c (real_to_decimal): If the >1 tens reduction loop results 3889 in a negative exponent, fall into the <1 pten computation. 3890 38912002-10-25 Zack Weinberg <zack@codesourcery.com> 3892 3893 PR middle-end/6994 3894 * c-objc-common.c (inline_forbidden_p): Can not inline 3895 functions containing structures or unions containing VLAs. 3896 * tree-inline.c (walk_tree): For all class 't' nodes, walk 3897 TYPE_SIZE and TYPE_SIZE_UNIT. 3898 (copy_tree_r): Copy types if they are variably modified. 3899 39002002-10-25 Ulrich Weigand <uweigand@de.ibm.com> 3901 3902 * config/s390/s390.md: Remove old-style peepholes. 3903 39042002-10-25 Ulrich Weigand <uweigand@de.ibm.com> 3905 3906 * config/s390/s390.c (s390_decompose_address): Do not range check the 3907 displacement if base or index is the argument pointer register. 3908 39092002-10-24 Hans-Peter Nilsson <hp@bitrange.com> 3910 3911 PR other/3337 3912 PR bootstrap/6763 3913 PR bootstrap/8122 3914 * fixinc/inclhack.def (libc1_G_va_list): New fix. 3915 * fixinc/fixincl.x: Regenerate. 3916 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside 3917 ifndef IN_LIBGCC2. Wrap it together with signal.h and 3918 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1. 3919 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too. 3920 * config.in, configure: Regenerate. 3921 39222002-10-24 Igor Shevlyakov <igor@microunity.com> 3923 3924 * varasm.c (struct rtx_const): Array size 16 for V16QImode. 3925 39262002-10-24 Richard Henderson <rth@redhat.com> 3927 3928 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump. 3929 39302002-10-24 Kazu Hirata <kazu@cs.umass.edu> 3931 3932 * config/h8300/h8300.c (initial_offset): Simplify by using 3933 round_frame_size. 3934 39352002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl> 3936 3937 * doc/install.texi (avr): Update required binutils version. 3938 39392002-10-24 Theodore A. Roth <troth@openavr.org> 3940 3941 * doc/install.texi: Point avr users at more up-to-date information. 3942 39432002-10-24 Ulrich Weigand <uweigand@de.ibm.com> 3944 3945 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2 3946 to pull operands out of the literal pool where possible. 3947 39482002-10-24 Denis Chertykov <denisc@overta.ru> 3949 3950 * config/avr/avr.c (init_cumulative_args): Test fntype for zero. 3951 39522002-10-24 Steve Ellcey <sje@cup.hp.com> 3953 3954 * expr.c (convert_move): If unsignedp is less then zero there 3955 is no equivalent code. 3956 39572002-10-24 Zack Weinberg <zack@codesourcery.com> 3958 3959 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields. 3960 39612002-10-24 Ulrich Weigand <uweigand@de.ibm.com> 3962 3963 * config/s390/s390.h: Rework comments; re-sort target macro definitions 3964 according to the sequence they are defined in the manual. 3965 (POINTER_BOUNDARY): Remove. 3966 39672002-10-24 Kazu Hirata <kazu@cs.umass.edu> 3968 3969 * config/h8300/h8300.c (round_frame_size): Replace 8 with 3970 BITS_PER_UNIT. 3971 39722002-10-24 Kazu Hirata <kazu@cs.umass.edu> 3973 3974 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it 3975 64-bit safe. 3976 (TINY_CONSTANT_ADDRESS_P): Likewise. 3977 39782002-10-24 Richard Henderson <rth@redhat.com> 3979 3980 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True. 3981 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the 3982 vcall offset. 3983 39842002-10-24 Richard Henderson <rth@redhat.com> 3985 3986 PR opt/7944 3987 * reload.c (find_reloads_toplev): Mode of X is not important 3988 when simplifying subregs of constants. 3989 39902002-10-24 Richard Sandiford <rsandifo@redhat.com> 3991 3992 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add 3993 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines. 3994 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0. 3995 (override_options): Base default setting of MASK_SOFT_FLOAT on -march 3996 if MIPS_MARCH_CONTROLS_SOFT_FLOAT. 3997 39982002-10-24 Richard Sandiford <rsandifo@redhat.com> 3999 4000 * optabs.c (expand_binop): Don't reuse the shift target in the 4001 middle of shift sequences. 4002 4003Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz> 4004 4005 * i386.md (abs splitters): Do not produce nested subregs. 4006 4007Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz> 4008 4009 * i386.md (movti_rex64): Fix constraints. 4010 4011Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz> 4012 4013 * i386.md (abssf,absdf): Use vector operands for SSE 4014 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for 4015 vector operand. 4016 40172002-10-23 Ziemowit Laski <zlaski@apple.com> 4018 4019 * objc/objc-act.c (get_static_reference): Remove unneeded 4020 TYPE_BINFO initialization. 4021 (get_object-reference): Likewise. 4022 (build_constructor): Tighten precondition check. 4023 (finish_message_expr): Likewise. 4024 40252002-10-23 Jakub Jelinek <jakub@redhat.com> 4026 4027 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test 4028 after CONST test. 4029 40302002-10-23 Steve Ellcey <sje@cup.hp.com> 4031 4032 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats 4033 in HFAs. 4034 40352002-10-23 Richard Henderson <rth@redhat.com> 4036 4037 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True. 4038 (alpha_output_mi_thunk_osf): Handle vcall_offset. 4039 40402002-10-23 Zack Weinberg <zack@codesourcery.com> 4041 4042 * langhooks.h (struct lang_hooks_for_tree_inlining): Add 4043 var_mod_type_p. 4044 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is 4045 hook_tree_bool_false. 4046 4047 * tree.c (variably_modified_type_p): Moved here from 4048 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for 4049 language-specific cases. Due to this, must weaken some 'if 4050 and only if' checks to merely 'if'. 4051 * tree.h: Prototype variably_modified_type_p. 4052 4053 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end. 4054 40552002-10-23 Ulrich Weigand <uweigand@de.ibm.com> 4056 4057 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove. 4058 * config/s390/s390.c (optimization_options): Disable -fcaller-saves. 4059 4060 * config/s390/s390-protos.h (fp_operand): Remove. 4061 * config/s390/s390.c (fp_operand): Remove. 4062 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P. 4063 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise. 4064 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise. 4065 (movdi_31, movdf_31 splitters): Likewise. 4066 4067 * config/s390/s390.h (IEEE_FLOAT): Remove. 4068 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT. 4069 (INT_REGNO_P): Rename to ... 4070 (GENERAL_REGNO_P): ... this. 4071 (FLOAT_REGNO_P): Rename to ... 4072 (FP_REGNO_P): ... this. 4073 (ADDR_REGNO_P): New macro. 4074 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros. 4075 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove. 4076 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise. 4077 (HARD_REGNO_NREGS): Adapt to macro renaming. 4078 (HARD_REGNO_MODE_OK): Likewise. 4079 40802002-10-23 David Edelsohn <edelsohn@gnu.org> 4081 Geoff Keating <geoffk@apple.com> 4082 4083 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function. 4084 (rs6000_memory_move_cost): New function. 4085 * config/rs6000/rs6000-protos.h: Declare them. 4086 * config/rs6000/rs6000.h: Use them. 4087 40882002-10-23 Ulrich Weigand <uweigand@de.ibm.com> 4089 4090 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when 4091 inlining it into other libgcc2 routines. 4092 (__udivmoddi4): Likewise. 4093 40942002-10-22 Nathanael Nerode <neroden@gcc.gnu.org> 4095 4096 * doc/sourcebuild.texi (Test Suites): Improve. 4097 40982002-10-22 Stan Shebs <shebs@apple.com> 4099 4100 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing 4101 case for Darwin. 4102 41032002-10-22 Jim Wilson <wilson@redhat.com> 4104 4105 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok. 4106 4107Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz> 4108 4109 PR other/8289 4110 * xmmintrin.h: Add const to the argument of loads. 4111 4112 * i386.md (pushv2di): New pattern. 4113 PR target/6890 4114 * xmmintrin.h (_MM_TRANSPOSE4_PS): New. 4115 41162002-10-22 Richard Henderson <rth@redhat.com> 4117 4118 * target.h (gcc_target.asm_out): Merge output_mi_thunk and 4119 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk. 4120 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize. 4121 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove. 4122 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New. 4123 (TARGET_ASM_OUT): Update. 4124 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New. 4125 (hook_bool_tree_hwi_hwi_tree_true): New. 4126 (default_can_output_mi_thunk_no_vcall): New. 4127 * hooks.h: Declare them. 4128 * system.h (ASM_OUTPUT_MI_THUNK): Poison. 4129 4130 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New. 4131 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter. 4132 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c, 4133 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c, 4134 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c, 4135 config/stormy16/stormy16.c: Similarly. 4136 4137 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code. 4138 Handle 64-bit properly. Streamline. 4139 (x86_output_mi_vcall_thunk): Remove. 4140 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit. 4141 (x86_can_output_mi_thunk): New. 4142 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove. 4143 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New. 4144 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk. 4145 4146 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from 4147 output_mi_thunk; make static; always use function_section. 4148 (TARGET_ASM_OUTPUT_MI_THUNK): New. 4149 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New. 4150 (rs6000_ra_ever_killed): Test no_new_pseudos not 4151 targetm.asm_out.output_mi_thunk in conjunction with thunks. 4152 * config/rs6000/rs6000-protos.h: Update. 4153 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove. 4154 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call 4155 xcoffout_declare_function when using rs6000_output_mi_thunk. 4156 4157 * config/s390/s390.c (s390_output_mi_thunk): Rename from 4158 s390_output_mi_vcall_thunk. 4159 (TARGET_ASM_OUTPUT_MI_THUNK): Remove. 4160 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New. 4161 4162 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset. 4163 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New. 4164 * config/vax/vax-protos.h: Update. 4165 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. 4166 4167Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz> 4168 4169 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too. 4170 * i386.h (EXTRA_CONSTRAINT): Recognize 'C' 4171 * i386.md (movti_internal): Use 'C' 4172 4173 * xmmintrin.h (_mm_cmplt_epi*): New. 4174 41752002-10-22 Ulrich Weigand <uweigand@de.ibm.com> 4176 4177 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute. 4178 ("*movdf_64"): Likewise. 4179 ("*lshrdi3_64"): Likewise. 4180 ("blockage"): Add length attribute. 4181 ("lit"): Likewise. 4182 4183Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz> 4184 4185 * i386.md: FIx typo. 4186 (sse2_cvtsi2sd, sse2_pslrdq): Fix template. 4187 (sse2_umulv2siv2di3): Fix predicate. 4188 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3, 4189 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise. 4190 * xmmintrin.h (_mm_mul_epu16): Rename to... 4191 (_mm_mul_epu32): This one. 4192 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New. 4193 4194 (contains_128bit_aligned_vector_p): Undo accidental checkin. 4195 41962002-10-22 Eric Christopher <echristo@redhat.com> 4197 4198 * config/sparc/sparc.h: Add #error. 4199 42002002-10-22 Ulrich Weigand <uweigand@de.ibm.com> 4201 4202 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file. 4203 [s390x-*-linux*]: Likewise. 4204 * config/s390/t-linux: Remove. 4205 * config/s390/s390.h: Include fixdfdi.h when building libgcc2. 4206 4207Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz> 4208 4209 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128. 4210 (ix86_expand_builtin): Fix MASKMOVDQU expasion. 4211 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128. 4212 * i386.md (mmx_punpck?dq): Simplify. 4213 (sse2_pubpcklqdq): Fix. 4214 (sse2_pubpckhqdq): New. 4215 * xmmintrin.h (_mm_unpackhi_epi32): New. 4216 4217 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes. 4218 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo. 4219 42202002-10-22 Nathan Sidwell <nathan@codesourcery.com> 4221 4222 PR c++/7209 4223 * fold_const.c (fold_binary_op_with_conditional_arg): Always 4224 build compound_expr if we used save_expr. 4225 42262002-10-22 Alan Modra <amodra@bigpond.net.au> 4227 4228 * output.h (SECTION_NOTYPE): Define. 4229 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for 4230 init array sections. 4231 (default_elf_asm_named_section): Mind SECTION_NOTYPE. 4232 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also 4233 merge TLS support. 4234 42352002-10-21 Richard Henderson <rth@redhat.com> 4236 4237 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at 4238 the function type, not the return type. 4239 42402002-10-21 Richard Henderson <rth@redhat.com> 4241 4242 * real.c (sticky_rshift_significand): Return inexact, don't 4243 or it in immediately. 4244 (sub_significands): Accept incoming carry. 4245 (div_significands, rtd_divmod): Update for sub_significands change. 4246 (round_for_format): Update for sticky_rshift_significand change. 4247 (do_add): Don't involve the inexact bit in addition, do give the 4248 inexact bit as the subtraction carry-in. 4249 (encode_internal, decode_internal, real_internal_format): New. 4250 * real.h (real_internal_format): Declare. 4251 42522002-10-21 Ulrich Weigand <uweigand@de.ibm.com> 4253 4254 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that 4255 don't define sdiv_qrnnd. 4256 42572002-10-21 Kazu Hirata <kazu@cs.umass.edu> 4258 4259 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify 4260 using IN_RANGE. 4261 (TINY_CONSTANT_ADDRESS_P): Likewise. 4262 4263Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz> 4264 4265 * i386.c (builtin_description): Add punpcklqdq and movdq2q 4266 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di, 4267 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar, 4268 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q, 4269 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd 4270 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored 4271 __builtin_ia32_setzero128. 4272 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA, 4273 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA, 4274 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ. 4275 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU, 4276 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD, 4277 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q, 4278 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ. 4279 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored, 4280 sse2_movq): New patterns. 4281 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix. 4282 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64, 4283 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64, 4284 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16, 4285 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16, 4286 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16, 4287 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions. 4288 (_mm_insert_epi16): Fix. 4289 42902002-10-21 Dale Johannesen <dalej@apple.com> 4291 4292 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle 4293 unsafe math reversals correctly for RTL generation. 4294 (output_cbranch): Replace rs6000_reverse_condition call 4295 by its former definition. 4296 42972002-10-21 Jakub Jelinek <jakub@redhat.com> 4298 4299 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip 4300 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or 4301 from constant pool or LABEL_REFs as sign extended if allow_rip. 4302 Change all +-1GB limits to +-16MB. 4303 (x86_64_general_operand, x86_64_szext_general_operand, 4304 x86_64_nonmemory_operand, x86_64_movabs_operand, 4305 x86_64_szext_nonmemory_operand, x86_64_immediate_operand, 4306 legitimate_address_p, ix86_expand_int_movcc): Update callers. 4307 (local_symbolic_operand): Don't allow offsets bigger than +-16MB 4308 in CM_SMALL_PIC model. 4309 (legitimate_pic_address_disp_p): Don't check offsets before 4310 calling local_symbolic_operand. 4311 (legitimize_pic_address): Force offsets bigger than +-16MB into 4312 register. 4313 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise. 4314 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update 4315 prototype. 4316 4317 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too. 4318 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64. 4319 * configure: Rebuilt. 4320 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS 4321 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF, 4322 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF. 4323 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT 4324 -fpic. 4325 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for 4326 non-pic code if TARGET_64BIT. 4327 (legitimize_address): Generate 64-bit TLS sequences. 4328 (output_pic_addr_const): Support x86-64 TLS operators. 4329 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0. 4330 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT. 4331 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences. 4332 (output_addr_const_extra): Support x86-64 TLS operators. 4333 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic. 4334 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT 4335 unconditionally. 4336 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to... 4337 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT. 4338 (*tls_global_dynamic_sun): Renamed to... 4339 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT. 4340 (tls_global_dynamic): Renamed to... 4341 (tls_global_dynamic_32): ... this. 4342 (tls_global_dynamic_64, *tls_global_dynamic_64): New. 4343 (*tls_local_dynamic_base_dynamic_gnu): Renamed to... 4344 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT. 4345 (*tls_local_dynamic_base_dynamic_sun): Renamed to... 4346 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT. 4347 (tls_local_dynamic_base_dynamic): Renamed to... 4348 (tls_local_dynamic_base_dynamic_32): ... this. 4349 (tls_local_dynamic_base_dynamic_64, 4350 *tls_local_dynamic_base_dynamic_64): New. 4351 (*tls_local_dynamic_once): Renamed to... 4352 (*tls_local_dynamic_32_once): ... this. 4353 43542002-10-21 Ulrich Weigand <uweigand@de.ibm.com> 4355 4356 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3, 4357 __divdi3, __umoddi3, or __moddi3. 4358 43592002-10-21 Ulrich Weigand <uweigand@de.ibm.com> 4360 4361 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code 4362 instead of just opt_index as switch expression. 4363 4364 * calls.c (store_one_arg): Change type of 'excess_align' 4365 to unsigned int. 4366 4367 * profile.c (output_gcov_string): Change type of 'temp' 4368 to size_t. 4369 43702002-10-21 Ulrich Weigand <uweigand@de.ibm.com> 4371 4372 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes. 4373 (__fixunssfdi, __fixsfdi): Likewise. 4374 * config/s390/s390.c (s390_single_hi): Initialize 'value'. 4375 (s390_single_qi): Likewise. 4376 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs. 4377 unsigned comparison warning. 4378 (s390_return_addr_rtx): New function. 4379 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it. 4380 * config/s390/s390.h (RETURN_ADDR_RTX): Use it. 4381 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings. 4382 43832002-10-21 Ulrich Weigand <uweigand@de.ibm.com> 4384 4385 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function. 4386 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook. 4387 (s390_output_mi_thunk): Remove. 4388 (TARGET_ASM_OUTPUT_MI_THUNK): Remove. 4389 43902002-10-21 Kazu Hirata <kazu@cs.umass.edu> 4391 4392 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize. 4393 43942002-10-20 Zack Weinberg <zack@codesourcery.com> 4395 4396 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an 4397 inverted test in the conditional determining the possibility 4398 of sibcalls in PIC mode. 4399 44002002-10-20 Richard Henderson <rth@redhat.com> 4401 4402 * target.h (struct gcc_target): Line wrap. 4403 4404 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static. 4405 (TARGET_ASM_OUTPUT_MI_THUNK): Define here... 4406 * config/alpha/alpha.h: ... not here. 4407 * config/alpha/alpha-protos.h: Update. 4408 4409 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h 4410 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h, 4411 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h, 4412 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h, 4413 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c, 4414 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c, 4415 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h, 4416 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h, 4417 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h, 4418 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h, 4419 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h, 4420 config/sparc/openbsd.h, config/sparc/sparc-protos.h, 4421 config/sparc/sparc.c, config/sparc/sparc.h, 4422 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c, 4423 config/stormy16/stormy16.h: Similarly. 4424 4425 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic 4426 selection logic from call patterns. 4427 44282002-10-20 Mark Mitchell <mark@codesourcery.com> 4429 4430 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo. 4431 44322002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 4433 4434 PR other/8202 4435 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and 4436 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128. 4437 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New. 4438 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New. 4439 44402002-10-20 Roger Sayle <roger@eyesopen.com> 4441 4442 PR c/761 4443 * toplev.c (flag_unsafe_profile_arcs): Remove. 4444 (flag_bounded_pointers): Remove. 4445 (flag_bounds_check): Correct comments. 4446 (lang_independent_options): Remove -funsafe-profile-arcs and 4447 -fbounded-pointers. Correct -fbounds-check comments. 4448 4449 * flags.h: Correct flag_schedule_interblock comments. 4450 (flag_bounded_pointers): Remove prototype. 4451 (flag_bounds_check): Correct comments. 4452 4453 * c-opts.c (c_common_init_options): No need to mark 4454 flag_bounds_check as unspecified. 4455 (c_common_post_options): And no need to set it from 4456 flag_bounded_pointers if its still unspecified. 4457 4458 * doc/invoke.texi: Fix some overfull hboxes in "make dvi". 4459 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock, 4460 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous, 4461 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check. 4462 4463Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com> 4464 Angela Marie Thomas <angela@releasedominatrix.com> 4465 Brendan Kehoe <brendan@zen.org> 4466 Nick Clifton <nickc@redhat.com> 4467 Andrew Haley <aph@redhat.com> 4468 4469 * configure.in (--with-sysroot): New. Don't inhibit libc if 4470 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE 4471 and CROSS_SYSTEM_HEADER_DIR. 4472 * configure: Rebuilt. 4473 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure. 4474 (TARGET_SYSTEM_ROOT): New. 4475 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from 4476 CROSS_SYSTEM_HEADER_DIR. 4477 (install-gcc-tooldir): New target. 4478 (stmp-fixinc): Do not create $(libsubdir), but rather bail out 4479 if SYSTEM_HEADER_DIR does not exist and it's not the default 4480 sys-include directory. 4481 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly. 4482 (install-mkheaders): Likewise. 4483 * gcc.c (target_system_root): New variable. 4484 (add_sysrooted_prefix): New function. 4485 (process_command): Recompute run-time target_system_root from 4486 gcc_exec_prefix, keeping it unchanged if the relocated sysroot 4487 does not exist. 4488 (do_spec_1): Process 'R' spec. 4489 (main): Add md_exec_prefix to exec_prefixes regardless of 4490 startfile_prefix_spec. Use add_sysrooted_prefix for 4491 startfile_prefixes, and don't skip the default ones when cross 4492 compiling with sysroot enabled. Removed unused case of 4493 non-absolute standard_startfile_prefix. 4494 * config/interix.h: Remove the only potential, yet disabled, 4495 occurrence of non-absolute (empty) standard_startfile_prefix. 4496 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static 4497 linking. 4498 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h. 4499 * doc/install.texi (--with-sysroot): Document. 4500 (--with-headers, --with-libs): Deprecate. 4501 45022002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4503 Mark Mitchell <mark@codesourcery.com> 4504 4505 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to 4506 match target.h. 4507 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise. 4508 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise. 4509 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise. 4510 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk, 4511 x86_output_mi_thunk): Likewise. 4512 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise. 4513 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise. 4514 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise. 4515 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise. 4516 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise. 4517 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise. 4518 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk): 4519 Likewise. 4520 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise. 4521 4522 * target.h (gcc_target): Update output_mi_thunk and 4523 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and 4524 vcall_index. 4525 4526 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with 4527 TARGET_ASM_OUTPUT_MI_THUNK in comments. 4528 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it. 4529 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it. 4530 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition. 4531 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update 4532 signature. 4533 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise. 4534 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with 4535 TARGET_ASM_OUTPUT_MI_THUNK in comments. 4536 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define. 4537 (TARGET_ASM_OUTPUT_MI_THUNK): Do define. 4538 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with 4539 TARGET_ASM_OUTPUT_MI_THUNK in comments. 4540 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef 4541 ASM_OUTPUT_MI_THUNK and replace with check of targetm. 4542 4543 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature. 4544 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise. 4545 45462002-10-19 Brad Lucier <lucier@math.purdue.edu> 4547 4548 * real.c (do_add): Fix 0+0 sign corner case. 4549 (do_divide): Fix Inf/0 corner case. 4550 4551Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz> 4552 4553 * i386.c (classify_argument): Pass MMX arguments in memory 4554 (ix86_expand_builtin): Expand proper address mode for cflush. 4555 * i386.md (movdqa): Fix typo. 4556 (sse2_cflush): Accept DImode addresses. 4557 4558 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments. 4559 (_mm_max_sd): Fix pasto. 4560 (_mm_storeh_pd, _mm_storel_pd): Fix. 4561 4562 * i386.c (bdesc_comi): Fix to match specification. 4563 (ix86_expand_sse_comi): Emit the comparison properly. 4564 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi): 4565 Do not use comparison operator. 4566 (vnmaskcmp): Fix template. 4567 4568 * xmmintrin.h (_mm_cvtps_pi16): Fix. 4569 45702002-10-19 Sebastian Pop <s.pop@laposte.net> 4571 4572 * dependence.c : Removed. 4573 * Makefile.in : Remove dependence.o. 4574 4575Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz> 4576 4577 * mmintrin.h (__m64): typedef it to v2si. 4578 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16, 4579 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16, 4580 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64, 4581 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64, 4582 _mm_or_si64, _mm_xor_si64): Add neccesary casts. 4583 * xmmintrin.h (_mm_setzero_si64): Likewise. 4584 4585 * i386.h (ALIGN_MODE_128): Update comment; add missing modes 4586 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros. 4587 4588 PR target/7693 4589 Patch by Shawn Wagner 4590 * mmintrin.h: Replace pi64 by si64. 4591 45922002-10-18 David Edelsohn <edelsohn@gnu.org> 4593 4594 * rs6000.md (movdf_hardfloat32): Order alternatives consistently. 4595 Use length of 4 not *. 4596 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR. 4597 (movdf_softfloat64): Likewise. 4598 (movdi_internal32): Use length of 4 not *. 4599 (movti_power): Same. 4600 (ctrsi, ctrdi): Same. 4601 46022002-10-18 Zack Weinberg <zack@codesourcery.com> 4603 4604 * c-decl.c (start_decl): Point users of the old initialized- 4605 typedef extension at __typeof__. 4606 46072002-10-18 Richard Henderson <rth@redhat.com> 4608 4609 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New. 4610 (real_to_decimal): Re-implement using the logic from the 4611 gcc 3.2 etoasc. Comment heavily. 4612 (div_significands): Simplify loop startup and comparison logic. 4613 46142002-10-18 Mark Mitchell <mark@codesourcery.com> 4615 4616 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL. 4617 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise. 4618 (TARGET_ASM_OUT): Add them. 4619 * target.h (asm_out): Add output_mi_thunk and 4620 output_mi_vcall_thunk. 4621 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4622 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4623 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare. 4624 * config/arm/arm.c (arm_output_mi_thunk): Define. 4625 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4626 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4627 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4628 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4629 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4630 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4631 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust 4632 prototype. 4633 (x86_output_mi_vcall_thunk): Declare. 4634 * config/i386/i386.c (override_options): Clear 4635 output_mi_vcall_thunk in 64-bit mode. 4636 (ix86_fntype_regparm): New function. 4637 (ix86_return_pops_args): Use it. 4638 (ia32_this_parameter): New function. 4639 (x86_output_mi_vcall_thunk): New function. 4640 (x86_output_mi_thunk): Use it 4641 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust. 4642 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define. 4643 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare. 4644 * config/i960/i960.c (i960_output_mi_thunk): New function. 4645 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust. 4646 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare. 4647 * config/ia64/ia64.c (ia64_output_mi_thunk): Define. 4648 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4649 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4650 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function. 4651 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4652 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4653 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4654 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4655 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4656 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4657 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4658 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4659 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4660 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4661 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare. 4662 * config/s390/s390.c (s390_output_mi_thunk): Define. 4663 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4664 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4665 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4666 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4667 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4668 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4669 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare. 4670 * config/vax/vax.c (vax_output_mi_thunk): Define. 4671 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ... 4672 (TARGET_ASM_OUTPUT_MI_THUNK): ... this. 4673 * doc/tm.texi: Adjust documentation. 4674 46752002-10-18 Jason Thorpe <thorpej@wasabisystems.com> 4676 4677 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define 4678 __enable_execute_stack function. 4679 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define 4680 as NETBSD_ENABLE_EXECUTE_STACK. 4681 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto. 4682 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto. 4683 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto. 4684 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto. 4685 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto. 4686 46872002-10-18 Jason Thorpe <thorpej@wasabisystems.com> 4688 4689 * config/i386/i386.c (x86_initialize_trampoline): Emit a call 4690 to __enable_execute_stack with the address of the trampoline 4691 if TRANSFER_FROM_TRAMPOLINE is defined. 4692 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time 4693 constant if building libgcc2. 4694 4695Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz> 4696 4697 * i386.c (pentium4_cost): Fix according to Intel recommendations. 4698 (ix86_memory_move_cost): Fix for 64bit compilation. 4699 47002002-10-17 Roger Sayle <roger@eyesopen.com> 4701 4702 * doc/c-tree.texi: Update description of COND_EXPR tree nodes. 4703 47042002-10-17 Geoffrey Keating <geoffk@apple.com> 4705 4706 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes 4707 in CTR/LR/MQ. 4708 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves 4709 to/from CTR/LR/MQ. 4710 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ. 4711 (movsf_softfloat): Likewise. 4712 47132002-10-17 Janis Johnson <janis187@us.ibm.com> 4714 4715 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS. 4716 47172002-10-17 Jason Thorpe <thorpej@wasabisystems.com> 4718 4719 * config/alpha/alpha.c (alpha_initialize_trampoline): Use 4720 tramp, not addr, to pass the trampoline address to 4721 __enable_execute_stack. 4722 4723Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz> 4724 4725 * mmintrin.h: Guard by __MMX__ 4726 * xmmintrin.h: Guard by __SSE__ 4727 4728 PR other/8062 4729 * xmmintrin.h (_MM_SHUFFLE2): New macro. 4730 (_mm_load*_?d): New functions. 4731 (_mm_set*_?d): New functions. 4732 (_mm_store*_?d): New functions. 4733 4734Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz> 4735 4736 Really commit patch announced at Oct 14 4737 PR c/7344 4738 * predict.c (can_predict_insn_p): New function. 4739 (estimate_probability): Avoid unnecesary work. 4740 (process_note_prediction): Likewise. 4741 * toplev.c (rest_of_compilation): Account early branch prediction pass 4742 as TV_BRANCH_PROB. 4743 4744 PR other/8048 4745 Found by Ian Ollmann 4746 * xmmintrin.h (_mm_shuffle_pd): Fix typo. 4747 (_mm_load?_pd): Likewise. 4748 (_mm_store?_pd): Likewise. 4749 4750 PR target/7386 4751 * i386.c (builtin_description):Drop cmpg[te]s[sd]. 4752 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using 4753 swapped alternative. 4754 4755 PR opt/7630 4756 * reload1.c (reload_inner_reg_of_subreg): New argument output; 4757 (push_reload): Update call. 4758 47592002-10-17 Richard Sandiford <rsandifo@redhat.com> 4760 4761 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines 4762 if using mips/elf.h or mips/elf64.h. 4763 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove. 4764 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove. 4765 47662002-10-16 Aldy Hernandez <aldyh@redhat.com> 4767 4768 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to 4769 SI. 4770 47712002-10-16 Ulrich Weigand <uweigand@de.ibm.com> 4772 4773 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove. 4774 (LPREFIX): Likewise. 4775 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME, 4776 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, 4777 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS, 4778 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, 4779 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h. 4780 4781 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, 4782 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, 4783 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, 4784 BSS_SECTION_ASM_OP): Move from linux.h. 4785 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. 4786 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX. 4787 4788 * config/s390/s390.c (s390_function_profiler): Use 4789 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX. 4790 47912002-10-15 Eric Christopher <echristo@redhat.com> 4792 4793 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once. 4794 * java/parse.y (obtain_incomplete_type): Make pointer 4795 ptr_mode. 4796 47972002-10-15 Richard Henderson <rth@redhat.com> 4798 4799 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS 4800 as arguments. Bound DIGITS by the available buffer size. 4801 (real_to_hexadecimal): Likewise. 4802 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes. 4803 (REAL_VALUE_TO_DECIMAL): Remove. 4804 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c, 4805 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c, 4806 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c, 4807 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, 4808 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h, 4809 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c, 4810 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to 4811 use real_to_decimal directly, and with the proper arguments. 4812 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove. 4813 48142002-10-15 Jim Wilson <wilson@redhat.com> 4815 4816 * reload1.c (merge_assigned_reloads): After converting overlapping 4817 reloads to RELOAD_OTHER, abort if there are now conflicting reloads. 4818 4819 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok. 4820 4821Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz> 4822 4823 * expr.c (do_tablejump): Fix typo in my previous commit. 4824 48252002-10-15 Richard Sandiford <rsandifo@redhat.com> 4826 4827 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}. 4828 48292002-10-15 Ulrich Weigand <uweigand@de.ibm.com> 4830 4831 * config/s390/s390.c (s390_split_branches): Add return 4832 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104. 4833 4834 (find_base_register_in_addr): New function. 4835 (find_base_register_ref): New function. 4836 (replace_base_register_ref): New function. 4837 4838 (struct constant_pool): Add members pool_insn, insns, and anchor. 4839 Remove member last_insn. 4840 (s390_start_pool): Initialize them. 4841 (s390_end_pool): Emit pool placeholder insn. 4842 (s390_add_pool_insn): New function. 4843 (s390_find_pool): Use insns bitmap instead of addresses. 4844 (s390_dump_pool): Replace placeholder insn. Emit anchor. 4845 Replace unspec 104 by local-pool-relative references. 4846 (s390_output_constant_pool): Output anchor label if required. 4847 (s390_output_symbolic_const): Handle unspec 104 and 105. 4848 (s390_add_pool): Remove, replace by ... 4849 (s390_add_constant, s390_find_constant): ... these new functions. 4850 (s390_add_anchor): New function. 4851 4852 (s390_chunkify_pool): Delete, replace by ... 4853 (s390_chunkify_start, s390_chunkify_finish, 4854 s390_chunkify_cancel): ... these new functions. 4855 (s390_optimize_prolog): Add parameter TEMP_REGNO. 4856 Recompute register live data for special registers. 4857 (s390_fixup_clobbered_return_reg): New function. 4858 (s390_machine_dependent_reorg): Rewrite to use new 4859 s390_chunkify_... routines. 4860 4861 config/s390/s390.md ("reload_base"): Rename to ... 4862 ("reload_base_31"): ... this. 4863 ("reload_base_64"): New insn. 4864 ("reload_base2"): Remove. 4865 ("reload_anchor"): New insn. 4866 ("pool"): New insn. 4867 4868 s390.c (s390_pool_overflow): Remove. 4869 s390.h (s390_pool_overflow): Likewise. 4870 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow. 4871 4872Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com> 4873 4874 * sh.md (movv8qi_i+2): Don't split if source is -1. 4875 48762002-10-15 Janis Johnson <janis187@us.ibm.com> 4877 4878 * doc/install.texi: Formatting changes for conformance to HTML 4.01. 4879 48802002-10-15 Ulrich Weigand <uweigand@de.ibm.com> 4881 4882 PR opt/7409 4883 * loop.c (loop_regs_scan): Mark registers used for function 4884 argument passing as MAY_NOT_OPTIMIZE. 4885 4886Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz> 4887 4888 * gcov-io.h (gcov_info): Fix type. 4889 * profile.c (create_profiler): Fix type mismatch. 4890 4891Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz> 4892 4893 * i386.md (movv2di_internal): New pattern. 4894 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate. 4895 (movv2di): New expander. 4896 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands. 4897 4898 * i386.c (ix86_expand_timode_binop_builtin): Delete. 4899 (builtin_description): Add SSE1 logicals; rename SSE2 logicals. 4900 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals. 4901 (ix86_expand_builtin): Likewise. 4902 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2, 4903 sse_andti3, 4904 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2, 4905 sse_andnti3, 4906 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2, 4907 sse_orti3, 4908 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2, 4909 sse_xorti3): Kill. 4910 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3, 4911 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders. 4912 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3, 4913 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns. 4914 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3, 4915 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns. 4916 4917 * xmmintrin.h (__m128i): Define as __v2di. 4918 4919 PR c++/6419 4920 (expand_expr): Use DECL_RTL_SET_P. 4921 49222002-10-14 Roger Sayle <roger@eyesopen.com> 4923 4924 * combine.c (simplify_set): Treat MODE_CC registers like cc0. 4925 49262002-10-14 Roger Sayle <roger@eyesopen.com> 4927 Zack Weinberg <zack@codesourcery.com> 4928 4929 * config/i386/i386.c (k6_cost): Correct typo. 4930 49312002-10-14 Mark Mitchell <mark@codesourcery.com> 4932 4933 PR optimization/6631 4934 * alias.c (objects_must_conflict_p): Check honor_readonly when 4935 examining TYPE_READONLY. 4936 * function.c (assign_stack_temp_for_type): Likewise. 4937 49382002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> 4939 4940 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix): 4941 Swap zero extension arguments. 4942 (umaxhi3): Fix instruction class. 4943 PR target/7211 4944 (prefetch): Fix prefetch instructions. 4945 PR target/7238 4946 (pkwb): Fix output constraint. 4947 49482002-10-14 Alexandre Oliva <aoliva@redhat.com> 4949 4950 * config/mips/mips.c (print_operand): Increase buffer size for 4951 real numbers. 4952 49532002-10-14 Richard Henderson <rth@redhat.com> 4954 4955 PR opt/8165 4956 * gcse.c (adjust_libcall_notes): Revert last change. 4957 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM. 4958 49592002-10-14 Andrew Haley <aph@redhat.com> 4960 4961 * tree-inline.c (remap_block): All local class initialization 4962 flags go in the outermost scope. 4963 (expand_call_inline): Call java_inlining_map_static_initializers. 4964 (expand_call_inline): Call java_inlining_merge_static_initializers. 4965 * java/lang.c (merge_init_test_initialization): New. 4966 (java_inlining_merge_static_initializers): New. 4967 (inline_init_test_initialization): New. 4968 (java_inlining_map_static_initializers): New. 4969 4970 * tree-inline.c (expand_call_inline): Convert retvar to expected 4971 type. 4972 49732002-10-14 Graham Stott <graham.stott@btinternet.com> 4974 4975 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check. 4976 49772002-10-14 Aldy Hernandez <aldyh@redhat.com> 4978 4979 * stmt.c: Fix typo in comment. 4980 4981Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com> 4982 4983 * c-common.c (c_common_type_for_mode): Add V2HImode case. 4984 * tree.c (build_common_tree_nodes_2): Initialize 4985 unsigned_V2HI_type_node and V2HI_type_node. 4986 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE. 4987 (unsigned_V2HI_type_node, V2HI_type_node): Define. 4988 49892002-10-14 Jakub Jelinek <jakub@redhat.com> 4990 4991 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): 4992 Handle TARGET_64BIT. 4993 49942002-10-14 Richard Sandiford <rsandifo@redhat.com> 4995 4996 * config/mips/vr.h (DRIVER_SELF_SPECS): Define. 4997 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32. 4998 (MULTILIB_DIRNAMES): Remove long32. 4999 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs. 5000 (MULTILIB_REDUNDANT_DIRS): Remove. 5001 50022002-10-14 Richard Sandiford <rsandifo@redhat.com> 5003 5004 * doc/tm.texi (DRIVER_SELF_SPECS): Document. 5005 * gcc.c (driver_self_specs): New variable. 5006 (do_self_spec): New function. 5007 (main): Use it to process driver_self_specs. 5008 50092002-10-13 Richard Henderson <rth@redhat.com> 5010 5011 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject 5012 indirect sibcalls when regparm >= 3. 5013 5014 * config/i386/i386.c (sibcall_insn_operand): New. 5015 * config/i386/i386.h (PREDICATE_CODES): Update. 5016 * config/i386/i386-protos.h: Update. 5017 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it. 5018 5019 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node. 5020 50212002-10-12 Roger Sayle <roger@eyesopen.com> 5022 5023 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize 5024 arithmetic right shifts of ~0 during RTL simplifications. 5025 50262002-10-12 Neil Booth <neil@daikokuya.co.uk> 5027 5028 PR preprocessor/7862 5029 PR preprocessor/8190 5030 * gcc.c (cpp_unique_options): Don't delete .d files. 5031 Remove stray whitespace. 5032 50332002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp> 5034 5035 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant. 5036 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise. 5037 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o. 5038 (pdp11_output_function_epilogue, output_ascii): Likewise. 5039 (output_addr_const_pdp11): Likewise. 5040 * pdp11.md (movdi): Use offsetable memory for floating store. 5041 (lshrsi3, negsi2): Delete irrelevant comment. 5042 50432002-10-11 Andreas Bauer <baueran@in.tum.de> 5044 5045 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow 5046 indirect calls to be sibcall optimized. 5047 * config/i386/i386.md (sibcall_1): New. 5048 (call_1): Add no-sibcalls condition. 5049 (sibcall_value_1): New. 5050 (call_value_1): Add no-sibcalls condition. 5051 50522002-10-11 Eric Christopher <echristo@redhat.com> 5053 5054 * output.h (default_valid_pointer_mode): Declare. 5055 * varasm.c (default_valid_pointer_mode): Define. 5056 * target-def.h (TARGET_VALID_POINTER_MODE): Use. 5057 * target.h: Ditto. 5058 * tree.c (build_pointer_type_for_mode): New function. 5059 (build_pointer_type): Use. 5060 (build_reference_type_for_mode): New function. 5061 (build_reference_type): Use. 5062 * tree.h: Declare new functions. 5063 * c-common.c (handle_mode_attribute): Use new functions, check 5064 for type. 5065 * stor-layout.c (layout_type): Depend on machine mode for 5066 REFERENCE_TYPE and POINTER_TYPE. 5067 * dwarf2out.c (simple_type_size_in_bits): Move upward in file. 5068 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE 5069 and REFERENCE_TYPE. 5070 * config/mips/mips.c (mips_valid_pointer_mode): New function. 5071 (TARGET_VALID_POINTER_MODE): Use and define. 5072 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare. 5073 50742002-10-11 Geoffrey Keating <geoffk@apple.com> 5075 5076 * cse.c (mention_regs): Set SUBREG_TICKED to the register number, 5077 not the address of the REG. 5078 (struct cse_reg_info): Make subreg_ticked unsigned. 5079 50802002-10-11 Janis Johnson <janis187@us.ibm.com> 5081 5082 * doc/compat.texi: Add info about C++ libraries. 5083 50842002-10-11 Richard Henderson <rth@redhat.com> 5085 5086 PR opt/8165 5087 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN. 5088 50892002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 5090 5091 * cfganal.c (dfs_enumerate_from): Use PARAMS. 5092 * genautomata.c (output_insn_code_cases): Likewise. 5093 * real.c (real_format): Likewise. 5094 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to 5095 ensure value is promoted before doing subtraction. 5096 5097Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz> 5098 5099 * calls.c (expand_call): Simplify noreturn call. 5100 5101 PR c/7344 5102 * cfgbuild.c (make_edges): Create edge cache when we do have 5103 large jumptable. 5104 * expr.c (do_tablejump): Note size of maximal jumptable. 5105 * function.c (prepare_function_start): Zero out size. 5106 * function.h (function): Add max_jumptable_ents. 5107 5108 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to. 5109 5110Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com> 5111 5112 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI 5113 register for mperm_w operation. 5114 5115Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com> 5116 5117 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from 5118 an integer, use simplify_gen_subreg. 5119 51202002-10-10 Diego Novillo <dnovillo@redhat.com> 5121 5122 * calls.c (flags_from_decl_or_type): Make extern. 5123 (ECF_*): Move ... 5124 * rtl.h (ECF_*): ... here. 5125 (flags_from_decl_or_type): Declare. 5126 51272002-10-10 Roger Sayle <roger@eyesopen.com> 5128 Nathan Sidwell <nathan@codesourcery.com> 5129 5130 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right 5131 shifts of the form -1 >> x. 5132 5133Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz> 5134 5135 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to. 5136 51372002-10-10 Aldy Hernandez <aldyh@redhat.com> 5138 5139 * extend.texi (Vector Extensions): Remove comment about single 5140 element vectors. 5141 51422002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5143 5144 * fold-const.c (size_htab_hash): Use htab_hash_pointer. 5145 * function.c (insns_for_mem_hash): Likewise. 5146 * varasm.c (STRHASH): Likewise. 5147 51482002-10-10 Stuart Hastings <stuart@apple.com> 5149 5150 * cse.c (struct cse_reg_info): Add subreg_ticked. 5151 (SUBREG_TICKED): New. 5152 (get_cse_reg_info): Initialize SUBREG_TICKED. 5153 (mention_regs): Use it. 5154 (invalidate): Set SUBREG_TICKED. 5155 (invalidate_for_call): Likewise. 5156 (addr_affects_sp_p): Likewise. 5157 51582002-10-10 Jakub Jelinek <jakub@redhat.com> 5159 5160 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg 5161 into proper operand. 5162 51632002-10-10 Denis Chertykov <denisc@overta.ru> 5164 5165 * config/ip2k/ip2k.c (function_epilogue): Optimize stack 5166 deallocation. 5167 * config/ip2k/libgcc.S: Combine routines used by function 5168 epilogue. 5169 51702002-10-10 Jim Wilson <wilson@redhat.com> 5171 5172 * cse.c (fold_rtx): Don't perform associative optimization for DIV and 5173 UDIV. 5174 51752002-10-10 David Edelsohn <edelsohn@gnu.org> 5176 5177 * config/rs6000/aix52.h: New file. 5178 * config/rs6000/t-aix52: New File. 5179 * config.gcc (rs6000-ibm-aix5.1.*): New entry. 5180 (rs6000-ibm-aix[56789].*): Default to AIX 5.2. 5181 5182Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz> 5183 5184 PR target/5610 5185 * invoke.texi (-msse-math): Kill 5186 (-msse): Add note to mfpmath=sse. 5187 5188Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz> 5189 5190 PR target/7723 5191 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves. 5192 51932002-10-10 Neil Booth <neil@daikokuya.co.uk> 5194 5195 PR preprocessor/8179 5196 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location 5197 as cc1_options. 5198 (default_compilers): Pass debug options when preprocessing 5199 stdin. 5200 52012002-10-06 Richard Henderson <rth@redhat.com> 5202 5203 * toplev.c (rest_of_compilation): Revert opt/2960 change. 5204 5205Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz> 5206 5207 * i386.c (*_cost): Add branch costs. 5208 (override_options): set ix86_branch_cost. 5209 (ix86_expand_int_movcc): Use BRANCH_COST. 5210 * i386.h (costs): Add branch_cost. 5211 52122002-10-09 Zack Weinberg <zack@codesourcery.com> 5213 5214 PR c/7353 5215 * c-decl.c (start_decl): Unconditionally issue error for 5216 'typedef foo = bar'. 5217 (finish_decl): Remove special case for TYPE_DECL with initializer. 5218 5219 * doc/extend.texi: Delete "Naming Types" section. Change all 5220 cross-references to that section to refer to "Typeof" instead. 5221 Add the useful safe-max()-macro example from "Naming Types" to 5222 "Typeof", rewritten using that extension. Add some compatibility 5223 notes to "Typeof." 5224 52252002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5226 5227 * loop.c: Revert 2002-08-15 change. 5228 (LOOP_REGNO_NREGS): Ensure type is int. 5229 52302002-10-09 David Edelsohn <edelsohn@gnu.org> 5231 5232 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn 5233 which copies first FPR and clears second. 5234 (extendsftf2): Same. 5235 (floatditf2): Fix typo. 5236 (floatsitf2): Same. 5237 (fix_trunctfdi2): Same. 5238 (fix_trunctfsi2): Same. 5239 52402002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5241 5242 * conflict.c (arc_hash): Change return type to hashval_t. 5243 * cselib.c (get_value_hash): Likewise. 5244 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash, 5245 state_hash, automata_list_hash): Likewise. 5246 * read-rtl.c (def_hash): Likewise. 5247 * tree.c (type_hash_hash): Likewise. 5248 52492002-10-08 Aldy Hernandez <aldyh@redhat.com> 5250 5251 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call 5252 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes. 5253 5254Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com> 5255 5256 * sh.md (ffssi2): Fix emitted code. 5257 52582002-10-09 Ulrich Weigand <uweigand@de.ibm.com> 5259 5260 * cse.c (insn_live_p): Pass insn pattern, not full insn 5261 to may_trap_p. 5262 52632002-10-09 Neil Booth <neil@daikokuya.co.uk> 5264 5265 * cppmacro.c (paste_tokens): Only allow / to paste with =. 5266 52672002-10-09 David Edelsohn <edelsohn@gnu.org> 5268 5269 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on 5270 64-bit hosts. 5271 (movtf_internal): Reference correct displacement for second value 5272 in memory. 5273 (movtf splitter): Correct generation of constants in 64-bit mode. 5274 52752002-10-09 Alan Modra <amodra@bigpond.net.au> 5276 5277 * libgcc2.c (__floatdisf): Properly cure double rounding. 5278 52792002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net> 5280 5281 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__. 5282 * doc/cpp.texi (Common Predefined Macros): Document. 5283 52842002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net> 5285 5286 PR doc/7484 5287 * doc/invoke.texi (Option Summary): List 5288 -Wmissing-declarations as a C only option. 5289 52902002-10-08 Roger Sayle <roger@eyesopen.com> 5291 5292 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize 5293 left and right rotates of ~0, i.e. integer_all_onesp (arg0). 5294 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero. 5295 5296Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz> 5297 5298 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs, 5299 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global 5300 variables. 5301 (safe_vector_operand): Update sse_clrv4sf call. 5302 (ix86_expand_buildin): Likewise 5303 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs, 5304 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare. 5305 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS, 5306 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New 5307 macros. 5308 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi, 5309 movv4si): Obey the new flags. 5310 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid 5311 reformating penalty. 5312 (anddf, cmov patterns): Avoid reformating by first converting. 5313 (sse_cvtsd2ss): Fix predicate. 5314 (sse2_clrti): Fix mode, 5315 (sse_clrv4sf): Avoid unspec. 5316 53172002-10-08 Jakub Jelinek <jakub@redhat.com> 5318 5319 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove 5320 mno-app-regs|mcmodel=medany. 5321 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt. 5322 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove. 5323 (CRTSTUFF_T_CFLAGS): Define. 5324 53252002-10-08 Roger Sayle <roger@eyesopen.com> 5326 5327 PR target/8087 5328 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant 5329 pool references that are constructed using LO_SUM. 5330 53312002-10-08 Nathan Sidwell <nathan@codesourcery.com> 5332 5333 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to 5334 -Wall. 5335 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak 5336 message. 5337 * flags.h (warn_strict_aliasing): Declare. 5338 * toplev.c (warn_strict_aliasing): Define. 5339 (lang_independent_options): Add it. 5340 * doc/invoke.texi (-Wstrict-aliasing): Document it. 5341 53422002-10-08 Zack Weinberg <zack@codesourcery.com> 5343 5344 * system.h (GCCBUGURL): Delete. 5345 * version.c (bug_report_url): New. Add commentary about 5346 modifying both these strings in modified distributions. 5347 * version.h: Declare bug_report_url. 5348 5349 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with 5350 bug_report_url. 5351 53522002-10-08 Nick Clifton <nickc@redhat.com> 5353 5354 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to 5355 convert uint64_t into __ev64_opaque__. 5356 (__ev_set_acc_s64): Likewise, but using signed types. 5357 53582002-10-08 Ulrich Weigand <uweigand@de.ibm.com> 5359 5360 * config/s390/s390.md ("*doloop_si_long"): Add missing operand. 5361 ("*doloop_di_long"): Likewise. 5362 5363Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz> 5364 5365 * print-rtl.c (print_rtx): Increase buffer size for real numbers. 5366 53672002-10-08 Richard Sandiford <rsandifo@redhat.com> 5368 5369 * config/mips/mips.md (define_attr cpu): Add r4111. 5370 53712002-10-08 Anthony Green <green@redhat.com> 5372 5373 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields. 5374 53752002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 5376 5377 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer 5378 for REAL_VALUE_TO_DECIMAL output. 5379 53802002-10-07 Richard Henderson <rth@redhat.com> 5381 5382 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a 5383 function; cleanup PLUS case by using recursion. Update all users. 5384 (NONZERO_BASE_PLUS_P): Remove. 5385 (find_comparison_args): Use rtx_addr_can_trap_p instead. 5386 (fold_rtx): Use nonzero_address_p. 5387 * rtl.h (nonzero_address_p): Declare. 5388 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF. 5389 (rtx_addr_can_trap_p): Likewise. 5390 (nonzero_address_p): New. 5391 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove. 5392 (simplify_relational_operation): Use nonzero_address_p. 5393 53942002-10-07 David Edelsohn <edelsohn@gnu.org> 5395 5396 * config/rs6000/rs6000.c (rs6000_override_options): Set 5397 real_format_for_mode for IBM extended format, if enabled. 5398 (easy_fp_constant): Add TFmode. 5399 (rs6000_legitimize_address): Add TFmode. 5400 (rs6000_legitimate_address): Same. 5401 (function_arg_advance): TFmode uses two FPRs. 5402 (rs6000_emit_prologue): Fix warning. 5403 (rs6000_output_function_epilogue): Add TFmode. 5404 (output_toc): Add TFmode. 5405 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode. 5406 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode. 5407 * rs6000.md (movtf splitter): Load TFmode constant. 5408 54092002-10-07 Dale Johannesen <dalej@apple.com> 5410 5411 * rtl.h: Add NOTE_PRECONDITIONED. 5412 * unroll.c: Set it. 5413 * loop.c: Set loop_info->preconditioned from it. 5414 * doloop.c: Permit doloop treatment when loop_info->preconditoned. 5415 54162002-10-07 Richard Henderson <rth@redhat.com> 5417 5418 * config/i960/i960.c (i960_setup_incoming_varargs): Create a 5419 new rtx for comparing the argument pointer against zero. 5420 (i960_va_start): Similarly. 5421 54222002-10-07 Richard Henderson <rth@redhat.com> 5423 5424 * config/i960/i960.md (*): Use TFmode, not XFmode. 5425 * config/i960/i960.c (*): Likewise. 5426 (i960_arg_size_and_align): Remove XFmode alignment hack. 5427 (i960_round_align): Merge code from ROUND_TYPE_ALIGN. 5428 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96. 5429 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise. 5430 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove. 5431 54322002-10-07 Richard Henderson <rth@redhat.com> 5433 5434 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode 5435 entry points; use void return value and argument list. 5436 54372002-10-06 Andreas Bauer <baueran@in.tum.de> 5438 5439 * calls.c (expand_call): Fix function-is-volatile check. 5440 54412002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp> 5442 5443 * t-pdp11: Add MULTILIB support for msoft-float. 5444 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case. 5445 5446 * t-pdp11: Add LIB2FUNCS_EXTRA. 5447 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit, 5448 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename 5449 'fldd' to 'ldd', rename 'fstd' to 'std'. 5450 (pdp11_output_function_epilogue): Likewise. 5451 (output_move_quad): Make the comment gas compatible. 5452 (output_ascii): Add preceding 0 to the octal constant. 5453 (print_operand_address): Add pre_modify, post_modify. 5454 (output_addr_const_pdp11): Add preceding 0 to the octal constant. 5455 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case 5456 with the indication of Paul Koning. 5457 (PRINT_OPERAND): Fix floating constant. 5458 * pdp11.md (movdi): Restrict matching pattern. 5459 (movqi): Generalize the matching pattern. 5460 (movdf): Restrict matching pattern. 5461 (zero_extendqihi2): Change constant representation. 5462 (floatsidf2): Fix wrong operands. 5463 (addqi3): Fix wrong instruction name. 5464 (subqi3): Fix wrong instruction name. 5465 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'. 5466 (xorsi3): Fix wrong insn. 5467 (one_cmplqi2): Add two operand pattern. 5468 (lsrsi3): New. 5469 (negsi2): New. 5470 (call): Add register indirect case. 5471 (mod): Fix wrong subreg. 5472 54732002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr> 5474 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 5475 5476 PR c/7411 5477 * expr.c (expand_expr) [PLUS]: Simplify after the operands 5478 have been expanded in EXPAND_NORMAL mode. 5479 54802002-10-06 Richard Henderson <rth@redhat.com> 5481 5482 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint. 5483 54842002-10-06 Richard Henderson <rth@redhat.com> 5485 5486 PR optimization/2960 5487 * toplev.c (rest_of_compilation): Don't copy_loop_headers if 5488 optimize_size. 5489 54902002-10-06 Alexandre Oliva <aoliva@redhat.com> 5491 5492 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override 5493 previously definitions. 5494 54952002-10-06 Frank Ch. Eigler <fche@redhat.com> 5496 5497 * cppinit.c (init_standard_includes, parse_option): Use strncmp. 5498 * c-opts.c (find_opt): Similarly. 5499 5500Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz> 5501 5502 * athlon.md: rewrite to DFA. 5503 * i386 (ix86_adjust_cost): Drop memory latency code. 5504 (ia32_use_dfa_pipeline_interface): Return true for Athlon. 5505 55062002-10-05 Jakub Jelinek <jakub@redhat.com> 5507 5508 * gcc.c (set_multilib_dir): Don't access *end. 5509 Use memcpy instead of strncpy. Don't write beyond malloced buffer. 5510 (print_multilib_info): Don't show paths starting with ".:". 5511 * genmultilib: Add new option, "yes" if multilibs are enabled. 5512 Update comments. If multilibs not enabled, print .:${osdirout} 5513 for each directory. If multilibs are enabled, always print 5514 ${dirout}:${osdirout}, even if the two are the same. 5515 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib. 5516 Pass all MULTILIB_* variables to genmultilib even if 5517 --disable-multilib but MULTILIB_OSDIRNAMES is not empty. 5518 55192002-10-04 Zack Weinberg <zack@codesourcery.com> 5520 5521 * gcc.c (process_command): Set .validated for -pipe. Correct 5522 grammar in comment. 5523 55242002-10-04 Bruce Korb <bkorb@gnu.org> 5525 5526 * fixinc/inclhack.def(hpux11_abs): use format fix 5527 * fixinc/fixincl.x: regenerate 5528 * fixinc/tests/base/stdlib.h: accommodate new fix test 5529 5530Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz> 5531 5532 * c-common.c (cb_register_builtins): Use really_no_inline. 5533 55342002-10-04 David Edelsohn <edelsohn@gnu.org> 5535 5536 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to 5537 copied instruction if the note is not loop invariant. 5538 55392002-10-04 Loren J. Rittle <ljrittle@acm.org> 5540 5541 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system. 5542 55432002-10-04 Steve Ellcey <sje@cup.hp.com> 5544 5545 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld, 5546 and -mhp-ld options to list of options. Add -mgnu-ld 5547 and -mhp-ld option descriptions. 5548 55492002-10-04 Steve Ellcey <sje@cup.hp.com> 5550 5551 * fixinc/inclhack.def (hpux11_abs): New. 5552 (stdio_va_list): change __va_list__ to __gnuc_va_list. 5553 * fixinc/fixincl.x: Rebuild. 5554 55552002-10-04 Roger Sayle <roger@eyesopen.com> 5556 5557 * config/i386/i386.h (processor_costs): Add new fields fadd, 5558 fmul, fdiv, fabs, fchs and fsqrt to costs structure. 5559 (RTX_COSTS): Use these fields to determine the RTX costs 5560 of floating point addition/subtraction, multiplication, 5561 division, fabs, negation and square root respectively. 5562 * config/i386/i386.c (size_cost): Provide instruction sizes 5563 for these new fields. 5564 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost, 5565 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle 5566 counts for these new fields for all x86 processor variants. 5567 55682002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5569 5570 * mips.c (mips_const_double_ok): Delete unused variable. 5571 5572 * gengtype.c (rtx_next): Change type to int. 5573 55742002-10-04 Andreas Jaeger <aj@suse.de> 5575 5576 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value. 5577 55782002-10-04 Richard Henderson <rth@redhat.com> 5579 5580 * real.h (SIGNIFICAND_BITS): Add one more word. 5581 (CONST_DOUBLE_FORMAT): Accomodate 6 words. 5582 * real.c (times_pten): New. 5583 (real_to_decimal, real_from_string): Use it. 5584 (sticky_rshift_significand): Use & to find modulus. 5585 (rshift_significand, lshift_significand): Likewise. 5586 (do_divide): Apply sticky bit after normalization. 5587 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN. 5588 55892002-10-03 Andreas Bauer <baueran@in.tum.de> 5590 5591 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove. 5592 (TARGET_FUNCTION_OK_FOR_SIBCALL): New. 5593 55942002-10-03 Andreas Jaeger <aj@suse.de> 5595 5596 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t 5597 to unsigned long, adjust printf format string. 5598 (output_mangled_typename): Likewise. 5599 56002002-10-03 Jason Thorpe <thorpej@wasabisystems.com> 5601 5602 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf. 5603 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New. 5604 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL, 5605 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME. 5606 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX. 5607 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment. 5608 * config/vax/elf.h (FUNCTION_PROFILER): Remove. 5609 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount". 5610 56112002-10-03 Mark Mitchell <mark@codesourcery.com> 5612 5613 * doc/invoke.texi (-Wabi): Document mangling bug. 5614 56152002-10-04 Alan Modra <amodra@bigpond.net.au> 5616 5617 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a 5618 name for the tbtab label that depends on the function asm name. 5619 Don't output tbtab label unless optional_tbtab. 5620 (output_mi_thunk): Formatting. 5621 56222002-10-03 Richard Henderson <rth@redhat.com> 5623 5624 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ... 5625 * config/m68k/m68k.c (override_options): ... here. 5626 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove. 5627 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove. 5628 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove. 5629 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove. 5630 56312002-10-03 Richard Henderson <rth@redhat.com> 5632 5633 * real.h (struct real_value): Use ENUM_BITFIELD. 5634 56352002-10-03 Richard Henderson <rth@redhat.com> 5636 5637 * config/i960/i960.md (call, call_value): Use emit_call_insn. 5638 56392002-10-03 Steve Ellcey <sje@cup.hp.com> 5640 5641 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New. 5642 56432002-10-03 Steve Ellcey <sje@cup.hp.com> 5644 5645 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld. 5646 * config/pa/pa.h (MASK_GNU_LD): New. 5647 (TARGET_GNU_LD): New. 5648 * config/pa/pa64-hpux.h (LINK_SPEC): Set based 5649 on gnu-ld and MASK_GNU_LD. 5650 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags. 5651 5652Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz> 5653 5654 * i386.c (athlon_cost): Fix the move costs. 5655 5656Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz> 5657 5658 * final.c (final): Use symbol name as function name for profiling. 5659 * profile.c (get_exec_counts): Likewise. 5660 (branch_prob): Likewise. 5661 56622002-10-03 Jakub Jelinek <jakub@redhat.com> 5663 5664 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype. 5665 56662002-10-03 Jakub Jelinek <jakub@redhat.com> 5667 5668 * gcc.c (print_multi_os_directory): New variable. 5669 (option_map): Support --print-multi-os-directory. 5670 (struct prefix_list): Add os_multilib field. 5671 (multilib_os_dir): New variable. 5672 (static_specs): Add multilib_options. 5673 (find_a_file): Add multilib argument. Search in GCC or OS multilib 5674 subdirs if nonzero. 5675 (read_specs, execute): Update callers. 5676 (find_file): Likewise. Don't prefix name with multilib_dir, instead 5677 pass 1 as multilib option. 5678 (display_help): Include --print-multi-os-directory. 5679 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib. 5680 (process_command): Update callers. Handle --print-multi-os-directory. 5681 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is 5682 set. 5683 (main): Update find_a_file and add_prefix callers. 5684 Handle print_multi_os_directory. 5685 (struct mdswitchstr): New. 5686 (mdswitches, n_mdswitches): New variables. 5687 (used_arg): Add MULTILIB_DEFAULT switches too if they are not 5688 present on the command line nor their mutually incompatible 5689 switches. 5690 (default_arg): Optimize. 5691 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches 5692 array. 5693 (print_multilib_info): Only print GCC multilib dir name, not OS 5694 multilib dirname. 5695 * genmultilib: Add osdirnames parameter. Output multilib_options 5696 variable. If osdirnames is specified, output dirnames as 5697 dirname:osdirname. 5698 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory 5699 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES 5700 to compute libgcc_s soname and install path. 5701 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of 5702 SHLIB_SLIBDIR_SUFFIXES to mklibgcc. 5703 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib 5704 argument. 5705 5706 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set. 5707 (SHLIB_SLIBDIR_SUFFIXES): Remove. 5708 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64, 5709 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove. 5710 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32 5711 and -m64. 5712 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set. 5713 (SHLIB_SLIBDIR_SUFFIXES): Remove. 5714 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove. 5715 (STARTFILE_ARCH_SPEC): Remove. 5716 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set. 5717 (SHLIB_SLIBDIR_SUFFIXES): Remove. 5718 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove. 5719 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set. 5720 (SHLIB_SLIBDIR_SUFFIXES): Remove. 5721 5722Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz> 5723 5724 * predict.c (choose_function_section): Avoid choice for linkonce functions. 5725 5726Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz> 5727 5728 * i386.md (lea to mul peep2): Fix condition. 5729 57302002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca> 5731 5732 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro. 5733 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define. 5734 57352002-10-02 David Mosberger-Tang <David.Mosberger@acm.org> 5736 5737 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with 5738 attribute "unused". 5739 5740 * config/t-libunwind: Mention unwind-sjlj.c. 5741 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__ 5742 to #ifndef __USING_SJLJ_EXCEPTIONS__. 5743 5744 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions 5745 before inclusion of config.gcc, but after configuring the compiler etc. 5746 Determine default value for --enable-libunwind-exceptions based on 5747 whether the host has a libunwind library (not guaranteed to be correct, 5748 but it's a reasonable first guess and can always be overridden with an 5749 explicit --enable/disable-libunwind-exceptions. 5750 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a 5751 tmake_file when $use_libunwind_exceptions is enabled. 5752 * Makefile.in: Update comment: LIB2ADDEH is updated not just by 5753 ia64 (e.g., config/t-linux also updates it). 5754 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind 5755 along with the shared version of libgcc since the latter requires 5756 the former. 5757 * unwind-libunwind.c: New file. 5758 * config/t-libunwind: Ditto. 5759 57602002-10-02 Nathanael Nerode <neroden@gcc.gnu.org> 5761 5762 * config.gcc: Remove support for vax-*-vms*. 5763 * config/vax/vms.h: Remove. 5764 * config/vax/xm-vms.h: Remove. 5765 * config/vax/vax-protos.h: Remove VMS-specific code. 5766 * config/vax/vax.c: Remove VMS-specific code. 5767 57682002-10-02 Richard Henderson <rth@redhat.com> 5769 5770 PR opt/7124 5771 * config/i386/i386.c (ix86_register_move_cost): Increase cost 5772 for secondary_memory_needed pairs. 5773 57742002-10-02 Nathanael Nerode <neroden@gcc.gnu.org> 5775 5776 * doc/vms.texi: Blow away false include file section. 5777 57782002-10-02 Roger Sayle <roger@eyesopen.com> 5779 5780 PR optimization/6627 5781 * toplev.c (force_align_functions_log): New global variable. 5782 * flags.h (force_align_functions_log): Add extern prototype. 5783 * varasm.c (assemble_start_function): Use it to force minimum 5784 function alignment. 5785 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct 5786 minimum function alignment to one byte. 5787 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in 5788 the least significant bit of vtable member function pointers. 5789 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to 5790 here from cp/cp-tree.h. 5791 5792Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz> 5793 5794 * i386.c (print_operand_address): Use RIP addressing for offsetted 5795 label refs too. 5796 57972002-09-30 David S. Miller <davem@redhat.com> 5798 5799 PR middle-end/7151 5800 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs. 5801 (movdi reg/reg split): Match only on sparc32, and v9 when int regs. 5802 58032002-10-01 Andreas Bauer <baueran@in.tum.de> 5804 5805 * calls.c (expand_call): Remove the `no indirect check' 5806 for sibcall optimization; use function_ok_for_sibcall 5807 target hook; refine check for `function is volatile'. 5808 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition. 5809 * hooks.c (hook_tree_tree_bool_false): New. 5810 * hooks.h (hook_tree_tree_bool_false): Declare. 5811 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New. 5812 (TARGET_INITIALIZER): Add it. 5813 * target.h (struct gcc_target): Add function_ok_for_sibcall. 5814 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New. 5815 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly. 5816 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5817 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall): 5818 Remove function declaration. 5819 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make 5820 function static and accept another argument of type `tree'. 5821 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly. 5822 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5823 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5824 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New. 5825 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly. 5826 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5827 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5828 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition. 5829 * config/pa/pa.c: (pa_function_ok_for_sibcall): New. 5830 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly. 5831 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5832 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall): 5833 Remove function declaration. 5834 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall): 5835 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall; 5836 rename first argument to `decl'; accept another argument 5837 of type `tree'; make static. 5838 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly. 5839 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5840 * config/sh/sh.c: (sh_function_ok_for_sibcall): New. 5841 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly. 5842 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5843 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New. 5844 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly. 5845 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5846 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove. 5847 58482002-10-01 Roger Sayle <roger@eyesopen.com> 5849 5850 * unroll.c (loop_iterations): Revert 2002-09-08 change. 5851 58522002-10-01 Richard Henderson <rth@redhat.com> 5853 5854 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0. 5855 (real_to_hexadecimal): Likewise. 5856 * print-rtl.c (print_rtx): If we are linked with real.c, don't 5857 dump the XWINT fields of a floating point CONST_DOUBLE. 5858 58592002-10-01 Jason Thorpe <thorpej@wasabisystems.com> 5860 5861 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call. 5862 58632002-10-01 Richard Henderson <rth@redhat.com> 5864 5865 * calls.c (precompute_register_parameters): Force non-legitimate 5866 constants into pseudos. 5867 58682002-10-01 Nick Clifton <nickc@redhat.com> 5869 5870 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand 5871 to assembler template. 5872 58732002-10-01 Richard Henderson <rth@redhat.com> 5874 5875 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement 5876 for TLS debug info to !DECL_EXTERNAL. 5877 58782002-10-01 Matt Thomas <matt@3am-software.com> 5879 Jason Thorpe <thorpej@wasabisystems.com> 5880 5881 * config.gcc (vax-*-netbsdelf*): Enable configuration. 5882 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only 5883 if not already defined. 5884 * config/vax/elf.h: New file. 5885 * config/vax/netbsd-elf.h: New file. 5886 * config/vax/vax.c: Include "debug.h". 5887 (vax_output_function_prologue): Add dwarf2 support. Use 5888 MAIN_NAME_P when checking for VMS_TARGET stack adjust. 5889 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for 5890 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767], 5891 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1]. 5892 (VAX_ISTREAM_SYNC): Remove. 5893 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream. 5894 (JUMP_TABLES_IN_TEXT_SECTION): Define. 5895 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer. 5896 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL 5897 and assemble_name. 5898 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. 5899 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'. 5900 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'. 5901 (INCOMING_RETURN_ADDR_RTX): Define. 5902 * config/vax/vax.md (VUNSPEC_BLOCKAGE) 5903 (VUNSPEC_SYNC_ISTREAM): Define. 5904 (blockage): Use VUNSPEC_BLOCKAGE. 5905 (sync_istream): New insn. 5906 59072002-10-01 Richard Henderson <rth@redhat.com> 5908 5909 * config/vax/vax.md (call_pop, *call_pop, call_value_pop) 5910 (*call_value_pop, call, call_value): Add dwarf2 EH support. 5911 (*call): New insn. 5912 59132002-10-01 Nathan Sidwell <nathan@codesourcery.com> 5914 5915 PR c/8083 5916 * c-typeck.c (build_c_cast): Warn about type punning which breaks 5917 type based aliasing. 5918 59192002-10-01 Mark Mitchell <mark@codesourcery.com> 5920 5921 * stor-layout.c (update_alignment_for_field): New function. 5922 (place_union_field): Use it. 5923 (place_field): Likewise. 5924 59252002-10-01 Nathan Sidwell <nathan@codesourcery.com> 5926 5927 PR other/8077 5928 * gcc.c (cc1_options): Add space on -auxbase-strip. 5929 59302002-10-01 Jim Wilson <wilson@redhat.com> 5931 5932 * config/v850/v850.h (EPILOGUE_USES): Define. 5933 59342002-09-30 Andrew Haley <aph@redhat.com> 5935 5936 * flow.c (insn_dead_p): When using non-call-exceptions, don't 5937 eliminate insns that may trap. 5938 * cse.c (insn_live_p): Likewise. 5939 59402002-10-01 Richard Sandiford <rsandifo@redhat.com> 5941 5942 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120. 5943 (TARGET_MIPS4121): Rename to TARGET_MIPS4120. 5944 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120. 5945 * config/mips/mips.md: Apply same renaming here. 5946 59472002-10-01 Richard Sandiford <rsandifo@redhat.com> 5948 5949 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove. 5950 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320. 5951 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry. 5952 * config/mips/mips.md (define_attr cpu): Remove r4320. 5953 Remove vr4320 scheduler and uses of TARGET_MIPS4320. 5954 59552002-10-01 Richard Sandiford <rsandifo@redhat.com> 5956 5957 * config/mips/mips.c (mips16_strings): New variable. 5958 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every 5959 symbol in mips16_strings. Free the list. 5960 (mips_encode_section_info): Keep track of local strings. 5961 59622002-10-01 Richard Sandiford <rsandifo@redhat.com> 5963 5964 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands. 5965 (sordered_df, sordered_sf): Remove. 5966 * config/mips/mips.c (get_float_compare_codes): New fn. 5967 (gen_int_relational, gen_conditional_move): Use it. 5968 59692002-10-01 Richard Sandiford <rsandifo@redhat.com> 5970 5971 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare. 5972 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand. 5973 * config/mips/mips.c (fcc_register_operand): New function. 5974 (mips_emit_fcc_reload): New function, extracted from reload_incc. 5975 (override_options): Allow TFmode values in float registers 5976 if ISA_HAS_8CC. 5977 * cnfig/mips/mips.md (reload_incc): Change destination prediate 5978 to fcc_register_operand. Remove misleading source constraint. 5979 Use mips_emit_fcc_reload. 5980 (reload_outcc): Duplicate reload_incc. 5981 59822002-09-30 Zack Weinberg <zack@codesourcery.com> 5983 5984 * gcc.c (validate_switches): Handle all new forms of spec 5985 syntax introduced recently. Now returns a char *. 5986 (validate_all_switches): Repetitive logic broken out to... 5987 (validate_switches_from_spec): ...here. 5988 * mklibgcc.in: Don't @-flag commands to generate .oS files. 5989 59902002-09-30 Ulrich Weigand <uweigand@de.ibm.com> 5991 5992 * longlong.h: Partially synchronize with GMP-4.1 version: 5993 Use i370 definitions also for s390. 5994 Add generic definition of umul_ppmm in terms of smul_ppmm. 5995 [s390] (umul_ppmm): Remove. 5996 [s390] (smul_ppmm): Fix incorrect assembler constraints. 5997 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x. 5998 59992002-09-30 Bob Wilson <bob.wilson@acm.org> 6000 6001 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS): 6002 Add new RL_REGS register class. 6003 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS): 6004 Call xtensa_preferred_reload_class for both input and output reloads. 6005 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class. 6006 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS 6007 instead of either AR_REGS or GR_REGS classes. 6008 (xtensa_secondary_reload_class): Use new RL_REGS class. 6009 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update. 6010 60112002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca> 6012 6013 * pa.c (hppa_encode_label): Don't drop '*' from function labels. 6014 (pa_strip_name_encoding): Strip '@' and '*', in that order. 6015 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when 6016 there is a '*' prefix in NAME. 6017 6018Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz> 6019 6020 * reload.c (push_reload): Handle subregs and secondary memory. 6021 * reload1.c (gen_reload): Likewise. 6022 6023 * jump.c (reg_or_subregno): New function. 6024 * rtl.h (reg_or_subregno): Declare 6025 * unroll.c (find_splittable_givs): Handle subregs. 6026 60272002-09-30 Mark Mitchell <mark@codesourcery.com> 6028 6029 * store-layout.c (finish_record_layout): Add free_p parameter. 6030 (layout_type): Pass it. 6031 * tree.h (finish_record_layout): Update prototype. 6032 6033Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz> 6034 6035 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__. 6036 6037 * gcse.c (cprop_jump): Check that the register has not 6038 been modified 6039 (cprop_jump): Likewise. 6040 60412002-09-30 Richard Earnshaw <rearnsha@arm.com> 6042 6043 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb. 6044 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know 6045 that we have a SImode access, and only then if reload hasn't completed; 6046 for all other cases, use LO_REGS. 6047 60482002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6049 6050 * openbsd.h: Fix typo in last change. 6051 60522002-09-29 Richard Henderson <rth@redhat.com> 6053 6054 * real.c (real_from_string): Apply sign last. Tidy exponent handling. 6055 60562002-09-29 Richard Henderson <rth@redhat.com> 6057 6058 PR c/8002 6059 * combine.c (force_to_mode): Handle FLOAT_MODE destinations 6060 for CONST_INT. 6061 60622002-09-29 David Edelsohn <edelsohn@gnu.org> 6063 6064 * real.h (ibm_extended_format): Declare. 6065 * real.c (encode_ibm_extended, decode_ibm_extended): New 6066 functions. 6067 60682002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6069 6070 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype. 6071 6072 * ia64.c (ia64_hpux_asm_file_end): Const-ify. 6073 60742002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca> 6075 6076 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs. 6077 60782002-09-29 Kazu Hirata <kazu@cs.umass.edu> 6079 6080 * builtins.def: Fix comment formatting. 6081 * c-common.def: Likewise. 6082 * cfgcleanup.c: Likewise. 6083 * combine.c: Likewise. 6084 * gengtype.c: Likewise. 6085 * params.def: Likewise. 6086 * predict.def: Likewise. 6087 * rtl.def: Likewise. 6088 * stab.def: Likewise. 6089 * stor-layout.c: Likewise. 6090 * tree.def: Likewise. 6091 * config/darwin.c: Likewise. 6092 * config/darwin.h: Likewise. 6093 * config/dbxcoff.h: Likewise. 6094 * config/elfos.h: Likewise. 6095 * config/fp-bit.c: Likewise. 6096 * config/freebsd-spec.h: Likewise. 6097 * config/interix.h: Likewise. 6098 * config/libgloss.h: Likewise. 6099 * config/linux-aout.h: Likewise. 6100 * config/linux.h: Likewise. 6101 * config/lynx-ng.h: Likewise. 6102 * config/lynx.h: Likewise. 6103 * config/netbsd-aout.h: Likewise. 6104 * config/netbsd.h: Likewise. 6105 * config/netware.h: Likewise. 6106 * config/psos.h: Likewise. 6107 * config/ptx4.h: Likewise. 6108 61092002-09-28 Kazu Hirata <kazu@cs.umass.edu> 6110 6111 * ChangeLog.4: Fix typos. 6112 * ChangeLog.6: Likewise. 6113 * FSFChangeLog.10: Likewise. 6114 * genattrtab.c: Fix comment typos. 6115 * haifa-sched.c: Likewise. 6116 * real.c: Likewise. 6117 * tree.h: Likewise. 6118 * config/arm/arm.c: Likewise. 6119 * config/arm/crti.asm: Likewise. 6120 * config/arm/crtn.asm: Likewise. 6121 * config/frv/frv.c: Likewise. 6122 * config/frv/frv.md: Likewise. 6123 * config/h8300/h8300.md: Likewise. 6124 * config/i386/rtemself.h: Likewise. 6125 * config/ia64/unwind-ia64.c: Likewise. 6126 * config/ip2k/ip2k.h: Likewise. 6127 * config/m88k/m88k.c: Likewise. 6128 * config/m88k/m88k.md: Likewise. 6129 * config/mips/sr71k.md: Likewise. 6130 * config/mmix/mmix.c: Likewise. 6131 * config/rs6000/rs6000.c: Likewise. 6132 * config/sh/sh.md: Likewise. 6133 61342002-09-26 Theodore A. Roth <troth@verinet.com> 6135 6136 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns. 6137 * config/avr/avr.md: Ditto. 6138 61392002-09-27 Alexander N. Kabaev <ak03@gte.com> 6140 6141 PR preprocessor/8055 6142 * cppmacro.c (stringify_arg): Do not overflow the buffer 6143 with the terminating NUL when the argument to be stringified 6144 has no tokens. 6145 61462002-09-27 Richard Henderson <rth@redhat.com> 6147 6148 * unroll.c (simplify_cmp_and_jump_insns): New. 6149 (unroll_loop): Use it. Use simplify_gen_foo+force_operand 6150 instead of expand_simple_foo. 6151 61522002-09-27 Richard Henderson <rth@redhat.com> 6153 6154 PR optimization/7520 6155 * cfganal.c (flow_active_insn_p): New. 6156 (forwarder_block_p): Use it. 6157 61582002-09-27 Richard Henderson <rth@redhat.com> 6159 6160 * emit-rtl.c (active_insn_p): Revert last change. 6161 61622002-09-27 Jakub Jelinek <jakub@redhat.com> 6163 6164 * doc/extend.texi (tls_model): Document. 6165 * varasm.c (decl_tls_model): New. 6166 * c-common.c (handle_tls_model_attribute): New. 6167 (c_common_attribute_table): Add tls_model. 6168 * config/alpha/alpha.c (alpha_encode_section_info): Use 6169 decl_tls_model. 6170 * flags.h (enum tls_model, flag_tls_default): Move... 6171 * tree.h (enum tls_model, flag_tls_default): ...here. 6172 (decl_tls_model): New prototype. 6173 * config/ia64/ia64.c (ia64_encode_section_info): Likewise. 6174 * config/i386/i386.c (ix86_encode_section_info): Likewise. 6175 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base): 6176 Allow !flag_pic. 6177 61782002-09-27 Kazu Hirata <kazu@cs.umass.edu> 6179 6180 * LANGUAGES: Follow spelling conventions. 6181 * rtl.def: Likewise. 6182 * sbitmap.c: Likewise. 6183 * sched-int.h: Likewise. 6184 * sched-rgn.c: Likewise. 6185 * sibcall.c: Likewise. 6186 * simplify-rtx.c: Likewise. 6187 * ssa.c: Likewise. 6188 * stab.def: Likewise. 6189 * stmt.c: Likewise. 6190 * stor-layout.c: Likewise. 6191 * target.h: Likewise. 6192 * timevar.c: Likewise. 6193 * toplev.c: Likewise. 6194 * tree-dump.c: Likewise. 6195 * tree-inline.c: Likewise. 6196 * tree.c: Likewise. 6197 * tree.def: Likewise. 6198 * tree.h: Likewise. 6199 * unroll.c: Likewise. 6200 * varasm.c: Likewise. 6201 * vmsdbgout.c: Likewise. 6202 * treelang/treelang.texi: Likewise. 6203 * treelang/treetree.c: Likewise. 6204 62052002-09-27 Kazu Hirata <kazu@cs.umass.edu> 6206 6207 * config/h8300/h8300.c (compute_saved_regs): Use a macro 6208 instead of a hard register number. 6209 (get_shift_alg): Use an enumerated type instead of numbers. 6210 (h8300_shift_needs_scratch_p): Likewise. 6211 62122002-09-26 Kazu Hirata <kazu@cs.umass.edu> 6213 6214 * varasm.c (force_data_section): Remove. 6215 (assemble_constant_align): Likewise. 6216 * output.h: Remove corresponding prototypes. 6217 62182002-09-26 Roger Sayle <roger@eyesopen.com> 6219 6220 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional 6221 jump, if the loop to exit is the top of the current nesting stack. 6222 62232002-09-26 Torbjorn Granlund <tege@swox.com> 6224 6225 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long' 6226 arithmetic. 6227 62282002-09-26 David S. Miller <davem@redhat.com> 6229 6230 PR optimization/7335 6231 * calls.c (emit_library_call_value_1): Passing args by reference 6232 converts a CONST function into a PURE one. 6233 62342002-09-26 David Edelsohn <edelsohn@gnu.org> 6235 6236 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not 6237 text_section. 6238 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to 6239 text section. 6240 * config/rs6000/rs6000.c (rs6000_override_options): Allow 6241 function-sections and data-sections functionality on AIX. 6242 62432002-09-26 David Edelsohn <edelsohn@gnu.org> 6244 Dale Johannesen <dalej@apple.com> 6245 6246 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend 6247 in RTL for sub-word loads from memory. 6248 62492002-09-26 Richard Henderson <rth@redhat.com> 6250 6251 PR c/7160 6252 * sched-deps.c (sched_analyze_insn): Make clobber insns depend 6253 on call insns. 6254 62552002-09-26 Richard Henderson <rth@redhat.com> 6256 6257 * emit-rtl.c (const_double_htab_eq): Remove unused variable. 6258 62592002-09-26 Chris Lattner <sabre@nondot.org> 6260 6261 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when 6262 handling undefined values. 6263 62642002-09-26 Richard Henderson <rth@redhat.com> 6265 6266 PR opt/7520 6267 * emit-rtl.c (active_insn_p): Consider a clobber of the 6268 function return value to be active even after reload. 6269 62702002-09-27 Alan Modra <amodra@bigpond.net.au> 6271 6272 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust 6273 by absolute loop increment, not loop increment. 6274 62752002-09-26 Kazu Hirata <kazu@cs.umass.edu> 6276 6277 * c-common.h: Follow spelling conventions. 6278 * cpplex.c: Likewise. 6279 * cpplib.h: Likewise. 6280 * gthr-dce.h: Likewise. 6281 * gthr-posix.h: Likewise. 6282 * optabs.c: Likewise. 6283 * output.h: Likewise. 6284 * profile.c: Likewise. 6285 * protoize.c: Likewise. 6286 * ra-rewrite.c: Likewise. 6287 * real.c: Likewise. 6288 * recog.c: Likewise. 6289 * reg-stack.c: Likewise. 6290 * regclass.c: Likewise. 6291 * regmove.c: Likewise. 6292 * reload.c: Likewise. 6293 * reload.h: Likewise. 6294 * reload1.c: Likewise. 6295 * reorg.c: Likewise. 6296 * resource.c: Likewise. 6297 * rtl.h: Likewise. 6298 * rtlanal.c: Likewise. 6299 63002002-09-26 Steve Ellcey <sje@cup.hp.com> 6301 6302 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode 6303 for symbol address. 6304 63052002-09-24 Eric Christopher <echristo@redhat.com> 6306 6307 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA. 6308 * config/mips/elf64.h: Ditto. 6309 63102002-09-24 Eric Christopher <echristo@redhat.com> 6311 6312 * except.c (expand_builtin_extract_return_address): Handle case 6313 where Pmode != ptr_mode. 6314 63152002-09-26 Steve Ellcey <sje@cup.hp.com> 6316 6317 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New 6318 63192002-09-26 Steve Ellcey <sje@cup.hp.com> 6320 6321 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32. 6322 63232002-09-26 Igor Shevlyakov <igor@microunity.com> 6324 6325 * combine.c (simplify_set): Don't call to force_to_mode if size 6326 of integer type is larger than HOST_BITS_PER_WIDE_INT. 6327 63282002-09-26 Janis Johnson <janis187@us.ibm.com> 6329 6330 * Makefile.in (qmtest-g++): Fix file path. 6331 63322002-09-26 Ulrich Weigand <uweigand@de.ibm.com> 6333 6334 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to 6335 A + (-const) on RTX level, even for unsigned types. 6336 63372002-09-26 Ulrich Weigand <uweigand@de.ibm.com> 6338 6339 * reload.c (dup_replacements): New function. 6340 (find_reloads): Use it to duplicate replacements at the top level 6341 of match_dup operands. 6342 63432002-09-26 Miles Bader <miles@gnu.org> 6344 6345 * v850.md ("length"): Change default value to 4. 6346 63472002-09-26 Kazu Hirata <kazu@cs.umass.edu> 6348 6349 * ChangeLog.1: Follow spelling conventions. 6350 * ChangeLog.4: Likewise. 6351 * ChangeLog.6: Likewise. 6352 * FSFChangeLog.11: Likewise. 6353 * doc/cpp.texi: Likewise. 6354 * doc/invoke.texi: Likewise. 6355 * doc/tm.texi: Likewise. 6356 63572002-09-26 Nick Clifton <nickc@redhat.com> 6358 6359 * config.gcc: Add x prefix to v850e case for handling 6360 --with-cpu=v850e. 6361 63622002-09-25 Zack Weinberg <zack@codesourcery.com> 6363 6364 * gcc.c (input_suffix_matches, switch_matches, 6365 mark_matching_switches, process_marked_switches, 6366 process_brace_body): New functions - split from handle_braces. 6367 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept 6368 and ignore whitespace in more places. 6369 (specs documentation comment): Document %{S:X;T:Y;:D}. 6370 Clarify other %{...} docs. 6371 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other 6372 %{...} docs. 6373 6374 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}. 6375 * config/rs6000/sysv4.h: Use N-way choice spec syntax. 6376 63772002-09-25 David S. Miller <davem@redhat.com> 6378 6379 PR target/7842 6380 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not 6381 extend. 6382 63832002-09-25 Richard Henderson <rth@redhat.com> 6384 6385 * emit-rtl.c (const_double_htab_eq): Distinguish integer and 6386 fp CONST_DOUBLE; use real_identical. 6387 63882002-09-25 Mark Mitchell <mark@codesourcery.com> 6389 6390 * doc/invoke.texi: Add more -Wabi examples. 6391 63922002-09-25 Richard Sandiford <rsandifo@redhat.com> 6393 6394 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket. 6395 63962002-09-24 Nathan Sidwell <nathan@codesourcery.com> 6397 6398 * profile.c (end_branch_prob): Only look for __gcov_init on 6399 weak-enabled native compilers. 6400 64012002-09-24 Denis Chertykov <denisc@overta.ru> 6402 6403 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in 6404 cases of optimizing "add sp,w" to "inc sp". 6405 64062002-09-24 Adam Nemet <anemet@lnxw.com> 6407 6408 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate 6409 epilogue for naked functions. 6410 64112002-09-24 Adam Nemet <anemet@lnxw.com> 6412 Nick Clifton <nickc@redhat.com> 6413 6414 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove. 6415 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it 6416 is defined. 6417 64182002-09-24 Ulrich Weigand <uweigand@de.ibm.com> 6419 6420 * config/s390/s390.c (preferred_la_operand_p): New function. 6421 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it. 6422 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ... 6423 ("*la_64_cc", "*la_31_cc", splitters): ... these. 6424 ("*la_31"): Deactivate for TARGET_64BIT. 6425 ("*la_31_and", "*la_31_and_cc"): New. 6426 64272002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6428 6429 * real.h (real_value): Make `exp' explicitly signed. 6430 64312002-09-24 Kazu Hirata <kazu@cs.umass.edu> 6432 6433 * config/elfos.h: Follow spelling conventions. 6434 * config/alpha/alpha.h: Likewise. 6435 * config/arc/arc.h: Likewise. 6436 * config/arm/arm.md: Likewise. 6437 * config/avr/avr.h: Likewise. 6438 * config/cris/cris.md: Likewise. 6439 * config/d30v/d30v.h: Likewise. 6440 * config/frv/frv.c: Likewise. 6441 * config/frv/frv.h: Likewise. 6442 * config/h8300/h8300.c: Likewise. 6443 * config/h8300/h8300.h: Likewise. 6444 * config/h8300/h8300.md: Likewise. 6445 * config/i386/cygwin.h: Likewise. 6446 * config/i386/i386.h: Likewise. 6447 * config/i386/sysv3.h: Likewise. 6448 * config/i960/i960.h: Likewise. 6449 * config/ia64/ia64.h: Likewise. 6450 * config/ia64/ia64.md: Likewise. 6451 * config/ip2k/ip2k.h: Likewise. 6452 * config/m32r/m32r.h: Likewise. 6453 * config/m68k/m68k.h: Likewise. 6454 * config/m88k/m88k.h: Likewise. 6455 * config/mcore/mcore.c: Likewise. 6456 * config/mcore/mcore.h: Likewise. 6457 * config/mcore/mcore.md: Likewise. 6458 * config/mips/mips.h: Likewise. 6459 * config/mmix/mmix.h: Likewise. 6460 * config/mmix/mmix.md: Likewise. 6461 * config/ns32k/netbsd.h: Likewise. 6462 * config/ns32k/ns32k.h: Likewise. 6463 * config/ns32k/ns32k.md: Likewise. 6464 * config/pa/pa.h: Likewise. 6465 * config/romp/romp.h: Likewise. 6466 * config/rs6000/rs6000.h: Likewise. 6467 * config/rs6000/rs6000.md: Likewise. 6468 * config/sparc/sparc.h: Likewise. 6469 * config/stormy16/stormy-abi: Likewise. 6470 * config/stormy16/stormy16.h: Likewise. 6471 * config/vax/vax.h: Likewise. 6472 64732002-09-23 Kazu Hirata <kazu@cs.umass.edu> 6474 6475 * config/alpha/alpha.h: Remove commented-out macro 6476 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT. 6477 * config/avr/avr.h: Likewise. 6478 * config/d30v/d30v.h: Likewise. 6479 * config/dsp16xx/dsp16xx.h: Likewise. 6480 * config/i370/i370.h: Likewise. 6481 * config/i386/i386.h: Likewise. 6482 * config/i960/i960.h: Likewise. 6483 * config/m68k/m68k.h: Likewise. 6484 * config/m88k/m88k.h: Likewise. 6485 * config/mips/mips.h: Likewise. 6486 * config/ns32k/ns32k.h: Likewise. 6487 * config/pdp11/pdp11.h: Likewise. 6488 * config/romp/romp.h: Likewise. 6489 * config/rs6000/rs6000.h: Likewise. 6490 * config/s390/s390.h: Likewise. 6491 * config/sh/sh.h: Likewise. 6492 * config/sparc/sparc.h: Likewise. 6493 * config/stormy16/stormy16.h: Likewise. 6494 * config/vax/vax.h: Likewise. 6495 64962002-09-23 Kazu Hirata <kazu@cs.umass.edu> 6497 6498 * function.c (push_temp_slots_for_block): Remove. 6499 (push_temp_slots_for_target): Likewise. 6500 (get_target_temp_slot_level): Likewise. 6501 (set_target_temp_slot_level): Likewise. 6502 (get_first_block_beg): Likewise. 6503 * function.h: Remove corresponding prototypes. 6504 65052002-09-23 Zack Weinberg <zack@codesourcery.com> 6506 6507 * version.c (version_string): Now const char[]. 6508 * version.h: Update to match. 6509 65102002-09-23 Richard Henderson <rth@redhat.com> 6511 6512 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET, 6513 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill. 6514 (TARGET_SWITCHES): Don't reference them. 6515 * config/i386/i386.c (override_options): Use target_flags_explicit 6516 to examine bits set by the user. 6517 65182002-09-23 Dale Johannesen <dalej@apple.com> 6519 6520 * dbxout.c (dbxout_parms): Set current_sym_code for params 6521 passed on stack by invisible reference. 6522 65232002-09-23 Richard Earnshaw <rearnsha@arm.com> 6524 6525 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate 6526 at least one byte of space. 6527 65282002-09-23 Mark Mitchell <mark@codesourcery.com> 6529 6530 * c-common.h (flag_abi_version): Fix typo in comment. 6531 * doc/invoke.texi (flag_abi_version): Document default value. 6532 65332002-09-23 Hans-Peter Nilsson <hp@axis.com> 6534 6535 * doc/extend.texi (Extended Asm): Clarify that overlap between 6536 asm-declared register variables used in an asm and the asm clobber 6537 list is not allowed. 6538 * stmt.c (decl_conflicts_with_clobbers_p): New function. 6539 (expand_asm_operands): Keep track of clobbered registers. Call 6540 decl_conflicts_with_clobbers_p for each input and output operand. 6541 If no conflicts found before, also do conflict sanity check when 6542 emitting clobbers. 6543 65442002-09-23 Richard Henderson <rth@redhat.com> 6545 6546 * c-common.c (cpp_define_data_format): Remove. 6547 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__, 6548 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__, 6549 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__. 6550 * doc/cpp.texi: Don't document them either. 6551 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__, 6552 __LONG_LONG_MAX__): Document. 6553 (__TARGET_FLOAT_FORMAT__): Remove. 6554 65552002-09-23 Richard Henderson <rth@redhat.com> 6556 6557 * real.c (do_multiply): Normalize U before addition. 6558 65592002-09-23 Mark Mitchell <mark@codesourcery.com> 6560 6561 * c-common.c (flag_abi_version): New variable. 6562 * c-common.h (flag_abi_version): Declare it. 6563 * c-opts.c (missing_arg): Add -fabi-version. 6564 (c_common_decode_option): Process -fabi-version. 6565 * doc/invoke.texi (-fabi-version): Document it. 6566 (-Wabi): Add information about bit-fields in unions. 6567 65682002-09-22 Roger Sayle <roger@eyesopen.com> 6569 6570 * expr.c (STORE_BY_PIECES_P): New target macro. 6571 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P 6572 instead of MOVE_BY_PIECES_P. 6573 * doc/tm.texi: Document this new macro. 6574 65752002-09-22 Jason Thorpe <thorpej@wasabisystems.com> 6576 6577 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC 6578 unless -fno-pic or -fno-PIC is specified. 6579 65802002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca> 6581 6582 * c-common.c (preprocessing_trad_p): Define. 6583 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete. 6584 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define. 6585 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define. 6586 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define. 6587 * pa-linux.h (CPP_PREDEFINES): Delete. 6588 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define. 6589 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete. 6590 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete. 6591 (TARGET_OS_CPP_BUILTINS): Define. 6592 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define. 6593 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES. 6594 (SUBTARGET_SWITCHES): Provide default definition. 6595 (TARGET_OPTIONS): Reformat. Use N_() macro. 6596 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC, 6597 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, 6598 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete. 6599 (TARGET_CPU_CPP_BUILTINS): Define. 6600 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems. 6601 * doc/invoke.texi (msio, mwsio): Document new hppa options. 6602 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro 6603 preprocessing_trad_p(). 6604 66052002-09-22 Jason Thorpe <thorpej@wasabisystems.com> 6606 6607 * doc/install.texi: Document behavior of --with-headers and 6608 --with-libs when arguments are omitted. 6609 66102002-09-22 Kazu Hirata <kazu@cs.umass.edu> 6611 6612 * dbxout.c: Follow spelling conventions. 6613 * defaults.h: Likewise. 6614 * df.c: Likewise. 6615 * diagnostic.h: Likewise. 6616 * doloop.c: Likewise. 6617 * dwarf2out.c: Likewise. 6618 * dwarfout.c: Likewise. 6619 * emit-rtl.c: Likewise. 6620 * except.c: Likewise. 6621 * explow.c: Likewise. 6622 * expmed.c: Likewise. 6623 * expr.c: Likewise. 6624 * expr.h: Likewise. 6625 * flags.h: Likewise. 6626 * flow.c: Likewise. 6627 * fold-const.c: Likewise. 6628 * function.c: Likewise. 6629 * function.h: Likewise. 6630 * gcc.c: Likewise. 6631 * gcov-io.h: Likewise. 6632 * gcov.c: Likewise. 6633 * gcse.c: Likewise. 6634 * genattrtab.c: Likewise. 6635 * genconfig.c: Likewise. 6636 * genrecog.c: Likewise. 6637 * ggc-page.c: Likewise. 6638 * ggc.h: Likewise. 6639 * global.c: Likewise. 6640 * gthr-win32.h: Likewise. 6641 * integrate.c: Likewise. 6642 * jump.c: Likewise. 6643 * langhooks.c: Likewise. 6644 * langhooks.h: Likewise. 6645 * line-map.h: Likewise. 6646 * local-alloc.c: Likewise. 6647 * longlong.h: Likewise. 6648 * loop.c: Likewise. 6649 * loop.h: Likewise. 6650 6651Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz> 6652 6653 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64. 6654 6655Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz> 6656 6657 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128 6658 for -Os/TARGET_64BIT too. 6659 66602002-09-21 Kazu Hirata <kazu@cs.umass.edu> 6661 6662 * ChangeLog: Follow spelling conventions. 6663 * ChangeLog.0: Likewise. 6664 * ChangeLog.1: Likewise. 6665 * ChangeLog.2: Likewise. 6666 * ChangeLog.3: Likewise. 6667 * ChangeLog.4: Likewise. 6668 * ChangeLog.5: Likewise. 6669 * ChangeLog.6: Likewise. 6670 * FSFChangeLog.10: Likewise. 6671 * FSFChangeLog.11: Likewise. 6672 * alias.c: Likewise. 6673 * basic-block.h: Likewise. 6674 * c-aux-info.c: Likewise. 6675 * c-common.c: Likewise. 6676 * c-common.h: Likewise. 6677 * c-decl.c: Likewise. 6678 * c-format.c: Likewise. 6679 * c-semantics.c: Likewise. 6680 * c-typeck.c: Likewise. 6681 * calls.c: Likewise. 6682 * cfganal.c: Likewise. 6683 * cfgloop.c: Likewise. 6684 * collect2.c: Likewise. 6685 * combine.c: Likewise. 6686 * conflict.c: Likewise. 6687 * cppexp.c: Likewise. 6688 * cppfiles.c: Likewise. 6689 * cpphash.h: Likewise. 6690 * cppinit.c: Likewise. 6691 * cpplex.c: Likewise. 6692 * cpplib.c: Likewise. 6693 * cpplib.h: Likewise. 6694 * cppmacro.c: Likewise. 6695 * cse.c: Likewise. 6696 66972002-09-21 Richard Earnshaw <rearnsha@arm.com> 6698 6699 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of 6700 LINK_SPEC. 6701 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT. 6702 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT. 6703 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT). 6704 67052002-09-21 Richard Earnshaw <rearnsha@arm.com> 6706 6707 PR opt/7930 6708 * cse.c (fold_rtx): Calculate old_cost before we fold each 6709 operand. 6710 67112002-09-21 Richard Henderson <rth@redhat.com> 6712 6713 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__, 6714 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__, 6715 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__, 6716 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__, 6717 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__. 6718 * doc/cpp.texi: Don't document them. 6719 67202002-09-21 Richard Henderson <rth@redhat.com> 6721 6722 * c-common.c (builtin_define_float_constants): Use real_format 6723 to get the floating-point parameters. 6724 67252002-09-21 Richard Henderson <rth@redhat.com> 6726 6727 * real.c (struct real_format): Move to real.h. 6728 (real_format_for_mode): Rename from fmt_for_mode; update all users; 6729 initialize with ieee defaults. 6730 (real_to_target_fmt, real_from_target_fmt): New. 6731 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format, 6732 ieee_extended_intel_96_format, ieee_extended_intel_128_format, 6733 ieee_quad_format, i370_single_format, i370_double_format, 6734 c4x_single_format, c4x_extended_format): Rename from s/_format//. 6735 (ieee_quad_format): Fix emin. 6736 (format_for_size, init_real_once): Remove. 6737 * real.h (struct real_format): Move from real.c. 6738 (real_format_for_mode): Declare. 6739 (real_to_target_fmt, real_from_target_fmt): Declare. 6740 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format, 6741 ieee_extended_intel_96_format, ieee_extended_intel_128_format, 6742 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format, 6743 i370_single_format, i370_double_format, c4x_single_format, 6744 c4x_extended_format): Declare. 6745 * toplev.c (do_compile): Don't call init_real_once. 6746 6747 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove. 6748 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove. 6749 6750 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define. 6751 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode. 6752 * config/alpha/alpha.c (override_options): Set real_format_for_mode 6753 for VAX, if enabled. 6754 6755 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode 6756 for C4X. 6757 6758 * config/i370/i370.h (OVERRIDE_OPTIONS): New. 6759 * config/i370/i370.c (override_options): New. 6760 * config/i370/i370-protos.h: Update. 6761 6762 * config/i386/i386.c (override_options): Set real_format_for_mode 6763 for Intel 80-bit extended. 6764 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove. 6765 6766 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64. 6767 (OVERRIDE_OPTIONS): Move code... 6768 * config/i960/i960.c (i960_initialize): ... here. Set 6769 real_format_for_mode for Intel 80-bit extended. 6770 6771 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode 6772 for Intel 80-bit extended, if enabled. 6773 6774 * config/m68k/m68k.c (override_options): Set real_format_for_mode 6775 for Motorola 96-bit extended. 6776 6777 * config/vax/vax.h (OVERRIDE_OPTIONS): New. 6778 * config/vax/vax.c (override_options): New. 6779 * config/vax/vax-protos.h: Update. 6780 67812002-09-21 Alan Modra <amodra@bigpond.net.au> 6782 6783 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add 6784 #if TARGET_MACHO. 6785 6786 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine 6787 insns. Supply missing clobber of scratch reg. 6788 67892002-09-20 Kazu Hirata <kazu@cs.umass.edu> 6790 6791 * config/m32r/m32r.c: Follow spelling conventions. 6792 * config/m32r/m32r.h: Likewise. 6793 * config/m32r/m32r.md: Likewise. 6794 * config/m68k/m68k.c: Likewise. 6795 * config/m88k/m88k.c: Likewise. 6796 * config/mcore/mcore.c: Likewise. 6797 * config/mips/mips.c: Likewise. 6798 * config/mips/mips.h: Likewise. 6799 * config/mmix/mmix.c: Likewise. 6800 * config/mn10200/mn10200.c: Likewise. 6801 * config/ns32k/ns32k.h: Likewise. 6802 * config/pa/pa.c: Likewise. 6803 * config/pa/pa64-linux.h: Likewise. 6804 * config/pdp11/pdp11.h: Likewise. 6805 * config/romp/romp.c: Likewise. 6806 * config/romp/romp.h: Likewise. 6807 * config/rs6000/eabi.asm: Likewise. 6808 * config/rs6000/linux64.h: Likewise. 6809 * config/rs6000/rs6000.c: Likewise. 6810 * config/rs6000/rs6000.h: Likewise. 6811 * config/rs6000/rs6000.md: Likewise. 6812 * config/rs6000/sysv4.h: Likewise. 6813 * config/rs6000/xcoff.h: Likewise. 6814 68152002-09-20 Jim Wilson <wilson@redhat.com> 6816 6817 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28. 6818 68192002-09-20 Jakub Jelinek <jakub@redhat.com> 6820 6821 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New. 6822 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle 6823 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF. 6824 (legitimate_address_p): Likewise. 6825 (legitimize_address): Use @gotntpoff and @indntpoff. 6826 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF. 6827 (output_addr_const_extra): Likewise. 6828 68292002-09-20 Jim Wilson <wilson@redhat.com> 6830 6831 * combine.c (try_combine): When split an instruction pair, where the 6832 first has a sign_extend src, verify that the src and dest modes match. 6833 68342002-09-20 Richard Henderson <rth@redhat.com> 6835 6836 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove. 6837 (override_options): Do not initialize them. 6838 (mips_const_double_ok): Allow no fp constants except zero, 6839 and not even that for mips16. 6840 (const_float_1_operand): Use dconst1. 6841 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2, 6842 movdf, movdf_internal1, movdf_internal1a, movdf_internal2): 6843 Don't allow arbitrary constants; fix predicates and C constraint. 6844 68452002-09-20 Neil Booth <neil@daikokuya.co.uk> 6846 6847 * cppmacro.c: Don't warn about function-like macros without 6848 '(' during pre-expansion. 6849 68502002-09-20 Jim Wilson <wilson@redhat.com> 6851 6852 * config/v850/v850.c (current_function_anonymous_args): Delete. 6853 (expand_prologue): Use current_function_args_info.anonymous_args. 6854 (expand_epilogue): Delete use of current_function_anonymous_args. 6855 * config/v850/v850.h (struct cum_arg): Add anonymous_args field. 6856 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field. 6857 (current_function_anonymous_args): Delete extern declaration. 6858 (SETUP_INCOMING_VARARGS): Set anonymous_args field. 6859 68602002-09-20 Geoffrey Keating <geoffk@apple.com> 6861 6862 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change 6863 to load_macho_picbase. 6864 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs. 6865 (load_macho_picbase): Take the symbol to use as a parameter. 6866 (macho_correct_pic): New insn. 6867 (builtin_setjmp_reciever): On Darwin, restore the PIC register. 6868 6869 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use 6870 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30. 6871 (CAN_ELIMINATE): Likewise. 6872 (INITIAL_ELIMINATION_OFFSET): Likewise. 6873 (TOC_REGISTER): Likewise. 6874 68752002-09-20 Richard Henderson <rth@redhat.com> 6876 6877 * real.c (real_hash): New. 6878 * real.h: Declare it. 6879 * cse.c (canon_hash): Use it. 6880 * cselib.c (hash_rtx): Likewise. 6881 * emit-rtl.c (const_double_htab_hash): Likewise. 6882 * rtl.h (CONST_DOUBLE_REAL_VALUE): New. 6883 * varasm.c (struct rtx_const): Reduce vector size; separate 6884 integer and fp vectors. 6885 (HASHBITS): Remove. 6886 (const_hash_1): Rename from const_hash. Use real_hash. Do not 6887 take modulus MAX_HASH_TABLE. 6888 (const_hash): New. Do take modulus MAX_HASH_TABLE. 6889 (output_constant_def): Do not take modulus MAX_HASH_TABLE. 6890 (SYMHASH): Don't use HASHBITS. 6891 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE. 6892 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison. 6893 (simplify_subtraction): Fix kind comparison. 6894 (const_hash_rtx): Return unsigned int. Don't use HASHBITS. 6895 Use a union to pun integer array. 6896 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash; 6897 only hash two words of integral CONST_DOUBLE. 6898 68992002-09-20 Steve Ellcey <sje@cup.hp.com> 6900 6901 * config/ia64/hpux.h (STARTFILE_SPEC): Modify. 6902 (STARTFILE_PREFIX_SPEC): New. 6903 (LINK_SPEC): Modify. 6904 (LIB_SPEC): Modify. 6905 (LIBGCC_SPEC): New. 6906 69072002-09-20 Jakub Jelinek <jakub@redhat.com> 6908 6909 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow 6910 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant. 6911 69122002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> 6913 6914 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit): 6915 Add clobber of the condition code register. 6916 69172002-09-20 Richard Henderson <rth@redhat.com> 6918 6919 * real.c (do_fix_trunc): Static. 6920 (encode_ieee_single, encode_ieee_double, encode_ieee_extended, 6921 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g, 6922 encode_i370_single, encode_i370_double, encode_c4x_single, 6923 encode_c4x_extended): Add default abort case. 6924 69252002-09-20 Richard Henderson <rth@redhat.com> 6926 6927 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS, 6928 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c. 6929 (struct realvaluetype): Remove. 6930 (REAL_VALUE_TYPE): Use struct real_value. 6931 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS. 6932 (test_real_width): New. 6933 * real.c: Global replace struct real_value with REAL_VALUE_TYPE. 6934 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters. 6935 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan, 6936 real_isneg, real_isnegzero, real_identical, exact_real_inverse, 6937 real_to_integer, real_to_integer2, real_to_decimal, 6938 real_to_hexadecimal, real_from_string, real_from_integer, 6939 real_inf, real_nan, real_2expN, real_convert, real_to_target, 6940 real_from_target): Likewise. 6941 * tree.h (struct tree_real_cst): Use real_value not realvaluetype. 6942 * gengtype-yacc.y (bitfieldopt): Accept an ID as well. 6943 69442002-09-20 Richard Henderson <rth@redhat.com> 6945 6946 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT, 6947 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ... 6948 * defaults.h: ... here. 6949 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h, 6950 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h, 6951 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h, 6952 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove. 6953 69542002-09-20 Hans-Peter Nilsson <hp@bitrange.com> 6955 6956 * config/mmix/mmix.md ("negdf2"): Rewrite. 6957 ("*expanded_negdf2"): New. 6958 69592002-09-19 Jim Wilson <wilson@redhat.com> 6960 6961 * combine.c (simplify_set): When optimizing a subreg src with a 6962 cc0 dest, use GET_MODE (src) for mask instead of inner_mode. 6963 69642002-09-19 Dale Johannesen <dalej@apple.com> 6965 * combine.c (make_extraction): Don't create 6966 invalid subreg. 6967 69682002-09-19 Roger Sayle <roger@eyesopen.com> 6969 6970 * tree.c (integer_nonzerop): New predicate for nonzero integers. 6971 * tree.h (integer_nonzerop): Add function prototype. 6972 * stmt.c (expand_end_loop): Don't rotate the loop when there 6973 are no instructions in the test, i.e. the loop is unconditional. 6974 (expand_exit_loop_if_false): Optimize RTL generation of loop 6975 tests when the condition is always true or always false. 6976 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of 6977 do-loops when the condition is always true. 6978 (genrtl_for_stmt): Optimize RTL generation of for-loops when 6979 the for-expression is empty. 6980 69812002-09-19 Zack Weinberg <zack@codesourcery.com> 6982 6983 * gcc.c (use_pipes): New flag. 6984 (process_command): Set it. Adjust check for -pipe conflicting 6985 with -time or -save-temps. 6986 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and 6987 %<SWITCH. Drop %| (without a SUFFIX). 6988 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}. 6989 (give_switch): Third argument eliminated. 6990 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s 6991 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT. 6992 (specs documentation comment): Update. 6993 6994 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h, 6995 config/svr4.h, config/i386/freebsd-aout.h, 6996 config/m68k/netbsd-elf.h, config/m68k/netbsd.h, 6997 config/m68k/openbsd.h, config/mips/openbsd.h, 6998 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT 6999 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC. 7000 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC. 7001 * config/cris/cris.h: Update comment. 7002 7003 * ada/lang-specs.h: Use %(invoke_as). Straighten out 7004 error messages. Don't use %{^SWITCH}. 7005 * ada/misc.c (gnat_decode_option): Handle -I with a 7006 separate argument. 7007 7008 * f/lang-specs.h: Use %| and %m. 7009 * java/jvspec.c: Use %m and %(invoke_as). Change all 7010 uses of %{<SWITCH} to %<SWITCH. 7011 7012 * doc/invoke.texi: Update documentation of specs. 7013 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT. 7014 70152002-09-19 Ulrich Weigand <uweigand@de.ibm.com> 7016 7017 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG 7018 and STRICT_LOW_PART within SET_DEST. 7019 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with 7020 splitters, replacing pre-reload splitters. 7021 ("*zero_extendhisi2_31", "*zero_extendqisi2_31", 7022 "*zero_extendqihi2_31"): New insns. 7023 ("*zero_extendqihi2_64"): Do not clobber CC. 7024 70252002-09-18 Devang Patel <dpatel@apple.com> 7026 7027 * cp/cp-tree.h: New prototype for walk_vtables(). 7028 * cp/decl.c (walk_vtables_r): New function. 7029 (struct cp_binding_level): Add new members, namespaces, 7030 names_size and vtables. 7031 (add_decl_to_level): Add decl in namespaces or vtables 7032 chain, if conditions match. 7033 (walk_vtables): New function. 7034 (walk_namespaces_r): Travers separate namespace chain 7035 for namespace decls. 7036 (wrapup_globals_for_namespace): Use names_size instead 7037 of list_length(). 7038 * cp/decl2.c (finish_file): Use walk_vtables() instead of 7039 walk_globals() to walk vtable decls. 7040 70412002-09-19 Steve Ellcey <sje@cup.hp.com> 7042 7043 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New. 7044 (DTORS_SECTION_ASM_OP): Ditto. 7045 (READONLY_DATA_SECTION_ASM_OP): Moved. 7046 (DATA_SECTION_ASM_OP): New. 7047 (SDATA_SECTION_ASM_OP): New. 7048 (BSS_SECTION_ASM_OP): New. 7049 (SBSS_SECTION_ASM_OP): New. 7050 (TEXT_SECTION_ASM_OP): New. 7051 70522002-09-19 Kazu Hirata <kazu@cs.umass.edu> 7053 7054 * config/fp-bit.c: Follow spelling conventions. 7055 * config/d30v/d30v.c: Likewise. 7056 * config/d30v/d30v.h: Likewise. 7057 * config/fr30/fr30.c: Likewise. 7058 * config/fr30/fr30.h: Likewise. 7059 * config/fr30/fr30.md: Likewise. 7060 * config/frv/frv.c: Likewise. 7061 * config/frv/frv.h: Likewise. 7062 * config/h8300/h8300.c: Likewise. 7063 * config/h8300/lib1funcs.asm: Likewise. 7064 * config/i370/i370.c: Likewise. 7065 * config/i386/i386.h: Likewise. 7066 * config/i386/i386.md: Likewise. 7067 * config/i386/pentium.md: Likewise. 7068 * config/i386/winnt.c: Likewise. 7069 * config/i960/i960.c: Likewise. 7070 * config/ia64/ia64.h: Likewise. 7071 * config/ip2k/ip2k.c: Likewise. 7072 * config/ip2k/ip2k.h: Likewise. 7073 * config/ip2k/ip2k.md: Likewise. 7074 * config/ip2k/libgcc.S: Likewise. 7075 70762002-09-19 Stephen Clarke <stephen.clarke@superh.com> 7077 7078 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define. 7079 (GOTOFF_P): Extend to allow gotoff plus constant. 7080 70812002-09-18 Richard Henderson <rth@redhat.com> 7082 7083 * ifcvt.c (noce_process_if_block): Correctly detect X modified 7084 with INSN_B before COND_EARLIEST. Don't check A and B for 7085 modification in condition range. Reorder INSN_B for A==B properly. 7086 (if_convert): Iterate until no matches for a block. 7087 70882002-09-18 Richard Henderson <rth@redhat.com> 7089 7090 * calls.c (store_one_arg): Rename default_align to parm_align; 7091 always adjust parm_align for downward padding. 7092 70932002-09-18 Richard Henderson <rth@redhat.com> 7094 7095 * toplev.c (backend_init): Move init_real_once invocation ... 7096 (do_compile): ... here. 7097 70982002-09-18 Richard Henderson <rth@redhat.com> 7099 7100 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove 7101 RTX_UNCHANGING_P markers for successful tail-recursive replacement. 7102 71032002-09-18 Richard Henderson <rth@redhat.com> 7104 7105 * real.c (round_for_format): Collect sticky as unsigned long, not bool. 7106 71072002-09-19 Alan Modra <amodra@bigpond.net.au> 7108 7109 * config/rs6000/rs6000.md: (floatdisf2): Rename to 7110 floatdisf2_internal1. 7111 (floatdisf2): New define_expand. 7112 (floatdisf2_internal2): Likewise. 7113 71142002-09-18 Richard Henderson <rth@redhat.com> 7115 7116 * real.c (sticky_rshift_significand): Collect sticky as 7117 unsigned long, not bool. 7118 71192002-09-18 Ulrich Weigand <uweigand@de.ibm.com> 7120 7121 * config/s390/s390.c (s390_address_cost): New function. 7122 config/s390/s390-protos.h (s390_address_cost): Add prototype. 7123 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost. 7124 (RTX_COST): Use COSTS_N_INSNS. 7125 71262002-09-18 Douglas Rupp <rupp@gnat.com> 7127 Donn Terry <donnte@microsoft.com> 7128 7129 * stor-layout.c (place_field): Handle alignment of whole 7130 structures when MSVC compatible bitfields are involved. 7131 Change method of computing location of MS bitfields to 7132 be compatible with #pragma pack(n). 7133 7134 * tree.h (record_layout_info): Add new field 7135 remaining_in_alignment. 7136 7137 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update. 7138 (pragma pack): Add paragraph on MSVC bitfield packing. 7139 71402002-09-18 Richard Earnshaw (reanrsha@arm.com) 7141 7142 PR optimization/7967 7143 * arm.md (ne_zeroextractsi): Add clobber of the condition code 7144 register. 7145 71462002-09-18 Kazu Hirata <kazu@cs.umass.edu> 7147 7148 * config/s390/s390.c: Follow spelling conventions. 7149 * config/sh/lib1funcs.asm: Likewise. 7150 * config/sh/sh.c: Likewise. 7151 * config/sh/sh.h: Likewise. 7152 * config/sparc/sparc.c: Likewise. 7153 * config/sparc/sparc.h: Likewise. 7154 * config/sparc/sparc.md: Likewise. 7155 * config/stormy16/stormy16.c: Likewise. 7156 * config/stormy16/stormy16.h: Likewise. 7157 * config/v850/v850.c: Likewise. 7158 * config/v850/v850.h: Likewise. 7159 * config/vax/vax.c: Likewise. 7160 * config/vax/vax.h: Likewise. 7161 71622002-09-18 Nick Clifton <nickc@redhat.com> 7163 7164 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves. 7165 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode. 7166 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns. 7167 71682002-09-17 Kazu Hirata <kazu@cs.umass.edu> 7169 7170 * function.c (max_parm_reg_num): Remove. 7171 * stmt.c (in_control_zone_p, stmt_loop_nest_empty, 7172 drop_through_at_end_p, move_cleanups_up, 7173 expand_end_case_dummy, case_index_expr_type): Likewise. 7174 * stor-layout.c (pos_from_byte): Likewise. 7175 * tree.c (chain_member_value, chain_member_purpose, listify, 7176 tree_int_cst_msb, index_type_equal): Likewise. 7177 * tree.h: Remove prototypes for unused functions. 7178 71792002-09-17 Zack Weinberg <zack@codesourcery.com> 7180 7181 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date 7182 statement that the only translation is to en_UK. 7183 71842002-09-17 Kazu Hirata <kazu@cs.umass.edu> 7185 7186 * config/alpha/alpha.c: Follow spelling conventions. 7187 * config/alpha/alpha.h: Likewise. 7188 * config/alpha/alpha.md: Likewise. 7189 * config/arc/arc.h: Likewise. 7190 * config/arm/arm.c: Likewise. 7191 * config/arm/arm.h: Likewise. 7192 * config/arm/arm.md: Likewise. 7193 * config/arm/pe.c: Likewise. 7194 * config/arm/unknown-elf.h: Likewise. 7195 * config/avr/avr.c: Likewise. 7196 * config/avr/avr.h: Likewise. 7197 * config/c4x/c4x.c: Likewise. 7198 * config/cris/cris.c: Likewise. 7199 * config/cris/cris.h: Likewise. 7200 72012002-09-17 Samuel Figueroa <figueroa@apple.com> 7202 7203 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP. 7204 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro. 7205 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description. 7206 72072002-09-17 Dale Johannesen <dalej@apple.com> 7208 7209 * cfgcleanup.c (try_forward_edges): Do not forward a 7210 branch to just after a loop exit before loop optimization; 7211 this interfered with doloop detection. 7212 72132002-09-17 Nick Clifton <nickc@redhat.com> 7214 7215 * config/arm/arm.c (output_return_instruction): Do not 7216 writeback the stack pointer when it is being loaded. 7217 (arm_output_epilogue): Likewise. 7218 72192002-09-17 Kazu Hirata <kazu@cs.umass.edu> 7220 7221 * optabs.c (prepare_cmp_insn): Let emit_library_call_value 7222 generate a pseudo reg that receives the result of a libcall. 7223 (prepare_float_lib_cmp): Likewise. 7224 72252002-09-17 Steve Ellcey <sje@cup.hp.com> 7226 7227 * config/ia64/elf.h: Remove CPP_PREDEFINES. 7228 7229Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it> 7230 7231 Fix PR/7014 and related objc bugs: 7232 * c-typeck.c (comp_target_types): Added a reflexive argument. 7233 Pass it to ObjC when/if calling objc_comptypes(). Updated all 7234 callers to provide the appropriate reflexive argument. 7235 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed 7236 typechecking for all cases of comparisons and assignments, 7237 particularly the obscure and less common ones involving protocols. 7238 72392002-09-17 Nick Clifton <nickc@redhat.com> 7240 7241 * machmode.def (V1DImode): New mode. A single element vector. 7242 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums. 7243 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes. 7244 * tree.c (build_common_tree_nodes_2): Build 7245 unsigned_V1DI_type_node and V1D1_type_node. 7246 * c-common.c (c_common_type_for_mode): Return 7247 unsigned_V1DI_type_node or V1D1_type_node for V1DImode. 7248 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode. 7249 7250Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it> 7251 7252 * doc/objc.texi (Constant string objects): Extended documentation 7253 to make clear that the constant string class ivar layout is 7254 completely fixed. 7255 72562002-09-17 Roger Sayle <roger@eyesopen.com> 7257 7258 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned 7259 NOTE_INSN_LOOP_CONT notes when deleting basic blocks. 7260 72612002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 7262 7263 * config/mips/mips.c (save_restore_insns): Remove unused variable. 7264 * gcc.c (make_relative_prefix): Likewise. 7265 * loop.c (check_final_value): Likewise. 7266 * jump.c (init_label_info): Remove return value. 7267 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif. 7268 72692002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7270 7271 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete. 7272 (ASM_PN_FORMAT): Define. 7273 72742002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7275 7276 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h, 7277 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h, 7278 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h, 7279 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, 7280 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, 7281 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h, 7282 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME): 7283 Delete. 7284 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h, 7285 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h, 7286 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define. 7287 7288 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define. 7289 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation. 7290 72912002-09-16 Richard Henderson <rth@redhat.com> 7292 7293 * expr.c (emit_block_move): Set memory block size as appropriate 7294 for the copy. 7295 72962002-09-16 Richard Henderson <rth@redhat.com> 7297 7298 PR fortran/3924 7299 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol. 7300 73012002-09-16 Richard Henderson <rth@redhat.com> 7302 7303 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE 7304 as well as OFFSET for BITPOS. 7305 73062002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com> 7307 7308 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx. 7309 * config/i386/i386.c (processor_alias_table): Add winchip-c6, 7310 winchip2 and c3. 7311 * doc/invoke.texi: Mention new aliases. 7312 73132002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca> 7314 7315 * calls.c (store_one_arg): Set default alignment for BLKmode arguments 7316 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is 7317 downward. 7318 * function.c (pad_below): Always compile. 7319 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to 7320 alignment when it is not in a register or REG_PARM_STACK_SPACE is true. 7321 Pad below when the argument is not in a register and the padding 7322 direction is downward. 7323 7324 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h. 7325 (PAD_VARARGS_DOWN): Define. 7326 * pa.c (function_arg_padding): Revise padding directions to make them 7327 compatible with the 32 and 64-bit runtime architecture documentation. 7328 (hppa_va_arg): Add code to handle variable and size zero arguments 7329 passed by reference on TARGET_64BIT. Reformat. 7330 (function_arg): Use a PARALLEL for BLKmode and aggregates args on 7331 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes 7332 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode. 7333 Add comments. 7334 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT. 7335 (RETURN_IN_MEMORY): Return size zero types in memory. 7336 (FUNCTION_VALUE): Return TFmode in general registers. 7337 (MUST_PASS_IN_STACK): Define. 7338 (FUNCTION_ARG_BOUNDARY): Simplify. 7339 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types 7340 by reference. 7341 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE. 7342 73432002-09-16 Richard Henderson <rth@redhat.com> 7344 7345 * real.c (do_fix_trunc): New. 7346 (real_arithmetic): Call it. 7347 * simplify-rtx.c (simplify_unary_operation): Handle FIX 7348 with a floating-point result mode. 7349 73502002-09-16 Richard Henderson <rth@redhat.com> 7351 7352 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New. 7353 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New. 7354 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New. 7355 (__builtin_nans, __builtin_nansf, __builtin_nansl): New. 7356 * builtins.c (fold_builtin_nan): New. 7357 (fold_builtin): Call it. 7358 * real.c (real_nan): Parse a non-empty string. 7359 (round_for_format): Fix NaN significand truncation. 7360 * real.h (real_nan): Return bool. 7361 * doc/extend.texi: Document new builtins. 7362 73632002-09-16 Jason Merrill <jason@redhat.com> 7364 Danny Smith <dannysmith@users.sourceforge.net> 7365 7366 * config/i386/winnt.c (ix86_handle_dll_attribute): Set 7367 DECL_EXTERN and TREE_PUBLIC for dllimported variables here... 7368 (i386_pe_mark_dllimport): Not here. 7369 73702002-09-16 Nathan Sidwell <nathan@codesourcery.com> 7371 7372 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond. 7373 73742002-09-16 Geoffrey Keating <geoffk@redhat.com> 7375 7376 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress 7377 warnings about unused operands when HOST_BITS_PER_WIDE_INT is 7378 < 64. 7379 (rs6000_emit_cmove): Use real_isinf not target_isinf. 7380 73812002-09-16 Kazu Hirata <kazu@cs.umass.edu> 7382 7383 * calls.c (emit_library_call_value_1): Don't refer to 7384 hard_libcall_value. 7385 * optabs.c (prepare_float_lib_cmp): Likewise. 7386 73872002-09-16 Geoffrey Keating <geoffk@apple.com> 7388 7389 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name 7390 mangling. 7391 7392 The following changes are merged from pch-branch: 7393 7394 * doc/gty.texi (GTY Options): Document %a. 7395 * gengtype.c (do_scalar_typedef): New function. 7396 (process_gc_options): Handle `length' option. 7397 (set_gc_used_type): A pointer to an array of structures doesn't 7398 qualify as a pointer to a structure. 7399 (output_escaped_param): Add `%a' escape. 7400 (write_gc_structure_fields): Allow 'desc' on array of unions. 7401 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use 7402 do_scalar_typedef. 7403 7404 * gengtype.c (enum rtx_code): Make global. 7405 (rtx_format): Make global. 7406 (rtx_next): New. 7407 (gen_rtx_next): New. 7408 (write_rtx_next): New. 7409 (adjust_field_rtx_def): Skip fields marked by chain_next. 7410 (open_base_files): Delete redundant prototype. 7411 (write_enum_defn): New. 7412 (output_mangled_typename): Correct abort call. 7413 (write_gc_marker_routine_for_structure): Handle chain_next and 7414 chain_prev options. 7415 (finish_root_table): Don't output redundant \n. 7416 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn. 7417 * c-tree.h (union lang_tree_node): Add chain_next option. 7418 7419 * gengtype.h (NUM_PARAM): New definition. 7420 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters. 7421 * gengtype.c (find_param_structure): New. 7422 (adjust_field_type): Handle param<n>_is option. 7423 (process_gc_options): Detect use_params option. Update callers. 7424 (set_gc_used_type): Add 'param' parameter, update callers. Handle 7425 'use_params' option. 7426 (open_base_files): Add splay-tree.h to list of files included. 7427 (output_mangled_typename): New. 7428 (write_gc_structure_fields): Update 'param' parameter to support 7429 multiple parameters. Change name mangling. Allow parameterized 7430 fields to have an apparent scalar type. Handle param<n>_is options, 7431 use_param option. 7432 (write_gc_marker_routine_for_structure): Update for change to name 7433 mangling. Better guess the output file for parameterized types. 7434 (write_gc_types): Update for change to name mangling. 7435 (write_gc_root): Update for change to name mangling. Handle (ignore) 7436 param<n>_is options. 7437 * doc/gty.texi (GTY Options): Add description of param<n>_is 7438 options, use_params option. 7439 * ggc.h (ggc_mark_rtx): Update for changed name mangling. 7440 * gengtype-lex.l: Produce token for param<n>_is. 7441 * gengtype-yacc.y: Parse param<n>_is. 7442 7443 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'. 7444 7445 * rtl.c: Update comment describing rtx_format. 7446 * rtl.h (union rtunion): Separate definition and typedef. 7447 (struct rtx_def): Use gengtype to mark. 7448 * Makefile.in (gengtype.o): Also depend on rtl.def. 7449 * ggc.h (ggc_mark_rtx_children): Delete prototype. 7450 (ggc_mark_rtx): Change to alias of gengtype-generated routine. 7451 * ggc-common.c (ggc_mark_rtx_children): Delete. 7452 (ggc_mark_rtx_children_1): Delete. 7453 (gt_ggc_m_rtx_def): Delete. 7454 * gengtype.c (adjust_field_rtx_def): New. 7455 (adjust_field_type): Call adjust_field_rtx_def. 7456 (write_gc_structure_fields): Add 'default' case to switch if none 7457 is specified; remove unused code. 7458 7459 * tree.h (struct tree_exp): Update for change to meaning 7460 of special. 7461 * gengtype.c (adjust_field_tree_exp): New function. 7462 (adjust_field_type): Handle `tree_exp' special here. 7463 (write_gc_structure_fields): Don't handle `tree_exp' special here. 7464 Handle new `dot' option. 7465 7466 * gengtype.h: Make `info' a pointer-to-const. 7467 * gengtype-yacc.y (yacc_ids): Use xasprintf. 7468 7469 * gengtype.c (write_gc_structure_fields): Remove implementation 7470 of `always' option, add `default' option. 7471 * doc/gty.texi (GTY Options): Remove documentation of `always', 7472 add `default'. 7473 74742002-09-16 Hans-Peter Nilsson <hp@bitrange.com> 7475 7476 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE. 7477 74782002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7479 7480 * m68hc11.md (addhi_sp): Fix uninitialized variable bug. 7481 7482 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h 7483 instead of the *-protos.h file directly. 7484 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H). 7485 * darwin.c (machopic_output_stub): Move prototype ... 7486 * darwin-protos.h (machopic_output_stub): ... here. 7487 * rs6000-protos.h (machopic_output_stub): Don't declare. 7488 74892002-09-16 Richard Henderson <rth@redhat.com> 7490 7491 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__. 7492 74932002-09-16 Richard Henderson <rth@redhat.com> 7494 7495 * real.c, real.h: Rewrite from scratch. 7496 7497 * Makefile.in (simplify-rtx.o): Depend on TREE_H. 7498 (paranoia): New target. 7499 * builtins.c (fold_builtin_inf): Use new real.h interface. 7500 * c-common.c (builtin_define_with_hex_fp_value): Likewise. 7501 * c-lex.c (interpret_float): Likewise. 7502 * emit-rtl.c (gen_lowpart_common): Likewise. 7503 * optabs.c (expand_float): Use real_2expN. 7504 * config/ia64/ia64.md (divsi3, udivsi3): Likewise. 7505 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New. 7506 (FLOAT_WORDS_BIG_ENDIAN): New. 7507 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE 7508 directly to REAL_VALUE_NEGATIVE. 7509 * loop.c (canonicalize_condition): Likewise. 7510 * simplify-rtx.c: Include tree.h. 7511 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX 7512 with floating-point result modes. 7513 * toplev.c (backend_init): Call init_real_once. 7514 7515 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE. 7516 * tree.c (build_real): Likewise. 7517 * config/alpha/alpha.c, config/vax/vax.c (float_strings, 7518 float_values, inited_float_values, check_float_value): Remove. 7519 * config/alpha/alpha.h, config/m68hc11/m68hc11.h, 7520 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove. 7521 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove. 7522 (VAX_HALFWORD_ORDER): Remove. 7523 75242002-09-16 Ulrich Weigand <uweigand@de.ibm.com> 7525 7526 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ... 7527 (s390_load_address): ... this new function. 7528 (s390_decompose_address): Allow the argument pointer and all 7529 virtual registers as 'pointer' registers. 7530 (s390_expand_plus_operand): Use s390_load_address. 7531 config/s390/s390.md (movti, movdi, movdf splitters): Likewise. 7532 ("force_la_31"): New insn pattern. 7533 config/s390/s390-protos.h (legitimize_la_operand): Remove. 7534 (s390_load_address): Add prototype. 7535 7536 * config/s390/s390.c: Include "optabs.h". 7537 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New. 7538 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr, 7539 s390_expand_cmpstr): Add prototypes. 7540 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr. 7541 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates 7542 for operands 0 and 1 to "memory_operand". Add type attribute. 7543 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates 7544 for operands 0 and 1 to "memory_operand". Add type attribute. 7545 ("movstrdi_long", "movstrsi_long"): Remove. 7546 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute. 7547 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute. 7548 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr. 7549 ("clrstrsico"): Remove, replace by ... 7550 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns. 7551 ("clrstrsi_64"): Rename to "clrstr_long_64". 7552 ("clrstrsi_31"): Rename to "clrstr_long_31". 7553 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr. 7554 ("cmpstr_const"): Remove, replace by ... 7555 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns. 7556 ("cmpstr_64"): Rename to "cmpstr_long_64". 7557 ("cmpstr_31"): Rename to "cmpstr_long_31". 7558 75592002-09-16 Kazu Hirata <kazu@cs.umass.edu> 7560 7561 * ABOUT-NLS: Follow spelling conventions. 7562 * ChangeLog: Likewise. 7563 * ChangeLog.1: Likewise. 7564 * ChangeLog.2: Likewise. 7565 * ChangeLog.3: Likewise. 7566 * ChangeLog.4: Likewise. 7567 * ChangeLog.5: Likewise. 7568 * ChangeLog.6: Likewise. 7569 * FSFChangeLog.10: Likewise. 7570 * FSFChangeLog.11: Likewise. 7571 * c-common.c: Likewise. 7572 * c-lex.c: Likewise. 7573 * c-objc-common.c: Likewise. 7574 * cppexp.c: Likewise. 7575 * cppinit.c: Likewise. 7576 * cpplex.c: Likewise. 7577 * doloop.c: Likewise. 7578 * flow.c: Likewise. 7579 * function.c: Likewise. 7580 * integrate.c: Likewise. 7581 * loop.c: Likewise. 7582 * reg-stack.c: Likewise. 7583 * reload.h: Likewise. 7584 * ssa.c: Likewise. 7585 75862002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7587 7588 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H) 7589 * vmsdbgout.c: Include "target.h". 7590 75912002-09-15 Kazu Hirata <kazu@cs.umass.edu> 7592 7593 * ChangeLog: Follow spelling conventions. 7594 * ChangeLog.0: Likewise. 7595 * ChangeLog.1: Likewise. 7596 * ChangeLog.2: Likewise. 7597 * ChangeLog.4: Likewise. 7598 * ChangeLog.6: Likewise. 7599 * config.gcc: Likewise. 7600 * dwarfout.c: Likewise. 7601 * reload1.c: Likewise. 7602 * simplify-rtx.c: Likewise. 7603 * unwind-sjlj.c: Likewise. 7604 * config/avr/avr.h: Likewise. 7605 * config/d30v/d30v.h: Likewise. 7606 * config/frv/frv.c: Likewise. 7607 * config/frv/frv.h: Likewise. 7608 * config/ip2k/ip2k.h: Likewise. 7609 * config/m88k/m88k-move.sh: Likewise. 7610 * config/stormy16/stormy16.c: Likewise. 7611 * config/stormy16/stormy16.h: Likewise. 7612 * doc/extend.texi: Likewise. 7613 * doc/interface.texi: Likewise. 7614 * doc/invoke.texi: Likewise. 7615 * doc/md.texi: Likewise. 7616 * doc/rtl.texi: Likewise. 7617 * doc/tm.texi: Likewise. 7618 * doc/trouble.texi: Likewise. 7619 * ginclude/float.h: Likewise. 7620 * treelang/treelang.texi: Likewise. 7621 76222002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7623 7624 * i386-protos.h (i386_pe_dllexport_name_p, 7625 i386_pe_dllimport_name_p, i386_pe_unique_section, 7626 i386_pe_declare_function_type, i386_pe_record_external_function, 7627 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add 7628 prototype. 7629 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H). 7630 * i386/t-interix (winnt.o): Likewise. 7631 7632 * v850-protos.h (v850_output_addr_const_extra): Prototype. 7633 76342002-09-15 Jason Thorpe <thorpej@wasabisystems.com> 7635 7636 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add 7637 MIPS ABI CPP macros. 7638 (TARGET_CPU_CPP_BUILTINS): Redefine. 7639 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default. 7640 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove. 7641 76422002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7643 7644 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo. 7645 76462002-09-15 Kazu Hirata <kazu@cs.umass.edu> 7647 7648 * ChangeLog: Follow spelling conventions. 7649 * ChangeLog.0: Likewise. 7650 * ChangeLog.1: Likewise. 7651 * ChangeLog.2: Likewise. 7652 * ChangeLog.3: Likewise. 7653 * ChangeLog.4: Likewise. 7654 * ChangeLog.5: Likewise. 7655 * ChangeLog.6: Likewise. 7656 * FSFChangeLog.10: Likewise. 7657 * FSFChangeLog.11: Likewise. 7658 * c-common.c: Likewise. 7659 * c-common.h: Likewise. 7660 * c-format.c: Likewise. 7661 * c-opts.c: Likewise. 7662 * cpplib.c: Likewise. 7663 * langhooks.h: Likewise. 7664 * real.c: Likewise. 7665 * reg-stack.c: Likewise. 7666 * toplev.c: Likewise. 7667 * config/arm/arm.c: Likewise. 7668 * config/arm/arm.md: Likewise. 7669 * config/arm/linux-gas.h: Likewise. 7670 * config/arm/netbsd.h: Likewise. 7671 * config/c4x/c4x.c: Likewise. 7672 * config/c4x/c4x.h: Likewise. 7673 * config/c4x/c4x.md: Likewise. 7674 * config/c4x/libgcc.S: Likewise. 7675 * config/fr30/fr30.md: Likewise. 7676 * config/frv/frv.md: Likewise. 7677 * config/ia64/ia64.md: Likewise. 7678 * config/mips/mips.h: Likewise. 7679 * config/mn10300/mn10300.c: Likewise. 7680 * config/stormy16/stormy16.c: Likewise. 7681 * config/v850/v850.md: Likewise. 7682 * doc/extend.texi: Likewise. 7683 * doc/invoke.texi: Likewise. 7684 * doc/md.texi: Likewise. 7685 76862002-09-15 Jason Thorpe <thorpej@wasabisystems.com> 7687 7688 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread 7689 library if -pthread is specified. 7690 76912002-09-15 Jason Thorpe <thorpej@wasabisystems.com> 7692 7693 * config.gcc (*-*-netbsd*): Set thread_file to 'posix' 7694 for --enable-threads=yes and --enable-threads=posix. 7695 76962002-09-15 Kazu Hirata <kazu@cs.umass.edu> 7697 7698 * config/sparc/cypress.md: Replace Sparc with SPARC. 7699 * config/sparc/freebsd.h: Likewise. 7700 * config/sparc/gmon-sol2.c: Likewise. 7701 * config/sparc/hypersparc.md: Likewise. 7702 * config/sparc/lb1spc.asm: Likewise. 7703 * config/sparc/lb1spl.asm: Likewise. 7704 * config/sparc/linux.h: Likewise. 7705 * config/sparc/linux64.h: Likewise. 7706 * config/sparc/lynx.h: Likewise. 7707 * config/sparc/sol2.h: Likewise. 7708 * config/sparc/sparc-modes.def: Likewise. 7709 * config/sparc/sparc.c: Likewise. 7710 * config/sparc/sparc.h: Likewise. 7711 * config/sparc/sparc.md: Likewise. 7712 * config/sparc/sparclet.md: Likewise. 7713 * config/sparc/supersparc.md: Likewise. 7714 * config/sparc/sysv4.h: Likewise. 7715 * config/sparc/vxsim.h: Likewise. 7716 * config/sparc/vxsparc64.h: Likewise. 7717 77182002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7719 7720 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED. 7721 * collect2.c (ignore_library, aix_std_libs): Move into the context 7722 where it is used. 7723 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype. 7724 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes. 7725 * m88k.c (output_call): Wrap variables with macro controlling use. 7726 * rs6000.md: Likewise. Const-ify variable. 7727 * sh.h (ASM_OUTPUT_LABELREF): Likewise. 7728 * final.c (only_leaf_regs_used): Likewise. 7729 * regrename.c (maybe_mode_change): Mark parameter with 7730 ATTRIBUTE_UNUSED. 7731 * reload.c (find_valid_class): Likewise. Likewise for variable. 7732 (find_reloads_address_1): Likewise. 7733 * varasm.c (weak_finish): Wrap variable with macro controlling use. 7734 77352002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl> 7736 7737 * config/avr/avr.c (output.h): Move after inclusion of tree.h. 7738 77392002-09-14 Kazu Hirata <kazu@cs.umass.edu> 7740 7741 * ChangeLog: Follow spelling conventions. 7742 * ChangeLog.0: Likewise. 7743 * ChangeLog.2: Likewise. 7744 * ChangeLog.3: Likewise. 7745 * ChangeLog.4: Likewise. 7746 * ChangeLog.5: Likewise. 7747 * ChangeLog.6: Likewise. 7748 * cppfiles.c: Likewise. 7749 * cppinit.c: Likewise. 7750 * cpplib.h: Likewise. 7751 * cse.c: Likewise. 7752 * debug.h: Likewise. 7753 * df.c: Likewise. 7754 * dominance.c: Likewise. 7755 * hashtable.c: Likewise. 7756 * hashtable.h: Likewise. 7757 * loop.c: Likewise. 7758 * config/arm/README-interworking: Likewise. 7759 * config/arm/arm.c: Likewise. 7760 * config/arm/arm.h: Likewise. 7761 * config/arm/arm.md: Likewise. 7762 * config/dsp16xx/dsp16xx.h: Likewise. 7763 * config/frv/frv.c: Likewise. 7764 * config/frv/frv.h: Likewise. 7765 * config/ip2k/ip2k.h: Likewise. 7766 * config/rs6000/rs6000.c: Likewise. 7767 * config/stormy16/stormy-abi: Likewise. 7768 * config/stormy16/stormy16.h: Likewise. 7769 * config/v850/v850.c: Likewise. 7770 77712002-09-14 Kazu Hirata <kazu@cs.umass.edu> 7772 7773 * loop.c: Fix a comment typo. 7774 77752002-09-14 Kazu Hirata <kazu@cs.umass.edu> 7776 7777 * config/fr30/fr30.h: Fix comment typos. 7778 * config/frv/frv.c: Likewise. 7779 * config/i386/xmmintrin.h: Likewise. 7780 * config/mips/mips.c: Likewise. 7781 * config/sh/sh.c: Likewise. 7782 77832002-09-14 Kazu Hirata <kazu@cs.umass.edu> 7784 7785 * haifa-sched.c: Follow spelling conventions. 7786 * regclass.c: Likewise. 7787 * regrename.c: Likewise. 7788 * config/fp-bit.c: Likewise. 7789 * config/frv/frv.h: Likewise. 7790 * config/m88k/m88k.c: Likewise. 7791 * config/mcore/mcore.c: Likewise. 7792 * config/rs6000/darwin.h: Likewise. 7793 * config/rs6000/gnu.h: Likewise. 7794 * config/rs6000/linux.h: Likewise. 7795 * config/rs6000/linux64.h: Likewise. 7796 * config/rs6000/rs6000.c: Likewise. 7797 * config/rs6000/rs6000.h: Likewise. 7798 * config/sh/sh.c: Likewise. 7799 * config/sparc/sparc.c: Likewise. 7800 * config/sparc/ultra1_2.md: Likewise. 7801 78022002-09-14 Stephane Carrez <stcarrez@nerim.fr> 7803 7804 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable 7805 memory operand when source is 0 (K constraint). 7806 ("movsi_internal"): Likewise. 7807 ("movdf_internal"): Likewise. 7808 ("movsf_internal"): Likewise. 7809 78102002-09-14 Alan Modra <amodra@bigpond.net.au> 7811 7812 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use 7813 targetm.binds_local_p to set SYMBOL_REF_FLAG. 7814 (rs6000_xcoff_encode_section_info): Likewise. 7815 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise. 7816 78172002-09-10 Theodore A. Roth <troth@verinet.com> 7818 7819 * gcc/config/avr/avr.h: Set default options for C++ for avr. 7820 78212002-09-13 Roger Sayle <roger@eyesopen.com> 7822 7823 * stmt.c (struct nexting): Remove unused alt_end_label field. 7824 (expand_start_loop): Delete initialization of alt_end_label. 7825 (expand_start_null_loop): Likewise. 7826 (expand_exit_loop_if_false): Delete updating of alt_end_label. 7827 78282002-09-13 Richard Henderson <rth@redhat.com> 7829 7830 * Makefile.in (toplev.o): Depend on real.h. 7831 (print-rtl.o, varasm.o, ifcvt.o): Likewise. 7832 78332002-09-14 Alan Modra <amodra@bigpond.net.au> 7834 7835 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe. 7836 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN. 7837 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define. 7838 78392002-09-13 Nathan Sidwell <nathan@codesourcery.com> 7840 7841 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables. 7842 78432002-09-13 Steve Ellcey <sje@cup.hp.com> 7844 7845 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*, 7846 ia64*-*-linux*): Set extra_parts. 7847 * config/ia64/t-aix (EXTRA_PARTS): Remove. 7848 * config/ia64/t-ia64 (EXTRA_PARTS): Remove. 7849 78502002-09-13 Kazu Hirata <kazu@cs.umass.edu> 7851 7852 * config/h8300/fixunssfsi.c: Replace H8/S with H8S. 7853 * config/h8300/h8300.c: Likewise. 7854 * config/h8300/h8300.h: Likewise. 7855 * config/h8300/h8300.md: Likewise. 7856 * doc/invoke.texi: Likewise. 7857 78582002-09-13 Kazu Hirata <kazu@cs.umass.edu> 7859 7860 * config/h8300/h8300.c (h8300_init_once): Fix formatting. 7861 78622002-09-13 Richard Henderson <rth@redhat.com> 7863 7864 * config/alpha/alpha.md (attr type): Add callpal. 7865 (imb, trap, load_tp, set_tp): Use it. 7866 * config/alpha/ev4.md (ev4_callpal): New. 7867 * config/alpha/ev5.md (ev5_callpal): New. 7868 * config/alpha/ev6.md (ev6_ibr): Handle callpal. 7869 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL. 7870 (alphaev5_insn_pipe): Likewise. 7871 78722002-09-13 Andreas Jaeger <aj@suse.de> 7873 7874 * Makefile.in (print-rtl.o): Depend on CONFIG_H. 7875 78762002-09-13 Steve Ellcey <sje@cup.hp.com> 7877 7878 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO, 7879 LIB2ADDEH): New, set to NULL. 7880 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New. 7881 78822002-09-13 Steve Ellcey <sje@cup.hp.com> 7883 7884 * config/ia64/quadlib.c (_U_Qfcmp): Make extern. 7885 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration. 7886 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp): 7887 Add declarations. 7888 (_U_Qfneg): Remove. 7889 78902002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com> 7891 7892 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support 7893 for H8/300, H8S aa:8 mode. 7894 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode. 7895 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length 7896 for H8/300 aa:8 mode. 7897 78982002-09-13 Hartmut Penner <hpenner@de.ibm.com> 7899 7900 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New 7901 insns. 7902 79032002-09-12 Richard Henderson <rth@redhat.com> 7904 7905 * Makefile.in (HOST_PRINT): Use print-rtl1.o 7906 (print-rtl.o): Don't define GENERATOR_FILE. 7907 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o. 7908 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output 7909 unless GENERATOR_FILE. 7910 79112002-09-12 Stan Shebs <shebs@apple.com> 7912 7913 * config/darwin.h (USER_LABEL_PREFIX): Define here... 7914 * config/i386/darwin.h: ... instead of here. 7915 7916 * target.h (struct gcc_target): New field 7917 terminate_dw2_eh_frame_info. 7918 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define. 7919 (TARGET_INITIALIZER): Add it. 7920 * dwarf2out.c (output_call_frame_info): Use target hook. 7921 * dwarf2asm.c (dw2_asm_output_delta): Use macro 7922 ASM_OUTPUT_DWARF_DELTA if defined. 7923 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document. 7924 (ASM_OUTPUT_DWARF_DELTA): Ditto. 7925 (ASM_OUTPUT_DWARF_OFFSET): Ditto. 7926 (ASM_OUTPUT_DWARF_PCREL): Ditto. 7927 * config.gcc (i[34567]86-*-darwin*): Define extra_parts. 7928 (powerpc-*-darwin*): Ditto. 7929 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits 7930 to work correctly for Darwin. 7931 * config/darwin.h (OBJECT_FORMAT_MACHO): Define. 7932 (STARTFILE_SPEC): Add crtbegin.o. 7933 (ENDFILE_SPEC): Define. 7934 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment. 7935 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases. 7936 (ASM_OUTPUT_DWARF_DELTA): Define. 7937 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define. 7938 * config/darwin.c (darwin_asm_output_dwarf_delta): New function. 7939 79402002-09-13 Alan Modra <amodra@bigpond.net.au> 7941 7942 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if" 7943 nesting. Correct test for non-PowerPC64 ELF ABI_AIX. 7944 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX. 7945 79462002-09-12 Zack Weinberg <zack@codesourcery.com> 7947 7948 * toplev.c: Move default definition of USER_LABEL_PREFIX... 7949 * defaults.h: ... here. 7950 79512002-09-12 Richard Henderson <rth@redhat.com> 7952 7953 * vax.c: Include tree.h earlier. 7954 79552002-09-12 Stan Shebs <shebs@apple.com> 7956 7957 * config/darwin.c (machopic_finish): Remove #if 0 chunks. 7958 (machopic_operand_p): Ditto. 7959 79602002-09-12 Kazu Hirata <kazu@cs.umass.edu> 7961 7962 * config/arm/arm.c (arm_compute_initial_elimination_offset): 7963 Fix a comment typo. 7964 79652002-09-12 Kazu Hirata <kazu@cs.umass.edu> 7966 7967 * toplev.c (do_abort): Fix a comment typo. 7968 79692002-09-12 Kazu Hirata <kazu@cs.umass.edu> 7970 7971 * cselib.c: Fix comment formatting. 7972 * gengtype.c: Likewise. 7973 79742002-09-12 Kazu Hirata <kazu@cs.umass.edu> 7975 7976 * config/h8300/h8300.md (udivmodqi4): Do not use an expander. 7977 (udivmodhi4): Likewise. 7978 79792002-09-12 Graham Stott <graham.stott@btinternet.com> 7980 Roger Sayle <roger@eyesopen.com> 7981 7982 * i386.c (any_fp_register_operand, fp_register_operand, 7983 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand): 7984 New predicate functions. 7985 * i386-protos.h: Add their prototypes. 7986 * i386.h: Add them to PREDICATE_CODES. 7987 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1, 7988 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2, 7989 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1, 7990 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1, 7991 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2, 7992 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1, 7993 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2, 7994 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1, 7995 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1, 7996 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2, 7997 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2): 7998 Use these new predicates to simplify and correct the use of 7999 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P. 8000 80012002-09-12 Jason Merrill <jason@redhat.com> 8002 8003 * diagnostic.c (output_add_identifier): New fn. 8004 * diagnostic.h: Declare it. 8005 8006 * calls.c (store_one_arg): Use size_in_bytes to determine the 8007 amount of space to push. 8008 80092002-09-12 Jakub Jelinek <jakub@redhat.com> 8010 8011 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo. 8012 80132002-09-12 Ulrich Weigand <uweigand@de.ibm.com> 8014 8015 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes. 8016 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes. 8017 (s390_select_ccmode): Likewise. 8018 (s390_branch_condition_mask): Likewise. 8019 (optimization_options): Do not set flag_branch_on_count. 8020 (s390_split_branches): Handle doloop branches. 8021 (s390_chunkify_pool): Likewise. 8022 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns. 8023 ("doloop_end"): New expander. 8024 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long", 8025 associated splitters): New. 8026 80272002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 8028 8029 * genattrtab.c (simplify_cond): Remove unused variable(s). 8030 * global.c (record_conflicts): Likewise. 8031 * jump.c (rebuild_jump_labels): Likewise. 8032 * loop.c (scan_loop, check_final_value): Likewise. 8033 * ra-colorize.c (colorize_one_web, assign_colors): Likewise. 8034 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise. 8035 * rtlanal.c (reg_set_p): Likewise. 8036 * stmt.c (expand_asm_operands, expand_decl): Likewise. 8037 * genautomata.c (empty_reserv): Remove. 8038 * loop.c (max_luid): Likewise. 8039 * sched-rgn.c (bitlst_table_size): Likewise. 8040 80412002-09-11 Nathan Sidwell <nathan@codesourcery.com> 8042 8043 Reimplement gcov format. 8044 * gcov-io.h: Replace. 8045 * gcov.c: Reimplement. 8046 * gcov-iov.c: New file. 8047 * gcov-dump.c: New file. 8048 * libgcc2.c (L_bb): Replace with ... 8049 (L_gcov): ... this. 8050 (struct bb_function_info, struct bb): Remove. 8051 (inhibit_libc): Never inhibit. 8052 (gcov_list, gcov_crc): New static variables. 8053 (gcov_version_mismatch): New static function. 8054 (__bb_exit_func): Renamed to ... 8055 (__gcov_exit): ... here. Made static. Reimplement. 8056 (__gcov_init_func): Rename to ... 8057 (__gcov_init): ... here. Check version, update crc. 8058 (__bb_fork_func): Rename to ... 8059 (__gcov_flush): ... here. 8060 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func, 8061 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove. 8062 * calls.c (expand_call): Call __gcov_flush. 8063 * profile.c (bb_file, last_bb_file_name): Remove. 8064 (bbg_file_name): New global variable. 8065 (output_gcov_string): Remove. 8066 (get_exec_counts): Reimplement. 8067 (branch_prob): Reimplement gcov file writing. 8068 (init_branch_prob): Create bbg_file_name, don't create 8069 bb_file_name. 8070 (end_branch_prob): Adjust. Don't remove counter file when 8071 instrumenting ourselves. 8072 (create_profiler): Adjust. 8073 * doc/gcov.texi (Gcov Data Files): Remove detailed specification, 8074 point to gcov-io.h. 8075 * Makefile.in (LANGUAGES): Add gcov-dump. 8076 (coverageexts): Remove .bb. 8077 (STAGESTUFF): Add gcov-dump. 8078 (LIB2FUNCS_ST): Replace _bb with _gcov. 8079 (profile.o): Depend on gcov-iov.h. 8080 (final.o): Don't depend on profile.h, gcov.h. 8081 (gcov.o): Depend on gcov-iov.h. 8082 (gcov-iov.o): New target. 8083 (gcov-iov): New target. 8084 (gcov-iov.h): New target. 8085 (gcov-dump.o): New target. 8086 (GCOV_DUMP_OBJS): New variable. 8087 (gcov-dump): New target. 8088 (distclean): Remove coverageexts. 8089 (stage1): Remove coverageexts. 8090 80912002-09-11 Hartmut Penner <hpenner@de.ibm.com> 8092 8093 * fold-const.c (make_range): Only narrow to signed range if 8094 the signed range is smaller than the unsigned range. 8095 80962002-09-12 Alan Modra <amodra@bigpond.net.au> 8097 8098 * emit-rtl.c (set_mem_size): New function. 8099 * expr.h (set_mem_size): Declare. 8100 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate. 8101 (expand_block_move): Instead, use adjust_address and 8102 replace_equiv_address to generate proper aliasing info. 8103 Move common code out of conditionals. Localize vars. 8104 81052002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr> 8106 8107 * optabs.c (expand_binop): Minor cleanup. 8108 (expand_twoval_binop): Convert CONST_INTs like in expand_binop. 8109 81102002-09-11 Dan Nicolaescu <dann@ics.uci.edu> 8111 8112 * print-tree.c (print_node): Print the restrict qualifier. 8113 81142002-09-11 Janis Johnson <janis187@us.ibm.com> 8115 8116 * doc/install.texi: Fix typos. 8117 81182002-09-11 Zack Weinberg <zack@codesourcery.com> 8119 8120 * Makefile.in: Remove all references to s-under and underscore.c. 8121 * collect2.c, tlink.c: Change all uses of prepends_underscore 8122 to look directly at USER_LABEL_PREFIX. 8123 81242002-09-11 David Edelsohn <edelsohn@gnu.org> 8125 8126 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append 8127 alignment to csect. 8128 (rs6000_xcoff_unique_section): Only set section name for public 8129 data. 8130 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags. 8131 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove 8132 duplicate definition. 8133 81342002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca> 8135 8136 * pa.md (extzv): Check predicates before emitting extzv_32. 8137 (insv): Likewise. 8138 81392002-09-10 Ulrich Weigand <uweigand@de.ibm.com> 8140 8141 * config/s390/s390.h (MOVE_MAX): Define to correct value. 8142 (MAX_MOVE_MAX): Define. 8143 (MOVE_BY_PIECES_P): Define. 8144 (CLEAR_BY_PIECES_P): Define. 8145 81462002-09-10 Denis Chertykov <denisc@overta.ru> 8147 8148 * config/avr/avr.md (movstrhi): Use right operands for conversion. 8149 81502002-09-10 Richard Earnshaw <rearnsha@arm.com> 8151 8152 PR c/7873 8153 * arm.md (insv): Use reg_or_int_operand for operand[3]. 8154 81552002-09-10 David Edelsohn <edelsohn@gnu.org> 8156 8157 * rs6000.c (rs6000_assemble_visibility): Protect declaration 8158 inside macro. Correct function definition typo. 8159 (rs6000_xcoff_section_type_flags): New function. 8160 (TARGET_SECTION_TYPE_FLAGS): Remove definition. 8161 (rs6000_elf_section_type_flags): Call default_section_type_flags_1 8162 with appropriate PIC test. 8163 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to 8164 determine readonly. 8165 (rs6000_binds_local_p): Combine PIC flags. 8166 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define. 8167 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define. 8168 81692002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8170 8171 * h8300.md: Fix signed/unsigned warnings. 8172 * mcore.md: Likewise. 8173 * mn10300.c (mask_ok_for_mem_btst): Likewise. 8174 81752002-09-09 Per Bothner <per@bothner.com> 8176 8177 * print-tree.c (print_node): In a STRING_CST, escape non-ascii 8178 characters, and only print TREE_STRING_LENGTH chars. 8179 81802002-09-09 Steve Ellcey <sje@cup.hp.com> 8181 8182 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true. 8183 (ASM_FILE_END) New. 8184 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false. 8185 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New. 8186 * config/ia64/ia64.c (ia64_asm_output_external): Create list 8187 of external functions if TARGET_HPUX_LD is true. 8188 (ia64_hpux_add_extern_decl): New, routine to put names on 8189 list of external functions. 8190 (ia64_hpux_asm_file_end): Put out declarations for external 8191 functions if and only if they are used. 8192 81932002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca> 8194 8195 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage 8196 on TARGET_64BIT before pic register restore. 8197 81982002-09-09 David Edelsohn <edelsohn@gnu.org> 8199 8200 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description. 8201 (TARGET_HAVE_TLS): New description. 8202 82032002-09-09 Janis Johnson <janis187@us.ibm.com> 8204 8205 * doc/extend.texi (Statement Exprs): Fix broken link. 8206 82072002-09-09 Denis Chertykov <denisc@overta.ru> 8208 8209 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for 8210 right conversion of operands[1]. 8211 82122002-09-09 Ulrich Weigand <uweigand@de.ibm.com> 8213 8214 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as 8215 commutative. Use "nonimmediate_operand" instead of "register_operand" 8216 as predicate for operand 0. Move to after the "*tmXX_mem" insns. 8217 8218 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark 8219 as commutative. 8220 8221 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not 8222 mark as commutative. Use "nonimmediate_operand" instead of 8223 "register_operand" as predicate for operand 1. 8224 8225 ("movstrictsi"): Fix typo in insn name. 8226 82272002-09-09 Jan Hubicka <jh@suse.cz> 8228 8229 * i386.c (index_register_operand): New. 8230 * i386.h (predicate_codes): Add new predicate. 8231 * i386.md (lea_general_*): Use index_register_operand 8232 (ashift to lea splitter): Do not produce invalid leas 8233 (ashift to mov+ashift split): New. 8234 82352002-09-09 Nick Clifton <nickc@redhat.com> 8236 8237 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h. 8238 Fix folding marks. 8239 82402002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 8241 J"orn Rennecke <joern.rennecke@superh.com> 8242 8243 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits. 8244 82452002-09-09 Alan Modra <amodra@bigpond.net.au> 8246 8247 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool. 8248 (function_ok_for_sibcall): Use binds_local_p. Respect longcall 8249 attributes. 8250 82512002-09-08 Nathan Sidwell <nathan@codesourcery.com> 8252 8253 * basic_block.h (gcov_type): Explain why it is signed. 8254 * final.c: Don't include profile.h. 8255 (struct function_list, functions_head, functions_tail, 8256 end_final): Moved to profile.c 8257 (final): Move arc chaining code to profile.c. 8258 * function.c (prepare_function_start): Remove duplicate line. 8259 * output.h (end_final): Remove prototype. 8260 * predict.c (estimate_loops_at_level): Use gcov_type. 8261 * profile.c (struct function_list, functions_head, 8262 functions_tail): Moved from final.c 8263 (need_func_profiler): Remove. 8264 (instrument_edges): Don't set need_func_profiler. 8265 (get_exec_counts): Avoid signed/unsigned warning. 8266 (compute_checksum): Use crc32. 8267 (branch_prob): Adjust. Chain onto functions_head. 8268 (init_branch_prob): Absorb init_edge_profiler. 8269 (init_edge_profiler): Remove. 8270 (create_profiler): Moved and renamed from final.c:end_final. 8271 Emit data and constructor. 8272 (output_func_start_profiler): Remove. 8273 * profile.h (struct profile_info): checksum is unsigned. 8274 * rtl.h (output_func_start_profiler): Remove prototype. 8275 (create_profiler): Declare. 8276 * toplev.c (compile_file): Call create_profiler, if instrumenting 8277 arcs. Don't call end_final. 8278 82792002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8280 8281 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE. 8282 82832002-09-08 Richard Henderson <rth@redhat.com> 8284 8285 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli. 8286 (DW_OP_GNU_push_tls_address): New. 8287 (DW_OP_lo_user): Fix. 8288 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New. 8289 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes. 8290 (size_of_loc_descr): Likewise. 8291 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr. 8292 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx. 8293 (loc_descriptor_from_tree): Handle TLS variables. 8294 (rtl_for_decl_location): Do avoid_constant_pool_reference here ... 8295 (add_location_or_const_value_attribute): ... not here. Defer 8296 to loc_descriptor_from_tree for TLS variables. 8297 8298 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New. 8299 * config/i386/i386.c (i386_output_dwarf_dtprel): New. 8300 * config/i386/i386-protos.h: Update. 8301 83022002-09-08 Roger Sayle <roger@eyesopen.com> 8303 8304 PR optimization/6405 8305 * unroll.c (loop_iterations): last_loop_insn should be the previous 8306 non-note instruction before loop->end. 8307 * loop.c (strength_reduce): The conditional jump is the last 8308 non-note instruction before loop->end (as above). 8309 83102002-09-08 Roger Sayle <roger@eyesopen.com> 8311 8312 * combine.c (try_combine): Handle the case that undobuf.other_insn 8313 has been turned into a return or unconditional jump, by inserting 8314 a BARRIER if necessary. 8315 (simplify_set): Test if a condition code setter has a constant 8316 comparison at compile time, if so convert this insn to a no-op move 8317 and update/simplify the condition code user (undobuf.other_insn). 8318 83192002-09-08 Krister Walfridsson <cato@df.lth.se> 8320 8321 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine. 8322 (CLEAR_INSN_CACHE): Define. 8323 83242002-09-08 Kazu Hirata <kazu@cs.umass.edu> 8325 8326 * basic-block.h: Fix comment formatting. 8327 * c-common.c: Likewise. 8328 * c-common.h: Likewise. 8329 * c-lex.c: Likewise. 8330 * c-pretty-print.c: Likewise. 8331 * cfglayout.c: Likewise. 8332 * cfgloop.c: Likewise. 8333 * defaults.h: Likewise. 8334 * et-forest.c: Likewise. 8335 * explow.c: Likewise. 8336 * function.h: Likewise. 8337 * gcov.c: Likewise. 8338 * genattrtab.c: Likewise. 8339 * gengtype.c: Likewise. 8340 * ifcvt.c: Likewise. 8341 * libgcc2.c: Likewise. 8342 * loop.c: Likewise. 8343 * profile.c: Likewise. 8344 * ra-build.c: Likewise. 8345 * real.c: Likewise. 8346 * rtl.h: Likewise. 8347 * tracer.c: Likewise. 8348 * tree-inline.c: Likewise. 8349 * varasm.c: Likewise. 8350 83512002-09-08 Jan Hubicka <jh@suse.cz> 8352 8353 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref 8354 handling. 8355 8356 * loop.c (loop_givs_reduce): Emit addition after. 8357 83582002-09-08 Alan Modra <amodra@bigpond.net.au> 8359 8360 * varasm.c (default_assemble_visibility): Rename from 8361 assemble_visibility. 8362 * output.h: Here too. 8363 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here. 8364 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here. 8365 83662002-09-08 Alan Modra <amodra@bigpond.net.au> 8367 8368 * reload.c (find_reloads <p constraint>): Pass operand_mode to 8369 find_reloads_address. 8370 83712002-09-08 Kazu Hirata <kazu@cs.umass.edu> 8372 8373 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300. 8374 (anonymous pattern): Likewise. 8375 83762002-09-07 Igor Shevlyakov <igor@microunity.com> 8377 8378 * machmode.def: Add modes for half-float vectors. 8379 83802002-09-07 Scott Snyder <snyder@fnal.gov> 8381 8382 PR target/7374 8383 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'. 8384 83852002-09-07 Roger Sayle <roger@eyesopen.com> 8386 8387 * basic-block.h (struct loop): Remove unused cont_dominator field. 8388 83892002-09-07 Igor Shevlyakov <igor@microunity.com> 8390 8391 * varasm.c (decode_rtx_const): Don't check undefined field for 8392 CONST_VECTOR. 8393 83942002-09-07 Glen Nakamura <glen@imodulo.com> 8395 8396 PR opt/7814 8397 * sched-deps.c (sched_analyze_insn): Make sure to add insn 8398 to reg_last->sets after flushing the dependency lists to guarantee 8399 that subsequent clobbers will be dependent on it. 8400 84012002-09-07 Igor Shevlyakov <igor@microunity.com> 8402 8403 * combine.c (simplify_shift_const): Calculate rotate count 8404 correctly for vector operands. 8405 84062002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de> 8407 8408 * c-typeck.c (c_tree_expr_nonnegative_p): New function. 8409 (build_binary_op): Call c_tree_expr_nonnegative_p rather than 8410 tree_expr_nonnegative_p. 8411 (build_conditional_expr): Likewise. 8412 * c-tree.h (c_tree_expr_nonnegative_p): Declare. 8413 84142002-09-07 Richard Henderson <rth@redhat.com> 8415 8416 * builtins.def (inf, inff, infl): Mark const. 8417 (huge_val, huge_valf, huge_vall): Likewise. 8418 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove. 8419 8420 * real.c (ereal_inf): Clear E before use. 8421 84222002-09-07 Kazu Hirata <kazu@cs.umass.edu> 8423 8424 * config/h8300/h8300.md (udivmodqi4): Split the pattern into 8425 an expander and an anonymous pattern. Zero out the upper half 8426 of the dividend in the expander. 8427 (udivmodqi4): Likewise. 8428 84292002-09-07 Kazu Hirata <kazu@cs.umass.edu> 8430 8431 * config/h8300/h8300.c: Fix formatting. 8432 * config/h8300/h8300.h: Likewise. 8433 * config/h8300/h8300.md: Likewise. 8434 84352002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 8436 8437 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness 8438 information. 8439 84402002-09-07 Graham Stott <graham.stott@btinternet.com> 8441 8442 * rtlanal.c (dead_or_set_regno_p): Fix typo. 8443 84442002-09-07 Alan Modra <amodra@bigpond.net.au> 8445 8446 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. 8447 8448 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe. 8449 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define. 8450 (TARGET_ASM_OUT): Add the above here. 8451 * target.h (struct gcc_target): Add "visibility" field. 8452 * varasm.c (maybe_assemble_visibility): Call targetm visibility func. 8453 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function. 8454 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define. 8455 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting. 8456 84572002-09-06 Ziemowit Laski <zlaski@apple.com> 8458 8459 * c-lang.c (objc_is_id): New stub. 8460 * c-tree.h (objc_is_id): New forward declaration. 8461 * c-typeck.c (build_c_cast): Do not strip protocol 8462 qualifiers from 'id' type. 8463 * objc/objc-act.c (objc_comptypes): Correct handling 8464 of protocol qualifiers. 8465 (objc_is_id): New. 8466 8467Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com) 8468 8469 * pentium.md (pentium-firstvboth): Fix typo. 8470 84712002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com> 8472 8473 * h8300.c (enum shift_alg): Move to earlier in h8300.c. 8474 (enum shift_type, enum h8_cpu): Likewise. 8475 (INL, ROT, LOP, SPC macros): Likewise. 8476 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose 8477 const designator. 8478 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more 8479 space efficient algorithms when optimize for codesize. 8480 8481Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it> 8482 8483 Fix PR/1727 and long-standing failing testcase 8484 objc/formal-protocol-6.m. 8485 * objc-act.c (build_protocol_expr): If compiling for the GNU 8486 runtime, create a list of Protocol statically allocated instances 8487 if it doesn't exist, then add the Protocol object to this same 8488 list. 8489 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used 8490 instead of TREE_CHAIN. 8491 8492Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it> 8493 8494 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to 8495 10k. Fixed category dumping - print out category names with the 8496 proper syntax. Print '@end\n' and not '\n@end' at the end of the 8497 interface. 8498 (finish_objc): Fixed the -gen-decls option. It was printing out 8499 only the last class. Dump an interface declaration of all classes 8500 being compiled instead. 8501 85022002-09-06 Jason Thorpe <thorpej@wasabisystems.com> 8503 8504 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New 8505 prototype. 8506 * config/arm/arm.c (arm_gen_return_addr_mask): New function. 8507 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask 8508 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode 8509 rather than GEN_INT. 8510 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define. 8511 (return_addr_mask, *check_arch2): New. 8512 85132002-09-06 Ulrich Weigand <uweigand@de.ibm.com> 8514 8515 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly", 8516 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3", 8517 "*addsi3_carry1_cc", "*addsi3_carry1_cconly", 8518 "*addsi3_carry2_cc", "*addsi3_carry2_cconly", 8519 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3", 8520 "adddf3", "*adddf3", "*adddf3_ibm", 8521 "addsf3", "*addsf3", "*addsf3_ibm", 8522 "muldi3", "mulsi3", "mulsidi3", 8523 "muldf3", "*muldf3", "*muldf3_ibm", 8524 "mulsf3", "*mulsf3", "*mulsf3_ibm", 8525 "*anddi3_cc", "*anddi3_cconly", "anddi3", 8526 "*andsi3_cc", "*andsi3_cconly", "andsi3", 8527 "*iordi3_cc", "*iordi3_cconly", "iordi3", 8528 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3", 8529 "*xordi3_cc", "*xordi3_cconly", "xordi3", 8530 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand" 8531 instead of "register_operand" as predicate for "%0" operand. 8532 85332002-09-06 Jakub Jelinek <jakub@redhat.com> 8534 8535 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9 8536 unconditionally when gcc_cv_as_flags64 checks are gone. 8537 * configure: Rebuilt. 8538 85392002-09-06 Alan Modra <amodra@bigpond.net.au> 8540 8541 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of 8542 2002-07-26 change. Comment. 8543 85442002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8545 8546 * frv.c (frv_unique_section, frv_select_section, 8547 frv_select_rtx_section): Delete. 8548 (frv_in_small_data_p): New. 8549 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION, 8550 TARGET_ASM_SELECT_RTX_SECTION): Delete. 8551 (TARGET_IN_SMALL_DATA_P): Define. 8552 85532002-09-05 Dale Johannesen <dalej@apple.com> 8554 8555 * reload1.c (reload): Retain only those memory clobbers 8556 added for variable-array handling. 8557 85582002-09-05 Jason Thorpe <thorpej@wasabisystems.com> 8559 8560 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS 8561 return-in-memory rules. 8562 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define. 8563 85642002-09-05 David Edelsohn <edelsohn@gnu.org> 8565 8566 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete. 8567 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete. 8568 85692002-09-05 Jason Thorpe <thorpej@wasabisystems.com> 8570 8571 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is 8572 not a compile-time constant for the non-IBM case. 8573 * config/arm/arm-protos.h (arm_float_words_big_endian): New 8574 prototype. 8575 * config/arm/arm.c (arm_float_words_big_endian): New function. 8576 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__ 8577 if TARGET_VFP and not TARGET_HARD_FLOAT. 8578 (ARM_FLAG_VFP, TARGET_VFP): Define. 8579 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian. 8580 85812002-09-05 David Edelsohn <edelsohn@gnu.org> 8582 8583 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux* 8584 URLs. Fix AIX wording. 8585 85862002-09-05 Stan Shebs <shebs@apple.com> 8587 8588 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and 8589 -fPIC equivalent on Darwin. 8590 8591Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com> 8592 8593 * sh.c (sh_expand_builtin): Return early if encountering an 8594 error_mark for a type. 8595 85962002-09-05 Ulrich Weigand <uweigand@de.ibm.com> 8597 8598 * config/s390/s390.c (s390_expand_plus_operand): Do not require 8599 double-word scratch register. 8600 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt. 8601 8602 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem", 8603 "*cli"): Replace s_operand by memory_operand. 8604 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand. 8605 86062002-09-05 Kazu Hirata <kazu@cs.umass.edu> 8607 8608 * config/h8300/h8300.c (asm_file_start): Add a missing 8609 semicolon. 8610 86112002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 8612 8613 * c-typeck.c (build_function_call): Remove unused variable(s). 8614 (build_c_cast): Likewise. 8615 * calls.c (rtx_for_function_call): Likewise. 8616 * cfglayout.c (duplicate_insn_chain): Likewise. 8617 * cfgloop.c (flow_loop_nodes_find): Likewise. 8618 * cfgrtl.c (split_edge): Likewise. 8619 * df.c (df_ref_create): Likewise. 8620 * except.c (expand_end_catch): Likewise. 8621 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise. 8622 * function.c (emit_return_into_block): Likewise. 8623 (reposition_prologue_and_epilogue_notes): Likewise. 8624 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise. 8625 * combine.c (subst_prev_insn, need_refresh): Remove. 8626 * dwarf2out.c (primary_filename): Remove. 8627 * final.c (new_block): Remove. 8628 * gcse.c (orig_bb_count): Remove. 8629 86302002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8631 8632 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool. 8633 * dsp16xx.c (dsp16xx_compare_gen): Likewise. 8634 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions 8635 directly instead of using a function pointer. 8636 86372002-09-04 Krister Walfridsson <cato@df.lth.se> 8638 8639 * config/i386/i386.h (GOT_SYMBOL_NAME): Define. 8640 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME. 8641 (ix86_output_addr_diff_elt) Likewise. 8642 (x86_output_mi_thunk) Likewise. 8643 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine. 8644 86452002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8646 8647 * frv.c (frv_encode_section_info): Fix error in last change. 8648 86492002-09-04 David Edelsohn <edelsohn@gnu.org> 8650 8651 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable. 8652 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED. 8653 (TARGET_BINDS_LOCAL_P): Define. 8654 (rs6000_override_options): Save original flag_pic value. 8655 (rs6000_elf_select_section): Call default_elf_select_section_1. 8656 (rs6000_elf_unique_section): Call default_unique_section_1. 8657 (rs6000_elf_in_small_data_p): New function. 8658 (rs6000_xcoff_asm_named_section): Determine storage mapping class. 8659 (rs6000_xcoff_select_section): Update based on defaults. 8660 (rs6000_xcoff_unique_section): Set to basic name if not common. 8661 (rs6000_binds_local_p): New function. 8662 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set 8663 targetm.have_srodata_section if SDATA_EABI. 8664 (TARGET_IN_SMALL_DATA_P): Define. 8665 86662002-09-04 Dale Johannesen <dalej@apple.com> 8667 8668 * varasm.c (struct rtx_const, decode_rtx_const): 8669 Make veclo and vechi fields not share storage. 8670 8671Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com> 8672 8673 * loop.c (scan_loop): Don't mark separate insns out of a libcall 8674 for moving. 8675 (move_movables): Abort if we see the first insn of a libcall. 8676 86772002-09-04 Richard Henderson <rth@redhat.com> 8678 8679 * builtin-types.def (BT_FN_FLOAT): New. 8680 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New. 8681 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL, 8682 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New. 8683 * builtins.c (fold_builtin_inf): New. 8684 (fold_builtin): Call it. 8685 * real.c (ereal_inf): New. 8686 * real.h: Declare it. 8687 * doc/extend.texi: Document new builtins. 8688 86892002-09-04 Richard Henderson <rth@redhat.com> 8690 8691 * cse.c (cse_insn): Avoid subreg games if the equivalence 8692 is already in the proper mode. 8693 86942002-09-04 Eric Botcazou <ebotcazou@multimania.com> 8695 8696 PR c/7102 8697 * optabs.c (expand_binop): Convert CONST_INTs in all cases. 8698 86992002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 8700 8701 * pa.md (setccfp0, setccfp1): New patterns. 8702 87032002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8704 8705 * frv-protos.h (frv_init_builtins, frv_expand_builtin, 8706 frv_select_section, frv_select_rtx_section, 8707 frv_encode_section_info, frv_unique_section): Delete. 8708 * frv.c: Update for target hooks. 8709 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION, 8710 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION, 8711 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete. 8712 87132002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8714 8715 * ip2k-protos.h (function_prologue, function_epilogue, 8716 encode_section_info): Update to match target hook specification. 8717 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS. 8718 (function_prologue, function_epilogue, encode_section_info): 8719 Update to match target hook specification. 8720 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN, 8721 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete. 8722 (NOTICE_UPDATE_CC): Cast to void. 8723 * ip2k.md: Add defaults in switch statements. 8724 87252002-09-04 Janis Johnson <janis187@us.ibm.com> 8726 8727 * doc/trouble.texi (Interoperation): Update information about C++ ABI 8728 issues. 8729 87302002-09-04 Jason Thorpe <thorpej@wasabisystems.com> 8731 8732 * config/sparc/t-netbsd64: Disable multilib for now. 8733 87342002-09-04 David Edelsohn <edelsohn@gnu.org> 8735 8736 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro. 8737 * target.h (gcc_target): Add have_srodata_section member. 8738 * varasm.c (section_category): Add SECCAT_SRODATA. 8739 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if 8740 READONLY_SDATA_SECTION defined. 8741 (decl_readonly_section_1): True for SECCAT_SRODATA also. 8742 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2. 8743 (default_unique_section_1): Likewise. 8744 87452002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 8746 8747 * expr.c (emit_group_load): Revise to allow splitting TCmode source 8748 into DImode pieces. 8749 8750 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128. 8751 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode 8752 for floating-point register class. 8753 * pa.c (function_arg): Fix handling of modes wider than one word for 8754 TARGET_64BIT. 8755 8756Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com> 8757 8758 * combine.c (make_compound_operation): Don't generate zero / sign 8759 extensions in floating point modes. 8760 87612002-09-04 Janis Johnson <janis187@us.ibm.com> 8762 8763 * doc/c-tree.texi: Fix overfull hboxes. 8764 * doc/cppopts.texi: Ditto. 8765 * doc/extend.texi: Ditto. 8766 * doc/gty.texi: Ditto. 8767 * doc/invoke.texi: Ditto. 8768 * doc/makefile.texi: Ditto. 8769 * doc/rtl.texi: Ditto. 8770 * doc/standards.texi: Ditto. 8771 * doc/tm.texi: Ditto. 8772 87732002-09-04 Richard Henderson <rth@redhat.com> 8774 8775 * c-common.c (builtin_define_with_hex_fp_value): New. 8776 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig. 8777 87782002-09-04 Janis Johnson <janis187@us.ibm.com> 8779 8780 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options. 8781 (-fpcc-struct-return, -freg-struct-return, -fshort-enums, 8782 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore): 8783 Warn that these options can break ABI compatibility. 8784 87852002-09-04 Richard Henderson <rth@redhat.com> 8786 8787 * real.c (ereal_to_decimal): Add digits parameter. 8788 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter. 8789 * c-pretty-print.c (pp_c_real_literal): Update call. 8790 * print-rtl.c (print_rtx): Likewise. 8791 * print-tree.c (print_node_brief, print_node): Likewise. 8792 * sched-vis.c (print_value): Likewise. 8793 * config/arc/arc.c (arc_print_operand): Likewise. 8794 * config/c4x/c4x.c (c4x_print_operand): Likewise. 8795 * config/i370/i370.h (PRINT_OPERAND): Likewise. 8796 * config/i386/i386.c (print_operand): Likewise. 8797 * config/i960/i960.c (i960_print_operand): Likewise. 8798 * config/ip2k/ip2k.c (asm_output_float): Likewise. 8799 * config/m32r/m32r.c (m32r_print_operand): Likewise. 8800 * config/m68hc11/m68hc11.c (print_operand): Likewise. 8801 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND, 8802 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise. 8803 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND, 8804 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise. 8805 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND, 8806 ASM_OUTPUT_DOUBLE_OPERAND): Likewise. 8807 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND, 8808 ASM_OUTPUT_DOUBLE_OPERAND): Likewise. 8809 * config/mips/mips.c (print_operand): Likewise. 8810 * config/ns32k/ns32k.c (print_operand): Likewise. 8811 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise. 8812 * config/vax/vax.h (PRINT_OPERAND): Likewise. 8813 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs. 8814 88152002-09-04 Bob Wilson <bob.wilson@acm.org> 8816 8817 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to 8818 xtensa_multibss_section_type_flags. 8819 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define. 8820 88212002-09-04 Richard Henderson <rth@redhat.com> 8822 8823 * doc/install-old.texi: Don't mention enquire. 8824 * doc/sourcebuild.texi: Update float.h description. 8825 8826Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com> 8827 8828 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract. 8829 88302002-09-03 Roger Sayle <roger@eyesopen.com> 8831 8832 * builtins.c (build_function_call_expr): Remove prototype, export 8833 as non-static and add a comment above function definition. 8834 (builtin_mathfn_code): New function to check for math builtins. 8835 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0, 8836 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and 8837 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and 8838 log(sqrt(x)) as log(x)/2.0. 8839 8840 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code 8841 in new "builtins.c" section. Place the build_range_type prototype 8842 with the other prototypes from "tree.c". 8843 8844 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x) 8845 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y) 8846 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold 8847 x/exp(y) as x*exp(-y). 8848 88492002-09-03 David Edelsohn <edelsohn@gnu.org> 8850 8851 * varasm.c (default_section_type_flags): Append _1 to name with 8852 shlib parameter. Use original name to call new function with 8853 implicit flag_pic. 8854 (decl_readonly_section): Likewise. 8855 (default_elf_select_section): Likewise. 8856 (default_unique_section): Likewise. 8857 (default_bind_local_p): Likewise. 8858 (categorize_decl_for_section): Add shlib parameter to use in place 8859 of implicit flag_pic. 8860 * output.h: Declare new functions with _1 and shlib argument. 8861 88622002-09-03 Janis Johnson <janis187@us.ibm.com> 8863 8864 * doc/install.texi: Fix typos, formatting problems, and obvious 8865 overfull/underfull boxes. 8866 8867 * Makefile.in (TEXI_GCC_FILES): Add compat.texi. 8868 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and 8869 include its file, compat.texi. 8870 * doc/compat.texi: New file with new chapter, Binary Compatibility. 8871 88722002-09-03 Neil Booth <neil@daikokuya.co.uk> 8873 8874 Debian BTS Bug #157416 8875 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions. 8876 * cpplib.c (destringize_and_run): Kludge around getting 8877 tokens from in-progress macros. 8878 (_cpp_do__Pragma): Simplify. 8879 88802002-09-03 Steve Ellcey <sje@cup.hp.com> 8881 8882 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu. 8883 (CPP_CPU_SPEC): Remove. 8884 (TARGET_CPU_CPP_BUILTINS): New. 8885 * config/ia64/hpux.h (CPP_PREDEFINES): Remove. 8886 (CPP_SPEC): Remove. 8887 (TARGET_OS_CPP_BUILTINS): New. 8888 * config/ia64/linux.h (CPP_PREDEFINES): Remove. 8889 (TARGET_OS_CPP_BUILTINS): New. 8890 * config/ia64/aix.h (CPP_SPEC): Move some stuff to 8891 TARGET_OS_CPP_BUILTINS. 8892 (CPP_PREDEFINES): Remove. 8893 (CPLUSPLUS_CPP_SPEC): Remove. 8894 (TARGET_OS_CPP_BUILTINS): New. 8895 88962002-09-03 Richard Henderson <rth@redhat.com> 8897 8898 * Makefile.in (USER_H): Add ginclude/float.h. 8899 (FLOAT_H): Remove. 8900 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H. 8901 (mostlyclean): Don't remove float.h intermediate files. 8902 (distclean): Don't remove float.h. 8903 * config.gcc: Remove all float_format references. 8904 * configure.in (float_format, float_h_file): Remove. 8905 8906 * c-common.c: Include tree-inline.h. 8907 (builtin_define_with_int_value): New. 8908 (builtin_define_type_precision): Use it. 8909 (builtin_define_float_constants): New. 8910 (cb_register_builtins): Use it. Define __FLT_RADIX__ and 8911 __FLT_EVAL_METHOD__. 8912 * defaults.h (TARGET_FLT_EVAL_METHOD): New. 8913 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New. 8914 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New. 8915 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format. 8916 (TARGET_FLT_EVAL_METHOD): New. 8917 8918 * config/float-c4x.h, config/float-i128.h, config/float-i32.h, 8919 config/float-i386.h, config/float-i64.h, config/float-m68k.h, 8920 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove. 8921 * ginclude/float.h: New. 8922 89232002-09-03 Stan Shebs <shebs@apple.com> 8924 8925 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used. 8926 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2. 8927 (PREFERRED_DEBUGGING_TYPE): Ditto. 8928 (ASM_OUTPUT_IDENT): Remove empty definition. 8929 89302002-09-03 Steve Ellcey <sje@cup.hp.com> 8931 8932 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and 8933 cxx_target. 8934 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma 8935 handling routine for builtin pragma. 8936 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma): 8937 Registered pragma handling routine. 8938 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto. 8939 (ia64_hpux_add_pragma_builtin) New subroutine used by above. 8940 If builtin pragma seen for math routine and C89 conformance is 8941 requested use different math function in order to set errno. 8942 * t-ia64 (ia64-c.o): Add new rule for new file. 8943 89442002-09-03 Ulrich Weigand <uweigand@de.ibm.com> 8945 8946 * config/s390/s390.md ("movti"): Add Q->Q alternative. 8947 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64", 8948 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise. 8949 8950 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss", 8951 "*movsf_ss"): Remove. 8952 89532002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca> 8954 8955 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): 8956 Delete macros. 8957 89582002-09-03 Arati Dikey <aratid@kpit.com> 8959 8960 * h8300.c (asm_file_start): Corrected optimization comment. 8961 89622002-09-03 Stan Shebs <shebs@apple.com> 8963 8964 * c-lang.c (recognize_objc_keyword): Remove, no longer used. 8965 * c-tree.h (recognize_objc_keyword): Remove decl. 8966 * c-typeck.c (comp_target_types): Update a comment. 8967 89682002-09-03 Ulrich Weigand <uweigand@de.ibm.com> 8969 8970 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter 8971 and register validity checks. 8972 (general_s_operand): Adapt to s390_decompose_address interface change. 8973 (q_constraint): Likewise. 8974 (s390_expand_plus_operand): Likewise. 8975 (legitimiate_address_p): Likewise. 8976 (legitimate_la_operand_p): Likewise. 8977 (legitimize_la_operand): Likewise. 8978 (print_operand_address): Likewise. 8979 (print_operand): Likewise. 8980 8981Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it> 8982 8983 PR objc/5956: 8984 * objc/objc-act.c (build_typed_selector_reference): Fix typo which 8985 was causing the new selector never to match the existing ones 8986 (Patch by Alexander Malmberg <alexander@malmberg.org>). 8987 89882002-09-03 Graham Stott <graham.stott@btinternet.com> 8989 8990 * config/i386/i386.md ("femms"): Add "memory" attr "none". 8991 89922002-09-03 Graham Stott <graham.stott@btinternet.com> 8993 8994 * expr.c (expand_expr): Remove extraneous comment and code. 8995 89962002-09-02 Nathan Sidwell <nathan@codesourcery.com> 8997 8998 * stor-layout (finish_builtin_struct): Renamed and moved from c++ 8999 frontend. Take chain of fields. Allow NULL alignment type. 9000 * tree.h (finish_builtin_struct): Declare. 9001 90022002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9003 9004 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md 9005 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h 9006 config/arc/arc.c config/arc/arc.h config/arm/aout.h 9007 config/arm/arm.c config/arm/arm.h config/arm/arm.md 9008 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h 9009 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h 9010 config/i386/i386.c config/i386/i386.md config/i386/sco5.h 9011 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md 9012 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md 9013 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h 9014 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h 9015 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h 9016 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c 9017 config/pa/pa.h config/pa/pa.md config/romp/romp.h 9018 config/rs6000/linux64.h config/rs6000/lynx.h 9019 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h 9020 config/s390/s390.c config/s390/s390.md config/sh/sh.c 9021 config/sparc/sparc.c config/sparc/sysv4.h 9022 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c 9023 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace 9024 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook. 9025 9026 * doc/tm.texi: Update docs. 9027 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define. 9028 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison. 9029 90302002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9031 9032 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H). 9033 * arc.c (arc_internal_label): New function. 9034 (TARGET_ASM_INTERNAL_LABEL): Set. 9035 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete. 9036 * arm.c (arm_internal_label): New function. 9037 (TARGET_ASM_INTERNAL_LABEL): Set. 9038 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete. 9039 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete. 9040 * i370.c (i370_internal_label): New function. 9041 (TARGET_ASM_INTERNAL_LABEL): Set. 9042 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete. 9043 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete. 9044 * m68k.c (m68k_hp320_internal_label): New function. 9045 (TARGET_ASM_INTERNAL_LABEL): Set. 9046 * m88k.c (m88k_internal_label): New function. 9047 (TARGET_ASM_INTERNAL_LABEL): Set. 9048 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete. 9049 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook. 9050 * genoutput.c (output_prologue): Include target.h in output file. 9051 * output.h (default_internal_label): Declare. 9052 * sdbout.c: Include target.h. 9053 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to 9054 TARGET_ASM_OUT. 9055 * target.h (internal_label): Add to struct gcc_target. 9056 * varasm.c (default_internal_label): New function. 9057 90582002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9059 9060 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete. 9061 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9062 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9063 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9064 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9065 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9066 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9067 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9068 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9069 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9070 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9071 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9072 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9073 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9074 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9075 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9076 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9077 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9078 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9079 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9080 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9081 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9082 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9083 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9084 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9085 * mmix-protos.h (mmix_asm_output_internal_label): Likewise. 9086 * mmix.c (mmix_asm_output_internal_label): Likewise. 9087 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9088 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9089 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9090 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9091 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9092 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9093 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9094 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9095 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9096 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9097 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9098 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9099 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9100 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9101 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9102 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9103 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9104 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9105 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9106 9107 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define. 9108 91092002-08-31 Richard Henderson <rth@redhat.com> 9110 9111 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko. 9112 91132002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca> 9114 9115 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype. 9116 91172002-08-30 Richard Henderson <rth@redhat.com> 9118 9119 PR opt/7515 9120 * c-objc-common.c: Include target.h. 9121 (c_cannot_inline_tree_fn): Don't auto-inline functions that 9122 don't bind locally. Factor setting DECL_UNINLINABLE. 9123 * Makefile.in (c-objc-common.o): Update. 9124 91252002-08-30 Janis Johnson <janis187@us.ibm.com> 9126 9127 * doc/install.texi (Configuration, Building): Fix a typo and 9128 some formatting directives. 9129 91302002-08-30 Paul Koning <pkoning@equallogic.com> 9131 9132 * doc/c-tree.texi (RDIV_EXPR): Fix typo. 9133 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not 9134 implemented" note. 9135 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS 9136 for alphabetic order. 9137 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for 9138 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT. 9139 (VAX_HALFWORD_ORDER): Document. 9140 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for 9141 IEEE float format. 9142 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE. 9143 (ASM_OUTPUT_LABEL_REF): Fix font. 9144 (CASE_VECTOR_SHORTEN_MODE): Ditto. 9145 91462002-08-30 Denis Chertykov <denisc@overta.ru> 9147 9148 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double 9149 stuff. 9150 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and 9151 CONST_DOUBLE constants. 9152 91532002-08-30 Jason Thorpe <thorpej@wasabisystems.com> 9154 9155 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language- 9156 related defines to... 9157 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here. 9158 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine 9159 as a no-op. 9160 91612002-08-30 Krister Walfridsson <cato@df.lth.se> 9162 9163 * config/arm/arm.c (arm_asm_output_labelref): New function. 9164 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref. 9165 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref. 9166 91672002-08-29 Rodney Brown <rbrown64@csc.com.au> 9168 9169 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual 9170 memory exhausted" workarounds. 9171 91722002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net> 9173 9174 * diagnostic.c (fancy_abort): Don't repeat "internal error". 9175 * toplev.c (crash_signal): Likewise. 9176 9177Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it> 9178 9179 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation. 9180 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector): 9181 Extended, updated documentation. 9182 (-Wundeclared-selector): Documented. 9183 91842002-08-29 Jason Thorpe <thorpej@wasabisystems.com> 9185 9186 * config/chorus.h: Consistently define *_DEBUGGING_INFO with 9187 the value 1. Do not undef before defining. 9188 * config/darwin.h: Likewise. 9189 * config/dbx.h: Likewise. 9190 * config/dbxcoff.h: Likewise. 9191 * config/dbxelf.h: Likewise. 9192 * config/elfos.h: Likewise. 9193 * config/interix.h: Likewise. 9194 * config/lynx-ng.h: Likewise. 9195 * config/lynx.h: Likewise. 9196 * config/netware.h: Likewise. 9197 * config/psos.h: Likewise. 9198 * config/svr3.h: Likewise. 9199 * config/alpha/alpha.h: Likewise. 9200 * config/alpha/elf.h: Likewise. 9201 * config/alpha/vms.h: Likewise. 9202 * config/arc/arc.h: Likewise. 9203 * config/arm/aout.h: Likewise. 9204 * config/arm/coff.h: Likewise. 9205 * config/c4x/c4x.h: Likewise. 9206 * config/h8300/h8300.h: Likewise. 9207 * config/i386/cygwin.h: Likewise. 9208 * config/i386/djgpp.h: Likewise. 9209 * config/i386/gas.h: Likewise. 9210 * config/i386/gstabs.h: Likewise. 9211 * config/i386/i386-coff.h: Likewise. 9212 * config/i386/i386-interix.h: Likewise. 9213 * config/i386/sco5.h: Likewise. 9214 * config/i386/svr3dbx.h: Likewise. 9215 * config/i386/sysv3.h: Likewise. 9216 * config/i386/win32.h: Likewise. 9217 * config/i386/x86-64.h: Likewise. 9218 * config/i960/i960.h: Likewise. 9219 * config/ia64/ia64.h: Likewise. 9220 * config/ip2k/ip2k.h: Likewise. 9221 * config/m32r/m32r.h: Likewise. 9222 * config/m68k/3b1.h: Likewise. 9223 * config/m68k/3b1g.h: Likewise. 9224 * config/m68k/ccur-GAS.h: Likewise. 9225 * config/m68k/coff.h: Likewise. 9226 * config/m68k/hp2bsd.h: Likewise. 9227 * config/m68k/hp310g.h: Likewise. 9228 * config/m68k/hp320g.h: Likewise. 9229 * config/m68k/hp3bsd.h: Likewise. 9230 * config/m68k/hp3bsd44.h: Likewise. 9231 * config/m68k/linux-aout.h: Likewise. 9232 * config/m68k/m68k-aout.h: Likewise. 9233 * config/m68k/mot3300.h: Likewise. 9234 * config/m68k/netbsd.h: Likewise. 9235 * config/m68k/openbsd.h: Likewise. 9236 * config/m68k/pbb.h: Likewise. 9237 * config/m68k/plexus.h: Likewise. 9238 * config/m68k/sun2.h: Likewise. 9239 * config/m68k/sun3.h: Likewise. 9240 * config/m68k/tower-as.h: Likewise. 9241 * config/m68k/vxm68k.h: Likewise. 9242 * config/m88k/aout-dbx.h: Likewise. 9243 * config/m88k/m88k-aout.h: Likewise. 9244 * config/mcore/mcore-elf.h: Likewise. 9245 * config/mcore/mcore-pe.h: Likewise. 9246 * config/mips/elf.h: Likewise. 9247 * config/mips/elf64.h: Likewise. 9248 * config/mips/iris5gas.h: Likewise. 9249 * config/mips/iris6.h: Likewise. 9250 * config/mips/mips.h: Likewise. 9251 * config/mips/sni-gas.h: Likewise. 9252 * config/mmix/mmix.h: Likewise. 9253 * config/ns32k/netbsd.h: Likewise. 9254 * config/pa/pa64-hpux.h: Likewise. 9255 * config/romp/romp.h: Likewise. 9256 * config/rs6000/sysv4.h: Likewise. 9257 * config/rs6000/xcoff.h: Likewise. 9258 * config/sh/coff.h: Likewise. 9259 * config/sh/elf.h: Likewise. 9260 * config/sparc/linux64.h: Likewise. 9261 * config/sparc/liteelf.h: Likewise. 9262 * config/sparc/netbsd.h: Likewise. 9263 * config/sparc/openbsd.h: Likewise. 9264 * config/sparc/pbd.h: Likewise. 9265 * config/sparc/sp64-elf.h: Likewise. 9266 * config/sparc/sp86x-elf.h: Likewise. 9267 * config/sparc/sparc.h: Likewise. 9268 * config/vax/vax.h: Likewise. 9269 * config/vax/vaxv.h: Likewise. 9270 92712002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com> 9272 9273 * h8300.c (shift_alg_hi): Various tweaks to improve performance 9274 of HImode shifts. 9275 (get_shift_alg): Corresponding changes. 9276 92772002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca> 9278 9279 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1. 9280 92812002-08-29 Richard Henderson <rth@redhat.com> 9282 9283 * expr.h (enum block_op_methods): New. 9284 (emit_block_move): Update prototype. 9285 * expr.c (block_move_libcall_safe_for_call_parm): New. 9286 (emit_block_move_via_loop): New. 9287 (emit_block_move): Use them. New argument METHOD. 9288 (emit_push_insn): Always respect the given alignment. 9289 (expand_assignment): Update call to emit_block_move. 9290 (store_expr, store_field, expand_expr): Likewise. 9291 * builtins.c (expand_builtin_apply): Likewise. 9292 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise. 9293 * function.c (expand_function_end): Likewise. 9294 * config/sh/sh.c (sh_initialize_trampoline): Likewise. 9295 * config/sparc/sparc.c (sparc_va_arg): Likewise. 9296 * calls.c (expand_call, emit_library_call_value_1): Likewise. 9297 (save_fixed_argument_area): Use emit_block_move with 9298 BLOCK_OP_CALL_PARM instead of move_by_pieces. 9299 (restore_fixed_argument_area): Likewise. 9300 (store_one_arg): Fix alignment parameter to emit_push_insn. 9301 93022002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca> 9303 9304 * install.texi (hppa64-hp-hpux11*): Document installation procedure. 9305 93062002-08-29 Catherine Moore <clm@redhat.com> 9307 9308 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL, 9309 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define. 9310 (PREDICATE_CODES): Include new predicates. 9311 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e. 9312 (TARGET_SWITCHES): Add strict-align. 9313 (TARGET_STRICT_ALIGN): New. 9314 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine. 9315 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): 9316 Define. 9317 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2, 9318 v850_muldi3. 9319 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29, 9320 L_callt_save_r2_r31, L_return_r2_r31, 9321 L_save_all_interrupt): Change addi to add. 9322 (L_save_interrupt, L_return_interrupt): Rework. 9323 (__return_r31): Correct .size directive. 9324 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e. 9325 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3): 9326 New routines. 9327 * config/v850/v850.c (expand_prologue): Call 9328 gen_callt_save_interrupt, gen_callt_restore_all_interrupt, 9329 gen_callt_return_interrupt and gen_callt_save_all_interrupt. 9330 (reg_or_int9_operand): New predicate. 9331 (reg_or_const_operand): New routine. 9332 * config/v850/v850.md (return_interrupt): Changed from 9333 restore_interrupt. 9334 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e. 9335 (callt_save_interrupt): Change save sequence. 9336 (callt_return_interrupt): New. 9337 (save_interrupt): Don't use runtime function for LONG_CALLS 9338 and TARGET_PROLOG_FUNCTION. 9339 (save_all_interrupt): Likewise. 9340 (mulsi3): Use new predicate. 9341 (moviscc): Disallow some combination of constants. 9342 Fix define_split for sasf insns, so that it will not generate bad 9343 code if operand0 and operand5 are the same. 9344 * config/v850/v850-protos.h: Prototype new predicates. 9345 93462002-08-29 Zack Weinberg <zack@codesourcery.com> 9347 9348 * config/rs6000/rs6000.c (processor_target_table): Add 405f. 9349 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise. 9350 93512002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net> 9352 9353 * c-common.c (builtin_define_type_precision): New function. 9354 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is 9355 wchar_t is unsigned in C++. 9356 * doc/cpp.texi (Common Predefined Macros): Document 9357 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__, 9358 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__, 9359 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__. 9360 93612002-08-28 Sylvain Pion <pion@cs.nyu.edu> 9362 9363 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic 9364 section. Mention that it is enabled by -Wall. 9365 (-Wall): Mention that there can be language-specific warnings as well. 9366 (-Wctor-dtor-privacy): Mention that it is enabled by default. 9367 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall. 9368 9369Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com> 9370 9371 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler 9372 if it is ever live. 9373 9374 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler 9375 attribute for SHCOMPACT. 9376 9377 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it 9378 appropriately. 9379 (FUNCTION_BOUNDARY): Specify only the minimum alignment required 9380 by the ABI. 9381 9382 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case. 9383 93842002-08-28 Jason Thorpe <thorpej@wasabisystems.com> 9385 9386 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to 9387 "MASK_GAS|MASK_ABICALLS". 9388 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT) 9389 (TARGET_DEFAULT): Remove. 9390 (MACHINE_TYPE): Undefine before defining. 9391 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove. 9392 93932002-08-27 Mark Mitchell <mark@codesourcery.com> 9394 9395 * c-common.c (warn_abi): New variable. 9396 * c-common.h (warn_abi): Likewise. 9397 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi. 9398 (c_common_decode_option): Handle it. 9399 * doc/invoke.texi: Document -Wabi. 9400 9401Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it> 9402 9403 * c-common.c (warn_undeclared_selector): New variable. 9404 * c-common.h (warn_undeclared_selector): Idem. 9405 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector 9406 to on when -Wundeclared-selector is found. 9407 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector. 9408 * objc/objc-act.c (build_selector_expr): If 9409 warn_undeclared_selector is set, check that the selector has 9410 already been defined, and emit a warning if not. 9411 94122002-08-27 Nick Clifton <nickc@redhat.com> 9413 Catherine Moore <clm@redhat.com> 9414 Jim Wilson <wilson@cygnus.com> 9415 9416 * config.gcc: Add v850e-*-* target. 9417 Add --with-cpu= support for v850. 9418 * config/v850/lib1funcs.asm: Add v850e callt functions. 9419 * config/v850/v850.h: Add support for v850e target. 9420 * config/v850/v850.c: Add functions to support v850e target. 9421 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c. 9422 * config/v850/v850.md: Add patterns for v850e instructions. 9423 * doc/invoke.texi: Document new v850e command line switches. 9424 9425Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com> 9426 Aldy Hernandez <aldyh at redhat dot com> 9427 9428 * doc/tm.texi: Applied numerous fixes to the automaton based 9429 scheduler descrition. 9430 9431Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz> 9432 9433 * i386.c (classify_argument): Handle variable sized objects. 9434 9435Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz> 9436 9437 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem 9438 9439Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz> 9440 9441 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics. 9442 9443Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz> 9444 9445 * i386.c (classify_argument): Properly compute word size of the analyzed object. 9446 9447Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com> 9448 9449 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp, 9450 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn 9451 accordingly. 9452 (attribute insn_class): Provide default definitions based on type. 9453 Remove all insn-specific settings. 9454 (various function units): Remove old SH4 scheduling. 9455 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load): 9456 New attributes. Set them where appropriate. 9457 (cpu unit FS): Don't define / use. 9458 (F3, load_store): New cpu units. 9459 (F01): New reservation. 9460 (all insn_reservations): Make dependent on sh4 pipeline model. 9461 Fix latencies. 9462 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations. 9463 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise. 9464 (mt insn_reservation): Use type mt_group. 9465 (insn_reservation load_store): Split into sh4_load, sh4_load_si, 9466 sh4_fload and sh4_store. 9467 (insn_reservation branch_zero and branch): Replace with sh4_branch. 9468 (insn_reservation branch_far): Replace with sh4_return. 9469 (insn_reservation return_from_exp): Rename to: 9470 (sh4_return_from_exp). Change to be just d_lock*5. 9471 (insn_reservation lds_to_pr): Rename to: 9472 (sh4_lds_to_pr). Change to be just d_lock*2. 9473 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just 9474 d_lock*2. 9475 (insn_reservation prload_mem): Rename to: 9476 (sh4_prstore_mem). Change to d_lock*2,nothing,memory. 9477 (insn_reservation fpscr_store): Rename to: 9478 (fpscr_load). Change to d_lock,nothing,F1*3. 9479 (insn_reservation fpscr_store_mem): Rename to: 9480 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2. 9481 (insn_reservation multi): Change to 9482 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2. 9483 (insn_reservation fp_arith): Change to issue,F01,F2. 9484 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2. 9485 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2. 9486 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2. 9487 (insn_reservation fp_double_cmp): Change to 9488 d_lock,(d_lock+F01),F1+F2,F2. 9489 (insn_reservation dp_div): Change to 9490 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2. 9491 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions. 9492 (sh_adjust_cost, SHcompact): Differentiate between different 9493 kinds of dependencies. Drop factor of ten for superscalar. 9494 Use new instruction types. Add new exception rules. 9495 9496 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note. 9497 9498 * sh.md (mperm_w): Add DONE. 9499 95002002-08-27 David Edelsohn <edelsohn@gnu.org> 9501 9502 * longlong.h: Import current PowerPC defintion from GMP-4.1. 9503 9504 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case. 9505 9506 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define. 9507 9508Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com> 9509 9510 * sh.h (MAX_FIXED_MODE_SIZE): Define. 9511 95122002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net> 9513 9514 * doc/cpp.texi (Common Predefined Macros): Don't mess with table 9515 delimiter. 9516 95172002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net> 9518 9519 * c-common.c (cpp_define_data_format): New function. 9520 (cb_register_builtins): Call it. 9521 9522 * doc/cpp.texi (Common Predefined Macros): Document 9523 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__, 9524 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__, 9525 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__, 9526 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__, 9527 __TARGET_USES_VAX_H_FLOAT__. 9528 95292002-08-26 Ziemowit Laski <zlaski@apple.com> 9530 9531 * objc/objc-act.c (get_super_receiver): If inside a class method 9532 of a category, cast the receiver to 'id' before accessing the 'isa' 9533 field so that <objc/objc-class.h> is not needed. For NeXT runtime. 9534 95352002-08-26 Ulrich Weigand <uweigand@de.ibm.com> 9536 9537 * config/s390/s390-protos.h (s390_function_prologue, 9538 s390_function_epilogue): Remove. 9539 config/s390/s390.c (s390_function_prologue, s390_function_epilogue, 9540 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove. 9541 9542 config/s390/s390.c (s390_machine_dependent_recorg): New function. 9543 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it. 9544 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it. 9545 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt 9546 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live. 9547 9548 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always 9549 assume BASE_REGISTER and RETURN_REGNUM need to be saved. 9550 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff 9551 function is not a leaf function. Use save_gprs and restore_gprs. 9552 (s390_emit_epilogue): Likewise. 9553 (save_gprs, restore_gprs): New functions. 9554 (struct s390_frame): Remove return_reg_saved_p member. 9555 (save_fprs_p): Remove. 9556 (s390_optimize_prolog): New function. 9557 (s390_legitimate_reload_constant): Remove now unnecessary check. 9558 9559 (s390_function_count): Remove. 9560 (s390_output_symbolic_const): Replace s390_function_count by 9561 current_function_funcdef_no. 9562 (s390_output_constant_pool): Likewise. 9563 9564 (legitimize_pic_address): Use regs_ever_live to track PIC register 9565 instead of current_function_uses_pic_offset_table. 9566 (s390_emit_prologue): Likewise. 9567 config/s390/s390.md ("call", "call_value"): Likewise. 9568 95692002-08-26 Neil Booth <neil@daikokuya.co.uk> 9570 9571 * c-opts.c (find_opt): Don't complain about wrong languages 9572 here. Return exact matches even for wrong language. 9573 (c_common_decode_option): Complain about wrong languages 9574 here. 9575 95762002-08-24 Stuart Hastings <stuart@apple.com> 9577 9578 * function.h (struct function): Add flag 9579 all_throwers_are_sibcalls. 9580 * except.c (set_nothrow_function_flags): Replaces 9581 nothrow_function_p. Set new flag. 9582 * except.h (set_nothrow_function_flags): Replaces 9583 nothrow_function_p. 9584 * dwarf2out.c (struct dw_fde_struct): Add flag 9585 all_throwers_are_sibcalls. 9586 (output_call_frame_info): Test it. 9587 (dwarf2out_begin_prologue) Propagate it from cfun to 9588 dw_fde_struct. 9589 * toplev.c (rest_of_compilation): Update calls to 9590 nothrow_function_p. 9591 95922002-08-23 Zack Weinberg <zack@codesourcery.com> 9593 9594 * ggc-page.c (compute_inverse): Short circuit calculation for 9595 object sizes larger than half a page. 9596 95972002-08-23 David Edelsohn <edelsohn@gnu.org> 9598 9599 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat 9600 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly 9601 default. 9602 (rs6000_elf_unique_section): Likewise. 9603 96042002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9605 9606 * ns32k.c (ns32k_globalize_label): Delete. 9607 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete. 9608 96092002-08-23 Alan Modra <amodra@bigpond.net.au> 9610 9611 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns 9612 for loading delta with num_insns_constant_wide. Calculate 9613 delta_low, delta_high without using a conditional. 9614 96152002-08-22 Jason Merrill <jason@redhat.com> 9616 9617 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR. 9618 * c-common.def: Adjust. 9619 * c-dump.c (c_dump_tree): Adjust. 9620 * c-semantics.c (genrtl_return_stmt): Adjust. 9621 * c-pretty-print.c (pp_c_statement): Adjust. 9622 * tree-inline.c (copy_body_r): Adjust. 9623 96242002-08-22 Zack Weinberg <zack@codesourcery.com> 9625 9626 * ggc-page.c: Avoid division in ggc_set_mark. 9627 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table, 9628 compute_inverse): New. 9629 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT. 9630 (init_ggc): Initialize inverse_table. 9631 96322002-08-22 Tom Tromey <tromey@redhat.com> 9633 9634 * doc/install.texi (Configuration): Document --datadir. 9635 96362002-08-22 Alexandre Oliva <aoliva@redhat.com> 9637 9638 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H). 9639 96402002-08-22 Hans-Peter Nilsson <hp@bitrange.com> 9641 9642 * gengtype-lex.l (ID): Allow underscore as first character. 9643 96442002-08-21 David Edelsohn <edelsohn@gnu.org> 9645 9646 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New 9647 function. 9648 (rs6000_xcoff_asm_named_section): Rename. 9649 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define. 9650 96512002-08-21 Tom Tromey <tromey@redhat.com> 9652 9653 For PR java/6005 and PR java/7611: 9654 * fold-const.c (fold_truthop): Use can_use_bit_fields_p. 9655 (fold): Likewise. 9656 * langhooks.c (lhd_can_use_bit_fields_p): New function. 9657 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare. 9658 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define. 9659 (LANG_HOOKS_INITIALIZER): Use it. 9660 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New 9661 field. 9662 96632002-08-21 Stan Shebs <shebs@apple.com> 9664 9665 * tree.c (finish_vector_type): Fix a typo in a comment. 9666 * Makefile.in: Fix "the the" stutters in comments. 9667 * genautomata.c: Ditto. 9668 * ifcvt.c: Ditto. 9669 * regrename.c: Ditto. 9670 * config/alpha/alpha.c: Ditto. 9671 * config/alpha/vms-crt0-64.c: Ditto. 9672 * config/alpha/vms-crt0.c: Ditto. 9673 * config/alpha/vms-psxcrt0-64.c: Ditto. 9674 * config/alpha/vms-psxcrt0.c: Ditto. 9675 * config/d30v/d30v.h: Ditto. 9676 * config/fr30/fr30.h: Ditto. 9677 * config/rs6000/rs6000.c: Ditto. 9678 * config/stormy16/stormy16.h: Ditto. 9679 * doc/md.texi: Ditto. 9680 96812002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca> 9682 9683 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value. 9684 96852002-08-21 Joseph S. Myers <jsm@polyomino.org.uk> 9686 9687 * c-decl.c (grokdeclarator): Make invalid combinations with long, 9688 short, signed or unsigned into hard errors. Fixes PR c/4319. 9689 Also make duplicate modifiers such as "short short" into hard 9690 errors. 9691 96922002-08-21 Andrew Pinski <pinskia@physics.uc.edu> 9693 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9694 9695 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn' 9696 to the actual end. Add '@end table' and '@table @code'. 9697 96982002-08-20 Geoffrey Keating <geoffk@redhat.com> 9699 9700 * doc/tm.texi (Label Output): Add missing '@end deftypefn'. 9701 9702 * unroll.c (biv_total_increment): Don't try to compute the total 9703 increment for FP BIVs. 9704 97052002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9706 9707 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk. 9708 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL, 9709 ASM_OUTPUT_ALIGNED_BSS): Use target hook. 9710 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise. 9711 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete. 9712 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise. 9713 (GLOBAL_ASM_OP): Define. 9714 * arm.c (aof_globalize_label): New function. 9715 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF. 9716 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook. 9717 * c4x.c (c4x_globalize_label): New function. 9718 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x. 9719 * c4x.h (ASM_GLOBALIZE_LABEL): Delete. 9720 (GLOBAL_ASM_OP): Define. 9721 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook. 9722 * darwin-protos.h (darwin_globalize_label): Declare. 9723 * darwin.c (darwin_globalize_label): New function. 9724 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook. 9725 (ASM_GLOBALIZE_LABEL): Delete. 9726 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define. 9727 * dsp16xx.c (asm_output_common): Use target hook. 9728 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. 9729 * frv.h (ASM_GLOBALIZE_LABEL): Delete. 9730 (GLOBAL_ASM_OP): Define. 9731 * i370.c (i370_globalize_label): New function. 9732 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370. 9733 * i370.h (ASM_GLOBALIZE_LABEL): Delete. 9734 * i386.c (ix86_asm_file_end): Use target hook. 9735 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef. 9736 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook. 9737 * ia64.c (ia64_asm_output_external): Likewise. 9738 * ia64/sysv4.h: Update comment. 9739 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook. 9740 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. 9741 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook. 9742 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. 9743 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook. 9744 * mmix-protos.h (mmix_asm_globalize_label): Delete. 9745 * mmix.c (mmix_asm_globalize_label): Likewise. 9746 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise. 9747 (GLOBAL_ASM_OP): Define. 9748 * ns32k.c (ns32k_globalize_label): New function. 9749 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k. 9750 (ASM_GLOBALIZE_LABEL): Delete. 9751 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef. 9752 (TARGET_ASM_GLOBALIZE_LABEL): Undefine. 9753 * pa.c (pa_globalize_label): New function. 9754 * pa.h (ASM_GLOBALIZE_LABEL): Delete. 9755 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa. 9756 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete. 9757 (GLOBAL_ASM_OP): Define. 9758 (TARGET_ASM_GLOBALIZE_LABEL): Undef. 9759 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook. 9760 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete. 9761 (GLOBAL_ASM_OP): Define. 9762 * v850.c (v850_output_aligned_bss): Use target hook. 9763 * vax.c (vms_globalize_label): New function. 9764 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms. 9765 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete. 9766 (GLOBAL_ASM_OP): Define. 9767 * defaults.h (ASM_GLOBALIZE_LABEL): Delete. 9768 * doc/tm.texi: Update docs. 9769 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use 9770 target hook. 9771 * final.c (output_alternate_entry_point): Likewise. 9772 * hooks.c (hook_FILEptr_constcharptr_void): New function. 9773 * hooks.h (hook_FILEptr_constcharptr_void): Declare. 9774 * output.h (assemble_global): Delete. 9775 (default_globalize_label): Declare. 9776 * system.h (ASM_GLOBALIZE_LABEL): Poison. 9777 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define. 9778 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL. 9779 * target.h (gcc_target): Add globalize_label member. 9780 * varasm.c (asm_output_bss, asm_output_aligned_bss, 9781 globalize_decl): Use target hook. 9782 (assemble_global): Delete. 9783 (default_globalize_label): New function. 9784 97852002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9786 9787 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete. 9788 97892002-08-20 Devang Patel <dpatel@apple.com> 9790 * tree.c (get_qualified_type): Add TYPE_CONTEXT check. 9791 97922002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9793 9794 * arc.c (output_shift): Use stdio instead of asm_fprintf. 9795 * arm.c (thumb_output_function_prologue): Likewise. 9796 * avr.c (print_operand): Likewise. 9797 * c4x.c (c4x_print_operand): Likewise. 9798 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE, 9799 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise. 9800 * cris.c (cris_target_asm_function_prologue, 9801 cris_asm_output_mi_thunk): Likewise. 9802 * h8300.c (print_operand): Likewise. 9803 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. 9804 * ip2k.c (print_operand): Likewise. Fix format specifier. 9805 * m68hc11.c (asm_print_register, print_operand, 9806 print_operand_address): Use stdio instead of asm_fprintf. 9807 (print_operand_address): Fix format specifier. 9808 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT, 9809 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of 9810 asm_fprintf. 9811 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9812 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 9813 * m68k.c (m68k_output_function_prologue, 9814 m68k_output_function_epilogue, print_operand): Likewise. 9815 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label): 9816 Likewise. Fix format specifier. 9817 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. 9818 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. 9819 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise. 9820 98212002-08-15 Eric Christopher <echristo@redhat.com> 9822 Jeff Knaggs <jknaggs@redhat.com> 9823 9824 * config.gcc (mipsisa64sr71k-elf): New target. 9825 * config/mips/sr71k.md: New file. 9826 * config/mips/mips.md: Use it. 9827 (rot*): Add sr71k specifics. 9828 * config/mips/t-sr71k: New file. 9829 * config/mips/mips.h (sr71k): New cpu. 9830 (TARGET_SR71K): Use it. 9831 (TUNE_SR71K): Ditto. 9832 (GENERATE_BRANCHLIKELY): Ditto. 9833 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC, 9834 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto. 9835 * config/mips/mips.c (sr71k): New cpu. 9836 (mips_use_dfa_pipeline_interface): Use. 9837 98382002-08-15 Eric Christopher <echristo@redhat.com> 9839 Richard Sandiford <rsandifo@redhat.com> 9840 Aldy Hernandez <aldyh@redhat.com> 9841 Graham Stott <grahams@redhat.com> 9842 Michael Meissner <meissner@redhat.com> 9843 Gavin Romig-Koch <gavin@redhat.com> 9844 Ken Raeburn <raeburn@cygnus.com> 9845 Alexandre Oliva <aoliva@redhat.com> 9846 9847 * config.gcc (mips64vr-elf): New target. 9848 * config/mips/5400.md: New file. 9849 * config/mips/5500.md: Ditto. 9850 * config/mips/mips.md: Use them. 9851 (frsqrt): New. 9852 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New 9853 cpus. 9854 (mips_issue_rate): Use them. 9855 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500. 9856 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above. 9857 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New 9858 cpus. 9859 (TARGET_MIPSx): Use them. 9860 (TUNE_MIPSx): Ditto. 9861 (GETNATE_MULT3_SI): Ditto. 9862 (ISA_HAS_BRANCHLIKELY): Ditto. 9863 (ISA_HAS_CONDMOVE): Ditto. 9864 (ISA_HAS_NMADD_NMSUB): Ditto. 9865 (ISA_HAS_MULHI): New. Ditto. 9866 (ISA_HAS_MULS): Ditto. 9867 (ISA_HAS_MSAC): Ditto. 9868 (ISA_HAS_MACC): Ditto. 9869 (ISA_HAS_ROTR_SI): Ditto. 9870 (ISA_HAS_ROTR_DI): Ditto. 9871 (RTX_COSTS): Use. 9872 98732002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca> 9874 9875 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal 9876 at head. 9877 (remove_dup_nonsys_dirs): New function. 9878 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings. 9879 (merge_include_chains): Remove non-system include directories from 9880 quote and bracket include chains when they duplicate equivalent system 9881 directories. 9882 * doc/cpp.texi (-I): Update. 9883 * doc/cppopts.texi (-I): Update. 9884 * doc/install.texi (--with-local-prefix): Further document usage of 9885 this option. 9886 * doc/invoke.texi (-I): Update. 9887 98882002-08-20 Richard Henderson <rth@redhat.com> 9889 9890 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean. 9891 (emit_block_move): Split out subroutines. 9892 (emit_block_move_via_movstr): New. 9893 (emit_block_move_via_libcall): New. Emit bcopy via normal call also. 9894 (emit_block_move_libcall_fn): New. Construct function prototype for 9895 bcopy as well. 9896 (clear_storage): Split out subroutines. 9897 (clear_storage_via_clrstr): New. 9898 (clear_storage_via_libcall): New. Emit bzero as a normal call also. 9899 (clear_storage_libcall_fn): New. Construct function prototype for 9900 bzero as well. 9901 (emit_push_insn): Use emit_block_move. 9902 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS. 9903 (store_constructor): Likewise. 9904 99052002-08-19 Ziemowit Laski <zlaski@apple.com> 9906 9907 * objc/objc-act.c (building_objc_message_expr): Rename to 9908 current_objc_message_selector. 9909 99102002-08-19 Ziemowit Laski <zlaski@apple.com> 9911 9912 * objc/objc-act.c (build_ivar_chain): Remove. 9913 (objc_copy_list): Likewise. 9914 (get_class_ivars): Inline call to removed build_ivar_chain 9915 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS 9916 slot; use that slot (rather than CLASS_IVARS) when accessing 9917 ivars for base classes. Call copy_list and chainon instead of 9918 objc_copy_list. 9919 (build_private_template): Call get_class_ivars instead of 9920 build_ivar_chain. 9921 (start_class): Allocate room for the CLASS_OWN_IVARS slot. 9922 (continue_class): Call get_class_ivars instead of 9923 build_ivar_chain. 9924 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead 9925 of DECL_BIT_FIELD (which may have been cleared). 9926 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro. 9927 99282002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9929 9930 * genautomata.c (output_translate_vect, output_state_ainsn_table, 9931 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED 9932 in output file. 9933 (output_internal_min_issue_delay_func): Initialize variable in 9934 output file. 9935 99362002-08-19 Alexandre Oliva <aoliva@redhat.com> 9937 9938 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER. 9939 (stage2_build, stage3_build, stage4_build): Likewise, to CC. 9940 99412002-08-19 Geoffrey Keating <geoffk@redhat.com> 9942 Steve Ellcey <sje@cup.hp.com> 9943 9944 * machmode.h (SCALAR_INT_MODE_P): New macro to test for 9945 scaler integer mode (MODE_INT or MODE_PARTIAL_INT). 9946 * explow.c (trunc_int_for_mode): Abort when the mode is not 9947 a scaler integer mode. 9948 * combine.c (expand_compound_operation): Don't expand Vector 9949 or Complex modes into shifts. 9950 (expand_field_assignment): Don't do bitwise arithmatic and 9951 shifts on Vector or Complex modes. 9952 (simplify_comparison): Don't call trunc_int_for_mode 9953 for VOIDmode. 9954 * recog.c (general_operand): Likewise. 9955 (immediate_operand): Likewise. 9956 (nonmemory_operand): Likewise. 9957 99582002-08-19 David Edelsohn <edelsohn@gnu.org> 9959 9960 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline 9961 multi-instruction SImode constant. Add REG_EQUAL note. 9962 * config/rs6000/rs6000.md (movsi splitter): Use 9963 rs6000_emit_set_const. 9964 99652002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9966 9967 * tree-inline.c (initialize_inlined_parameters): Wrap variable in 9968 the macro test controlling its use. 9969 99702002-08-18 H.J. Lu (hjl@gnu.org) 9971 9972 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o 9973 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and 9974 gnu_ld=yes. 9975 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*, 9976 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*, 9977 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*, 9978 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld 9979 here. 9980 (cris-*-linux*): Remove setting thread_file here. 9981 99822002-08-18 Neil Booth <neil@daikokuya.co.uk> 9983 9984 PR preprocessor/7602 9985 * cppinit.c (path_include): Treat the system environment 9986 variables as being cxx_aware. 9987 99882002-08-17 Joseph S. Myers <jsm@polyomino.org.uk> 9989 9990 * c-decl.c (flexible_array_type_p): New function. 9991 (grokdeclarator, finish_struct): Use it. 9992 * doc/extend.texi: Document constraints on use of structures with 9993 flexible array members. 9994 99952002-08-17 Richard Sandiford <rsandifo@redhat.com> 9996 9997 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264, 9998 config/mips/t-r3900 (MULTILIB_MATCHES): Define. 9999 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec). 10000 100012002-08-16 Stan Shebs <shebs@apple.com> 10002 10003 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__ 10004 for ObjC with -fnext-runtime. 10005 * doc/cpp.texi: Document it. 10006 100072002-08-16 Janis Johnson <janis187@us.ibm.com> 10008 10009 * doc/install.texi (Final installation): Replace links to individual 10010 build status pages with a link to a common page that lists them all. 10011 100122002-08-16 Sylvain Pion <pion@cs.nyu.edu> 10013 10014 * doc/invoke.texi: Fix typo. 10015 100162002-08-16 David Edelsohn <edelsohn@gnu.org> 10017 10018 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning. 10019 100202002-08-16 Andrew Haley <aph@redhat.com> 10021 10022 * tree-inline.c: Add includes for Java inliner. 10023 (remap_decl): Don't handle anonymous types for Java. 10024 (remap_block): Add handling for Java trees. 10025 (copy_scope_stmt): Conditionalize for non-Java use only. 10026 (copy_body_r): Handle Java trees. Add handling for 10027 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks. 10028 (initialize_inlined_parameters): Handle Java trees. 10029 (declare_return_variable): Likewise. 10030 (expand_call_inline): Handle Java trees. 10031 (walk_tree): Likewise. 10032 (copy_tree_r): Don't handle SCOPE_STMTs for Java. 10033 (add_stmt_to_compound): New function. 10034 100352002-08-15 Richard Henderson <rth@redhat.com> 10036 10037 * Makefile.in (LOOSE_WARN): Remove -fno-common. 10038 (NOCOMMON_FLAG): New substitution point. 10039 (GCC_WARN_CFLAGS): Include it. 10040 * configure.in (ac_checking): Set nocommon_flag. 10041 (nocommon_flag): New substitution point. 10042 100432002-08-15 Alexandre Oliva <aoliva@redhat.com> 10044 10045 * c-tree.h (skip_evaluation): Move declaration... 10046 * c-common.h: ... here. 10047 * c-typeck.c (build_external_ref): Don't assemble_external nor 10048 mark a tree as used if skip_evaluation is set. 10049 * c-parse.in (typeof): New non-terminal to set skip_evaluation 10050 around TYPEOF. 10051 (typespec_nonreserved_nonattr): Use it. 10052 100532002-08-15 Douglas B Rupp <rupp@gnat.com> 10054 10055 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue. 10056 (xcoff_debug_hooks): Update end_prologue. 10057 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue. 10058 * debug.h (end_prologue): Add file arg. 10059 (end_epilogue): Add line and file args. 10060 (dwarf2out_end_epilogue): Add line and file args. 10061 (vmsdbgout_after_prologue): Remove. 10062 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args. 10063 (dwarf2_debug_hooks): Update end_prologue. 10064 * dwarfout.c (dwarfout_end_epilogue): Add line and file args. 10065 (dwarfout_end_prologue): Add file arg. 10066 * final.c (vmsdbgout_after_prologue): Remove 10067 (final_end_function): Update end_epilogue call. 10068 (final_scan_insn): Update end_prologue call. 10069 * sdbout.c (sdbout_end_epilogue): Add line and file args. 10070 (sdbout_end_prologue): Add file arg. 10071 (sdb_debug_hooks): Update end_prologue. 10072 (sdb_begin_prologue): Update sdbout_end_prologue call. 10073 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue, 10074 vmsdbgout_end_function. 10075 (vmsdbgout_end_prologue): New function renamed from 10076 vmsdbgout_after_prologue. Call vmsdbgout_source_line. 10077 (vmsdbgout_end_function): New function. 10078 (vmsdbgout_end_epilogue): Add line and file args. Call 10079 vmsdbgout_source_line. 10080 (write_pclines): Write only valid line numbers. 10081 (write_srccorr): Don't write source correlation records if 0 lines. 10082 * xcoffout.c (xcoffout_end_epilogue): Add line and file args. 10083 100842002-08-15 Steve Ellcey <sje@cup.hp.com> 10085 10086 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX. 10087 (_Unwind_Internal_Ptr): 32 bit version for use in 10088 read_encoded_value_with_base. 10089 * gcc/unwind-pe.h (read_encoded_value_with_base): Use 10090 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the 10091 right size. 10092 100932002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10094 10095 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid 10096 signed/unsigned warnings. 10097 10098 * regclass.c (init_reg_sets_1, choose_hard_reg_mode, 10099 record_reg_classes): Likewise. 10100 10101 * reload.c (reload_inner_reg_of_subreg, push_reload, 10102 find_reloads_address_1): Likewise. 10103 101042002-08-15 David Edelsohn <edelsohn@gnu.org> 10105 10106 * rs6000.c (output_mi_thunk): Return to function section on 10107 TARGET_ELF. 10108 10109 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405. 10110 101112002-08-15 Ulrich Weigand <uweigand@de.ibm.com> 10112 10113 * config/s390/s390.c (legitimize_address): Optimize loading 10114 of large displacements. 10115 101162002-08-14 Douglas B Rupp <rupp@gnat.com> 10117 10118 * config/alpha/alpha-protos.h: Update. 10119 10120 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro. 10121 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P. 10122 (alpha_linkage_symbol_p): New static function. 10123 (print_operand_address): Print linkage operand. 10124 10125 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static 10126 variables. 10127 (reloc_kind): New enum. 10128 (struct alpha_funcs): New struct. 10129 (struct alpha_links): Add reloc_kind field. Rename links_kind field. 10130 10131 (alpha_need_linkage): Rewrite. 10132 (alpha_use_linkage): New global function. 10133 (alpha_write_linkage): Rewrite and make static. 10134 (alpha_write_one_linkage): Rewrite 10135 10136 (alpha_start_function): Remove procedure descriptor output. 10137 (alpha_end_function): Write linkages at end of each function. 10138 10139 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite. 10140 (call_vms_1, call_value_vms_1): Rewrite. 10141 10142 * config/alpha/vms.h (ASM_FILE_END): Remove. 10143 101442002-08-14 Richard Henderson <rth@redhat.com> 10145 10146 * ggc-page.c (RTL_SIZE): New. 10147 (extra_order_size_table): Add specializations for 2 and 10 rtl slots. 10148 * rtl.def (BARRIER, NOTE): Pad to 9 slots. 10149 101502002-08-14 Richard Henderson <rth@redhat.com> 10151 10152 * calls.c: Include target.h. 10153 * Makefile.in (calls.o): Update. 10154 10155 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p. 10156 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise. 10157 101582002-08-14 Richard Henderson <rth@redhat.com> 10159 10160 * Makefile.in (LOOSE_WARN): Add -fno-common. 10161 * c-common.h (constant_string_class_name): Add missing extern. 10162 101632002-08-15 Neil Booth <neil@daikokuya.co.uk> 10164 10165 PR preprocessor/7358 10166 * c-opts.c (check_deps_environment_vars): Ignore main file 10167 for SUNPRO_DEPENDENCIES. 10168 * cppfiles.c (stack_include_file): Ignore main file if 10169 appropriate. 10170 * cpplib.h (struct cpp_options): New member in deps. 10171 * doc/cppenv.texi: Update. 10172 101732002-08-14 Neil Booth <neil@daikokuya.co.uk> 10174 10175 PR preprocessor/7526 10176 * cpplib.c (run_directive): Kludge so _Pragma dependency works. 10177 101782002-08-14 Nathan Sidwell <nathan@codesourcery.com> 10179 10180 * doc/invoke.texi (-a): Remove documentation. 10181 (-fprofile-arcs): Remove reference to -a, -ax options. 10182 * doc/gcov.texi (Gcov Data Files): Data might be merged. 10183 101842002-08-14 Gabriel Dos Reis <gdr@nerim.net> 10185 10186 Fix PR/7566 10187 * c-semantics.c (genrtl_case_label): Don't (mis)use 10188 warning_with_decl. 10189 101902002-08-14 Dale Johannesen <dalej@apple.com> 10191 10192 * explow.c (emit_stack_restore): Emit memory clobbers 10193 preceding the stack pop, to prevent the scheduler from 10194 moving refs to variable arrays below this pop. 10195 * reload1.c (reload): Preserve these clobbers for sched2. 10196 * doc/rtl.texi: Document clobber (mem:BLK (scratch)). 10197 101982002-08-14 Neil Booth <neil@daikokuya.co.uk> 10199 10200 * c-opts.c (c_common_post_options): Correct test. 10201 102022002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10203 10204 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument 10205 order in call to fprintf. 10206 102072002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 10208 10209 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define. 10210 102112002-08-14 Ulrich Weigand <uweigand@de.ibm.com> 10212 10213 * reload.c (find_reloads): Handle constraint letters marked by 10214 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT. 10215 (alternative_allows_memconst): Likewise. 10216 * reload1.c (maybe_fix_stack_asms): Likewise. 10217 * recog.c (asm_operand_ok, preprocess_constraints, 10218 constrain_operands): Likewise. 10219 * regclass.c (record_operand_costs, record_reg_classes): Likewise. 10220 * local-alloc.c (block_alloc, requires_inout): Likewise. 10221 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise. 10222 10223 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default. 10224 (EXTRA_ADDRESS_CONSTRAINT): Likewise. 10225 * doc/tm.texi: Document these two new target macros. 10226 10227 * config/s390/s390.c (s390_expand_plus_operand): Accept already 10228 valid operands. 10229 (q_constraint): New function. 10230 config/s390/s390-protos.h (q_constraint): Declare it. 10231 config/s390/s390.h (EXTRA_CONSTRAINT): Use it. 10232 (EXTRA_MEMORY_CONSTRAINT): New macro. 10233 10234 * config/s390/s390.md: Throughout the machine description, 10235 replace all instances of the constraint combinations 'Qo' 10236 or 'oQ' with simply 'Q'. 10237 102382002-08-14 Stephane Carrez <stcarrez@nerim.fr> 10239 10240 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax. 10241 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now. 10242 (LIBGCC2_CFLAGS): Compile with -mrelax. 10243 102442002-08-14 Stephane Carrez <stcarrez@nerim.fr> 10245 10246 * doc/invoke.texi: Document -minmax for 68HC12. 10247 10248 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX. 10249 ("uminqi3"): Likewise. 10250 ("uminhi3", "umaxhi3"): Likewise. 10251 10252 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define. 10253 (TARGET_MIN_MAX): Define. 10254 (TARGET_SWITCHES): New option -minmax/-mnominmax. 10255 102562002-08-14 Stephane Carrez <stcarrez@nerim.fr> 10257 10258 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline. 10259 (MULTILIB_OPTIONS): Must also generate for -mlong-calls. 10260 10261 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags. 10262 (ret, declare, farsym): New gas macros. 10263 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3, 10264 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc' 10265 and declare the symbol far when compiled with -mlong-calls. 10266 (__far_trampoline): New for 68HC12 trampoline code to invoke a 10267 far handler using jsr/bsr. 10268 10269 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags. 10270 (jsr): New macro to transform a 'jsr' into a 'call'. 10271 102722002-08-14 Stephane Carrez <stcarrez@nerim.fr> 10273 10274 * doc/invoke.texi: Document -mlong-calls for 68HC12. 10275 10276 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when 10277 -mlong-calls is specified. 10278 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt 10279 assembler directives. 10280 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare. 10281 (TARGET_SWITCHES): Add -mlong-calls options. 10282 (current_function_far): Declare. 10283 10284 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take 10285 into account the page register saved on the stack. 10286 (m68hc11_override_options): Take into account -mlong-calls option. 10287 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI. 10288 10289 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc 10290 if the function is going to be in 68HC12 banked memory (-mlong-calls). 10291 ("*return_16bit"): Likewise. 10292 ("*return_void"): Likewise. 10293 ("call", "call_value"): Use call for a far function call. 10294 102952002-08-14 Neil Booth <neil@daikokuya.co.uk> 10296 10297 * toplev.c (parse_options_and_default_flags): Don't call 10298 post_options here. 10299 (general_init): Initialize GC, pools and tree hash here, 10300 instead of lang_independent_init. 10301 (lang_independent_init): Rename backend_init. 10302 (do_compile): Call post_options hook; exit early if there 10303 have been errors after switch processing. 10304 (toplev_main): Update. 10305 103062002-08-14 Gabriel Dos Reis <gdr@nerim.net> 10307 10308 * c-pretty-print.h: Guard against multiple inclusion. 10309 Robustify macros. 10310 (pp_c_attributes): Declare. 10311 * c-pretty-print.c (pp_c_attributes): New function. 10312 103132002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10314 10315 * m68k.c (m68k_output_function_prologue, 10316 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA 10317 and NEWS/MOTOROLA. 10318 * genattrtab.c: Remove dpx2 comment. 10319 * libgcc2.c (__enable_execute_stack): Delete versions for 10320 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and 10321 sony_news/SYSTYPE_BSD. 10322 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__, 10323 __gmicro__, __i860__, __NeXT__ and __pyr__. 10324 * rtl.h: Remove convex comment. 10325 * varasm.c: Likewise. 10326 103272002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10328 10329 * c-opts.c (lang_flags): Const-ify. 10330 * ra-build.c (undef_table): Likewise. 10331 * ra.c (eliminables): Likewise. 10332 103332002-08-14 Gabriel Dos Reis <gdr@nerim.net> 10334 10335 * tree.h: Guard against multiple inclusion. 10336 103372002-08-14 Hans-Peter Nilsson <hp@bitrange.com> 10338 10339 * reload1.c (reload_cse_simplify): Before checking 10340 REG_FUNCTION_VALUE_P, check REG_P. 10341 103422002-08-13 Geoffrey Keating <geoffk@redhat.com> 10343 10344 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency. 10345 103462002-08-13 Neil Booth <neil@daikokuya.co.uk> 10347 10348 * c-opts.c (c_common_init_options): Extra braces needed. 10349 10350Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com> 10351 10352 * sh.c (sh_init_builtins): Add PARAMS to declaration. 10353 (sh_media_init_builtins, sh_expand_builtin): Likewise. 10354 (sh_expand_unop_v2sf): Use PARAMS for variable declaration. 10355 (sh_expand_binop_v2sf): Likewise. 10356 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration. 10357 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise. 10358 (sh_initialize_trampoline): Likewise. 10359 103602002-08-13 Ulrich Weigand <uweigand@de.ibm.com> 10361 10362 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare 10363 new condition code modes. 10364 s390.c (s390_match_ccmode_set): Handle those new CC modes. 10365 (s390_select_ccmode): Likewise. 10366 (s390_branch_condition_mask): Likewise. 10367 10368 * s390-protos.h (s390_tm_ccmode): Declare. 10369 s390.c (s390_tm_ccmode): New function. 10370 (s390_match_ccmode): Allow VOIDmode as REQ_MODE. 10371 10372 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext". 10373 ("*cmpsi_tm2"): Rename to "*tmsi_ext". 10374 ("*cmpqi_tm2"): Rename to "*tmqi_ext". 10375 10376 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem", 10377 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub", 10378 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ... 10379 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", 10380 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns. 10381 10382 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15", 10383 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1", 10384 "*cmpqi_ccs_0"): Remove, replace by ... 10385 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31", 10386 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly", 10387 "*tstqi", "*tstqi_cconly"): ... these new patterns. 10388 10389 ("*cmpsidi_ccs"): Remove, replace by ... 10390 ("*cmpsi_ccs_sign"): ... this new pattern. 10391 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns. 10392 10393 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ... 10394 ("*cli"): ... this new pattern. 10395 10396 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly", 10397 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"): 10398 New patterns. 10399 ("adddi3_64"): Rename to "*adddi3_64". 10400 ("adddi3_31"): Replace by insn and splitter "*adddi3_31". 10401 ("adddi3"): Adapt expander. 10402 10403 ("*addsi3_cc"): Allow "general_operand" for operand 2. 10404 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly", 10405 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns. 10406 10407 ("addhi3", "addqi3"): Remove, replace by ... 10408 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns. 10409 10410 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly", 10411 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns. 10412 ("subdi3"): Replace by insn and splitter "*subdi3_31". 10413 ("subdi3"): New expander. 10414 10415 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns. 10416 10417 ("subhi3", "subqi3"): Remove, replace by ... 10418 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns. 10419 10420 ("*muldi3_sign"): New pattern. 10421 ("muldi3"): Do not clobber CC. 10422 ("mulsi3"): Likewise. 10423 ("mulsi_6432"): Likewise. 10424 104252002-08-13 Denis Chertykov <denisc@overta.ru> 10426 10427 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles 10428 which can change CC0. 10429 10430Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com> 10431 10432 * gcse.c (adjust_libcall_notes): New function. 10433 (do_local_cprop): Use it. Add fourth parameter. Changed caller. 10434 104352002-08-13 Nathan Sidwell <nathan@codesourcery.com> 10436 10437 * libgcc2.c (L_bb): Remove unneeded #includes. 10438 (__global_counters, __gthreads_active): Remove unused globals. 10439 (__bb_exit_func): Merge counts into files rather than appending. 10440 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ... 10441 (ALL_CFLAGS): ... to here. 10442 104432002-08-13 Denis Chertykov <denisc@overta.ru> 10444 10445 * config/ip2k/ip2k.c (commands_in_file): Variable removed. 10446 (function_epilogue): Don't calculate function size. 10447 (ip2k_set_compare): Don't use lookup_const_double. 10448 (asm_file_start): Initialization of commands_in_file removed. 10449 (asm_file_end): Output of commands_in_file removed. 10450 10451 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of 10452 __INT_MAX__. 10453 104542002-08-13 Neil Booth <neil@daikokuya.co.uk> 10455 10456 * c-opts.c (c_common_init_options): Check option array is 10457 sorted if checking enabled. 10458 104592002-08-13 Gabriel Dos Reis <gdr@nerim.net> 10460 10461 * c-pretty-print.c: #include "c-tree.h". 10462 (pp_c_simple_type_specifier): Tweak. 10463 (pp_c_storage_class_specifier): New. 10464 (pp_c_function_specifier): Likewise. 10465 (pp_c_declaration_specifiers): Likewise. 10466 (pp_c_init_declarator): Likewise. 10467 (pp_c_declaration): Likewise. 10468 (pp_c_direct_declarator): Stub. 10469 (pp_c_declarator): Likewise. 10470 (pp_c_parameter_declaration): Likewise. 10471 104722002-08-13 Neil Booth <neil@daikokuya.co.uk> 10473 10474 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size, 10475 handle_deferred_opts, sanitize_cpp_opts, defer_opt, 10476 struct deferred_opt): New. 10477 (COMMAND_LINE_OPTIONS): Add -M*. 10478 (missing_arg): Update. 10479 (c_common_decode_option): Handle -M*. 10480 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts; 10481 don't call cpp_post_options. 10482 (c_common_finish, check_deps_environment_vars): Update. 10483 * cppfiles.c (stack_include_file, handle_missing_header): Update. 10484 * cpphash.h (CPP_PRINT_DEPS): Remove. 10485 * cppinit.c: Don't include version.h. 10486 (cpp_create_reader): Don't call deps_init. Initialize 10487 warn_long_long. 10488 (cpp_read_main_file): Init deps if necessary. 10489 (cpp_destroy): Conditionally free deps. 10490 (cpp_finish): Update. 10491 (no_tgt): Remove. 10492 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*. 10493 (cpp_post_options): Rename post_options. 10494 * cpplib.h (struct cpp_options): Remove some dependency options; 10495 move others to a new structure. 10496 (cpp_post_options): Remove. 10497 (cpp_finish): Comment. 10498 * fix-header.c (read_scan_file): Don't call cpp_post_options. 10499 105002002-08-12 Hans-Peter Nilsson <hp@bitrange.com> 10501 10502 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM. 10503 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark 10504 MMIX_rR_REGNUM as clobbered. 10505 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM. 10506 105072002-08-12 Gabriel Dos Reis <gdr@nerim.net> 10508 10509 * diagnostic.h (output_formatted_scalar): Rename from 10510 output_formatted_integer. 10511 * diagnostic.def: Add DK_DEBUG. 10512 * diagnostic.c (output_decimal): Adjust. 10513 (output_long_decimal): Likewise. 10514 (output_unsigned_decimal): Likewise. 10515 (output_octal): Likewise. 10516 (output_long_octal): Likewise. 10517 (output_hexadecimal): Likewise. 10518 (output_long_hexadecimal): Likewise. 10519 * c-pretty-print.c (pp_c_type_specifier): New function. 10520 (pp_c_specifier_qualifier_list): Likewise. 10521 (pp_c_abstract_declarator): Likewise. 10522 (pp_c_char): Replace pp_format_integer with pp_format_scalar. 10523 105242002-08-12 David Edelsohn <edelsohn@gnu.org> 10525 10526 * doc/trouble.texi (Disappointments): Add static constructor and 10527 destructor dependency information for AIX. 10528 105292002-08-12 Neil Booth <neil@daikokuya.co.uk> 10530 10531 * cpphash.h (struct printer): New from cppmain.c. 10532 (cpp_reader): New member. 10533 * cppmain.c (struct printer): Move to cpphash.h. 10534 (options, print): Remove. 10535 (account_for_newlines, print_line, maybe_print_line, 10536 cpp_preprocess_file, setup_callbacks, scan_translation_unit, 10537 scan_translation_unit_trad, cb_line_change, cb_ident, 10538 cb_define, cb_undef, cb_include, cb_file_change, dump_macro, 10539 cb_def_pragma): Make reentrant. 10540 105412002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10542 10543 * real.c (ieee_64): Always define. 10544 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0. 10545 (dec_h): Not used yet, hide it. 10546 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with 10547 macro controlling use. 10548 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0. 10549 10550Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz> 10551 10552 * i386.md (tablejump): Sign extend the operand. 10553 * i386.c (classify_argument): Fix missed case from previous patch. 10554 105552002-08-12 Neil Booth <neil@daikokuya.co.uk> 10556 10557 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move 10558 to c-copts.c. 10559 (warn_multichar): Die. 10560 (cb_register_builtins): Export. 10561 * c-common.h (warn_multichar, preprocess_file): Remove. 10562 (cb_register_builtins): New. 10563 * c-lang.c (c_init): Remove. 10564 (LANG_HOOKS_INIT): Use c_objc_common_init. 10565 * c-lex.c (init_c_lex): Don't canonicalize filename. 10566 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New. 10567 (preprocess_file): Make static. Update for cpplib. 10568 (c_common_decode_option): Remove warn_multichar. Use in_fname. 10569 (c_common_post_options): Set some cpp options here. 10570 (c_common_init): Move from c-common.c. 10571 * cppinit.c (cpp_post_options): Don't canonicalize in_fname. 10572 * cpplib.h (struct cpp_options): Remove in_fname. 10573 (cpp_preprocess_file): Update. 10574 * cppmain.c (cpp_preprocess_file): Update for new prototypes. 10575 105762002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10577 10578 * config.gcc (mips*-*-netbsd*): Include ${tm_file}. 10579 105802002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10581 10582 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing 10583 backslash in comment preceeding macro definition. 10584 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise. 10585 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise. 10586 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise. 10587 105882002-08-12 Hans-Peter Nilsson <hp@bitrange.com> 10589 10590 * expr.c (store_expr): In condition for checking if value is 10591 generated in TARGET, move call to expr_size last. 10592 105932002-08-11 Neil Booth <neil@daikokuya.co.uk> 10594 10595 * c-common.c (c_common_init): Call preprocess_file instead. 10596 (c_common_finish): Move to c-opts.c. 10597 * c-common.h (preprocess_file): new. 10598 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file, 10599 check_deps_environment_vars, c_common_finish): New. 10600 (c_common_decode_option): Update for out_fname and dependencies. 10601 * cppinit.c (init_dependency_output, output_deps): Remove. 10602 (cpp_destroy): Update prototype. 10603 (cpp_add_dependency_target): New. 10604 (cpp_read_main_file): Don't overlay a buffer. 10605 (cpp_finish): Take a deps output stream and write deps to it. 10606 Return the error count. 10607 (cpp_post_options): Don't canonicalize out_fname, or do anything 10608 with dependencies. 10609 * cpplib.h (struct cpp_options): Remove out_fname and 10610 preprocess_only. 10611 (cpp_add_dependency_target): New. 10612 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update. 10613 * cppmain.c (cpp_preprocess_file): Update prototype. Don't 10614 set preprocess_only. Don't handle the output stream directly. 10615 106162002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10617 10618 * dsp16xx.c (print_operand): Fix format specifier. 10619 * dsp16xx.md: Avoid automatic aggregate initialization. 10620 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index. 10621 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U 10622 integer constant modifier. 10623 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning. 10624 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE 10625 guards. 10626 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier. 10627 * v850.c (v850_select_section): Mark parameter with 10628 ATTRIBUTE_UNUSED. 10629 * global.c (global_alloc): Const-ify. 10630 * ra-colorize.c (hardregset_to_string): Fix format specifier. 10631 106322002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10633 10634 * darwin-c.c (darwin_pragma_options): Const-ify. 10635 * darwin.c (machopic_non_lazy_ptr_name, 10636 machopic_validate_stub_or_non_lazy_ptr): Likewise. 10637 (machopic_indirect_data_reference): Wrap variables in macros 10638 controlling their use. 10639 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify. 10640 (machopic_select_section): Use parentheses around && within ||. 10641 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else. 10642 106432002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10644 10645 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs, 10646 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref, 10647 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr, 10648 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move, 10649 mdr_try_remove_redundant_insns, track_w_reload, 10650 mdr_try_wreg_elim): Make function static to match prototype. 10651 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark 10652 parameter with ATTRIBUTE_UNUSED. 10653 106542002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10655 10656 * arc.c (arc_init): Don't use ISO C style function definitions. 10657 * arm.c (count_insns_for_constant, thumb_far_jump_used_p, 10658 arm_get_strip_length, arm_strip_name_encoding): Likewise. 10659 * avr.h (progmem_section): Likewise. 10660 * h8300.c h8300_asm_insn_count): Likewise. 10661 * m32r.c (init_idents): Likewise. 10662 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise. 10663 * sh.c (sh_cfun_interrupt_handler_p): Likewise. 10664 * xtensa.c (xtensa_build_va_list): Likewise. 10665 106662002-08-11 Neil Booth <neil@daikokuya.co.uk> 10667 10668 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0. 10669 * c-opts.c (parse_option): Rename find_opt. 10670 (set_std_c99): New function. 10671 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad. 10672 (missing_arg): Remove OPT_std_bad. Handle -o. 10673 (c_common_decode_option): Handle input and output file names, 10674 -o and -remap. Clean up -std= handling. 10675 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap. 10676 (cpp_handle_option): Similarly. Don't handle filenames. 10677 10678Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz> 10679 10680 * i386.c (classify_argument): Fix computing of field's offsets. 10681 106822002-08-11 Andreas Jaeger <aj@suse.de> 10683 10684 PR target/7531: 10685 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel. 10686 106872002-08-10 Ziemowit Laski <zlaski@apple.com> 10688 10689 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace 10690 reference to clk_objective_c with flag_objc. 10691 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): 10692 Likewise. 10693 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise. 10694 106952002-08-10 Neil Booth <neil@daikokuya.co.uk> 10696 10697 * c-opts.c (set_std_cxx98, set_std_c89): New. 10698 (COMMAND_LINE_OPTIONS): Move more from cppinit.c. 10699 (c_common_decode_option): Handle new switches from cppinit.c. 10700 Add -std=gnu++98. 10701 * cppinit.c (set_lang): Rename cpp_set_lang. Export. 10702 (no_arg, no_num): Remove. 10703 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang- 10704 switches apart from -lang-objc and lang-asm. 10705 (cpp_handle_option): Similarly. 10706 * cpplib.h (cpp_set_lang): New. 10707 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98, 10708 -std=gnu++98. 10709 * objc/lang-specs.h: Remove -ansi. 10710 10711Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz> 10712 Graham Stott 10713 10714 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff 10715 errors. 10716 107172002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10718 10719 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before, 10720 emit_jump_insn): Fix uninitialized variable. 10721 * gcov.c (init_line_info): Likewise. 10722 * genautomata.c (transform_3): Add braces around ambiguous 10723 else. 10724 * ifcvt.c (cond_exec_process_insns): Mark parameter with 10725 ATTRIBUTE_UNUSED. 10726 * ra-build.c (parts_to_webs_1): Fix uninitialized variable. 10727 * regrename.c (copyprop_hardreg_forward): Fix uninitialized 10728 variable. 10729 10730 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned 10731 warnings in output files. 10732 107332002-08-09 Ziemowit Laski <zlaski@apple.com> 10734 10735 * c-common.c (flag_objc): New. 10736 * c-common.h (c_language_kind): Get rid of clk_objective_c 10737 enum value. 10738 (flag_objc): New extern declaration. 10739 * c-decl.c (implicitly_declare): Call objc_check_decl 10740 instead of maybe_objc_check_decl. 10741 (finish_decl): Likewise. 10742 (grokfield): Likewise. 10743 (finish_struct): Likewise. 10744 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl. 10745 (maybe_objc_comptypes): Rename to objc_comptypes. 10746 (maybe_building_objc_message_expr): Rename to 10747 objc_message_selector. 10748 * c-lex.c (lex_charconst): Remove uses of clk_objective_c, 10749 replace with flag_objc as needed. 10750 * c-opts.c (c_common_init_options): Likewise. 10751 (c_common_decode_option): Likewise. 10752 * c-parse.in (init_reswords): Likewise. 10753 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl. 10754 (maybe_objc_comptypes): Rename to objc_comptypes. 10755 (maybe_building_objc_message_expr): Rename to 10756 objc_message_selector. 10757 * c-typeck.c (comptypes): Call objc_comptypes instead of 10758 maybe_objc_comptypes, and/or objc_message_selector instead of 10759 maybe_building_objc_message_expr. 10760 (comp_target_types): Likewise. 10761 (convert_for_assignment): Likewise. 10762 (warn_for_assignment): Likewise. 10763 * cppinit.c (init_builtins): Set __OBJC__ manifest constant 10764 independently of those for other languages. 10765 * objc/objc-act.c (maybe_objc_comptypes): Delete. 10766 (maybe_objc_check_decl): Delete. 10767 (maybe_building_objc_message_expr): Rename to 10768 objc_message_selector. 10769 * objc/objc-lang.c (objc_init_options): Use clk_c instead of 10770 clk_objective_c; set flag_objc flag. 10771 107722002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 10773 10774 * ifcvt.c (find_if_case_2): Test correct basic block for size. 10775 107762002-08-09 Dale Johannesen <dalej@apple.com> 10777 10778 * config/rs6000/rs6000.md: Add sibcall patterns. 10779 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define. 10780 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): 10781 Rewritten to handle sibcalls. 10782 * config/rs6000/rs6000.c (function_ok_for_sibcall): New. 10783 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New. 10784 107852002-08-08 Nathan Sidwell <nathan@codesourcery.com> 10786 10787 * profile.c (da_file_name): New static var. 10788 (init_branch_prob): Initialize it. 10789 (end_branch_prob): Remove da file. 10790 10791 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS. 10792 * configure.in (coverage_flags): Default to nothing. 10793 * configure: Rebuilt. 10794 107952002-08-09 Neil Booth <neil@daikokuya.co.uk> 10796 10797 * Makefile.in (c-opts.o): Update 10798 * c-opts.c: Include intl.h. 10799 (print_help): Move from cppinit.c. Remove unused options. 10800 (COMMAND_LINE_OPTIONS): Move more from cppinit.c. 10801 (missing_arg): Complain for switches without an argument. 10802 (c_common_decode_option): Reject missing joined arguments. 10803 Handle new switches from cppinit.c. 10804 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c. 10805 (cpp_handle_option): Similarly. 10806 (print_help): Moved to c-opts.c. 10807 * cpplib.h (struct cpp_options): Remove help_only. 10808 * gcc.c (cpp_unique_options): Remove -$. 10809 * doc/cppopts.texi: Undocument -h. 10810 108112002-08-08 Jakub Jelinek <jakub@redhat.com> 10812 10813 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not 10814 legitimate constant. 10815 (legitimate_pic_operand_p): Neither pic operand. 10816 (legitimate_address_p): But legitimate address. 10817 (get_thread_pointer): Generate MEM/u instead of CONST around 10818 UNSPEC_TP. 10819 (print_operand): Remove printing of UNSPEC_TP. 10820 (print_operand_address): And print it here. 10821 108222002-08-08 Devang Patel <dpatel@apple.com> 10823 10824 * objc/objc-act.c (build_selector_translation_table): Issue warning, 10825 when -Wselector is used,if method for which selector is being 10826 created does not exist. 10827 108282002-08-08 Stephen Clarke <stephen.clarke@superh.com> 10829 10830 * config/sh/sh.c (prepare_move_operands): Only call 10831 target_reg_operand if TARGET_SHMEDIA. 10832 108332002-08-08 Jakub Jelinek <jakub@redhat.com> 10834 10835 * config/rs6000/rs6000.h, config/rs6000/aix.h, 10836 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last 10837 two patches. 10838 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN. 10839 108402002-08-08 Lars Brinkhoff <lars@nocrew.org> 10841 Richard Henderson <rth@redhat.com> 10842 10843 * emit-rtl.c (gen_rtx_REG): After reload, only return 10844 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed. 10845 108462002-08-08 Jakub Jelinek <jakub@redhat.com> 10847 10848 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove. 10849 * config/rs6000/rs6000.c (rs6000_field_alignment): Move... 10850 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the 10851 macro. 10852 108532002-08-08 Adam Nemet <anemet@lnxw.com> 10854 10855 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC 10856 register. 10857 (thumb_expand_prologue): Likewise. 10858 (thumb_output_function_prologue): Likewise. 10859 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for 10860 the additional push of the PIC register. 10861 108622002-08-08 Nathan Sidwell <nathan@codesourcery.com> 10863 10864 * configure.in (enable_coverage): New enable switch. 10865 * configure: Rebuilt. 10866 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables. 10867 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS. 10868 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS. 10869 (mostlyclean): Remove coverage files. 10870 * doc/install.texi: Document enable_coverage. 10871 10872 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files. 10873 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files. 10874 * f/Make-lang.in (f.mostlyclean): Remove coverage files. 10875 * java/Make-lang.in (java.mostlyclean): Remove coverage files. 10876 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files. 10877 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage 10878 files. 10879 108802002-08-08 Neil Booth <neil@daikokuya.co.uk> 10881 10882 * c-opts.c (cpp_opts): New. 10883 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c. 10884 (c_common_decode_options): Handle cpplib switches. 10885 (c_common_init_options): Set cpp_opts. 10886 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c. 10887 (cpp_handle_option): Similarly. 10888 108892002-08-08 David Edelsohn <edelsohn@gnu.org> 10890 10891 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0. 10892 (TARGET_ALTIVEC_ABI): Same. 10893 (TARGET_ALTIVEC_VRSAVE): Same. 10894 10895 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check 10896 icode not CODE_FOR_nothing. Change switch to if. 10897 108982002-08-08 Alan Modra <amodra@bigpond.net.au> 10899 10900 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4. 10901 109022002-08-08 Jakub Jelinek <jakub@redhat.com> 10903 10904 * stor-layout.c (place_union_field): For bitfields if 10905 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's 10906 TYPE_USER_ALIGN. 10907 109082002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca> 10909 10910 * pa.c (struct deferred_plabel): Constify name field. 10911 109122002-08-07 Neil Booth <neil@daikokuya.co.uk> 10913 10914 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable. 10915 109162002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca> 10917 10918 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and 10919 local_prefix are the same. 10920 * configure: Rebuilt. 10921 109222002-08-07 Jakub Jelinek <jakub@redhat.com> 10923 Richard Henderson <rth@redhat.com> 10924 10925 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN 10926 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply 10927 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN. 10928 (place_field): Likewise. 10929 * config/i386/i386.c (x86_field_alignment): Don't check 10930 DECL_USER_ALIGN here. 10931 * config/rs6000/rs6000.c (rs6000_field_alignment): New. 10932 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New 10933 prototype. 10934 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define. 10935 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove. 10936 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove. 10937 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove. 10938 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove. 10939 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description. 10940 109412002-08-07 Neil Booth <neil@daikokuya.co.uk> 10942 10943 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update. 10944 * c-common.c: Don't include tree-inline.h. 10945 (c_common_init_options, c_common_post_options): Move to c-opts.c. 10946 * c-common.h (c_common_decode_option): New. 10947 * c-decl.c (c_decode_option): Remove. 10948 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option. 10949 * c-opts.c: New file. 10950 * c-tree.h (c_decode_option): Remove. 10951 * doc/passes.texi: Update. 10952 * objc/objc-act.c (objc_decode_option): Remove. 10953 * objc/objc-act.h (objc_decode_option): Remove. 10954 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use 10955 c_common_decode_option. 10956 109572002-08-07 Chris Demetriou <cgd@broadcom.com> 10958 10959 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove 10960 dependency on TARGET_DOUBLE_FLOAT. 10961 109622002-08-07 Stephen Clarke <stephen.clarke@superh.com> 10963 10964 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't 10965 overwrite callee-save registers. Fix comment. 10966 109672002-08-06 Chris Demetriou <cgd@broadcom.com> 10968 10969 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY 10970 in target_flags based on ISA, if it was not set on the command 10971 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not 10972 support Branch Likely instructions. 10973 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro. 10974 (TARGET_BRANCHLIKELY): Likewise. 10975 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely. 10976 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than 10977 ISA_HAS_BRANCHLIKELY. 10978 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check. 10979 * doc/invoke.texi: Document new MIPS -mbranch-likely and 10980 -mno-branch-likely options. 10981 109822002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10983 10984 * ip2k.c (ip2k_set_compare): Add missing iteration variable. 10985 10986 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not 10987 $(GCONFIG_H). 10988 109892002-08-06 Aldy Hernandez <aldyh@redhat.com> 10990 10991 * c-decl.c (duplicate_decls): Error out for incompatible TLS 10992 declarations. 10993 10994 * testsuite/gcc.dg/tls/diag-3.c: New. 10995 109962002-08-06 Dale Johannesen <dalej@apple.com> 10997 10998 * c-common.c (fname_decl): Use line number 0 for 10999 __func__, to avoid confusing debuggers. 11000 110012002-08-06 Nathan Sidwell <nathan@codesourcery.com> 11002 11003 * gcov.c: Tidy. 11004 (struct line_info, struct coverage): New structures. 11005 (gcov_file_name, gcov_file): Remove globals. 11006 (output_data): Take source file parameter. Fix memory leak. Break 11007 up into ... 11008 (init_line_info, output_line_info, make_gcov_file_name, 11009 accumulate_branch_counts): ... here. 11010 (calculate_branch_probs, function_summary): Adjust. 11011 (main): Adjust. 11012 (function_*): Remove global variables. 11013 110142002-08-06 Neil Booth <neil@daikokuya.co.uk> 11015 11016 * dwarf2out.c: Remove unused macros. 11017 110182002-08-06 Neil Booth <neil@daikokuya.co.uk> 11019 11020 * function.c (TRAMPOLINE_ALIGNMENT): Always defined. 11021 110222002-08-06 Neil Booth <neil@daikokuya.co.uk> 11023 11024 * cppinit.c (struct lang_flags): Rename trigraphs std. 11025 (set_lang): Update. 11026 * cpplib.h (struct cpp_options): New member std. 11027 * cppmacro.c (_cpp_builtin_macro_text): Use std. 11028 (collect_args): Flag whether to swallow a possible future 11029 comma pasted with varargs. 11030 (replace_args): Use this flag. 11031 * doc/cpp.texi: Update varargs extension documentation. 11032 110332002-08-06 Jakub Jelinek <jakub@redhat.com> 11034 11035 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned. 11036 110372002-08-06 Jakub Jelinek <jakub@redhat.com> 11038 11039 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT 11040 and MODE_CLASS_INT modes. 11041 110422002-08-06 Jakub Jelinek <jakub@redhat.com> 11043 11044 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no 11045 --{enable,disable}-threads is given to configure. 11046 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*, 11047 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*, 11048 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*, 11049 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*): 11050 Remove thread_file setting here. 11051 110522002-08-06 David Edelsohn <edelsohn@gnu.org> 11053 11054 * doc/install.texi (Binaries): Update Bull Freeware URL. 11055 110562002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 11057 11058 * doc/gcc.texi (Top): Rename Index to Keyword Index. 11059 110602002-08-05 Nathan Sidwell <nathan@codesourcery.com> 11061 11062 * gcov.c (output_data): Round to % to nearest, tweak formatting. 11063 110642002-08-05 Jakub Jelinek <jakub@redhat.com> 11065 11066 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one 11067 of the operands into MINUS_EXPR if code is PLUS_EXPR. 11068 110692002-08-05 Douglas B Rupp <rupp@gnat.com> 11070 11071 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o 11072 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT, 11073 drectve_section): Define. 11074 * config/i386/t-interix: Replace interix.o rule with winnt.o. 11075 * config/i386/interix.c: Remove. 11076 110772002-08-05 Geoffrey Keating <geoffk@redhat.com> 11078 11079 * attribs.c: Don't include obstack.h. 11080 * builtins.c: Likewise. 11081 * cfganal.c: Likewise. 11082 * cfgbuild.c: Likewise. 11083 * cfgcleanup.c: Likewise. 11084 * emit-rtl.c: Likewise. 11085 * loop.c: Likewise. 11086 * stmt.c: Likewise. 11087 11088 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES). 11089 110902002-08-05 Gabriel Dos Reis <gdr@nerim.net> 11091 11092 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR 11093 110942002-08-04 Chris Demetriou <cgd@broadcom.com> 11095 11096 * doc/invoke.texi: Remove duplicated paragraph describing 11097 TARGET_SWITCHES. 11098 110992002-08-04 Geoffrey Keating <geoffk@redhat.com> 11100 11101 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H). 11102 * collect2.h (permanent_obstack): Delete declaration. 11103 * collect2.c (permanent_obstack): Delete definition. 11104 (main): Don't initialize permanent_obstack. Use xstrdup instead. 11105 * expr.c: Don't include obstack.h. 11106 (permanent_obstack): Delete declaration. 11107 * function.c: Don't include obstack.h. 11108 (permanent_obstack): Delete declaration. 11109 * integrate.c: Don't include obstack.h. 11110 (function_maybepermanent_obstack): Delete declaration. 11111 * print-tree.c (debug_tree): Use x*alloc not permalloc. 11112 * sdbout.c (gen_fake_label): Use x*alloc not permalloc. 11113 * tlink.c (pfgets): Use xstrdup not permanent_obstack. 11114 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree. 11115 * tree.h: Rename init_obstacks to init_ttree. Remove declarations 11116 of permalloc, expralloc, perm_calloc. 11117 * tree.c (permanent_obstack): Delete definition. 11118 (init_ttree): Rename from init_obstacks. 11119 (permalloc): Delete. 11120 (perm_calloc): Delete. 11121 (dump_tree_statistics): Don't print information about 11122 permanent_obstack. 11123 * varasm.c (assemble_start_function): Use xstrdup instead of 11124 permalloc/strcpy. 11125 (assemble_variable): Likewise. 11126 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of 11127 permalloc. 11128 (unicosmk_add_extern): Likewise. 11129 * config/c4x/c4x.c (c4x_external_ref): Likewise. 11130 (c4x_global_label): Likewise. 11131 * config/frv/frv.c (frv_encode_section_info): Likewise. 11132 * config/i386/winnt.c (i386_pe_record_external_function): Likewise. 11133 (i386_pe_record_exported_symbol): Likewise. 11134 * config/mips/mips.c (mips_output_external): Likewise. 11135 (mips_output_external_libcall): Likewise. 11136 * config/pa/pa.c: (permanent_obstack): Delete declaration. 11137 (output_call): Use ggc_strdup instead of allocating on 11138 permanent_obstack. 11139 * config/romp/romp.c: Include ggc.h. 11140 (get_symref): Don't declare permanent_obstack, use ggc_strdup 11141 intead of permanent_obstack. 11142 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat 11143 instead of permalloc. 11144 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc 11145 instead of permalloc 11146 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat 11147 instead of permalloc. 11148 * config/vax/vax.c (vms_check_external): Use xmalloc instead of 11149 permalloc. 11150 111512002-08-04 Bernd Schmidt <bernds@redhat.com> 11152 11153 Contribute a port developed primarily by Michael Meissner, 11154 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>. 11155 * config.gcc: Add frv-elf target. 11156 * config/frv/cmovd.c: New file. 11157 * config/frv/cmovh.c: New file. 11158 * config/frv/cmovw.c: New file. 11159 * config/frv/frv-abi.h: New file. 11160 * config/frv/frv-asm.h: New file. 11161 * config/frv/frv-modes.def: New file. 11162 * config/frv/frv-protos.h: New file. 11163 * config/frv/frv.c: New file. 11164 * config/frv/frv.h: New file. 11165 * config/frv/frv.md: New file. 11166 * config/frv/frvbegin.c: New file. 11167 * config/frv/frvend.c: New file. 11168 * config/frv/lib1funcs.asm: New file. 11169 * config/frv/media.h: New file. 11170 * config/frv/modi.c: New file. 11171 * config/frv/t-frv: New file. 11172 * config/frv/uitod.c: New file. 11173 * config/frv/uitof.c: New file. 11174 * config/frv/ulltod.c: New file. 11175 * config/frv/ulltof.c: New file. 11176 * config/frv/umodi.c: New file. 11177 * config/frv/xm-frv.h: New file. 11178 11179 * config/frv/media.h: Removed again. 11180 111812002-08-04 Nathan Sidwell <nathan@codesourcery.com> 11182 11183 * gcov.c (bb_file_time): New static variable. 11184 (object_directory): May also be object file. 11185 (preserve_paths): New static variable. 11186 (print_usage): Adjust. 11187 (options): Adjust. 11188 (process_args): Adjust. 11189 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object 11190 file. Find modification date on bb file. 11191 (read_profile): Don't rewind a NULL file. 11192 (format_hwint): New static function. 11193 (function_summary): Use format_hwint. 11194 (output_data): SOURCE_FILE_NAME is never relative to 11195 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name 11196 mangling. Adjust output format to make it more machine readable. 11197 * doc/gcov.texi: Document & clarify semantics. 11198 111992002-08-04 Joseph S. Myers <jsm@polyomino.org.uk> 11200 11201 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3. 11202 112032002-08-04 Nathan Sidwell <nathan@codesourcery.com> 11204 11205 * gcc.c (cc1_options): Pass output file as auxbase when 11206 appropriate. 11207 * profile.c (init_branch_prob): FILENAME has already had ending 11208 stripped. 11209 * final.c (end_final): Likewise. 11210 * toplev.c (aux_base_name): New global. 11211 (compile_file): Pass aux_base_name to init init_branch_prob and 11212 end_final. 11213 (independent_decode_option, case 'a'): New auxinfo options. 11214 (case 'd'): Protect against mising basename. 11215 (do_compile): Initialize aux_base_name. 11216 * toplev.h (aux_base_name): New global. 11217 * doc/invoke.texi: Adjust documentation. 11218 112192002-08-04 Nathan Sidwell <nathan@codesourcery.com> 11220 11221 * config/i386/i386.c (x86_field_alignment): Remove duplicate test 11222 of TARGET_ALIGN_DOUBLE. 11223 112242002-08-04 Gabriel Dos Reis <gdr@nerim.net> 11225 11226 * diagnostic.c (inform): New function. 11227 * diagnostic.h (inform): Declare. 11228 112292002-08-03 David Edelsohn <edelsohn@gnu.org> 11230 11231 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic. 11232 (movhi_internal): Same. 11233 (movqi_internal): Same. 11234 (movdi_internal64): Same. 11235 11236 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405. 11237 11238 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define. 11239 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned. 11240 (COMMON_ASM_OP): Define. 11241 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned. 11242 Use ALIGN parameter. 11243 (LOCAL_COMMON_ASM_OP): Define. 11244 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned. 11245 112462002-08-03 Roger Sayle <roger@eyesopen.com> 11247 11248 * builtins.def: Define new builtin functions exp, expf, expl, 11249 log, logf and logl (and their __builtin_* variants). 11250 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log. 11251 Define exp_optab and log_optab. 11252 * optabs.c (init_optans): Initialize exp_optab and log_optab. 11253 * genopinit.c (optabs): Implement exp_optab and log_optab 11254 using exp?f2 and log?f2 patterns. 11255 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP* 11256 and BUILT_IN_LOG* using exp_optab and log_optab respectively. 11257 (expand_builtin): Ignore the new builtins (and all cos and 11258 sin variants) when not optimizing. Expand new builtins via 11259 expand_builtin_mathfn when flag_unsafe_math_optimizations. 11260 11261 * doc/extend.texi: Document new exp and log builtins. 11262 * doc/md.texi: Document new exp?f2 and log?f2 patterns 11263 (and previously undocumented cos?f2 and sin?f2 patterns). 11264 112652002-08-03 Jason Merrill <jason@redhat.com> 11266 11267 * explow.c (int_expr_size): New fn. 11268 * expr.c (expand_expr) [CONSTRUCTOR]: Use it. 11269 * expr.h: Declare it. 11270 112712002-08-02 Krister Walfridsson <cato@df.lth.se> 11272 11273 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to 11274 gengtype-* dependencies. 11275 112762002-08-02 Eric Christopher <echristo@redhat.com> 11277 11278 * config.gcc (mips*-*-linux*): Fix ordering of tm_file. 11279 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change 11280 #ifndef to #undef. 11281 (TARGET_MEM_FUNCTIONS): Define instead of define to 1. 11282 112832002-08-02 David Edelsohn <edelsohn@gnu.org> 11284 11285 PR optimize/7067 11286 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT 11287 small if optimizing for size. 11288 112892002-08-02 Daniel Jacobowitz <drow@mvista.com> 11290 11291 * configure.in (FORBUILD): Use $build_alias. 11292 * configure: Regenerated. 11293 112942002-08-02 Richard Sandiford <rsandifo@redhat.com> 11295 11296 * config.gcc: Don't include mips/abi64.h in $tm_file. 11297 * hard-reg-set.h (call_really_used_regs): Declare. 11298 * config/mips/abi64.h: Remove file. 11299 * config/mips/linux.h, 11300 * config/mips/iris6.h: Don't include it. 11301 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare. 11302 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it. 11303 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING, 11304 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING, 11305 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN): 11306 Bring across definitions from abi64.h. 11307 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS. 11308 (BIGGEST_MAX_ARGS_IN_REGISTERS): New. 11309 (struct mips_args): Use it. 11310 * config/mips/mips.c (mips_conditional_register_usage): Define. 11311 113122002-08-02 Jason Merrill <jason@redhat.com> 11313 11314 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro. 11315 * langhooks.c (lhd_expr_size): Define default. 11316 * langhooks.h (struct lang_hooks): Add expr_size. 11317 * explow.c (expr_size): Call it. 11318 * expr.c (store_expr): Don't copy an expression of size zero. 11319 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much 11320 to store. 11321 * Makefile.in (builtins.o): Depend on langhooks.h. 11322 113232002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11324 11325 * Makefile.in (ra-debug.o): Depend on $(TM_P_H). 11326 * ra-debug.c: Include "tm_p.h". 11327 * ra-rewrite.c (is_partly_live_1): Change return type to bool. 11328 113292002-08-02 Toon Moene <toon@moene.indiv.nluug.nl> 11330 11331 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed 11332 when not honoring signalling NaNs. 11333 (simplify_ternary_operation): a == b has a definite value 11334 when not honoring NaNs. 11335 113362002-08-02 Jason Merrill <jason@redhat.com> 11337 11338 * gdbinit.in (pct): New macro. 11339 113402002-08-01 Stan Shebs <shebs@apple.com> 11341 Andreas Tobler <toa@pop.agri.ch> 11342 11343 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined, 11344 plays nice with Darwin headers. 11345 (_BSD_RUNE_T_DEFINED_): Likewise. 11346 113472002-08-01 Zack Weinberg <zack@codesourcery.com> 11348 11349 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long. 11350 * cppinit.c (cpp_post_options): Likewise. 11351 11352 * cppexp.c (cpp_classify_number): Suppress -Wtraditional 11353 warning about 'LL' suffix (but not 'ULL' etc) when 11354 -Wno-long-long is in effect. 11355 11356 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]: 11357 Check for failing time()/localtime(), issue a warning, and 11358 make __TIME__ and __DATE__ expand to fallback strings. 11359 11360 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__ 11361 and __TIME__ when the date and time cannot be determined. 11362 113632002-08-02 Alan Modra <amodra@bigpond.net.au> 11364 11365 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4. 11366 113672002-08-01 Daniel Jacobowitz <drow@mvista.com> 11368 11369 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H). 11370 113712002-08-01 Chris Demetriou <cgd@broadcom.com> 11372 11373 * config.gcc (mipsisa64sb1-*-elf*): New configuration. 11374 (mipsisa64sb1el-*-elf*): Likewise. 11375 * config/mips/mips.c (mips_cpu_info_table): Add sb1. 11376 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1. 11377 (TARGET_SB1, TUNE_SB1): New macros. 11378 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and 11379 -mtune flags. 11380 113812002-08-01 David Edelsohn <edelsohn@gnu.org> 11382 11383 * varasm.c (asm_emit_uninitialized): Return false if global BSS 11384 and ASM_EMIT_BSS not supported by target. 11385 (assemble_variable): Do not duplicate uninitialized logic. 11386 Fall through if asm_emit_uninitialized failed. 11387 113882002-08-01 Chris Demetriou <cgd@broadcom.com> 11389 11390 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro. 11391 113922002-08-02 Alan Modra <amodra@bigpond.net.au> 11393 11394 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define. 11395 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define. 11396 11397 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when 11398 HOST_BITS_PER_WIDE_INT == 64. 11399 114002002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11401 11402 * df.c (df_insn_table_realloc): Change parameter to unsigned. 11403 * optabs.c (expand_binop): Make variable unsigned. 11404 * simplify-rtx.c (simplify_subreg): Likewise. 11405 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings. 11406 114072002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 11408 11409 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION. 11410 114112002-08-01 Richard Henderson <rth@redhat.com> 11412 11413 * toplev.c (parse_options_and_default_flags): Don't set 11414 flag_reorder_blocks for -Os. 11415 11416 * config/avr/avr.c (avr_optimization_options): Remove. 11417 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove. 11418 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove. 11419 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove. 11420 114212002-08-01 H.J. Lu <hjl@gnu.org> 11422 Richard Henderson <rth@redhat.com> 11423 11424 * output.h (DECL_READONLY_SECTION): Remove. 11425 (decl_readonly_section): Declare. 11426 * varasm.c (decl_readonly_section): New. 11427 (default_section_type_flags, default_select_section): Use it. 11428 * config/arm/pe.c (arm_pe_unique_section): Likewise. 11429 * config/i386/interix.c (i386_pe_unique_section): Likewise. 11430 * config/i386/winnt.c (i386_pe_unique_section): Likewise. 11431 * config/mcore/mcore.c (mcore_unique_section): Likewise. 11432 * config/mips/mips.c (mips_unique_section): Likewise. 11433 114342002-08-01 Richard Henderson <rth@redhat.com> 11435 11436 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it 11437 refers to a subroutine parameter. 11438 114392002-08-01 Jakub Jelinek <jakub@redhat.com> 11440 11441 * varasm.c (assemble_visibility): Strip name encoding. 11442 114432002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au> 11444 11445 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch. 11446 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0 11447 when there is no frame pointer. 11448 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp 11449 registers properly. 11450 * config/ns32k/__unorddf2.c: New file. 11451 * config/ns32k/__unordsf2.c: New file. 11452 * config/ns32k/t-ns32k: New file. 11453 * config.gcc (ns32k-*-netbsd*): Use it. 11454 114552002-08-01 Aldy Hernandez <aldyh@redhat.com> 11456 11457 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff. 11458 114592002-08-01 Neil Booth <neil@daikokuya.co.uk> 11460 11461 * c-common.c (__GXX_ABI_VERSION): Correct spelling. 11462 114632002-08-01 Benjamin Kosnik <bkoz@redhat.com> 11464 11465 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102. 11466 114672002-08-01 Richard Sandiford <rsandifo@redhat.com> 11468 11469 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions. 11470 114712002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 11472 11473 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size, 11474 n_sets): Removed. 11475 (expr_hash_table, set_hash_table): Type changed to ... 11476 (struct hash_table): New type. 11477 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call, 11478 insert_expr_in_table, insert_set_in_table, compute_hash_table, 11479 dump_hash_table, lookup_expr, lookup_set, compute_local_properties, 11480 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly. 11481 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ... 11482 (alloc_hash_table): New. 11483 (free_set_hash_table, free_expr_hash_table): Merged to ... 11484 (free_hash_table): New. 11485 (compute_set_hash_table, compute_expr_hash_table): Merged to ... 11486 (compute_hash_table_work): New. 11487 (classic_gcse, one_classic_gcse_pass, compute_cprop_data, 11488 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data, 11489 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse, 11490 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout, 11491 hoist_code, one_code_hoisting_pass, 11492 trim_ld_motion_mems): Altered due to changed type of hash tables. 11493 114942002-08-01 Zack Weinberg <zack@codesourcery.com> 11495 11496 * final.c (output_alternate_entry_point): 11497 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it. 11498 114992002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11500 11501 * objc/objc-act.c (encode_complete_bitfield): Add prototype and 11502 avoid ISO C style function definition. 11503 11504 * expr.c (expand_assignment): Delete unused variable. 11505 115062002-08-01 Toon Moene <toon@moene.indiv.nluug.nl> 11507 11508 * c-common.c (cb_register_builtins): Set 11509 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only 11510 is given, and to 0 otherwise. 11511 * combine.c (simplify_if_then_else): HONOR_NANS 11512 implies FLOAT_MODE_P. 11513 115142002-08-01 Neil Booth <neil@daikokuya.co.uk> 11515 11516 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar. 11517 (cpp_handle_option): Don't handle it. 11518 (print_help): Update. 11519 * doc/cppopts.texi: Update. 11520 115212002-08-01 Neil Booth <neil@daikokuya.co.uk> 11522 11523 * c-common.c (cb_register_builtins): If C++, define 11524 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate. 11525 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION. 11526cp: 11527 * lang-specs.h: Simplify in accordance with new code in 11528 c-common.c. 11529 115302002-08-01 Neil Booth <neil@daikokuya.co.uk> 11531 11532 * c-common.c: Define all C/ObjC/C++ warning and flag variables. 11533 * c-common.h: Declare all C/ObjC/C++ warning and flag variables. 11534 * c-decl.c: Move all warning and flag variables to c-common.c. 11535 * c-format.c: Move all warning variables to c-common.c. 11536 * c-tree.h: Move all warning and flag declarations to c-common.h. 11537 * objc/objc-act.c: Move all warning variables to c-common.c. 11538 (flag_warn_protocol): Rename warn_protocol. 11539 115402002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca> 11541 11542 * pa-linux.h (GLOBAL_ASM_OP): Fix typo. 11543 115442002-07-31 Graham Stott <graham.stott@btinternet.com> 11545 11546 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing 11547 .section prefix. 11548 115492002-07-31 Stan Shebs <shebs@apple.com> 11550 11551 * config.gcc (i[34567]86-*-darwin*): New configuration. 11552 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before 11553 defining. 11554 (TARGET_ENCODE_SECTION_INFO): Ditto. 11555 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto. 11556 * config/darwin.c (machopic_indirect_data_reference): Remove 11557 setting of RTX_UNCHANGING_P. 11558 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as 11559 not to be applied to sums. 11560 * config/i386/t-darwin: New file. 11561 * config/i386/darwin.h: New file. 11562 * config/i386/i386.h (TARGET_MACHO): Add default definition. 11563 * config/i386/i386.md (tablejump): Add TARGET_MACHO case. 11564 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O 11565 label and not the GOT add. 11566 (constant_address_p): For Mach-O, seeing a CONST is enough. 11567 (legitimate_pic_address_disp_p): Add a Mach-O case. 11568 (legitimate_address_p): Also test machopic_operand_p if Mach-O. 11569 (legitimize_pic_address): Use generic Mach-O code to legitimize. 11570 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens 11571 if outputting a difference. 11572 (ix86_output_addr_diff_elt): Add Mach-O case. 11573 (ix86_expand_move): Similarly. 11574 (ix86_expand_call): Similarly. 11575 (current_machopic_label_num): New global. 11576 (machopic_output_stub): New function. 11577 (ix86_value_regno): New function. 11578 (ix86_function_value): Use it instead of VALUE_REGNO. 11579 (ix86_libcall_value): Ditto. 11580 * config/i386/unix.h (VALUE_REGNO): Remove. 11581 115822002-07-31 Graham Stott <grahas@btinternet.com> 11583 11584 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix 11585 hash for LABEL_REF's. 11586 115872002-07-31 Graham Stott <grahams@btinternet.com> 11588 11589 * config/rs6000/rs6000.c (spe_init_builtins, 11590 altivec_init_builtins, rs6000_common_init_builtins): 11591 Replace ANSI with K&R function def. 11592 115932002-07-31 David Edelsohn <edelsohn@gnu.org> 11594 11595 * rs6000.c (validate_condition_mode): Test flag_finite_math_only 11596 for CCFPmode. 11597 115982002-07-31 Richard Sandiford <rsandifo@redhat.com> 11599 11600 * config/mips/crtn.asm: Don't use __mips16 to determine the 11601 return-address offset. Define RA to a suitable temporary 11602 register for the return address. 11603 116042002-07-31 Richard Sandiford <rsandifo@redhat.com> 11605 11606 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change 11607 constraints to 'd'. 11608 116092002-07-30 Chris Demetriou <cgd@broadcom.com> 11610 11611 * config/mips/elf.h (STARTFILE_SPEC): Define differently if 11612 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's 11613 patch on 2002-07-29.) 11614 * config/mips/elf64.h (STARTFILE_SPEC): Likewise. 11615 116162002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11617 11618 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h, 11619 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h, 11620 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h, 11621 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h, 11622 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h: 11623 (ASM_GLOBALIZE_LABEL): Delete. 11624 (GLOBAL_ASM_OP): Define. 11625 11626 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete. 11627 11628 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default. 11629 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs. 11630 116312002-07-30 Geoffrey Keating <geoffk@redhat.com> 11632 11633 * doc/extend.texi (Hints implementation): Document that GCC 11634 mostly ignores `register'. 11635 116362002-07-30 Toon Moene <toon@moene.indiv.nluug.nl> 11637 11638 * flags.h: Declare flag_finite_math_only. 11639 Use it in definition of HONOR_NANS and 11640 HONOR_INFINITIES. 11641 * c-common.c (cb_register_builtins): Emit 11642 __FINITE_MATH_ONLY__ when flag_finite_math_only 11643 is set. 11644 * combine.c (simplify_if_then_else): If 11645 flag_finite_math_only is set, a == b has a 11646 definite value. 11647 * toplev.c: Initialize flag_finite_math_only. 11648 (set_flags_fast_math): Set it on -ffast-math. 11649 (flag_fast_math_set_p): Test it. 11650 * doc/invoke.texi: Document -ffinite-math-only. 11651 116522002-07-30 Richard Henderson <rth@redhat.com> 11653 11654 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p. 11655 (noce_process_if_block): Likewise. 11656 116572002-07-30 Bernd Schmidt <bernds@redhat.com> 11658 11659 * ifcvt.c (cond_exec_process_if_block): Fix a merging error. 11660 Bail out early if false_expr is NULL and we'd crash due to this. 11661 * genemit.c (gen_expand): Recognize return insns even if the return 11662 appears in a parallel. 11663 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined. 11664 * config/fp-bit.c: Likewise. 11665 * doc/tm.texi: Document it. 11666 116672002-07-30 David Edelsohn <edelsohn@gnu.org> 11668 Zack Weinberg <zack@codesourcery.com> 11669 11670 * rs6000.c (rs6000_expand_unop_builtin): Check icode not 11671 CODE_FOR_nothing. Change switch to if. 11672 (rs6000_expand_binop_builtin): Same. 11673 (rs6000_expand_builtin): Expand builtin if target support enabled. 11674 (rs6000_init_builtins): Init builtin if target support enabled. 11675 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing. 11676 116772002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 11678 11679 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101. 11680 116812002-07-30 Richard Sandiford <rsandifo@redhat.com> 11682 11683 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo. 11684 11685Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com> 11686 11687 * sh.md (cond_delay_slot): New attribute. 11688 (cbranch delay): Use it for anulled-true case. 11689 (stuff_delay_slot): New pattern. 11690 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length 11691 delay slot insn. 11692 (gen_far_branch): Emit stuff_delay_slot pattern. 11693 11694Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com> 11695 11696 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT. 11697 116982002-07-30 Kazu Hirata <kazu@cs.umass.edu> 11699 11700 * fold-const.c: Fix comment typos. 11701 * gcse.c: Likewise. 11702 * reload1.c: Likewise. 11703 117042002-07-29 Aldy Hernandez <aldyh@redhat.com> 11705 11706 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot 11707 for TARGET_SPE. 11708 117092002-07-30 Gabriel Dos Reis <gdr@nerim.net> 11710 11711 * c-pretty-print.h (pp_c_statement): Declare. 11712 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC. 11713 (pp_c_statement): Define. 11714 117152002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11716 11717 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h, 11718 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h, 11719 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h, 11720 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h, 11721 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h, 11722 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition. 11723 11724 * defaults.h (ASM_OUTPUT_LABEL): Provide a default. 11725 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs. 11726 117272002-07-30 Gabriel Dos Reis <gdr@nerim.net> 11728 11729 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR. 11730 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR, 11731 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR. 11732 (pp_c_expression): Update. 11733 117342002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11735 11736 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or 11737 concat in lieu of xmalloc/strcpy/memcpy/sprintf. 11738 * alpha/vms-ld.c (main): Likewise. 11739 * dsp16xx.c (double_reg_to_memory): Likewise. 11740 * mcore.c (mcore_expand_prolog): Likewise. 11741 * cppfiles.c (read_name_map): Likewise. 11742 * gensupport.c (process_rtx, identify_predicable_attribute, 11743 alter_test_for_insn): Likewise. 11744 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise. 11745 117462002-07-29 Roger Sayle <roger@eyesopen.com> 11747 11748 * builtins.c (expand_builtin): Change the default behavior to 11749 only issue an error if the builtin function doesn't have a 11750 fallback library call. Remove several cases handled by the 11751 new default. 11752 117532002-07-29 John David Anglin <dave@hiauly1.hia.nrc> 11754 11755 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the 11756 floating point format of the target is IEEE. 11757 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point 11758 format of the target is DEC. 11759 117602002-07-29 Richard Henderson <rth@redhat.com> 11761 11762 * unroll.c (verify_addresses): Remove. 11763 (find_splittable_givs): Never split DEST_ADDR givs. 11764 117652002-07-29 Geoffrey Keating <geoffk@redhat.com> 11766 11767 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes 11768 is exhaustive. 11769 (Files): Improve documentation on generated source files. 11770 11771 * doc/extend.texi (Translation implementation): Document what 11772 diagnostics look like. 11773 (Identifiers implementation): Document that there's normally no 11774 limit on identifier names. 11775 (Integers implementation): Document two's complement. 11776 (Hints implementation): Document that GCC honors 'inline', mostly. 11777 (Preprocessing directives implementation): Document that GCC 11778 requires the current time. 11779 117802002-07-30 Gabriel Dos Reis <gdr@nerim.net> 11781 11782 * c-pretty-print.h (struct c_pretty_print_info): Add new member. 11783 (pp_initializer): New macro. 11784 (pp_c_initializer): Declare. 11785 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR. 11786 (pp_c_initializer): Define. 11787 (pp_c_initializer_list): New function. 11788 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST, 11789 VECTOR_CST, CONSTRUCTOR. 11790 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR, 11791 IMAGPART_EXPR. 11792 (pp_c_cast_expression): Handle FLOAT_EXPR. 11793 (pp_c_assignment_expression): Handle INIT_EXPR. 11794 (pp_c_expression): Update. 11795 117962002-07-30 Neil Booth <neil@daikokuya.co.uk> 11797 11798 * objc/objc-act.c (objc_init): Return immediately if filename 11799 is NULL. 11800 118012002-07-29 Eric Christopher <echristo@redhat.com> 11802 11803 * config/mips/elf.h: Remove ecoff.h and gofast includes. 11804 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally. 11805 (SDB_DEBUGGING_INFO): Undefine. 11806 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. 11807 (PUT_SDB_SIZE): Remove. 11808 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine. 11809 (STARTFILE_SPEC): Add isa3264 define. 11810 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here... 11811 * config/mips/ecoff.h: Remove. and here... 11812 * config/mips/iris3.h: and here... 11813 * config/mips/sni-svr4.h: and here... 11814 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs. 11815 Add assembler -mmdebug options for non-dwarf debugging. 11816 * config/mips/r3900.h: Remove debug info defines. 11817 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc. 11818 * config/mips/isa3264.h: Ditto. 11819 * config/mips/t-isa3264: Fix up for file removal and gofast configure 11820 change. 11821 * config/mips/t-elf: Ditto. 11822 * config/mips/t-ecoff: Ditto. 11823 * config/mips/t-r3900: Ditto. 11824 * config/mips/t-iris5-6: Ditto. 11825 * config/mips/t-isa3264: Ditto. 11826 * config/mips/t-linux: Remove. 11827 * config/mips/t-netbsd: Remove. 11828 * config/mips/t-mips: New file. 11829 * config/mips/t-gofast: Ditto. 11830 * config/mips/netbsd.h: Remove unnecessary undefines. 11831 * config/mips/linux.h: Remove #include of mips.h. 11832 * config.gcc: Add mips.h include for elf targets. Remove tm_file 11833 for ecoff. Add gofast configure option for mips. 11834 118352002-07-29 Chris Demetriou <cgd@broadcom.com> 11836 11837 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss 11838 linker scripts use STARTUP directives consistently. 11839 * configure: Regenerate. 11840 * config.in: Regenerate. 11841 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based 11842 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined. 11843 * config/mips/elf64.h (STARTFILE_SPEC): Likewise. 11844 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if 11845 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result 11846 will be the same. 11847 118482002-07-29 Aldy Hernandez <aldyh@redhat.com> 11849 11850 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute. 11851 118522002-07-29 Aldy Hernandez <aldyh@redhat.com> 11853 11854 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540. 11855 118562002-07-29 Aldy Hernandez <aldy@quesejoda.com> 11857 11858 * config/rs6000/rs6000.md: Move altivec patterns from here... 11859 11860 * config/rs6000/altivec.md: ...to here. 11861 118622002-07-29 Aldy Hernandez <aldyh@redhat.com> 11863 11864 * config/rs6000/spe.md ("spe_evmra"): Change to unspec. 11865 118662002-07-29 Richard Henderson <rth@redhat.com> 11867 11868 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from 11869 set_mem_attributes and add BITPOS argument. Subtract it from 11870 OFFSET when same is adjusted. 11871 (set_mem_attributes): New wrapper function. 11872 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos; 11873 remove offset adjustment hack. 11874 * expr.h (set_mem_attributes_minus_bitpos): Declare. 11875 118762002-07-29 Gabriel Dos Reis <gdr@nerim.net> 11877 11878 * Makefile.in (C_OBJS): Include c-pretty-print.o 11879 (c-pretty-print.o): Add depency rule. 11880 * pretty-print.h: Add more macros. 11881 * c-pretty-print.c: New file. 11882 * c-pretty-print.h: Likewise. 11883 118842002-07-29 Aldy Hernandez <aldyh@redhat.com> 11885 11886 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector 11887 constants to __ev64_s32__. 11888 (__internal_ev_mwhgsmian): Same. 11889 (__internal_ev_mwhgsmfan): Same. 11890 (__internal_ev_mwhgssfan): Same. 11891 (__internal_ev_mwhgumiaa): Same. 11892 (__internal_ev_mwhgsmiaa): Same. 11893 (__internal_ev_mwhgsmfaa): Same. 11894 (__internal_ev_mwhgssfaa): Same. 11895 118962002-07-29 David Edelsohn <edelsohn@gnu.org> 11897 11898 * varasm.c (assemble_variable): Narrow test for uninitialized 11899 without BSS target support. 11900 119012002-07-29 Nathan Sidwell <nathan@codesourcery.com> 11902 11903 * profile.c: Add file comment describing the overall algorithm and 11904 structures. 11905 (struct edge_info): Add comments. 11906 (struct bb_info): Add comments. 11907 * basic-block.h (EDGE_*): Add comments. 11908 * doc/gcov.texi (Gcov Data Files): Document bit flags. 11909 119102002-07-29 Bob Wilson <bob.wilson@acm.org> 11911 11912 * config/xtensa/elf.h, config/xtensa/linux.h 11913 (TARGET_OS_CPP_BUILTINS): Define. 11914 (CPP_PREDEFINES): Remove. 11915 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define. 11916 (CPP_SPEC): Remove. 11917 119182002-07-29 Zack Weinberg <zack@codesourcery.com> 11919 11920 * gensupport.c: Include hashtab.h. 11921 (insn_elision, condition_table, hash_c_test, cmp_c_test, 11922 maybe_eval_c_test): New routines and data structures to 11923 support insn elision. 11924 (init_md_reader): Read and initialize the condition_table. 11925 (read_md_rtx): Discard insn patterns whose C test is provably 11926 always false. 11927 * gensupport.h: Declare new functions and data structures. 11928 11929 * genconditions.c, dummy-conditions.c: New files. 11930 * Makefile.in: Build genconditions; run it to construct 11931 insn-conditions.c; build that and link it into most gen* 11932 programs. 11933 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables. 11934 (GEN): Delete, unused. 11935 (STAGESTUFF): Update. 11936 11937 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to 11938 CODE_FOR_nothing for all elided patterns. 11939 (main): Tweaked to support this. 11940 * genflags.c (gen_proto): Emit a static inline generator 11941 function here for all elided patterns, which simply returns 11942 NULL_RTX. 11943 (gen_insn): Do not define HAVE_xxx for elided patterns. 11944 (main): Tweaked to support this. No need to forward-declare 11945 struct rtx_def. 11946 * genrecog.c: Do not bother emitting the C test if it's known 11947 to be true at compile time. 11948 119492002-07-29 Mike Stump <mrs@apple.com> 11950 11951 * config.gcc (target_gtfiles): Initialize, as otherwise cross 11952 compilers hosted on powerpc-apple-darwin6.0 won't even build. 11953 119542002-07-29 Richard Earnshaw <rearnsha@arm.com> 11955 11956 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern, 11957 remove clobber of LR. 11958 (sibcall_insn, sibcall_value_insn): Update accordingly. 11959 (sibcall_epilogue): Remove debugging comment from assembler stream. 11960 119612002-07-29 Gabriel Dos Reis <gdr@nerim.net> 11962 11963 * pretty-print.h: Define more macros. 11964 * diagnostic.h (output_formatted_integer): Moved from... 11965 * diagnostic.c: ... here. 11966 119672002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11968 11969 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF. 11970 119712002-07-28 Zack Weinberg <zack@codesourcery.com> 11972 11973 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two 11974 arguments. Always use ".-symbol" as expression argument. 11975 * doc/tm.texi: Update to match. Document requirement for 11976 ".size symbol, .-symbol" to be acceptable to assembler. 11977 11978 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h, 11979 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h, 11980 config/i386/freebsd-aout.h, config/i386/sco5.h, 11981 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h, 11982 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE. 11983 119842002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11985 11986 * Makefile.in (gengtype-lex.c): Fix error in last change. 11987 11988 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing 11989 backslash. 11990 11991 * Makefile.in (vmsdbgout.o): Depend on function.h. 11992 11993 * vmsdbgout.c: Include function.h. 11994 119952002-07-28 Alan Modra <amodra@bigpond.net.au> 11996 11997 * prefix.c (update_path): Don't strip single `.' path components 11998 unless stripping a later `..' component. Exit loop as soon as 11999 a valid path is found. 12000 120012002-07-27 Roger Sayle <roger@eyesopen.com> 12002 12003 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS 12004 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN, 12005 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99 12006 floating point unordered comparisons (e.g. __builtin_isgreater) 12007 as const, and leave the remaining GCC_BUILTINs unchanged. 12008 12009 * c-decl.c (builtin_function): No need to explicitly mark 12010 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn. 12011 120122002-07-27 Roger Sayle <roger@eyesopen.com> 12013 12014 * Makefile.in: rtlanal.o now depends upon real.h. 12015 12016 * flags.h [flag_signaling_nans]: New flag. 12017 [HONOR_SNANS]: New macro. 12018 12019 * toplev.c [flag_signaling_nans]: Initialize to false. 12020 (f_options): Add processing for "-fsignaling-nans". 12021 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math. 12022 (process_options): flag_signaling_nans implies flag_trapping_math. 12023 12024 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__ 12025 when -fsignaling-nans. First step to implementing WG14's N965. 12026 12027 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming 12028 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS. 12029 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS. 12030 12031 * simplify-rtx.c (simplify_relational_operation): Conditionalize 12032 transforming abs(x) < 0.0 into false on !HONOR_SNANS. 12033 12034 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions 12035 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD, 12036 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with 12037 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans 12038 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS). 12039 12040 * doc/invoke.texi: Document new -fsignaling-nans compiler option. 12041 120422002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12043 12044 * Makefile.in (gengtype-lex.c): Work around a bug in flex. 12045 * gengtype-lex.l (YY_USE_PROTOS): Undef. 12046 (YY_DECL): Define. 12047 120482002-07-27 Roger Sayle <roger@eyesopen.com> 12049 12050 * doc/invoke.texi: Document that both -fno-builtin-foo and 12051 -fno-builtin are supported by the g++ front-end. 12052 120532002-07-27 Stan Shebs <shebs@apple.com> 12054 12055 * configure.in: Rename config_gtfiles to target_gtfiles. 12056 * configure: Regenerate. 12057 * doc/gty.texi: Update reference. 12058 * config.gcc (powerpc-*-darwin*): Set target_gtfiles 12059 instead of appending to it. 12060 120612002-07-25 Aldy Hernandez <aldyh@redhat.com> 12062 12063 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg 12064 vectors are split into two registers. 12065 (function_arg): Same. 12066 12067Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com> 12068 12069 * pa.md (extv): Check predicates before emitting extv_32. 12070 120712002-07-27 Alan Modra <amodra@bigpond.net.au> 12072 12073 * config/rs6000/rs6000.c (rs6000_traceback_name): New var. 12074 (rs6000_traceback): New var. 12075 (rs6000_override_options): Set rs6000_traceback. 12076 (rs6000_output_function_epilogue): Implement traceback options. 12077 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=". 12078 (rs6000_traceback_name): Declare. 12079 12080 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile 12081 label reference when NO_PROFILE_COUNTERS. 12082 120832002-07-26 Jason Merrill <jason@redhat.com> 12084 12085 * function.c (assign_parms): Handle frontend-directed pass by 12086 invisible reference. 12087 120882002-07-26 Neil Booth <neil@daikokuya.co.uk> 12089 12090 * doc/cppopts.texi: Update. 12091 120922002-07-26 Neil Booth <neil@daikokuya.co.uk> 12093 12094 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition 12095 warnings on assertions. 12096 120972002-07-26 Neil Booth <neil@daikokuya.co.uk> 12098 12099 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ, 12100 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR, 12101 RID_COMPL): Remove. 12102 * c-parse.in (rid_to_yy): Similarly. 12103 121042002-07-26 Jason Merrill <jason@redhat.com> 12105 12106 * c-dump.c: Resurrect. 12107 * tree-dump.c: Move C-specific stuff to c-dump.c. 12108 * c-common.h: Declare c_dump_tree. 12109 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define. 12110 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o. 12111 (c-dump.o): New rule. 12112 121132002-07-26 Alan Modra <amodra@bigpond.net.au> 12114 12115 * config/rs6000/rs6000.md: Enable patterns using rlwinm for 12116 PowerPC64. Replace "T" and "S" constraints with "n" when the 12117 predicate will do. Formatting fixes. 12118 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare" 12119 as for extzvsi_internal1. 12120 121212002-07-25 Neil Booth <neil@daikokuya.co.uk> 12122 12123 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT, 12124 DERIV_END_LABEL_FMT): Remove. 12125 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move. 12126 121272002-07-25 Neil Booth <neil@daikokuya.co.uk> 12128 12129 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE): 12130 Remove. 12131 121322002-07-25 Stan Shebs <shebs@apple.com> 12133 12134 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused 12135 local var dwarfp. 12136 (output_compiler_stub): Remove unused locals. 12137 (output_call): Always initialize line number. 12138 12139Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com> 12140 12141 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia. 12142 * sh.md (truncdiqi2, movqi_media): Likewise. 12143 121442002-07-25 Neil Booth <neil@daikokuya.co.uk> 12145 12146 * gcse.c (obstack_chunk_alloc): Remove. 12147 (gcse_alloc): Fix to count allocated bytes. 12148 * collect2.c (SYMBOL__MAIN): Remove. 12149 121502002-07-25 Neil Booth <neil@daikokuya.co.uk> 12151 12152 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if 12153 HAVE_TARGET_EXECUTABLE_SUFFIX. 12154 12155Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com> 12156 12157 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN, 12158 SIZE, EXPR and OFFSET. 12159 121602002-07-25 Richard Henderson <rth@redhat.com> 12161 12162 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos 12163 in ARRAY_REF of DECL_P case. 12164 121652002-07-25 Richard Sandiford <rsandifo@redhat.com> 12166 12167 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI 12168 description. Document -mips32, -mips64, and the associated -march 12169 values. Describe the "mipsN" arguments to -march. Say that the 12170 -mipsN options are equivalent to -march. Reword the description 12171 of default type sizes. 12172 * toplev.h (target_flags_explicit): Declare. 12173 * toplev.c (target_flags_explicit): New var. 12174 (set_target_switch): Update target_flags_explicit. 12175 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine. 12176 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine. 12177 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3. 12178 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine. 12179 * config/mips/mips.h (mips_cpu_info): New struct. 12180 (mips_cpu_string, mips_explicit_type_size_string): Remove. 12181 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare. 12182 (MIPS_CPP_SET_PROCESSOR): New macro. 12183 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor. 12184 Define _MIPS_ARCH and _MIPS_TUNE. 12185 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead... 12186 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor 12187 MIPS_ISA_DEFAULT were already defined. 12188 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT. 12189 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size. 12190 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New. 12191 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules. 12192 (ABI_GAS_ASM_SPEC): Remove. 12193 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros. 12194 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64. 12195 Invoke %(asm_abi_default_spec) if no ABI was specified. 12196 (CC1_SPEC): Remove ISA -> register-size rules. 12197 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec. 12198 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars. 12199 (mips_cpu_string, mips_explicit_type_size_string): Remove. 12200 (mips_cpu_info_table): New array. 12201 (mips_set_architecture, mips_set_tune): New fns. 12202 (override_options): Rework to make -mipsN equivalent to -march. 12203 Detect more erroneous cases, including those removed from CC1_SPEC. 12204 Don't change the ABI based on architecture, or vice versa. 12205 Unify logic with GAS. 12206 (mips_asm_file_start): Get architecture name from mips_arch_info. 12207 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns. 12208 (mips_parse_cpu): Take the name of the option as argument. Handle 12209 'from-abi'. Raise an error if the option is wrong. 12210 (mips_cpu_info_from_isa): New fn. 12211 122122002-07-25 Richard Sandiford <rsandifo@redhat.com> 12213 12214 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF. 12215 (tablejump_mips162): Likewise. 12216 12217Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com> 12218 12219 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to 12220 int_mode_for_mode. 12221 122222002-07-25 Gabriel Dos Reis <gdr@nerim.net> 12223 12224 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for 12225 complaining. 12226 * c-common.h (c_sizeof): Adjust definition. 12227 (c_alignof): Likewise. 12228 * c-tree.h (c_sizeof_nowarn): Now macro. 12229 * c-typeck.c (c_sizeof_nowarn): Remove definition. 12230 122312002-07-25 Neil Booth <neil@daikokuya.co.uk> 12232 12233 * c-decl.c (c_decode_option): No need to handle switches 12234 cpplib handles. 12235 122362002-07-24 Zack Weinberg <zack@codesourcery.com> 12237 12238 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE, 12239 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros. 12240 * doc/tm.texi: Document them. Also document SIZE_ASM_OP, 12241 TYPE_ASM_OP, and TYPE_OPERAND_FMT. 12242 12243 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h, 12244 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h, 12245 config/cris/aout.h, config/i386/freebsd-aout.h, 12246 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h, 12247 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h, 12248 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h, 12249 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h, 12250 config/pa/pa64-hpux.h, config/rs6000/sysv4.h, 12251 config/xtensa/elf.h, config/xtensa/linux.h: 12252 Use the new macros. 12253 Where possible, remove redundant definitions of SIZE_ASM_OP, 12254 TYPE_ASM_OP, and TYPE_OPERAND_FMT. 12255 122562002-07-24 Aldy Hernandez <aldyh@redhat.com> 12257 12258 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, 12259 TARGET_ISEL, and TARGET_FPRS. 12260 12261 * doc/invoke.texi (RS/6000 and PowerPC Options): Document 12262 -mabi=spe, -mabi=no-spe, and -misel=. 12263 12264 * config/rs6000/rs6000-protos.h: Add output_isel. 12265 Move vrsave_operation prototype here. 12266 12267 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL. 12268 (smaxsi3): Same. 12269 (uminsi3): Same. 12270 (umaxsi3): Same. 12271 (abssi2_nopower): Disallow when TARGET_ISEL. 12272 (*ne0): Same. 12273 (negsf2): Change to expand and rename old pattern to *negsf2. 12274 (abssf2): Change to expand and rename old pattern to *abssf2. 12275 12276 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2, 12277 fixunssfsi2. 12278 12279 Change patterns that check for TARGET_HARD_FLOAT or 12280 TARGET_SOFT_FLOAT to also check TARGET_FPRS. 12281 12282 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi, 12283 rs6000_isel, rs6000_fprs, rs6000_isel_string. 12284 (rs6000_override_options): Add 8540 case to 12285 processor_target_table. 12286 Set rs6000_isel for the 8540. 12287 Call rs6000_parse_isel_option. 12288 (enable_mask_for_builtins): New. 12289 (rs6000_parse_isel_option): New. 12290 (rs6000_parse_abi_options): Add spe and no-spe. 12291 (easy_fp_constant): Treat !TARGET_FPRS as soft-float. 12292 (rs6000_legitimize_address): Check for TARGET_FPRS when checking 12293 for TARGET_HARD_FLOAT. 12294 Add case for SPE_VECTOR_MODE. 12295 (rs6000_legitimize_reload_address): Handle SPE vector modes. 12296 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE 12297 vector modes. 12298 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT. 12299 (rs6000_emit_move): Check for TARGET_FPRS. 12300 Add cases for SPE vector modes. 12301 (function_arg_boundary): Return 64 for SPE vector modes. 12302 (function_arg_advance): Check for TARGET_FPRS and 12303 Handle SPE vectors. 12304 (function_arg): Same. 12305 (setup_incoming_varargs): Check for TARGET_FPRS. 12306 (rs6000_va_arg): Same. 12307 (struct builtin_description): Un-constify mask field. Move up in 12308 file. 12309 (bdesc_2arg): Un-constify and add SPE builtins. 12310 (bdesc_1arg): Same. 12311 (bdesc_spe_predicates): New. 12312 (bdesc_spe_evsel): New. 12313 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins. 12314 (rs6000_expand_binop_builtin): Same. 12315 (bdesc_2arg_spe): New. 12316 (spe_expand_builtin): New. 12317 (spe_expand_predicate_builtin): New. 12318 (spe_expand_evsel_builtin): New. 12319 (rs6000_expand_builtin): Call spe_expand_builtin for SPE. 12320 (rs6000_init_builtins): Initialize SPE builtins. Call 12321 rs6000_common_init_builtins. 12322 (altivec_init_builtins): Move all non-altivec builtin code to... 12323 (rs6000_common_init_builtins): ...here. New function. 12324 (branch_positive_comparison_operator): Allow NE code for SPE. 12325 (ccr_bit): Return correct ccr bit for SPE fp. 12326 (print_operand): Emit crnor in 'D' case for SPE. 12327 New case 't'. 12328 Add SPE code for 'y' case. 12329 (rs6000_generate_compare): Generate rtl for SPE fp. 12330 (output_cbranch): Handle SPE hard floats. 12331 (rs6000_emit_cmove): Handle isel. 12332 (rs6000_emit_int_cmove): New. 12333 (output_isel): New. 12334 (rs6000_stack_info): Adjust stack frame so GPRs are saved in 12335 64-bits for SPE. 12336 (debug_stack_info): Add SPE info. 12337 (gen_frame_mem_offset): New. 12338 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi. 12339 Change mode of frame pointer, when saving it, to Pmode. 12340 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi. 12341 Misc cleanups and use gen_frame_mem_offset when appropriate. 12342 12343 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540. 12344 (TARGET_SPE_ABI): New. 12345 (TARGET_SPE): New. 12346 (TARGET_ISEL): New. 12347 (TARGET_FPRS): New. 12348 (FIXED_SCRATCH): New. 12349 (RTX_COSTS): Add PROCESSOR_PPC8540. 12350 (ASM_CPU_SPEC): Add case for 8540. 12351 (TARGET_OPTIONS): Add isel= case. 12352 (rs6000_spe_abi): New. 12353 (rs6000_isel): New. 12354 (rs6000_fprs): New. 12355 (rs6000_isel_string): New. 12356 (UNITS_PER_SPE_WORD): New. 12357 (LOCAL_ALIGNMENT): Adjust for SPE. 12358 (HARD_REGNO_MODE_OK): Same. 12359 (DATA_ALIGNMENT): Same. 12360 (MEMBER_TYPE_FORCES_BLK): New. 12361 (FIRST_PSEUDO_REGISTER): Set to 113. 12362 (FIXED_REGISTERS): Add SPE registers. 12363 (reg_class): Same. 12364 (REG_CLASS_NAMES): Same. 12365 (REG_CLASS_CONTENTS): Same. 12366 (REGNO_REG_CLASS): Same. 12367 (REGISTER_NAMES): Same. 12368 (DEBUG_REGISTER_NAMES): Same. 12369 (ADDITIONAL_REGISTER_NAMES): Same. 12370 (CALL_USED_REGISTERS): Same. 12371 (CALL_REALLY_USED_REGISTERS): Same. 12372 (SPE_ACC_REGNO): New. 12373 (SPEFSCR_REGNO): New. 12374 (SPE_SIMD_REGNO_P): New. 12375 (HARD_REGNO_NREGS): Adjust for SPE. 12376 (VECTOR_MODE_SUPPORTED_P): Same. 12377 (REGNO_REG_CLASS): Same. 12378 (FUNCTION_VALUE): Same. 12379 (LIBCALL_VALUE): Same. 12380 (LEGITIMATE_OFFSET_ADDRESS_P): Same. 12381 (SPE_VECTOR_MODE): New. 12382 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on 12383 the GPRs. Set FIXED_SCRATCH fixed in SPE case. 12384 (rs6000_stack): Add spe_gp_size, spe_padding_size, 12385 spe_gp_save_offset. 12386 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS. 12387 (LEGITIMATE_LO_SUM_ADDRESS_P): Same. 12388 (SPE_CONST_OFFSET_OK): New. 12389 (rs6000_builtins): Add SPE builtins. 12390 12391 * testsuite/gcc.dg/ppc-spe.c: New. 12392 12393 * config/rs6000/eabispe.h: New. 12394 12395 * config/rs6000/spe.h: New. 12396 12397 * config/rs600/spe.md: New. 12398 12399 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define 12400 __SIMD__ for TARGET_SPE. 12401 12402 * config.gcc: Add powerpc-*-eabispe* case. 12403 Add spe.h to user headers for powerpc. 12404 124052002-07-24 Chris Demetriou <cgd@broadcom.com> 12406 12407 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change. 12408 * config/mips/elf64.h (STARTFILE_SPEC): Likewise. 12409 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise. 12410 124112002-07-24 Richard Henderson <rth@redhat.com> 12412 12413 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR 12414 form when not optimizing. 12415 124162002-07-24 David Mosberger <davidm@hpl.hp.com> 12417 12418 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking 12419 thread_pointer_rtx as unchanging. 12420 124212002-07-24 Michael Matz <matz@suse.de> 12422 12423 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro. 12424 (free_reg): Use it. 12425 124262002-07-24 Richard Earnshaw <rearnsha@arm.com> 12427 12428 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output 12429 pattern. 12430 (arm_buneq_reversed, arm_bltgt_reversed): Likewise. 12431 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT. 12432 124332002-07-24 Chris Demetriou <cgd@broadcom.com> 12434 12435 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o. 12436 * config/mips/elf64.h (STARTFILE_SPEC): Likewise. 12437 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine. 12438 12439Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz> 12440 12441 * toplev.c (rest_of_compilation): Dump loops before clobbering 12442 the structure. 12443 12444Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz> 12445 12446 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs. 12447 124482002-07-24 Frank van der Linden <fvdl@wasabisystems.com> 12449 12450 PR optimization/7291 12451 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment 12452 problem on x86_64. 12453 124542002-07-24 Gabriel Dos Reis <gdr@nerim.net> 12455 12456 * pretty-print.h: Add macros from cp/error.c 12457 124582002-07-24 Alan Modra <amodra@bigpond.net.au> 12459 12460 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare. 12461 (mask64_2_operand): Declare. 12462 (build_mask64_2_operands): Declare. 12463 (and64_2_operand): Declare. 12464 (extract_MB): Declare. 12465 (extract_ME): Declare. 12466 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove 12467 CONST_DOUBLE code. 12468 (mask_operand_wrap): New insn predicate. 12469 (mask64_2_operand): Likewise. 12470 (and64_2_operand): Likewise. 12471 (build_mask64_2_operands): New function. 12472 (extract_MB): New function. 12473 (extract_ME): New function. 12474 (print_operand <case m,M>): Use extract_MB and extract_ME. 12475 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support. 12476 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'. 12477 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and 12478 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand. 12479 * config/rs6000/rs6000.md (andsi3_internal3): New 12480 (andsi3_internal3+1): Enable split for powerpc64. 12481 (andsi3_internal3+2): New split. 12482 (andsi3_internal4): Renamed old andsi3_internal3. 12483 (andsi3_internal5): New. 12484 (andsi3_internal5+1): Enable split for powerpc64. 12485 (andsi3_internal5+2): New split. 12486 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New. 12487 (anddi3): Handle 't' constraint. 12488 (anddi3+1): New split. 12489 (anddi3_internal2): Handle 't' constraint. 12490 (anddi3_internal2+1): New split. 12491 (anddi3_internal3): Handle 't' constraint. 12492 (anddi3_internal3+1): New split. 12493 124942002-07-24 Alan Modra <amodra@bigpond.net.au> 12495 12496 * config/rs6000/rs6000.md: Remove scratch reg on insns using 12497 addze and similar (plus (comparison r1 r2) r3) insns. Add 12498 missing scratch reg in one case. Formatting fixes. 12499 125002002-07-24 Neil Booth <neil@daikokuya.co.uk> 12501 12502 * cppexp.c (parse_defined): Mark macro used. 12503 * cpphash.h (struct cpp_macro): New member "used". 12504 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New. 12505 (struct cpp_reader): New member. 12506 * cppinit.c (cpp_finish_options): Set first_unused_line. 12507 (cpp_finish): Warn of unused macros if requested. 12508 (OPT_TABLE): New switches. 12509 (cpp_handle_option): Handle them. 12510 * cpplib.c (do_undef): Warn if macro unused. 12511 (do_ifdef, do_ifndef): Mark macro used. 12512 * cpplib.h (struct cpp_options): New member. 12513 * cppmacro.c (_cpp_warn_if_unused_macro): New. 12514 (enter_macro_context): Mark macro used. 12515 (_cpp_create_definition): Mark macro unused; warn if unused 12516 when redefined. 12517 * cpptrad.c (scan_out_logcial_line, push_replacement_text): 12518 Mark macros used. 12519 * doc/cppopts.texi: Update. 12520 125212002-07-23 Neil Booth <neil@daikokuya.co.uk> 12522 12523 * dwarf2out.c (SECTION_ASM_OP, 12524 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove. 12525 * system.h (SECTION_ASM_OP): Poison. 12526 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove. 12527 * config/alpha/alpha-interix.h, config/mips/linux.h 12528 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove. 12529 * config/mmix/mmix-protos.h, config/mmix/mmix.c 12530 (mmix_asm_output_define_label_difference_symbol): Remove. 12531 * config/mmix/mmix.h 12532 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove. 12533 * doc/tm.texi: Remove documentation. 12534 12535Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com> 12536 12537 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'. 12538 (constrain_operands): Likewise. 12539 * regclass.c (record_reg_classes): Likewise. 12540 * reload.c (find_reloads): Likewise. 12541 * doc/md.texi: Likewise. 12542 12543 * reload.c (find_reloads_toplev): Use simplify_gen_subreg. 12544 * simplify-rtx.c (simplify_subreg): When converting to a non-int 12545 mode, try to convert to an integer mode of matching size first. 12546 12547 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR 12548 from individual subregs, check that each subreg has been generated 12549 sucessfully. 12550 125512002-07-23 Neil Booth <neil@daikokuya.co.uk> 12552 12553 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove. 12554 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV, 12555 FOR_EACH_BB_IN_SBITMAP): Remove. 12556 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove. 12557 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY, 12558 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove. 12559 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN, 12560 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove. 12561 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove. 12562 125632002-07-23 Gabriel Dos Reis <gdr@nerim.net> 12564 12565 * pretty-print.h: New file. 12566 125672002-07-23 Paul Koning <pkoning@equallogic.com> 12568 12569 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC. 12570 (LARGEST_EXPONENT_IS_NORMAL): Ditto. 12571 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise). 12572 (TARGET_G_FLOAT): Default to 0 if not defined. 12573 (ieeetoe): New, common routine to convert target format floats 12574 to internal form. 12575 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC 12576 vs. others. 12577 (e113toe): Change to use ieeetoe. 12578 125792002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de> 12580 12581 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for 12582 IBM. 12583 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined. 12584 (e64toe): Remove special cases for DEC and IBM. Remove support for 12585 ARM_EXTENDED_IEEE_FORMAT. 12586 (e24toe): Remove special cases for DEC. 12587 (significand_size): Simplify. Indent. 12588 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New. 12589 (etoieee, toieee): New. 12590 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use 12591 etoieee and toieee for IEEE arithmetic. 12592 125932002-07-23 Gabriel Dos Reis <gdr@nerim.net> 12594 12595 * doc/extend.texi: Say ISO C90, not ISO C89. 12596 * doc/invoke.texi: Likewise. 12597 * doc/standards.texi: Likewise. 12598 125992002-07-23 Steve Ellcey <sje@cup.hp.com> 12600 12601 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs. 12602 Fix permutation of conversion and plus/mult. 12603 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is 12604 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined. 12605 (expand_builtin_strncpy) Ditto. 12606 (expand_builtin_memset) Ditto. 12607 126082002-07-23 Gabriel Dos Reis <gdr@nerim.net> 12609 12610 Fix PR/7363: 12611 * c-common.c (c_sizeof_or_alignof_type): New function. 12612 (c_alignof): Remove definition. 12613 * c-common.h (c_sizeof, c_alignof): Define as macros. 12614 (c_sizeof_or_alignof_type): Declare. 12615 (my_friendly_assert): Moved from cp/cp-tree.h 12616 * c-typeck.c (c_sizeof): Remove definition. 12617 126182002-07-23 Jan Hubicka <jh@suse.cz> 12619 12620 * gcse.c (try_replace_reg): Use num_changes_pending. 12621 * recog.c (num_changes_pending): New function. 12622 (validate_replace_src): Use validate_repalce_src_group. 12623 (validate_replace_src_group): New. 12624 * recog.h (validate_repalce_src_group): New. 12625 (num_changes_pending): Likewise. 12626 12627Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com> 12628 12629 * calls.c (emit_library_call_value_1): If 12630 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither 12631 libcall, const call nor pure call. 12632 126332002-07-23 Neil Booth <neil@daikokuya.co.uk> 12634 12635 * config/m88k/m88k.h (SECTION_ASM_OP): Remove. 12636 126372002-07-23 Neil Booth <neil@daikokuya.co.uk> 12638 12639 * vmsdbgout.c (SECTION_ASM_OP): Remove. 12640 126412002-07-23 Neil Booth <neil@daikokuya.co.uk> 12642 12643 * config/i386/i386.c (AT_BP): Remove. 12644 126452002-07-23 Neil Booth <neil@daikokuya.co.uk> 12646 12647 * defaults.h (obstack_chunk_alloc, obstack_chunk_free): 12648 Default definition. 12649 * gcse.c: Don't define obstack_chunk_free. 12650 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c, 12651 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c, 12652 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c, 12653 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c: 12654 Don't define obstack macros. 12655 126562002-07-22 Stephane Carrez <stcarrez@nerim.fr> 12657 12658 PR target/6744 12659 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace 12660 ASM_OPERANDS instructions. 12661 126622002-07-22 Stephane Carrez <stcarrez@nerim.fr> 12663 12664 PR target/7361 12665 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept 12666 constant addresses only on 68HC12. 12667 126682002-07-22 Neil Booth <neil@daikokuya.co.uk> 12669 12670 * cppfiles.c (stack_include_file): Correct test of whether 12671 a dependency should be output. 12672 126732002-07-22 David Edelsohn <edelsohn@gnu.org> 12674 12675 * collect2.c (is_ctor_dtor): Add other possible JOINER values. 12676 126772002-07-22 Richard Earnshaw <rearnsha@arm.com> 12678 12679 * arm.md (movqi): If optimizing and we can create pseudos, use 12680 a ZERO_EXTEND to load from memory, then copy the result into the 12681 target. 12682 (movhi): Likewise, but only for ARMv4. 12683 126842002-07-22 Neil Booth <neil@daikokuya.co.uk> 12685 12686 * ssa-ccp.c (PHI_PARMS): Remove. 12687 126882002-07-22 Richard Sandiford <rsandifo@redhat.com> 12689 12690 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS 12691 on big-endian targets. 12692 126932002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12694 12695 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE, 12696 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE, 12697 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE): 12698 New formatting macros. 12699 12700 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation. 12701 12702Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com> 12703 12704 * rtlanal.c (subreg_regno_offset): Return correct offset for 12705 big endian paradoxical subregs. 12706 12707 * optabs.c (expand_vector_unop): Don't expand using sub_optab 12708 if we got the wrong mode. 12709 12710 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define. 12711 * genrecog.c (write_switch, write_cond): Use it. 12712 * genemit.c (gen_exp): Likewise. 12713 127142002-07-22 Jakub Jelinek <jakub@redhat.com> 12715 12716 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE. 12717 127182002-07-22 Jakub Jelinek <jakub@redhat.com> 12719 12720 * c-decl.c (build_compound_literal): Defer compound literal decls 12721 until until file end to emit them only if they are actually used. 12722 127232002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12724 12725 * ra-build.c (check_conflict_numbers): Hide unused function. 12726 (livethrough_conflicts_bb): Avoid automatic aggregate 12727 initialization. 12728 (parts_to_webs_1): Avoid `U' integer constant modifier. 12729 (conflicts_between_webs): Wrap a variable in the macro controlling 12730 its usage. 12731 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE. 12732 (dump_igraph, dump_graph_cost): Avoid string concatenation 12733 (dump_static_insn_cost): Avoid automatic aggregate 12734 initialization. 12735 * ra-rewrite.c (insert_stores): Avoid automatic aggregate 12736 initialization. 12737 (dump_cost): Avoid string concatenation 12738 127392002-07-21 Richard Henderson <rth@redhat.com> 12740 12741 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use 12742 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded. 12743 127442002-07-21 Richard Henderson <rth@redhat.com> 12745 12746 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs 12747 that are not unrolled completely. 12748 127492002-07-21 Richard Henderson <rth@redhat.com> 12750 12751 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS. 12752 * loop.c (strength_reduce): Update. 12753 * toplev.c (rest_of_compilation): Do unrolling in the first 12754 loop pass, not the second. 12755 127562002-07-21 Richard Henderson <rth@redhat.com> 12757 12758 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL 12759 when flag_argument_noalias == 2. 12760 * alias.c (nonoverlapping_memrefs_p): Handle that. 12761 * print-rtl.c (print_mem_expr): Likewise. 12762 127632002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de> 12764 12765 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator 12766 instead of __negdi2 directly. 12767 127682002-07-21 Neil Booth <neil@daikokuya.co.uk> 12769 12770 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx. 12771 * function.c (SYMBOL__MAIN): Remove definition. 12772 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove. 12773 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove. 12774 * profile.c (GCOV_INDEX_TO_BB): Remove. 12775 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove. 12776 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove. 12777 127782002-07-21 Neil Booth <neil@daikokuya.co.uk> 12779 12780 * c-lex.c (GET_ENVIRONMENT): Remove. 12781 * collect2.c (GET_ENV_PATH_LIST): Remove. 12782 (prefix_from_env): Use GET_ENVIRONMENT. 12783 * cppinit.c (GET_ENV_PATH_LIST): Remove. 12784 (init_standard_includes): Use GET_ENVIRONMENT. 12785 * defaults.h (GET_ENVIRONMENT): Define here if not already. 12786 * gcc.c (GET_ENV_PATH_LIST): Remove. 12787 (make_relative_prefix, process_command): Update. 12788 * protoize.c (GET_ENV_PATH_LIST): Remove. 12789 (do_processing): Update. 12790 127912002-07-21 Gabriel Dos Reis <gdr@nerim.net> 12792 12793 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'. 12794 (grokdeclarator): Likewise. 12795 * c-format.c (C_STD_NAME): Likewise. 12796 * c-lex.c (interpret_integer): Likewise. 12797 * c-typeck.c (build_array_ref): Likewise. 12798 * cpplex.c (_cpp_lex_direct): Likewise. 12799 * toplev.c (documented_lang_options): Likewise. 12800 128012002-07-21 Neil Booth <neil@daikokuya.co.uk> 12802 12803 * c-format.c (T99_I, T99_UI): Remove. 12804 128052002-07-21 Neil Booth <neil@daikokuya.co.uk> 12806 12807 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove. 12808 12809Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz> 12810 12811 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by 12812 do_local_cprop. 12813 128142002-07-21 Andreas Jaeger <aj@suse.de> 12815 12816 * reload1.c (fixup_abnormal_edges): Remove unused variable. 12817 128182002-07-21 Bernd Schmidt <bernds@redhat.com> 12819 12820 Improvements for the ifcvt pass from Michael Meissner, with patches 12821 by Richard Sandiford <rsandifo@redhat.com> 12822 * basic-block.h (struct ce_if_block, ce_if_block_t): New types. 12823 * ifcvt.c (cond_exec_changed_p): New static variable. 12824 (last_active_insn): New function, renamed from last_active_insn_p 12825 and changed to return the last active insn in a basic block. All 12826 callers updated. 12827 (block_fallthru): New function. 12828 (cond_exec_process_insns): New argument CE_INFO. Pass it to 12829 IFCVT_MODIFY_INSN. All callers updated. 12830 Return false if START or END are NULL. 12831 Handle case where we're processing an insn that is already 12832 conditional. 12833 12834 (noce_process_if_block): CE_INFO argument rather than 12835 multiple args containing the involved basic blocks. All callers 12836 changed. 12837 (process_if_block, merge_if_block, find_if_block, 12838 cond_exec_process_if_block): Likewise. 12839 12840 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers 12841 changed. 12842 Use new function last_active_insn to simplify some code. 12843 New code to handle multiple tests. 12844 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set 12845 cond_exec_changed_p to TRUE. 12846 12847 (process_if_block): New code to handle multiple tests. 12848 (merge_if_block): Likewise. 12849 (find_if_header): New arg PASS. Changed to return the currently 12850 processed basic block or NULL instead of true/false. All callers 12851 changed. 12852 Call IFCVT_INIT_EXTRA_FIELDS. 12853 (block_jumps_and_fallthru_p): New function. 12854 (find_if_block): Discover opportunities to convert multiple tests. 12855 Add additional debugging output. 12856 Update the ce_info structure before returning. 12857 12858 (if_convert): Run multiple passes of if-conversion. 12859 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN, 12860 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS, 12861 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for 12862 these macros. 12863 12864Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz> 12865 12866 * gcse.c: Include cselib.h 12867 (constptop_register): Break out from ... 12868 (cprop_insn): ... here; kill basic_block argument. 12869 (do_local_cprop, local_cprop_pass): New functions. 12870 (one_cprop_pass): Call local_cprop_pass. 12871 128722002-07-20 Roger Sayle <roger@eyesopen.com> 12873 12874 * simplify-rtx.c (simplify_relational_operation): Optimize 12875 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math). 12876 128772002-07-20 Michae Matz <matz@suse.de> 12878 12879 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS. 12880 128812002-07-20 Neil Booth <neil@daikokuya.co.uk> 12882 12883 * cppexp.c (struct op): Add token pointer. 12884 (check_promotion, CHECK_PROMOTION): New. 12885 (optab): Update. 12886 (_cpp_parse_expr): Update, use token pointer of struct op. 12887 (reduce): Warn about change of sign owing to promotion. 12888 * cppinit.c (cpp_handle_option): New warning if -Wall. 12889 * cpplib.h (struct cpp_options): New member. 12890 128912002-07-19 David Edelsohn <edelsohn@gnu.org> 12892 12893 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single 12894 fpu list. Separate Power4 compare and delayed_compare. Correct 12895 Power4 fpcompare. 12896 (fix_truncdfsi2_internal): Restore FPR preference. 12897 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3, 12898 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc. 12899 129002002-07-19 Momchil Velikov <velco@fadata.bg> 12901 12902 * reload1.c (reload_as_needed): Duplicate oldpat. 12903 129042002-07-20 Alan Modra <amodra@bigpond.net.au> 12905 12906 PR optimization/7130 12907 * loop.h (struct loop_info): Add "preconditioned". 12908 * unroll.c (unroll_loop): Set it. 12909 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops. 12910 129112002-07-19 Zack Weinberg <zack@codesourcery.com> 12912 12913 * rtl.def (CODE_LABEL): Remove slot 8. 12914 * rtl.h (struct rtx_def): Document new uses of jump and call fields. 12915 (LABEL_ALTERNATE_NAME): Delete. 12916 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New. 12917 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME. 12918 12919 * final.c (output_alternate_entry_point): New. 12920 (final_scan_insn): Use it instead of 12921 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility 12922 of a case label being an alternate entry point. 12923 12924 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P. 12925 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL. 12926 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME 12927 (field deleted). 12928 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs. 12929 12930 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and 12931 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME. 12932 * doc/tm.texi: Delete documentation of 12933 ASM_OUTPUT_ALTERNATE_LABEL_NAME. 12934 129352002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 12936 12937 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define. 12938 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG. 12939 (LINK_SPEC): Define. 12940 (STARTFILE_SPEC): Define. 12941 (ENDFILE_SPEC): Define. 12942 12943 * config/mips/iris6-o32.h (LINK_SPEC): Move ... 12944 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here. 12945 12946 * config/mips/iris6-o32-gas.h: New file. 12947 * config.gcc (mips-sgi-irix6*o32): Use it. 12948 12949 * config/mips/t-iris5-gas: New file. 12950 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it. 12951 129522002-07-19 Neil Booth <neil@daikokuya.co.uk> 12953 12954 * cppexp.c (ALWAYS_EVAL): Remove. 12955 (optab, reduce): Always evaluate. 12956 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics 12957 only if not skipping evaluation. 12958 129592002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl> 12960 12961 * config/avr/avr.c (debug_hard_reg_set): Remove. 12962 129632002-07-19 Chris Demetriou <cgd@broadcom.com> 12964 12965 * gcc.c (cpp_options): Include "%1" (cc1_spec). 12966 129672002-07-19 Richard Henderson <rth@redhat.com> 12968 12969 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn. 12970 129712002-07-19 Alan Modra <amodra@bigpond.net.au> 12972 12973 * prefix.c (update_path): Don't zap single `.' path components 12974 unless followed by another `.' and fix typo last patch. 12975 129762002-07-18 Neil Booth <neil@daikokuya.co.uk> 12977 12978 * cppexp.c (cpp_num_mul): Remove unused parameter. 12979 (UNARY, BINARY, OTHER, binary_handler): Remove. 12980 (ALWAYS_EVAL): New. 12981 (optab): Update. 12982 (reduce): Refactor to a large switch, don't use a function 12983 pointer. 12984 129852002-07-18 Bo Thorsen <bo@berlioz.suse.de> 12986 12987 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always. 12988 12989Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com> 12990 12991 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard. 12992 (sh_expand_binop_v2sf): Likewise. 12993 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA. 12994 (int_gpr_dest, trunc_hi_operand): New functions. 12995 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and 12996 trunc_hi_operand. 12997 (SPECIAL_MODE_PREDICATES, any_register_operand): Define. 12998 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about. 12999 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise. 13000 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise. 13001 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise. 13002 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise. 13003 (extendhisi2_media+1, extendqisi2_media+1): Likewise. 13004 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise. 13005 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise. 13006 (movsf_ie+1): Likewise. 13007 (loaddi_trunc): Use int_gpr_dest predicate. 13008 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s). 13009 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise. 13010 (casesi_worker_0+[12], casesi_worker): Likewise. 13011 (shcompact_preserve_incoming_args): Likewise. 13012 (mov_nop): Use any_register_operand predicate. 13013 (mperm_w0): Use trunc_hi_operand predicate. 13014 130152002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca> 13016 13017 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define. 13018 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct 13019 numbering. 13020 130212002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca> 13022 13023 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU. 13024 130252002-07-18 Richard Henderson <rth@redhat.com> 13026 13027 PR optimization/7147 13028 * ifcvt.c (noce_get_condition): Make certain that the condition 13029 is valid at JUMP. 13030 13031Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com> 13032 13033 * sh.c (barrier_align, push): Shut up compiler warnings. 13034 (initial_elimination_offset,sh_media_init_builtins): Likewise. 13035 (reg_no_subreg_operand): Delete. 13036 130372002-07-17 Bo Thorsen <bo@suse.de> 13038 13039 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option. 13040 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations. 13041 (STARTFILE_SPEC): Remove hardcoded library paths. 13042 (ENDFILE_SPEC): Likewise. 13043 13044Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz> 13045 13046 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached. 13047 13048 * gcse.c (try_replace_reg): Do not return false positives. 13049 130502002-07-18 Alan Modra <amodra@bigpond.net.au> 13051 13052 * prefix.c: (update_path): Strip ".." components when prior dir 13053 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE. 13054 13055 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support. 13056 (ASM_OUTPUT_REG_POP): Likewise. 13057 130582002-07-18 Alan Modra <amodra@bigpond.net.au> 13059 13060 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus 13061 adjustments to first_reg for profiling case. 13062 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC. 13063 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC. 13064 Save static chain reg to sp + 12 on ABI_AIX_NODESC. 13065 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define. 13066 (ASM_OUTPUT_REG_POP): Define. 13067 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef. 13068 (ASM_OUTPUT_REG_POP): Undef. 13069 130702002-07-17 Neil Booth <neil@daikokuya.co.uk> 13071 13072 * cpplib.c (do_sccs): Handle #sccs on all systems. 13073 * system.h (SCCS_DIRECTIVE): Poison. 13074 * config/darwin.h, config/freebsd.h, config/netbsd.h, 13075 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h, 13076 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h, 13077 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h, 13078 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h, 13079 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h, 13080 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h, 13081 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h: 13082 Remove all references to SCCS_DIRECTIVE. 13083 * doc/cpp.texi, doc/tm.texi: Update. 13084 13085Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com> 13086 13087 * regrename.c (maybe_mode_change): New function. 13088 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it. 13089 130902002-07-17 Rodney Brown <rbrown64@csc.com.au> 13091 13092 * config/i386/i386.c (ix86_expand_int_movcc): In the general case 13093 suppress addition when either ct or cf are zero. 13094 130952002-07-17 Eric Botcazou <ebotcazou@multimania.com> 13096 Glen Nakamura <glen@imodulo.com> 13097 13098 PR optimization/6713 13099 * loop.c (loop_givs_rescan): Explicitly delete the insn that 13100 sets a non-replaceable giv after issuing the new one. 13101 131022002-07-17 Neil Booth <neil@daikokuya.co.uk> 13103 13104 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined, 13105 eval_token): Clarify and correct use of "bool" variables. 13106 * cpplib.h (struct cpp_options): Similarly. 13107 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto. 13108 * cpptrad.c (recursive_macro): Similarly. 13109 13110Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com> 13111 13112 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in 13113 SHmedia code. 13114 13115 * sh.md (cmpgtudi_media): Remove spurious @. 13116 13117 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian. 13118 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian. 13119 13120 * config/sh/lib1funcs.asm (init_trampoline): New entry point. 13121 * sh-protos.h (sh_initialize_trampoline): Declare. 13122 * sh.c (sh_initialize_trampoline): New function. 13123 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32. 13124 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA. 13125 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline. 13126 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact. 13127 * sh.md (initialize_trampoline, double_shori): New patterns. 13128 (initialize_trampoline_compact): Likewise. 13129 (shmedia32_initialize_trampoline_big): Remove. 13130 (shmedia32_initialize_trampoline_little): Likewise. 13131 13132 * sh-protos.h (binary_float_operator): Remove declaration. 13133 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare. 13134 * sh.c (print_operand, case 'N'): Check against CONST0_RTX. 13135 (unary_float_operator, sh_expand_unop_v2sf): New functions. 13136 (sh_expand_binop_v2sf): Likewise. 13137 (zero_vec_operand): Delete. 13138 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered 13139 all non-shared ones. 13140 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI. 13141 Enable nsb and byterev. 13142 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS. 13143 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode 13144 in general regs. 13145 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS. 13146 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for 13147 immediate operands. 13148 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands. 13149 Add DF_HI_REGS. 13150 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow 13151 lowpart fp regs - only for big endian for now. 13152 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors 13153 when FPU is in use. 13154 (EXTRA_CONTRAINT_U): Check against CONST0_RTX. 13155 (LOAD_EXTEND_OP): NIL for SImode. 13156 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between 13157 general and fp registers is 4. 13158 PREDICATE_CODES: Amend binary_float_operator entry. 13159 Remove zero_vec_operand. Add unary_float_operator. 13160 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical 13161 subreg SET_DEST. 13162 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations. 13163 (truncdiqi2): Do sign extension. 13164 (movsi_media, movdi_media): Allow to use r63 to an fp register. 13165 (movdf_media, movsf_media): Likewise. 13166 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS. 13167 Collapse to one define_insn_and_split. Allow immediate sources. 13168 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns. 13169 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg. 13170 (movv4sf): Allow immediate sources. 13171 (movsf_media_nofpu+1): Don't split moves to FP registers. 13172 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns. 13173 (movv8qi_i+3): Check against CONST0_RTX. 13174 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode 13175 for input and output operands. Fix argument 3 to gen_mextr_rl. 13176 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/ 13177 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise. 13178 (mshf0_w, fipr, ftrv): Likewise. 13179 (mshfhi_l_di): Now insn_and_split. Can handle FP regs. 13180 131812002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> 13182 13183 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from 13184 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed. 13185 * arm.c: Similarly. 13186 131872002-07-17 Richard Sandiford <rsandifo@redhat.com> 13188 13189 * config/mips/mips-protos.h (mips_sign_extend): Declare. 13190 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove. 13191 (TARGET_SWITCHES): Remove debugh. 13192 (ISA_HAS_TRUNC_W): New macro. 13193 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64. 13194 (PREDICATE_CODES): Remove se_nonimmediate_operand. 13195 * config/mips/mips.c (movdi_operand): Allow sign-extensions of 13196 any SImode move_operand. 13197 (se_nonimmediate_operand): Remove. 13198 (mips_sign_extend): New. 13199 (mips_move_2words): Use it for sign-extended source operands. 13200 (override_options): Allow integers to be put into single FPRs. 13201 (mips_secondary_reload_class): Handle integers in float registers. 13202 * config/mips/mips.md (extendsidi2): Turn into a define_expand. 13203 (fix_truncsfsi2, fix_truncdfsi2): Likewise. 13204 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New. 13205 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New. 13206 (fix_truncdfdi2): Provide only a single alternative, in which the 13207 integer is in a float register. Depend on TARGET_FLOAT64 rather 13208 than TARGET_64BIT. 13209 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise. 13210 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency. 13211 (movdi_internal2): Don't allow the source operand to be sign-extended. 13212 Add alternatives for float registers. 13213 (*movdi_internal2_extend): New. Version of movdi_internal2 that 13214 allows sign-extension. 13215 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern. 13216 (movsi_internal2): Rename to movsi_internal. Add alternatives for 13217 float registers. Remove TARGET_DEBUG_H_MODE test. 13218 (movhi_internal1): Rename to movhi_internal. Don't check 13219 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints. 13220 (movqi_internal1): Rename to movqi_internal and remove 13221 TARGET_DEBUG_H_MODE dependency. 13222 (movsi_internal1, movhi_internal2, movqi_internal2): Remove. 13223 132242002-07-16 Jim Wilson <wilson@redhat.com> 13225 13226 * toplev.c (lang_dependent_init): Create function context for 13227 init_expr_once. 13228 132292002-07-16 Hans-Peter Nilsson <hp@axis.com> 13230 13231 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't 13232 --gc-sections if -r. 13233 * config/cris/cris.h: Ditto. 13234 132352002-07-16 Rodney Brown <rbrown64@csc.com.au> 13236 13237 * config/i386/i386.c (ix86_expand_int_movcc): In the case where 13238 the comparison directly gives a mask suppress addition when cf is 13239 zero by complementing the mask. 13240 132412002-07-16 Nathanael Nerode <neroden@gcc.gnu.org> 13242 13243 * Makefile.in: Delete references to enquire. 13244 * enquire.c: Move to contrib. 13245 132462002-07-16 Stan Shebs <shebs@apple.com> 13247 13248 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from 13249 config/rs6000/darwin.h. 13250 (ASM_OUTPUT_SKIP): Ditto. 13251 (TEXT_SECTION_ASM_OP): Ditto. 13252 (DATA_SECTION_ASM_OP): Ditto. 13253 (ASM_APP_ON): Define. 13254 (ASM_APP_OFF): Define. 13255 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP, 13256 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove. 13257 13258 * config/darwin.c (func_name_maybe_scoped): Remove unused decl. 13259 (machopic_function_base_name): Declare result to be const. 13260 (machopic_non_lazy_ptr_name): Ditto. 13261 (machopic_stub_name): Ditto. 13262 * config/darwin-protos.h: Ditto for the prototypes. 13263 13264Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz> 13265 13266 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG. 13267 13268Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz> 13269 13270 * i386.md (prefetch): Fix for 64bit mode. 13271 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns. 13272 13273Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz> 13274 13275 * i386.h (MACHINE_DEPENDENT_REORG): New macro. 13276 * i386.c (x86_machine_dependent_reorg): New function. 13277 * i386-protos.h (x86_machine_dependent_reorg): Declare. 13278 132792002-07-16 Zack Weinberg <zack@codesourcery.com> 13280 13281 * builtins.c (std_expand_builtin_va_start): Remove unused 13282 first argument. 13283 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and 13284 std_expand_builtin_va_start with just two arguments. 13285 * expr.h: Update prototypes. 13286 13287 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h, 13288 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h, 13289 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h, 13290 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h, 13291 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c, 13292 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h, 13293 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h, 13294 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c, 13295 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first 13296 argument from all implementations of EXPAND_BUILTIN_VA_START 13297 and all uses of std_expand_builtin_va_start. 13298 13299Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com> 13300 13301 * regrename.c (copy_value): Don't record high part copies. 13302 133032002-07-16 Steve Ellcey <sje@cup.hp.com> 13304 13305 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define. 13306 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL. 13307 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function. 13308 133092002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au> 13310 13311 * doc/invoke.texi (NS32K Options): Document -mieee-compare option 13312 13313 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge 13314 into addsi3 using register class "x" and "y". 13315 13316 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf): 13317 "earlyclobber" constraint modifier for some alternative. 13318 13319 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble) 13320 (*ble, *blt): Flag to indicate bCOND and sCOND should check for 13321 unordered. 13322 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask. 13323 13324 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE) 13325 (TARGET_SWITCHES): Add -mieee-compare option. 13326 (OVERRIDE_OPTIONS): 32332 is a subset of 13327 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations. 13328 (TARGET_SWITCHES): Fix description of bitfield option. 13329 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add 13330 -mieee-compare option. Remove 32332 flag. 13331 133322002-07-16 Steve Ellcey <sje@cup.hp.com> 13333 13334 * explow.c (convert_memory_address): Remove special handling 13335 when POINTERS_EXTEND_UNSIGNED < 0. 13336 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode. 13337 (movedi_symbolic): Fix typo. 13338 (load_fptr): Remove mode restriction so it works for SI and DI. 13339 (load_fptr_internal1): Ditto. 13340 (load_gprel): Ditto. 13341 (load_symptr_internal1): Ditto. 13342 (call_pic): Ditto. 13343 * config/ia64.c (call_operand): Modify mode check. 13344 (ia64_expand_load_address): Handle DI and SI addresses and symbols. 13345 (ia64_expand_move): Ditto. 13346 (ia64_assemble_integer): Handle SImode function pointers. 13347 (ia64_expand_fetch_and_op): Handle SImode mem addresses. 13348 (ia64_expand_op_and_fetch): Ditto. 13349 (ia64_expand_compare_and_swap): Ditto. 13350 (ia64_expand_lock_test_and_set): Ditto. 13351 (ia64_expand_lock_release): Ditto. 13352 133532002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> 13354 13355 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF. 13356 133572002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> 13358 Richard Earnshaw <rearnsha@arm.com> 13359 13360 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test 13361 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic. 13362 133632002-07-16 Richard Earnshaw <rearnsha@arm.com> 13364 13365 * arm.md (stack_tie): New insn. Use an idiom that the alias code 13366 understands to be a memory clobber. 13367 * arm.c (arm_expand_prologue): Use it. 13368 133692002-07-16 Daniel Berlin <dberlin@dberlin.org> 13370 13371 * ra-rewrite.c: #include reload.h, insn-config.h 13372 * ra-build.c: #include reload.h 13373 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to 13374 depend on reload.h, insn-config.h. 13375 13376Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com> 13377 13378 * expr.c (emit_move_insn_1): Handle arbitrary moves that are 13379 the same size as a word. 13380 13381 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN / 13382 BYTES_BIG_ENDIAN into account. 13383 13384Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz> 13385 13386 * i386.md (prefetch): Fix for 64bit mode. 13387 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns. 13388 13389 * i386.md (movss, movsd): Use xorps/xorpd for Athlon. 13390 133912002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl> 13392 13393 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set. 13394 133952002-07-15 Zack Weinberg <zack@codesourcery.com> 13396 13397 * ginclude/varargs.h: Replace with stub which issues #error. 13398 * ginclude/stdarg.h: __builtin_stdarg_start is renamed 13399 __builtin_va_start. 13400 13401 * builtins.def (BUILT_IN_VARARGS_START): Delete. 13402 (BUILT_IN_VA_START): New. 13403 * builtins.c (expand_builtin_va_start): Eliminate first 13404 argument and code to implement pre-ISO varargs. 13405 (std_expand_builtin_va_start): Ignore first argument; it is 13406 always 1. 13407 (expand_builtin): Handle BUILT_IN_VA_START and 13408 BUILT_IN_STDARG_START identically. Delete 13409 BUILT_IN_VARARGS_START case. 13410 13411 * function.c (assign_parms): Delete hide_last_arg and all 13412 its uses. 13413 (mark_varargs): Delete function. 13414 * function.h (struct function): Delete 'varargs' bit. 13415 (current_function_varargs): Delete macro. 13416 * tree.h: Don't declare mark_varargs. 13417 13418 * c-decl.c (c_function_varargs, c_mark_varargs): Delete. 13419 (c_expand_body): Don't call mark_varargs. 13420 * c-objc-common.c: Handle BUILT_IN_VA_START and 13421 BUILT_IN_STDARG_START identically. Delete 13422 BUILT_IN_VARARGS_START case. 13423 * c-tree.h: Don't declare c_mark_varargs. 13424 * c-parse.in: Remove grammar rules for '&...' (which has been 13425 commented out since before 2.7.2) and for '...' in K+R 13426 argument declarations. 13427 13428 * builtins.c, function.c, integrate.c, sibcall.c, 13429 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h, 13430 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c, 13431 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c, 13432 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h, 13433 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h, 13434 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c, 13435 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h, 13436 config/stormy16/stormy16.c: Delete all references to 13437 current_function_varargs, and code predicated on that flag. 13438 13439 * config/alpha/alpha.c (alpha_va_start), 13440 config/arc/arc.c (arc_va_start), 13441 config/i386/i386.c (ix86_va_start), 13442 config/mips/mips.c (mips_va_start), 13443 config/mn10300/mn10300.c (mn10300_va_start), 13444 config/rs6000/rs6000.c (rs6000_va_start), 13445 config/s390/s390.c (s390_va_start), 13446 config/sh/sh.c (sh_va_start), 13447 Ignore first argument; it is always 1. 13448 13449 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start. 13450 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start. 13451 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c: 13452 Delete m68hc11_va_start. 13453 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h: 13454 No need to define EXPAND_BUILTIN_VA_START. 13455 13456 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi, 13457 doc/trouble.texi: Remove references to GCC-provided <varargs.h>. 13458 134592002-07-15 Eric Botcazou <ebotcazou@multimania.com> 13460 13461 PR optimization/7153 13462 * regmove.c (optimize_reg_copy_3): Don't optimize if the register 13463 dies in more than one insn. 13464 134652002-07-15 Jason Thorpe <thorpej@wasabisystems.com> 13466 13467 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove. 13468 134692002-07-15 Michael Matz <matz@suse.de>, 13470 Daniel Berlin <dberlin@dberlin.org>, 13471 Denis Chertykov <denisc@overta.ru> 13472 13473 Add a new register allocator. 13474 13475 * ra.c: New file. 13476 * ra.h: New file. 13477 * ra-build.c: New file. 13478 * ra-colorize.c: New file. 13479 * ra-debug.c: New file. 13480 * ra-rewrite.c: New file. 13481 13482 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o, 13483 (ra-rewrite.o): New .o files for libbackend.a. 13484 (GTFILES): Add basic-block.h. 13485 13486 * toplev.c (flag_new_regalloc): New. 13487 (f_options): New option "new-ra". 13488 (rest_of_compilation): Call initialize_uninitialized_subregs() 13489 only for the old allocator. If flag_new_regalloc is set, call 13490 new allocator, instead of local_alloc(), global_alloc() and 13491 friends. 13492 13493 * doc/invoke.texi: Document -fnew-ra. 13494 * basic-block.h (FOR_ALL_BB): New. 13495 * config/rs6000/rs6000.c (print_operand): Write small constants 13496 as @l+80. 13497 13498 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg. 13499 (df_reg_table_realloc): Make size at least as large as max_reg_num(). 13500 (df_insn_table_realloc): Size argument now is absolute, not relative. 13501 Changed all callers. 13502 13503 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET". 13504 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's. 13505 13506 2002-06-20 Michael Matz <matz@suse.de> 13507 13508 * df.h (struct ref.id): Make unsigned. 13509 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast. 13510 13511 2002-06-13 Michael Matz <matz@suse.de> 13512 13513 * df.h (DF_REF_MODE_CHANGE): New flag. 13514 * df.c (df_def_record_1, df_uses_record): Set this flag for refs 13515 involving subregs with invalid mode changes, when 13516 CLASS_CANNOT_CHANGE_MODE is defined. 13517 13518 2002-05-07 Michael Matz <matz@suse.de> 13519 13520 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge. 13521 13522 2002-05-03 Michael Matz <matz@suse.de> 13523 13524 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size. 13525 13526 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru> 13527 13528 * regclass.c (regclass): Work with all regs which have sets or 13529 refs. 13530 (reg_scan_mark_refs): Count regs inside (clobber ...). 13531 13532 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de> 13533 13534 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs. 13535 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only 13536 add new refs. 13537 (df_bb_refs_update): Don't clear insns_modified here, ... 13538 (df_analyse): ... but here. 13539 13540 * sbitmap.c (dump_sbitmap_file): New. 13541 (debug_sbitmap): Use it. 13542 13543 * sbitmap.h (dump_sbitmap_file): Add prototype. 13544 13545 2001-08-07 Daniel Berlin <dan@cgsoftware.com> 13546 13547 * df.c (df_insn_modify): Grow the UID table if necessary, rather 13548 than assume all emits go through df_insns_modify. 13549 13550 2001-07-26 Daniel Berlin <dan@cgsoftware.com> 13551 13552 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS, 13553 increase REG_N_REFS (like flow does), so that regclass doesn't 13554 think a reg is useless, and thus, not calculate a class, when it 13555 really should have. 13556 13557 2001-01-28 Daniel Berlin <dberlin@redhat.com> 13558 13559 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for 13560 dataflow analysis. 13561 135622002-07-15 Jakub Jelinek <jakub@redhat.com> 13563 13564 PR middle-end/7245 13565 * config/i386/i386.c (const_int_1_31_operand): New. 13566 * config/i386/i386.h (PREDICATE_CODES): Add it. 13567 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp, 13568 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp, 13569 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it. 13570 135712002-07-14 Alan Modra <amodra@bigpond.net.au> 13572 13573 PR target/7282 13574 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64. 13575 (floatunssidf2): Likewise. 13576 (floatsidf_ppc64): New insn_and_split. 13577 (floatunssidf_ppc64): Likewise. 13578 135792002-07-14 Andreas Jaeger <aj@suse.de> 13580 13581 * config.gcc (sh64): Remove unused 13582 target_requires_64bit_host_wide_int. 13583 135842002-07-12 Roger Sayle <roger@eyesopen.com> 13585 13586 * expr.c [CLEAR_RATIO]: New macro defining the maximum number 13587 of move instructions to use when clearing memory, c.f. MOVE_RATIO. 13588 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine 13589 whether clear_by_pieces should be used to clear storage. 13590 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES. 13591 13592 * doc/tm.texi: Document these two new target macros. 13593 135942002-07-12 Stephane Carrez <stcarrez@nerim.fr> 13595 13596 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for 13597 the scratch register. 13598 ("*movhi2_push"): Accept Z_REG because a split pattern can make use 13599 of it, forbid reload to use it. 13600 136012002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl> 13602 13603 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT 13604 usage on 64-bit hosts, return value was truncated to 32 bits. 13605 13606Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com> 13607 13608 * simplify-rtx.c (simplify_subreg): Handle floating point 13609 CONST_DOUBLEs. When an integer subreg of a smaller mode than 13610 the element mode is requested, compute a subreg with an 13611 integer mode of the same size as the element mode first. 13612 13613Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com> 13614 13615 * combine.c (try_combine): When converting a paradoxical subreg 13616 to an extension, take LOAD_EXTEND_OP into account. 13617 136182002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 13619 13620 * config.gcc (mips-sgi-irix6*o32): New configuration. 13621 13622 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32 13623 configurations. 13624 * configure: Regenerate. 13625 13626 * config/mips/iris6-o32-as.h: New file. 13627 * config/mips/iris6-o32.h: New file. 13628 13629 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define. 13630 (NM_FLAGS): Define. 13631 (HAVE_AS_SHF_MERGE): Undefine. 13632 13633 * config/mips/t-iris5-as: New file. 13634 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it. 13635 13636 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME, 13637 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK, 13638 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT, 13639 dp-bit.c, fp-bit.c): Move ... 13640 * config/mips/t-iris5-6: ... here. 13641 New file, shared by IRIX 5 and IRIX 6. 13642 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*, 13643 mips-sgi-irix5*): Use it. 13644 13645 * config/mips/iris6.h: Remove duplicate comment. 13646 13647 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 && 13648 !TARGET_IRIX6]: Define. 13649 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6. 13650 13651 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment. 13652 136532002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 13654 13655 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand 13656 and delete code to force constant to register. 13657 * pa-protos.h (adddi3_operand): Add prototype. 13658 * pa.c (adddi3_operand): New function. 13659 136602002-07-11 Roger Sayle <roger@eyesopen.com> 13661 13662 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on 13663 non-ANSI builtin functions. 13664 13665Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com> 13666 13667 * rtl.h (gen_rtx_CONST_VECTOR): Declare. 13668 * gengenrtl.c (special_rtx): Check for CONST_VECTOR. 13669 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function. 13670 (gen_const_vector_0): Use it. 13671 136722002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 13673 13674 * pa.md (adddi3): For 32-bit targets, force constants to a register 13675 if they don't fit in an 11-bit immediate. Change insn predicate to 13676 arith11_operand. Remove comment. 13677 * pa.c (cint_ok_for_move): Fix comment. 13678 (emit_move_sequence): Don't directly split DImode constants on 32-bit 13679 targets. 13680 136812002-07-11 Tim Josling <tej@melbpc.org.au> 13682 13683 Remove front end hard coding from gengtype.c. 13684 13685 * Makefile.in 13686 (STAGESTUFF): add gtyp-gen.h 13687 (GTFILES): Remove front end specific files. 13688 (GTFILES_FILES_LANGS): New, from configure.. 13689 (GTFILES_FILES_FILES): Likewise. 13690 (GTFILES_LANG_DIR_NAMES): Likewise. 13691 (GTFILES_SRCDIR): Likewise. 13692 (gtyp-gen.h): Build from configure information. 13693 (s-gtype): Remove command line parameters from gengtype. 13694 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h. 13695 (mostlyclean): Delete files generated by and for gengtype. 13696 13697 * c-config-lang.in: New file. 13698 13699 * configure.in (all_gtfiles_files_langs): New. Accumulate files 13700 for each language. 13701 (all_gtfiles_files_files): New. Accumulate language for each file 13702 accumulated. 13703 (gtfiles): Pick up value for C. 13704 (srcdir): AC-SUBST this variable. 13705 (all_gtfiles_files_langs): AC-SUBST this variable. 13706 (all_gtfiles_files_files): AC-SUBST this variable. 13707 13708 * configure: Regenerate. 13709 13710 * gengtype-lex.l (parse_file): Make parameter const. 13711 13712 * gengtype.c (toplevel): include gtyp-gen.h. 13713 (BASE_FILE_<language> unnamed enum): Delete. 13714 (lang_names): Delete (replaced by gtyp-gen.h) 13715 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed 13716 all references. 13717 (NUM_GT_FILES): New. 13718 (NUM_LANG_FILES): New. 13719 (srcdir_len): New. 13720 (NUM_BASE_FILES): Change calculation. 13721 (open_base_files): Change prototype to avoid warning. 13722 (startswith): Delete. 13723 (get_file_basename): Iterate through generated language list not 13724 hard coded list. 13725 (get_base_file_bitmap): Use generated list of files and languages. 13726 (close_output_files): Add prototype to rmove warning. 13727 (main): Iterate through list of generated files from gtyp-gen.h 13728 rather than command line paramaters. Ignore duplicated file 13729 names. 13730 13731 * gengtype.h (parse_file): Amend prototype for const parameter. 13732 13733 * doc/sourcebuild.texi: Document gtfiles variable. 13734 13735 * doc/gty.texi: Document changes to gtfiles variable for front 13736 ends. 13737 13738 * objc/config-lang.in (gtfiles): Add files needed for objc front 13739 end. 13740 137412002-07-10 Roger Sayle <roger@eyesopen.com> 13742 13743 PR c/2454 13744 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply 13745 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise. 13746 137472002-07-10 Roger Sayle <roger@eyesopen.com> 13748 Zack Weinberg <zack@codesourcery.com> 13749 13750 * builtins.def: Make the argument types of abort and exit 13751 independent of the front-end. 13752 137532002-07-11 Alan Modra <amodra@bigpond.net.au> 13754 13755 * config/rs6000/linux64.h (ASM_SPEC): Define. 13756 137572002-07-10 Aldy Hernandez <aldyh@redhat.com> 13758 13759 * config/rs6000/rs6000.c (emit_frame_save): New. 13760 (rs6000_frame_related): Replace reg2 before reg. 13761 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs, 13762 and eh_return registers. 13763 137642002-07-10 Toon Moene <toon@moene.indiv.nluug.nl> 13765 13766 Revert all patches for optimization of Complex .op. Real. 13767 * complex_part_zero_p: Remove 13768 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x) 13769 with x. 13770 * expand_cmplxdiv_wide: Ditto. 13771 * expand_binop: Ditto. 13772 137732002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl> 13774 13775 * config/avr/avr.md: Fix two 0x80000000 constants to make them 13776 negative also on 64-bit hosts. 13777 13778 Default to -fno-reorder-blocks when optimizing for size. 13779 * config/avr/avr-protos.h (avr_optimization_options): Declare. 13780 * config/avr/avr.c (avr_optimization_options): New function. 13781 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New. 13782 13783 Optimize returning from simple functions. 13784 * config/avr/avr-protos.h (avr_simple_epilogue): Declare. 13785 * config/avr/avr.c (avr_simple_epilogue): New function. 13786 * config/avr/avr.md (return): New insn. 13787 137882002-07-10 Douglas B Rupp <rupp@gnat.com> 13789 13790 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add 13791 HAS_INIT_SECTION to protection. 13792 137932002-07-10 Mark Mitchell <mark@codesourcery.com> 13794 13795 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is 13796 deprecated. 13797 13798Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com> 13799 13800 * combine.c (gen_lowpart_for_combine): Handle vector modes. 13801 Supply non-VOID mode to simplify_gen_subreg. 13802 13803Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz> 13804 13805 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko. 13806 138072002-07-10 Jeffrey A Law <law@redhat.com> 13808 13809 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes 13810 as appropriate. 13811 13812 * mn10200.c (expand_epilogue): Fix test to determine which scratch 13813 register to use. 13814 13815Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com> 13816 13817 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg. 13818 Get mode from dest. 13819 If simplify_gen_subreg fails, try next equivalent. 13820 138212002-07-09 Gabriel Dos Reis <gdr@codesourcery.com> 13822 13823 * diagnostic.h: #include location.h 13824 (location_t): Move definition to.. 13825 * location.h: ... here. New file. 13826 * tree.h: #include location.h 13827 (DECL_SOURCE_LOCATION): New macro. 13828 (DECL_SOURCE_FILE): Use. 13829 (DECL_SOURCE_LINE): Likewise. 13830 (struct tree_decl): REplace filename and linenum with locus. 13831 * Makefile.in (TREE_H): add location.h 13832 (diagnostic.o): Depends on gt-location.h 13833 (gt-location.h): Depends on s-gtype 13834 138352002-07-09 Matt Kraai <kraai@alumni.cmu.edu> 13836 13837 * config/rs6000/aix.h: Convert CPP_PREDEFINES to 13838 TARGET_OS_CPP_BUILTINS. 13839 * config/rs6000/aix31.h: Likewise. 13840 * config/rs6000/aix41.h: Likewise. 13841 * config/rs6000/aix43.h: Likewise. 13842 * config/rs6000/aix51.h: Likewise. 13843 * config/rs6000/beos.h: Likewise. 13844 * config/rs6000/darwin.h: Likewise. 13845 * config/rs6000/eabi.h: Likewise. 13846 * config/rs6000/eabisim.h: Likewise. 13847 * config/rs6000/linux.h: Likewise. 13848 * config/rs6000/linux64.h: Likewise. 13849 * config/rs6000/lynx.h: Likewise. 13850 * config/rs6000/mach.h: Likewise. 13851 * config/rs6000/rtems.h: Likewise. 13852 * config/rs6000/sysv4.h: Likewise. 13853 * config/rs6000/vxppc.h: Likewise. 13854 138552002-07-09 Devang Patel <dpatel@apple.com> 13856 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch. 13857 Do not allow ObjC objects as a parameter type for Objective-C methods. 13858 My previous patch restricted 'struct' also. 13859 138602002-07-09 Neil Booth <neil@daikokuya.co.uk> 13861 13862 * cpperror.c (cpp_error): Default to directive_line within 13863 directives here. 13864 * cppexp.c (cpp_interpret_integer): Only use traditional 13865 number semantics in directives. 13866 * cpplib.c (prepare_directive_trad): Don't reset pfile->line. 13867 (do_include_common): Similarly. 13868 * cpptrad.c (scan_out_logical_line): Implement accurate 13869 quoting of <> in #include. 13870 * doc/cpp.texi: Update. 13871 13872Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com> 13873 J"orn Rennecke <joern.rennecke@superh.com> 13874 13875 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code. 13876 * sh.md (attribute issues): Replace with: 13877 (attribute pipe_model). All users changed. 13878 (attribute type): Change pt / ptabs to pt_media / ptabs_media. 13879 All users changed. 13880 (function units sh5issue, sh5fds): New. 13881 (attribute is_mac_media): New. 13882 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type. 13883 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise. 13884 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise. 13885 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise. 13886 (call_media, call_value_media, sibcall_media): Likewise. 13887 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise. 13888 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise. 13889 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise. 13890 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise. 13891 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise. 13892 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise. 13893 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise. 13894 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise. 13895 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise. 13896 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise. 13897 (truncdfsf2_media): Likewise. 13898 (movsi_media, movsi_media_nofpu, movdi_media): Use new types. 13899 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise. 13900 13901Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com> 13902 13903 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand. 13904 * sh.c (general_extend_operand, inqhi_operand): New functions. 13905 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse 13906 alternatives using 'N' modifier. Add type. 13907 (adddi3z_media): Likewise. Enable generator function generation. 13908 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more 13909 exact predicates / constraints. Add type. 13910 (subsi3): Allow 0 for SHMEDIA. 13911 (udivsi3_i4_media): Use match_operand for input values 13912 rather than hard registers. 13913 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values 13914 unnecessarily through hard registers. Keep copies of pseudo 13915 registers outside of the libcall sequence. 13916 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type. 13917 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise. 13918 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise. 13919 (extendhidi2, extendqidi2): Likewise. 13920 (andsi3_compact): Name. 13921 (andcdi3): Enable generator function generation. 13922 (zero_extendhisi2, zero_extendqisi2): Rename to 13923 (zero_extendhisi2_compact, zero_extendqisi2_compact). 13924 (extendhisi2, extendqisi2): Rename to 13925 (extendhisi2_compact, extendqisi2_compact). 13926 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns. 13927 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise. 13928 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise. 13929 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise. 13930 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise. 13931 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise. 13932 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise. 13933 (shmedia32_initialize_trampoline_big): Likewise. 13934 (shmedia32_initialize_trampoline_little): Likewise. 13935 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise. 13936 (negdi2): Remove spurious T clobber. 13937 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE. 13938 (movsi_media, movsi_media_nofpu): Remove spurious *k after b. 13939 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise. 13940 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload. 13941 (ic_invalidate_line_media): Write back data cache before invalidating 13942 instruction cache. Add type. 13943 (movsf_media): Sign-extend when the destination is a general 13944 purpose register. Add type. 13945 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0. 13946 (casesi_worker_0+1): Only increment ref count for proper label. 13947 (casesi_worker_0+2): Likewise. 13948 139492002-07-09 Mark Mitchell <mark@codesourcery.com> 13950 13951 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated. 13952 139532002-07-09 Steve Ellcey <sje@cup.hp.com> 13954 13955 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer 13956 from Pmode to ptr_mode. 13957 (get_exception_pointer): Ditto. 13958 (connect_post_landing_pads): Ditto. 13959 (dw2_build_landing_pads): Ditto. 13960 139612002-07-08 Steve Ellcey <sje@cup.hp.com> 13962 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function. 13963 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function. 13964 (handle_pragma_redefine_extname): Change to use new function. 13965 139662002-07-08 Roger Sayle <roger@eyesopen.com> 13967 13968 * combine.c (combine_simplify_rtx): Add an explicit cast 13969 to avoid signed/unsigned comparison warning. 13970 (simplify_if_then_else): Likewise. 13971 (extended_count): Likewise. 13972 (simplify_shift_const): Likewise. 13973 (simplify_comparison): Likewise. 13974 139752002-07-08 Richard Sandiford <rsandifo@redhat.com> 13976 13977 * config/mips/mips.md: Add imadd type. Update scheduler description 13978 to use imadd as well as imul. 13979 (*mul_acc_si, *madsi): Change imul alternatives to imadd. 13980 (*mul_acc_di, *mul_acc_64bit_di): Likewise. 13981 (*mul_sub_si): Likewise for first alternative. Change second 13982 alternative from imul to multi. 13983 139842002-07-07 Neil Booth <neil@daikokuya.co.uk> 13985 13986 * c-common.c (c_common_post_options): Update prototype; 13987 don't init backends if preprocessing only. 13988 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update. 13989 * langhooks.h (struct lang_hooks): Update post_options to 13990 return a boolean. 13991 * toplev.c (parse_options_and_default_flags, do_compile, 13992 lang_independent_init): Update prototypes. Allow the 13993 front end to specify that there is no need to initialize 13994 the back end. 13995 (general_init): Move call to hex_init here... 13996 (toplev_main): ...from here. Pass flag for back end init 13997 suppression. 13998 13999Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com> 14000 14001 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''. 14002 (PREDICATE_CODES): Add entries for equality_comparison_operator, 14003 greater_comparison_operator and less_comparison_operator. 14004 * sh.c (print_operand): Add '\'' code. Make 'o' handle 14005 more operators. 14006 (equality_comparison_operator): New function. 14007 (greater_comparison_operator, less_comparison_operator): Likewise. 14008 * sh.md (beq_media_i): Disable generator function generation. 14009 Use match_operator to handle a whole class of comparisons. Add 14010 modifier in output template to provide branch prediction. Add type. 14011 (bgt_media_i, ble_media_i): Likewise. Allow zero operands. 14012 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete. 14013 (blt_media_i, bleu_media_i, bltu_media_i): Likewise. 14014 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands. 14015 140162002-07-07 Hans-Peter Nilsson <hp@bitrange.com> 14017 14018 Emit MMIX function prologue and epilogue as rtl. 14019 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val, 14020 not unprototyped get_hard_reg_initial_val. 14021 ("call_value", "nonlocal_goto_receiver"): Ditto. 14022 ("return"): Make define_expand. Move real insn to... 14023 ("*expanded_return"): New pattern. 14024 ("prologue", "epilogue"): New define_expands. 14025 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro. 14026 (struct machine_function): New member in_prologue. 14027 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register. 14028 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto. 14029 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto. 14030 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto. 14031 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto. 14032 (LOCAL_REGNO): Define. Adjust comment. 14033 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS): 14034 Consider regs_ever_live[MMIX_rJ_REGNUM], not just 14035 leaf_function_p. 14036 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting 14037 the prologue. 14038 (mmix_target_asm_function_prologue): Make static. Just mark that 14039 the prologue is being emitted. Move guts to... 14040 (mmix_expand_prologue): New function. Adjust for emitting 14041 prologue as rtl. For sizes, use HOST_WIDE_INT only. 14042 (mmix_target_asm_function_epilogue): Make static. Simply emit a 14043 \n. Move guts to... 14044 (mmix_expand_epilogue): New function. Adjust for emitting 14045 epilogue as rtl. For sizes, use HOST_WIDE_INT only. 14046 (mmix_target_asm_function_end_prologue): Mark that the prologue 14047 has ended. 14048 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define. 14049 (mmix_conditional_register_usage): Improve comments. 14050 (mmix_local_regno): New function. 14051 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto. 14052 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype. 14053 (mmix_expand_prologue, mmix_expand_epilogue): Ditto. 14054 (mmix_get_hard_reg_initial_val): Ditto. 14055 140562002-07-06 Andreas Jaeger <aj@suse.de> 14057 14058 * toplev.c (set_fast_math_flags): Don't use ISO C style function 14059 definitions. 14060 * gengtype.c (open_base_files): Likewise. 14061 (close_output_files): Likewise. 14062 * tracer.c (find_best_predecessor): Likewise. 14063 (find_best_successor): Likewise. 14064 (ignore_bb_p): Likewise. 14065 140662002-07-05 Roger Sayle <roger@eyesopen.com> 14067 14068 PR c++/7099 14069 * builtin-attrs.def: Define new attribute lists for use in 14070 builtins.def. 14071 * builtins.def [DEF_BUILTIN]: Modify to take an additional 14072 ATTRS argument, an enumerated value defined in builtin-attrs.def 14073 that represents the attribute list for the builtins. Modify 14074 all builtin functions to pass an appropriate attribute list. 14075 Specify "abort", "exit", "_exit" and "_Exit" builtins here with 14076 their required noreturn attributes. 14077 * tree.h (enum_builtin_function): Ignore the additional parameter 14078 to DEF_BUILTIN. 14079 * builtins.c (built_in_names): Likewise. 14080 * c-common.c: (builtin_function_2): Replace the "int noreturn_p" 14081 argument with a tree representing the functions attribute list. 14082 Pass this "attrs" argument to builtin_function. No longer handle 14083 the noreturn_p processing manually. 14084 (built_in_attributes): Move the definitions from builtin-attrs.def 14085 before c_common_nodes_and_builtins. 14086 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in 14087 DEF_BUILTIN, passing it to both builtin_function and the changed 14088 builtin_function_2. 14089 14090 * doc/extend.texi: Document __builtin_abort, __builtin_exit, 14091 __builtin__exit and __builtin__Exit. 14092 140932002-07-05 Stephane Carrez <stcarrez@nerim.fr> 14094 14095 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating 14096 QI mode registers in soft registers. 14097 ("zero_extendqihi2"): Do not take into account soft registers 14098 for register allocation (use '*' constraint). 14099 141002002-07-05 Stephane Carrez <stcarrez@nerim.fr> 14101 14102 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know 14103 it is dead. 14104 ("*ashrsi3"): Likewise. 14105 ("*lshrsi3"): Likewise. 14106 141072002-07-05 Vladimir Makarov <vmakarov@redhat.com> 14108 14109 * genautomata.c (output_max_insn_queue_index_def): Take latencies 14110 into account. 14111 141122002-07-05 Stephane Carrez <stcarrez@nerim.fr> 14113 14114 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize 14115 address computation and memory moves. 14116 141172002-07-03 Mark Mitchell <mark@codesourcery.com> 14118 14119 PR c++/6706 14120 * dwarfout.c (output_reg_number): Fix warning message. 14121 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL 14122 before using it. 14123 141242002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 14125 14126 * gcc/gcc.c (asm_debug): Move initialization ... 14127 (init_spec): ... here. 14128 141292002-07-05 Nathan Sidwell <nathan@codesourcery.com> 14130 14131 * c-parse.in (extdef): Append ';'. 14132 (old_style_parm_decls): Append ';'. 14133 141342002-07-04 Daniel Jacobowitz <drow@mvista.com> 14135 14136 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to 14137 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag 14138 to gcc_cv_as_gstabs_flag. 14139 * configure: Rebuilt. 14140 141412002-07-04 Geoffrey Keating <geoffk@redhat.com> 14142 14143 * ggc.h (ggc_add_root): Document as obsolete. 14144 14145Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com> 14146 14147 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE. 14148 (mshflo_w): Likewise. 14149 14150Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com> 14151 14152 * simplify-rtx.c (simplify_subreg): Reduce problem of finding 14153 vector mode subregs of constants to finding integer mode 14154 subregs of constants. 14155 * cse.c (cse_insn): Use simplify_gen_subreg. 14156 * convert.c (convert_to_integer): Don't strip a NOP_EXPR 14157 From a vector mode expression of different size than the 14158 target mode. 14159 141602002-07-03 Eric Christopher <echristo@redhat.com> 14161 14162 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC. 14163 * config/mips/mips.h: Remove deprecated -m<processor> options 14164 and cc1_cpu_spec associated. 14165 (CONSTANT_ADDRESS_P): Fix last patch. 14166 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment. 14167 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df, 14168 sunge_sf): Remove. 14169 141702002-07-03 Stan Shebs <shebs@apple.com> 14171 14172 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC. 14173 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove. 14174 (CPP_SPEC): Remove insertion of APPLE_CC definition. 14175 141762002-07-03 Roger Sayle <roger@eyesopen.com> 14177 14178 * combine.c (struct_undo): Change types of recorded substitutions 14179 to be either "int" or "rtx", instead of "unsigned int" and "rtx". 14180 (do_SUBST_INT): Change types of the substitution from unsigned int 14181 to int, to avoid compilation warning from SUBST_INT's only caller. 14182 14183 (make_extraction): Add cast to avoid compilation warning. 14184 (force_to_mode): Remove cast to avoid compilation warning. 14185 141862002-07-03 Eric Botcazou <ebotcazou@multimania.com> 14187 Jeff Law <law@redhat.com> 14188 14189 * i386.md (length_immediate attribute): Fix typo. 14190 (length_address attribute): Likewise. 14191 (modrm attribute): Set it to 0 for immediate call instructions. 14192 (jcc_1 pattern): Set modrm attribute to 0. 14193 (jcc_2 pattern ): Likewise. 14194 (jump pattern): Likewise. 14195 (doloop_end_internal pattern): Explicitly set length. 14196 (leave pattern): Fix typo. 14197 (leave_rex64 pattern): Likewise. 14198 141992002-07-03 David Edelsohn <edelsohn@gnu.org> 14200 14201 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode 14202 in FPR as preference. 14203 (fctiwz): Same. 14204 (floatdidf2, fix_truncdfdi2): Same. 14205 (floatdisf2, floatditf2, fix_trunctfdi2): Same. 14206 (floatditf2): Same. 14207 (floatsitf2, fix_trunctfsi2): SImode in GPR. 14208 (ctrdi): Remove FPR alternative and splitter. 14209 142102002-07-03 Will Cohen <wcohen@redhat.com> 14211 14212 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro. 14213 14214Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com> 14215 14216 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller 14217 than UNITS_PER_WORD, unless this is little endian and the first unit 14218 in this word. Let extract_bit_field decide how to load an element. 14219 Force arguments to matching mode. 14220 (expand_vector_unop): Likewise. 14221 14222 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors 14223 consist of word_mode elements. 14224 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR, 14225 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR. 14226 (build_unary_op): Allow vector types for BIT_NOT_EPR. 14227 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for 14228 CONST_VECTOR. 14229 * optabs.c (expand_vector_binop): Try to perform operation in 14230 smaller vector modes with same inner size. Add handling of AND, IOR 14231 and XOR. Reject expansion to inner-mode sized scalars when using 14232 OPTAB_DIRECT. Use simplify_gen_subreg on constants. 14233 (expand_vector_unop): Try to perform operation in smaller vector 14234 modes with same inner size. Add handling of one's complement. 14235 When there is no vector negate operation, try a vector subtract 14236 operation. Use simplify_gen_subreg on constants. 14237 * simplify-rtx.c (simplify_subreg): Add capability to convert vector 14238 constants into smaller vectors with same inner mode, and to 14239 integer CONST_DOUBLEs. 14240 142412002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14242 14243 * c-parse.in (parsing_iso_function_signature): New variable. 14244 (extdef_1): New, copied from... 14245 (extdef): ... here. Reset parsing_iso_function_signature. 14246 (old_style_parm_decls): Reset parsing_iso_function_signature. 14247 (old_style_parm_decls_1): New, copied from old_style_parm_decls. 14248 Warn about ISO C style function definitions. 14249 (nested_function, notype_nested_function): Reset 14250 parsing_iso_function_signature. 14251 (parmlist_2): Set parsing_iso_function_signature. 14252 14253 * doc/invoke.texi (-Wtraditional): Document new behavior. 14254 142552002-07-02 Chris Demetriou <cgd@broadcom.com> 14256 14257 * config.gcc (mips*el-*-*): Use tm_defines to set 14258 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h. 14259 * config/mips/little.h: Remove. 14260 142612002-07-02 Devang Patel <dpatel@apple.com> 14262 14263 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an 14264 object as parameter. Prevent something like 'NSObject' to be 14265 used as the type for a method argument. 14266 142672002-07-03 Neil Booth <neil@daikokuya.co.uk> 14268 14269 * cpptrad.c: Update comment. 14270 142712002-07-02 Neil Booth <neil@daikokuya.co.uk> 14272 14273 * doc/cpp.texi: Update for traditional preprocessing changes. 14274 * goc/cppopts.texi: Similarly. 14275 142762002-07-02 Ziemowit Laski <zlaski@apple.com> 14277 14278 * c-parse.in (designator): Enable designated initializers if ObjC. 14279 (objcmessageexpr): Remove references to objc_receiver_context. 14280 * objc/objc-act.h (objc_receiver_context): Remove decl. 14281 * objc/objc-act.c (objc_receiver_context): Remove. 14282 (lookup_objc_ivar): Test objc_method_context instead of 14283 objc_receiver_context. 14284 14285Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com> 14286 14287 * sh.c (print_operand, case 'N'): Allow zero vector. 14288 (arith_reg_or_0_operand): Likewise. 14289 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL. 14290 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for 14291 IOR, XOR, PLUS and SET and take their respective constant 14292 ranges into account. 14293 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR. 14294 * sh.md (subdi3, subdi3_media): Allow zero operand. 14295 (movv8qi_i+3): Only vector that is not split is the zero vector. 14296 Fix operand 3 to simplify_subreg. 14297 (movv2si_i): Split alternative 1. 14298 (mshfhi_l_di_rev+1): New splitter. 14299 143002002-07-02 Neil Booth <neil@daikokuya.co.uk> 14301 14302 PR preprocessor/7029 14303 * cppinit.c (cpp_handle_option): Suppress warnings with an 14304 implicit "-w" for "-M" and "-MM". 14305 * doc/cppopts.texi: Update. 14306 143072002-07-01 Roger Sayle <roger@eyesopen.com> 14308 14309 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned 14310 identifier "bzero" to "memset". Pass extra NULL_TREE argument to 14311 builtin_function. 14312 143132002-07-02 Alan Modra <amodra@bigpond.net.au> 14314 14315 * README.Portability: Fix typos. 14316 143172002-07-01 Hans-Peter Nilsson <hp@axis.com> 14318 14319 PR target/7177 14320 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number 14321 of indirections for register inside sign-extended mem part. 14322 143232002-07-01 Roger Sayle <roger@eyesopen.com> 14324 14325 * tree.h: Modify builtin_function interface to take an extra 14326 argument ATTRS, which is a tree representing an attribute list. 14327 14328 * c-decl.c (builtin_function): Accept additional parameter. 14329 * objc/objc-act.c (builtin_function): Likewise. 14330 * f/com.c (builtin_function): Likewise. 14331 * java/decl.c (builtin_function): Likewise. 14332 * ada/utils.c (builtin_function): Likewise. 14333 * cp/decl.c (builtin_function): Likewise. 14334 (builtin_function_1): Likewise. 14335 14336 * c-common.c (c_common_nodes_and_builtins): Pass an additional 14337 NULL_TREE argument to builtin_function. (builtin_function_2): 14338 Likewise. 14339 * cp/call.c (build_java_interface_fn_ref): Likewise. 14340 * objc/objc-act.c (synth_module_prologue): Likewise. 14341 * java/decl.c (java_init_decl_processing): Likewise. 14342 * f/com.c (ffe_com_init_0): Likewise. 14343 14344 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional 14345 NULL_TREE argument to builtin_function. 14346 * config/arm/arm.c (def_builtin): Likewise. 14347 * config/c4x/c4x.c (c4x_init_builtins): Likewise. 14348 * config/i386/i386.c (def_builtin): Likewise. 14349 * config/ia64/ia64.c (def_builtin): Likewise. 14350 * config/rs6000/rs6000.c (def_builtin): Likewise. 14351 143522002-07-01 Zack Weinberg <zack@codesourcery.com> 14353 14354 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST. 14355 * config/mips/t-isa3264: Likewise. 14356 * config/mmix/t-mmix: Likewise. 14357 143582002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca> 14359 14360 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT. 14361 143622002-07-01 Roger Sayle <roger@eyesopen.com> 14363 14364 PR opt/4046 14365 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A, 14366 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and 14367 B are truth values. 14368 143692002-07-01 Nathanael Nerode <neroden@gcc.gnu.org> 14370 14371 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST. 14372 143732002-07-01 Matt Kraai <kraai@alumni.cmu.edu> 14374 14375 * README.Portability (Function prototypes): Give an example of 14376 declaring and defining a function with no arguments. 14377 14378 * README.Portability (Function prototypes): Document new 14379 variable-argument function macros. 14380 14381Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com> 14382 14383 * sh.c (langhooks.h): Include. 14384 (sh_init_builtins, sh_media_init_builtins): New functions. 14385 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise. 14386 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise. 14387 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise. 14388 (builtin_description): New struct tag. 14389 (signature_args, bdesc): New arrays. 14390 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define. 14391 (print_operand): Add 'N' modifier. 14392 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes. 14393 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros. 14394 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases. 14395 (CONST_COSTS): Add special case for SHmedia AND. 14396 (PREDICATE_CODES): Add and_operand, arith_reg_dest, 14397 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset, 14398 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand. 14399 target_operand can also be const or unspec. 14400 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants. 14401 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise. 14402 (attribute type): Add new types. 14403 (anddi3): Add splitter. 14404 (movdi_const_16bit+1): Add code to handle vector constants and 14405 bitmasks efficiently. 14406 (shori_media): Have generator function made. 14407 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns. 14408 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise. 14409 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise. 14410 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise. 14411 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise. 14412 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise. 14413 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise. 14414 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise. 14415 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise. 14416 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise. 14417 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise. 14418 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise. 14419 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise. 14420 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie. 14421 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise. 14422 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise. 14423 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise. 14424 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise. 14425 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise. 14426 (ftrv): Likewise. 14427 14428 (fpu_switch+1, fpu_switch+2): Remove constraint. 14429 144302002-07-01 Aldy Hernandez <aldyh@redhat.com> 14431 14432 * tree.c (build_function_type_list): Update function comment. 14433 Rename first argument to return_type. 14434 144352002-07-01 Neil Booth <neil@daikokuya.co.uk> 14436 14437 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h, 14438 tradcif.y and related files. 14439 144402002-07-01 Neil Booth <neil@daikokuya.co.uk> 14441 14442 * cpptrad.c (skip_whitespace): Pass pointer to prior char. 14443 144442002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14445 14446 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses. 14447 144482002-06-30 Devang Patel <dpatel@apple.com> 14449 14450 * objc/objc-act.c (finish_file): Avoid finish_objc() if 14451 -fsyntax-only. 14452 14453Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru> 14454 Frank Ch. Eigler <fche@redhat.com> 14455 Matthew Green <mrg@redhat.com> 14456 Richard Henderson <rtl@redhat.com> 14457 Dave Hudson <dave.hudson@ubicom.com> 14458 Jeff Johnston <jjohnstn@redhat.com> 14459 Alan Lehotsky <apl@alum.mit.edu> 14460 Bernd Schmidt <bernds@redhat.com> 14461 Graham Stott <grahams@redhat.com> 14462 14463 * doc/extend.texi: Add ip2k port to description of attribute 14464 naked. 14465 * doc/install.texi (Specific): Add ip2k description. 14466 * doc/install-old.texi (Configurations): Add ip2k to possible 14467 cpu types. 14468 * doc/md.texi: Document ip2k constraints. 14469 * config/ip2k/crt0.S: New file. 14470 * config/ip2k/ip2k-protos.h: New file. 14471 * config/ip2k/ip2k.c: New file. 14472 * config/ip2k/ip2k.h: New file. 14473 * config/ip2k/ip2k.md: New file. 14474 * config/ip2k/libgcc.S: New file. 14475 * config/ip2k/t-ip2k: New file. 14476 144772002-06-30 Hans-Peter Nilsson <hp@bitrange.com> 14478 14479 * config/mmix/mmix.md ("return"): New pattern. 14480 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN) 14481 (TARGET_USE_RETURN_INSN): New macros. 14482 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN. 14483 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit. 14484 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing. 14485 (MMIX_POP_ARGUMENT): New macro. 14486 (mmix_target_asm_function_prologue): When no epilogue is executed, 14487 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn. 14488 (mmix_print_operand) <case '.'>: New case. 14489 (mmix_print_operand_punct_valid_p): Match '.'. 14490 (mmix_use_simple_return): New function. 14491 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype. 14492 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add 14493 -msingle-exit, -mno-single-exit. 14494 (MMIX Options): Ditto. 14495 144962002-06-30 Aldy Hernandez <aldyh@redhat.com> 14497 14498 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos. 14499 145002002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14501 14502 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses. 14503 145042002-06-30 Alan Modra <amodra@bigpond.net.au> 14505 14506 * unroll.c (loop_iterations): Handle EQ loops. 14507 145082002-06-29 David Edelsohn <edelsohn@gnu.org> 14509 14510 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR 14511 constraint in define_expand, not splitter. 14512 Formatting. 14513 145142002-06-29 Aldy Hernandez <aldyh@redhat.com> 14515 14516 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use 14517 build_function_type_list instead of build_function_type. 14518 14519 * config/ia64/ia64.c (ia64_init_builtins): Same. 14520 14521 * config/alpha/alpha.c (alpha_init_builtins): Same. 14522 14523 * config/rs6000/rs6000.c (altivec_init_builtins): Same. 14524 14525 * config/arm/arm.c (arm_init_builtins): Same. 14526 14527 * tree.h: Add build_function_type_list prototype. 14528 14529 * tree.c (build_function_type_list): New. 14530 145312002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14532 14533 * collect2.c (scan_prog_file): Fix typo in message. 14534 145352002-06-28 Aaron Lehmann <aaronl@vitelus.com> 14536 14537 * fold-cont.c: Remove unused CHARMASK. 14538 145392002-06-29 Neil Booth <neil@daikokuya.co.uk> 14540 14541 PR preprocessor/7150 14542 * cppmain.c (scan_translation_unit_trad): Simplify. 14543 * cppmacro.c (cpp_scan_nooutput): Handle traditional case. 14544 145452002-06-29 Neil Booth <neil@daikokuya.demon.co.uk> 14546 14547 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS. 14548 Don't use CPP_PREDEFINES. 14549 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New. 14550 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES. 14551 * config/i386/djgpp.h, config/i386/i386-coff.h, 14552 config/i386/i386-interix.h, config/i386/i386-interix3.h, 14553 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h, 14554 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h, 14555 config/i386/uwin.h: Similarly. 14556 145572002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 14558 14559 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and 14560 flag_inline_trees to enable inlining. 14561 145622002-06-28 Phil Edwards <pme@gcc.gnu.org> 14563 14564 * configure.in (gcc_gxx_include_dir): Change to match versioned 14565 C++ headers if --enable-version-specific-runtime-libs is used. 14566 * configure: Regenerate. 14567 145682002-06-28 Jan Hubicka <jh@suse.cz> 14569 14570 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move. 14571 145722002-06-28 Stephen Clarke <stephen.clarke@superh.com> 14573 14574 * combine.c (combine_simplify_rtx): Pass the mode of the 14575 shift count, not the shift operation when trying to simplify 14576 a shift on a SHIFT_COUNT_TRUNCATED target. 14577 145782002-06-28 Stephane Carrez <stcarrez@nerim.fr> 14579 14580 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to 14581 avoid the auto increment addressing modes. 14582 ("*subsi3"): Likewise. 14583 (split for add/sub on address): For 68HC12 push the value on 14584 the stack and do the operation with a pop. 14585 145862002-06-28 Neil Booth <neil@daikokuya.co.uk> 14587 14588 * cpplib.c (_cpp_handle_directive): Move #define-specific 14589 code to the #define handler... 14590 (do_define): ...here. 14591 (lex_macro_node): No longer a need to check for comments here. 14592 145932002-06-28 Stephane Carrez <stcarrez@nerim.fr> 14594 14595 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define. 14596 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options): 14597 Declare. 14598 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New, 14599 do not reorder basic blocks at the end when optimizing for size. 14600 146012002-06-28 Stephane Carrez <stcarrez@nerim.fr> 14602 14603 * config/m68hc11/m68hc11.c (autoinc_mode): New function. 14604 (m68hc11_make_autoinc_notes): New function. 14605 (m68hc11_split_move): Be very cautious when spliting a move with 14606 auto increment/decrement modes because this may result in incompatible 14607 directions; add REG_INC notes to the resulting insn for CSE reg. 14608 146092002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr> 14610 14611 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant 14612 can be a valid address. 14613 146142002-06-28 Aldy Hernandez <aldyh@redhat.com> 14615 14616 * config/rs6000/rs6000.c: Remove unusued variables from last 14617 patch. 14618 146192002-06-27 Aldy Hernandez <aldyh@redhat.com> 14620 14621 Revert: 14622 * config/rs6000/rs6000.c (rs6000_override_options): Move 14623 *SUBTARGET_OVERRIDE_OPTIONS before the -m options. 14624 146252002-06-27 Aldy Hernandez <aldyh@redhat.com> 14626 14627 * config/rs6000/rs6000.c (altivec_expand_builtin): Move 14628 lvx/stv/dst builtins... 14629 (altivec_expand_ld_builtin): ...to here. 14630 (altivec_expand_st_builtin): ...here. 14631 (altivec_expand_dst_builtin): ...and here (respectively). 14632 146332002-06-28 Bob Wilson <bob.wilson@acm.org> 14634 14635 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment. 14636 146372002-06-08 Bernd Schmidt <bernds@redhat.com> 14638 14639 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE 14640 subregs. 14641 * recog.c (general_operand, register_operand): Disallow them. 14642 146432002-06-28 Neil Booth <neil@daikokuya.co.uk> 14644 14645 PR preprocessor/7138 14646 * cpplib.c (_cpp_handle_directive): Do traditional 14647 preparation after setting state.angled_headers. 14648 * cpptrad.c (scan_out_logical_line): Fix potential 14649 quote bug. 14650 146512002-06-27 Aldy Hernandez <aldyh@redhat.com> 14652 14653 * config/rs6000/rs6000.c (rs6000_override_options): Move 14654 *SUBTARGET_OVERRIDE_OPTIONS before the -m options. 14655 146562002-06-27 Bob Wilson <bob.wilson@acm.org> 14657 14658 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's. 14659 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start, 14660 zero_cost_loop_end): Remove unnecessary "parallel" from insns. 14661 146622002-06-27 Roger Sayle <roger@eyesopen.com> 14663 14664 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines. 14665 * config/stormy16/stormy16.h: Likewise. 14666 14667 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef 14668 with #define. 14669 146702002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 14671 14672 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move 14673 Hitachi entry. Make punctuation more consistent. 14674 146752002-06-27 Matt Kraai <kraai@alumni.cmu.edu> 14676 14677 * doc/install.texi: Change ` bit' to `-bit'. 14678 * doc/md.texi: Change `-bits' to `-bit'. 14679 * doc/tm.texi: Change `-bits' to ` bits'. 14680 146812002-06-27 Daniel Berlin <dberlin@dberlin.org> 14682 14683 * gcse.c (hoist_code): Rewrite to only get list of dominated 14684 blocks once per BB. Also fix reversed test (by removing need for 14685 the test at all). 14686 146872002-06-27 Neil Booth <neil@daikokuya.co.uk> 14688 14689 * cpphash.h (_cpp_set_trad_context): Remove. 14690 * cpplib.c (prepare_directive_trad): Do nothing for #define. 14691 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context. 14692 * cpptrad.c: Update comments. 14693 (_cpp_read_logical_line_trad): Let scan_logical_line handle 14694 updating the current context. 14695 (scan_logical_line): Update the current context. 14696 (_cpp_create_trad_definition): Similarly. 14697 (_cpp_set_trad_context): Remove. 14698 146992002-06-27 Neil Booth <neil@daikokuya.co.uk> 14700 14701 PR preprocessor/7070 14702 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF. 14703 147042002-06-26 Bob Wilson <bob.wilson@acm.org> 14705 14706 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare. 14707 config/xtensa/xtensa.c (xtensa_return_addr): New function. 14708 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr. 14709 config/xtensa/xtensa.md (fix_return_addr): New pattern. 14710 147112002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14712 14713 * mips.c (coprocessor_operand, coprocessor2_operand, 14714 symbolic_operand): Move prototypes from here... 14715 * mips-protos.h (coprocessor_operand, coprocessor2_operand, 14716 symbolic_operand): ...to here. 14717 14718Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com> 14719 14720 * config/sh/crt1.asm: remove _stack label definition 14721 and sentinel value. 14722 147232002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14724 14725 * varasm.c: Include real.h before output.h. 14726 147272002-06-26 Aldy Hernandez <aldyh@redhat.com> 14728 14729 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to 14730 check for TARGET_ALTIVEC. 14731 147322002-06-26 Nathanael Nerode <neroden@gcc.gnu.org> 14733 14734 * config.gcc (vax-*-vms*): Make obselete. 14735 147362002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14737 14738 * gcc.c (warn_std): Delete. 14739 147402002-06-25 Loren J. Rittle <ljrittle@acm.org> 14741 14742 * doc/extend.texi: Fix formatting of last checkin. 14743 147442002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 14745 14746 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading 14747 underscore from __IEEE_FP and __IEEE_FP_INEXACT. 14748 147492002-06-25 Aldy Hernandez <aldyh@redhat.com> 14750 14751 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document 14752 discrepancies from motorola's documentation. 14753 14754Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com> 14755 14756 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume 14757 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD. 14758 14759 * config/sh/lib1funcs.asm (udivdi3): Make first divide step 14760 produce a 32 bit result before normalization, then normalize with a 14761 left shift. Compute approximative error of 2nd reciprocal 14762 approximation in 2's complement. Fix mask generation from upper 14763 longword of second divide stage result. 14764 For large divisor, fix shift count used to truncate first stage 14765 divide result; make decision if to adjust upwards based on comparison 14766 of higher parts of normalized values. 14767 (udivdi): Likewise. Undo normalization of result for large divisor 14768 case. 14769 147702002-06-25 David S. Miller <davem@redhat.com> 14771 14772 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}. 14773 147742002-06-25 Neil Booth <neil@daikokuya.co.uk> 14775 14776 * cpplib.c (do_include_common): Revert to correct line number 14777 if -traditional. 14778 * cpptrad.c (scan_out_logical_line): Treat null directive as 14779 white space. Invlidate MI optimization for non-whitespace 14780 text outside a directive. 14781 147822002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14783 14784 * Makefile.in (SHELL): Set to @SHELL@. 14785 * fixinc/Makefile.in (SHELL): Likewise. 14786 14787 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2, 14788 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate 14789 initialization. 14790 147912002-06-24 Jeff Law <law@redhat.com> 14792 14793 * flow.c (propagate_one_insn): When removing an insn 14794 with a REG_LIBCALL note but not the entire libcall sequence, 14795 delete the associated REG_RETVAL note. 14796 14797Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com> 14798 14799 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations. 14800 (udivsi3): Likewise. Rewrite SH1 implementation. 14801 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions. 14802 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants. 14803 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list. 14804 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add. 14805 (_moddi3): Likewise. 14806 14807 * lib1funcs.asm (ic_invalidate): Add data cache line writeback. 14808 14809 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK 14810 arguments into account for stack_regs. 14811 148122002-06-24 Matt Kraai <kraai@alumni.cmu.edu> 14813 14814 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */' 14815 in examples. 14816 148172002-06-24 Art Haas <ahaas@neosoft.com> 14818 14819 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'. 14820 * doc/tm.texi (Frame Layout): Likewise. 14821 148222002-06-20 Steve Ellcey <sje@cup.hp.com> 14823 14824 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no. 14825 Set float_format to i128. 14826 148272002-06-24 David S. Miller <davem@redhat.com> 14828 14829 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the 14830 32-bit ABI libfuncs to NULL. 14831 14832 * config/sparc/sparc.md: Use define_insn_and_split. Use braced 14833 strings instead of quoted strings for code blocks. 14834 14835 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift 14836 optabs if op1 is const0_rtx. 14837 14838 * Makefile.in (GTFILES): Add basic-block.h 14839 * basic-block.h (label_value_list, tail_recursion_label_list): 14840 Mark with GTY. 14841 148422002-06-24 Neil Booth <neil@daikokuya.co.uk> 14843 14844 * cpptrad.c (scan_out_logical_line): Check recursing only when 14845 we know we have a macro invocation in the function-like case. 14846 Only call _cpp_handle_directive if we know we have a good 14847 directive, or we want to reject a bad directive. 14848 148492002-06-24 Alan Modra <amodra@bigpond.net.au> 14850 14851 * doloop.c (doloop_valid_p): Correct comment. 14852 (doloop_modify_runtime <abs_inc != 1>): Simplify. 14853 (doloop_modify_runtime <do-while>): Don't emit code when NE. 14854 14855Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru> 14856 14857 * config.gcc: Add support for ip2k. 14858 148592002-06-23 Jan Hubicka <jh@suse.cz> 14860 Jeff Law <law@redhat.com> 14861 14862 * function.h (struct emit_status): Clarify potential contents 14863 of regno_reg_rtx array. 14864 * integrate.c (copy_rtx_and_substitute): Update comments. Make 14865 sure entry in regno_reg_rtx is a REG before checking REG_POINTER. 14866 14867 * reg-stack.c (convert_regs_exit): Push the registers to stack in 14868 proper order. 14869 148702002-06-22 Ulrich Weigand <uweigand@de.ibm.com> 14871 14872 PR middle-end/6963 14873 * function.c (assign_stack_temp_for_type): Do not return 14874 the same MEM rtx for multiple uses of a stack slot. 14875 148762002-06-22 David S. Miller <davem@redhat.com> 14877 14878 PR target/6841 target/6770 target/6719 14879 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return 14880 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or 14881 GENERAL_OR_EXTRA_FP_REGS. 14882 148832002-06-22 Neil Booth <neil@daikokuya.co.uk> 14884 14885 * cpptrad.c (struct fun_macro): Add line number. 14886 (scan_out_logical_line): Set it, and use it to report unterminated 14887 macro invocations. 14888 148892002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14890 14891 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND, 14892 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD, 14893 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE, 14894 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT, 14895 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF, 14896 REGEXP_ONEOF, check_name): Const-ify. 14897 148982002-06-21 Matt Thomas <matt@3am-software.com> 14899 14900 * config/vax/vax.c (vax_output_function_prologue): Use 14901 REGISTER_PREFIX. Fix some indentation. 14902 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[]. 14903 (VAX_ISTREAM_SYNC): Define. 14904 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the 14905 i-stream sync to the end. 14906 (REGISTER_PREFIX): Define as "". 14907 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX. 14908 149092002-06-21 Jason Thorpe <thorpej@wasabisystems.com> 14910 14911 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete 14912 configurations. 14913 149142002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14915 14916 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes, 14917 tree_node_kind_names): Wrap in GATHER_STATISTICS macro. 14918 149192002-06-21 Matt Thomas <matt@3am-software.com> 14920 14921 * config/vax/netbsd.h: Adjust a comment. 14922 (TARGET_DEFAULT): Redefine as 0. 14923 149242002-06-21 Richard Henderson <rth@redhat.com> 14925 14926 * bb-reorder.c (make_reorder_chain_1): Search harder for the 14927 vax casesi fallthru edge. 14928 * cfglayout.c (cleanup_unconditional_jumps): Use 14929 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead. 14930 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection 14931 block after ADDR_VEC. 14932 149332002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 14934 14935 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o. 14936 149372002-06-21 Neil Booth <neil@daikokuya.co.uk> 14938 14939 * cpperror.c (cpp_error): For traditional CPP, default to 14940 diagnostics on pfile->line. 14941 * cpplib.c (prepare_directive_trad): Set line number for 14942 diagnostics for #define too. 14943 * cpptrad.c (skip_whitespace): Skip comments properly. 14944 (_cpp_expansions_different_trad): Initialize quote2. 14945 149462002-06-21 Hans-Peter Nilsson <hp@bitrange.com> 14947 14948 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment. 14949 * config/mmix/mmix.h: Ditto. 14950 * config/mmix/mmix-protos.h: Ditto. 14951 * config/mmix/mmix.c: Ditto. Fix typo in comment. 14952 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header 14953 comment. Comment extra CC modes. 14954 149552002-06-20 Jan Hubicka <jh@suse.cz> 14956 14957 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels. 14958 (scope_to_insns_finalize): Do not call set_block_levels; handle 14959 sequences. 14960 (choose_inner_scope): New. 14961 * rtl.h (choose_inner_scope): Declare. 14962 149632002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca> 14964 14965 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to 14966 HOST_WIDE_INT. 14967 * pa.c (pa_asm_output_mi_thunk): Likewise. 14968 (n_deferred_plabels): Change type to size_t. 14969 (output_deferred_plabels, output_call): Use size_t instead of int. 14970 149712002-06-20 Richard Henderson <rth@redhat.com> 14972 14973 PR target/4041 14974 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate 14975 pattern and adjust constraints for coldfire. 14976 149772002-06-20 Richard Henderson <rth@redhat.com> 14978 14979 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee. 14980 149812002-06-20 Chris Demetriou <cgd@broadcom.com> 14982 14983 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets. 14984 149852002-06-20 Chris Demetriou <cgd@broadcom.com> 14986 14987 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use. 14988 149892002-06-20 Stan Shebs <shebs@apple.com> 14990 14991 * dominance.c: Include errors.h instead of error.h. 14992 149932002-06-20 Neil Booth <neil@daikokuya.co.uk> 14994 14995 * cppexp.c (cpp_interpret_integer): Don't force traditional 14996 numbers to be unsigned. 14997 * cpplib.c (prepare_directive_trad): Set line number for 14998 diagnostics. 14999 * cpptrad.c (scan_out_logical_line): Continue scanning out 15000 at start of buffer. 15001 * gcc.c (trad_capable_cpp): Use cc1 always. 15002 150032002-06-20 Jeffrey Law <law@redhat.com> 15004 15005 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer 15006 elimination in leaf functions by default yet. 15007 150082002-06-20 Richard Sandiford <rsandifo@redhat.com> 15009 15010 * combine.c (make_extraction): Reapply to the argument of an ASHIFT. 15011 150122002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 15013 15014 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for 15015 multilibs. 15016 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o. 15017 Fixes PR other/6836. 15018 15019Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz> 15020 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz> 15021 15022 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz> 15023 15024 * basic-block.h: Do not include et-forest.h 15025 (dominance_info): Declare as struct dominance-info. 15026 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before 15027 deleting block. 15028 * dominance.c (struct dominance_info): Define. 15029 (BB_NODE, SET_BB_NODE): New macros. 15030 (bb_hash_func, bb_eq_func): Kill. 15031 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator, 15032 nearest_common_dominator, dominated_by_p, recount_dominator, 15033 add_to_dominance_info, delete_from_dominance_info): update for new 15034 representation. 15035 (get_dominated_by, redirect_immediate_dominators): Rewrite using 15036 enumerate_sons. 15037 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap, 15038 find_if_case_1, find_if_case_2): Remove killed blocks from dominance 15039 structure. 15040 15041 * et-forest.h: Update copyright; revamp all function to operate on 15042 nodes 15043 (et_forest_value): Kill. 15044 (et_forest_enumerate_sons, et_forest_node_value): New. 15045 * et-forest.c: Update copyright. 15046 * et-forest.h: Update copyright; revamp all function to operate on 15047 nodes 15048 (et_forest_value): Kill. 15049 (et_forest_enumerate_sons, et_forest_node_value): New. 15050 15051 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz> 15052 15053 * basic-block.h: Inlude et-forest.h 15054 (basic_block_def): Kill dominator. 15055 (dominance_info): New type. 15056 (loops): Use dominace_info. 15057 (dominace handling functions): Take dominace_info as argument 15058 instead of bitmaps. 15059 (create_preheader): Likewise. 15060 * cfg.c (entry_exit_blocks): Kill dominator. 15061 (dump_flow_info): Do not dump dominators. 15062 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from 15063 dominators. 15064 * cfgloop.c (flow_pre_header_find): Use dominacne_info. 15065 (flow_loops_pre_header_scan, make_forwarder_block, 15066 canonicale_loop_headers, flow_loops_find): Likewise. 15067 * dominance.c: Include error.h 15068 (idoms_to_doms): Kill. 15069 (bb_hash_func, bb_eq_func): New static functions. 15070 (debug_dominace_info): New global function. 15071 (calculate_dominance_info): Use new et forest structure. 15072 (free_dominace_info, get_immediate_dominator, set_immediate_dominator, 15073 get_dominated_by, redirect_immediate_dominators, 15074 nearest_common_dominator, dominated_by_p, verify_dominators, 15075 recount_dominator, iterate_fix_dominators, add_to_dominace_info, 15076 delete_from_dominance_info): New global functions. 15077 * gcse.c (domnators): CHange to dominance_info. 15078 (alloc_hoist_mem): Do not alloc dominators 15079 (free_code_hoist_mem): Use free_dominance_info. 15080 (compute_code_hoist_data): Use dominance_info. 15081 (hoist_code): Likewise. 15082 * ifcvt.c (post_dominators): Likewise. 15083 (find_if_case_2, if_convert): Likewise. 15084 * predict.c (process_note_predictions, process_note_prediction, 15085 estimate-probability): Likewise. 15086 * sched-rgn.c (find_rgns, init_regions): Likewise. 15087 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence, 15088 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise. 15089 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers, 15090 find_evaluations, convert_to_ssa): Likewise. 15091 * ssa.h (compute_dominance_frontiers): Likewise. 15092 15093 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz> 15094 15095 * Makefile.in (et-forest.c): Add. 15096 * et-forest.c: New file. 15097 * at-forest.h: New file. 15098 150992002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 15100 15101 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit 15102 array size calculation. 15103 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root): 15104 Likewise. 15105 15106 * diagnostic.c (diagnostic_kind_text): Const-ify. 15107 * gengtype.c (lang_names): Likewise. 15108 15109Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz> 15110 15111 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode. 15112 151132002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 15114 15115 * config/sol2.h: New file. 15116 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h. 15117 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h. 15118 (sparc-*-chorusos*): Likewise. 15119 (sparc-*-elf*): Likewise. 15120 (sparc-*-rtems*, sparc-*-rtemself*): Likewise. 15121 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise. 15122 (sparc-hal-solaris2*): Likewise. 15123 (sparc-*-solaris2*): Likewise. 15124 (sparclite-*-elf*): Likewise. 15125 (sparc86x-*-elf*): Likewise. 15126 (sparc64-*-elf*): Likewise. 15127 15128 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to 15129 config/sol2.h. 15130 (ASM_SPEC): Override config/sol2.h version for now. 15131 Removed obsolete GAS_REJECTS_MINUS_S variant. 15132 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h. 15133 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise. 15134 (TARGET_OS_CPP_BUILTINS): Likewise. 15135 Assert system=unix. 15136 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC. 15137 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to 15138 config/sol2.h. 15139 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise. 15140 (ASM_CPU_SPEC): Define. 15141 (SUBTARGET_EXTRA_SPECS): Define. 15142 15143 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already 15144 in config/sparc/sol2.h. 15145 (ASM_SPEC): Moved to config/sol2.h. 15146 (CPP_CPU_SPEC): Simplified. 15147 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for 15148 consistency. 15149 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC. 15150 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC, 15151 STARTFILE_ARCH64_SPEC. 15152 (STARTFILE_SPEC): Moved to config/sol2.h 15153 (SUBTARGET_EXTRA_SPECS): Add startfile_arch. 15154 (LINK_ARCH32_SPEC): Moved to config/sol2.h. 15155 (LINK_ARCH64_SPEC): Simplified. 15156 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support. 15157 (LINK_SPEC): Moved to config/sol2.h 15158 15159 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to 15160 config/sol2.h. 15161 Use BITS_PER_WORD for size. 15162 (WINT_TYPE, WINT_TYPE_SIZE): Likewise. 15163 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise. 15164 (CPP_PREDEFINES): Removed OS-specific part handled by 15165 TARGET_OS_CPP_BUILTINS. 15166 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h. 15167 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS. 15168 (ASM_SPEC): Moved to config/sol2.h. 15169 (PREFERRED_DEBUGGING_TYPE): Likewise. 15170 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise. 15171 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise. 15172 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version. 15173 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h 15174 15175 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support. 15176 * config/i386/sol2gas.h: Removed. 15177 15178Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz> 15179 15180 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns. 15181 151822002-06-16 Aldy Hernandez <aldyh@redhat.com> 15183 15184 * gcc.c-torture/execute/simd-1.c: New. 15185 15186 * gcc.dg/simd-1.c: New. 15187 15188 * doc/extend.texi (Vector Extensions): Document that we can 15189 specify simd types not specifically supported by the hardware. 15190 Document that simd types can be used as function arguments. 15191 Document that signness does make a difference in SIMD types. 15192 Misc cleanups and revisions to the vector extensions section. 15193 15194 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector 15195 constants. 15196 15197 * expr.c (vector_mode_valid_p): New. 15198 15199 * expr.h: Add vector_mode_valid_p. 15200 15201 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default. 15202 15203 * c-common.c (type_for_mode): Always build vector nodes regardless 15204 of VECTOR_MODE_SUPPORTED_P. 15205 (handle_mode_attribute): Error if we can't emulate a nonexisting 15206 vector mode. 15207 (handle_vector_size_attribute): Same. 15208 15209 * optabs.c (expand_binop): Open-code vector operations. 15210 (expand_unop): Open-code vector unops. 15211 (expand_vector_binop): New. 15212 (expand_vector_unop): New. 15213 15214 * c-typeck.c (build_binary_op): Allow vectors in binops. 15215 Allow vectors in conditional operatiors. 15216 (build_unary_op): Allow vectors in unary minus. 15217 15218 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on 15219 TARGET_ALTIVEC. 15220 152212002-05-20 Richard Henderson <rth@redhat.com> 15222 15223 * c-common.c (c_common_get_alias_set): Correctly handle characters. 15224 Rearrange order of expressions; don't handle vectors here. 15225 * alias.c (get_alias_set): Let vectors match their components. 15226 152272002-06-19 Chris Demetriou <cgd@broadcom.com> 15228 15229 * config/mips/mips.c (mips_emit_prefetch): Use hints which 15230 match desired locality. 15231 152322002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com> 15233 15234 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define. 15235 (h8300_insert_attributes): New. 15236 152372002-06-19 Akim Demaille <akim@epita.fr> 15238 15239 * c-parse.in (initelt: identifier ':' initval): Add an empty 15240 action to fix a type clash. 15241 (aliasdecl, classdef): Add the missing closing `;'. 15242 Whitespace changes. 15243 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt 15244 $$ = $1 type clashes. 15245 152462002-06-19 Eric Christopher <echristo@redhat.com> 15247 15248 * config/mips/mips.c (symbol_operand): New function. 15249 (mips_emit_prefetch): Ditto. 15250 * config/mips/mips-protos.h: Define. 15251 * config/mips/mips.h (ISA_HAS_PREFETCH): Define. 15252 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS. 15253 (LEGITIMIZE_ADDRESS): Ditto. 15254 * config/mips/mips.md (prefetch, prefetch_si_address, 15255 prefetch_si, prefetch_di_address, prefetch_di): New patterns. 15256 152572002-06-19 Eric Christopher <echristo@redhat.com> 15258 15259 * config/fp-bit.h: Add unordered defines for gofast. 15260 152612002-06-19 Vladimir Makarov <vmakarov@redhat.com> 15262 15263 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, 15264 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, 15265 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE, 15266 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with 15267 checking and without it. 15268 (decl_name, decl_mode_check_failed, regexp_name, 15269 regexp_mode_check_failed): New functions. 15270 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set, 15271 gen_presence_set, gen_absence_set, gen_automaton, 15272 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof, 15273 gen_regexp_sequence, gen_reserv, gen_insn_reserv, 15274 automaton_decl_hash, automaton_decl_eq_p): Use the macros. 15275 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl. 15276 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros. 15277 (find_insn_decl): Ditto. Set up mode of work_insn_decl. 15278 (decl_hash, decl_eq_p): Use the macros. 15279 (find_decl): Ditto. Set up mode of work_decl. 15280 (process_excls, process_presence_absence, process_decls, 15281 check_automaton_usage, process_regexp, process_regexp_decls, 15282 check_usage, loop_in_regexp, check_loops_in_regexps, 15283 process_regexp_cycles, add_advance_cycle_insn_decl, 15284 initiate_states, initiate_excl_sets, 15285 initiate_presence_absence_sets, copy_insn_regexp, transform_1, 15286 transform_2): Use the macros. 15287 (transform_3): Ditto. Check mode before making transformations of 15288 ALLOF. 15289 (regexp_transform_func, transform_insn_regexps, 15290 process_unit_to_form_the_same_automaton_unit_lists, 15291 form_the_same_automaton_unit_lists_from_regexp, 15292 form_the_same_automaton_unit_lists, 15293 process_seq_for_forming_states, process_alts_for_forming_states, 15294 create_alt_states, form_ainsn_with_same_reservs, make_automaton, 15295 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags, 15296 estimate_one_automaton_bound, compare_max_occ_cycle_nums, 15297 units_to_automata_heuristic_distr, create_ainsns, 15298 units_to_automata_distr, create_automata): Use the macros. 15299 (form_regexp): Ditto. Fix typo in access to fields of ALLOF. 15300 (longest_path_length, min_issue_delay_pass_states, 15301 output_dead_lock_vect, output_tables, output_insn_code_cases, 15302 output_internal_insn_latency_func, output_print_reservation_func, 15303 output_description, output_automaton_units, generate): Use the 15304 macros. 15305 (make_insn_alts_attr): Ditto. Check case when there are not 15306 alternatives in the reservation. 15307 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr, 15308 make_bypass_attr, form_important_insn_automata_lists, 15309 expand_automata): Use the macros. 15310 153112002-06-20 Tim Josling <tej@melbpc.org.au> 15312 15313 * Makefile.in: Clean up code to check for misspecified languages 15314 in enable-languages. 15315 153162002-06-19 Andrew Pinski <pinskia@physics.uc.edu> 15317 15318 * cpptrad.c (_cpp_replacement_text_len): initialize len. 15319 153202002-06-19 Jason Merrill <jason@redhat.com> 15321 15322 * Makefile.in (unstrap, restrap): New targets. 15323 (bootstrap): Mention restrap. 15324 153252002-06-19 Matt Kraai <kraai@alumni.cmu.edu> 15326 15327 * except.c (ehl_free): Remove. 15328 15329 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of 15330 builtin_define and builtin_define_std. 15331 153322002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au> 15333 15334 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's. 15335 (sCOND): Restrict operand class so that gcc knows how to reload them. 15336 (bitfield_set): Merge two unnamed insn's using alternatives. 15337 (call_value): Remove constraint on unused uperand. 15338 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove. 15339 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove. 15340 15341 * longlong.h (count_trailing_zeros): Escape newline and beautify. 15342 153432002-06-19 Mark Mitchell <mark@codesourcery.com> 15344 15345 * Makefile.in (QMTEST_DIR): Simplify definition. 15346 153472002-06-19 Nick Clifton <nickc@cambridge.redhat.com> 15348 15349 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with 15350 #define. 15351 153522002-06-19 Neil Booth <neil@daikokuya.co.uk> 15353 15354 * cpphash.h (struct cpp_reader): Make date and time strings. 15355 (_cpp_builtin_macro_text, _cpp_copy_replacement_text, 15356 _cpp_replacement_text_len): New. 15357 * cppinit.c (cpp_create_reader): Update. 15358 (init_builtins): Register appropriate builtins for -traditional-cpp. 15359 * cppmacro.c (new_number_token): Remove. 15360 (_cpp_builtin_macro_text): New. 15361 (builtin_macro): Use it. 15362 (cpp_macro_definition): Update to handle traditional macros. 15363 * cppmain.c (cb_line_change): Don't do column positioning for 15364 traditional output. 15365 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New 15366 state ls_fun_close. 15367 (skip_whitespace): Fix. 15368 (maybe_start_funlike): Don't set state.parsing_args. 15369 (scan_out_logical_line): Remove duplicate error. Use lex_state 15370 rather than state.parsing_args. 15371 (push_replacement_text): Handle builtins. 15372 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New. 15373 153742002-06-18 Hans-Peter Nilsson <hp@axis.com> 15375 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 15376 15377 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with 15378 attribute __always_inline__. 15379 153802002-06-18 Bob Wilson <bob.wilson@acm.org> 15381 15382 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic 15383 when generating the call to _mcount. 15384 (NO_PROFILE_COUNTERS): Define. 15385 153862002-06-18 Richard Henderson <rth@redhat.com> 15387 15388 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for 15389 2002-06-02 change. 15390 15391Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com> 15392 15393 * t-sh (MULTILIB_EXCEPTIONS): Set to ml. 15394 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear. 15395 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise. 15396 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise. 15397 15398 * sh-protos.h (sh_pr_interrupt): Declare. 15399 * sh.c (sh_pr_interrupt): New function. 15400 (print_operand, calc_live_regs, sh_expand_prologue): Use it. 15401 (sh_hard_regno_rename_ok): Likewise. 15402 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers. 15403 154042002-06-18 Vladimir Makarov <vmakarov@redhat.com> 15405 15406 * rtl.def (DEFINE_AUTOMATON): Add description of new options 15407 `time' and `v'. Fix incorrect description of option `w'. 15408 15409 * doc/md.texi: Ditto. 15410 15411 * genautomata.c (TIME_OPTION, V_OPTION): New macros. 15412 (gen_automata_option): Process the new options. 15413 (transform_2, transform_3): Initialize some variables. 15414 (initiate_automaton_gen): Use the new macros. 15415 154162002-06-18 Richard Sandiford <rsandifo@redhat.com> 15417 15418 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare. 15419 (mips_set_return_address, mips_restore_gp): Declare. 15420 * config/mips/mips.h (struct mips_frame_info): Move to mips.c 15421 (current_frame_info): Remove. 15422 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset. 15423 * config/mips/mips.c: Remove uses of current_frame_info. 15424 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'. 15425 (struct machine_function): Add 'frame' and 'insns_len'. 15426 (current_frame_info, zero_frame_info): Remove. 15427 (mips_restore_gp, mips_set_return_address): New. 15428 (mips_initial_elimination_offset): New. 15429 * config/mips/mips.md (exception_receiver): Use mips_restore_gp. 15430 (eh_return define_split): Use mips_set_return_address. 15431 154322002-06-18 Neil Booth <neil@daikokuya.demon.co.uk> 15433 15434 * cpplib.c (dtable): Update. 15435 (end_directive): Decrement expansion prevention count. 15436 Clear state.in_expression. 15437 (prepare_directive_trad): Set state.in_expression. 15438 Increment expansion prevention count. 15439 * cpptrad.c (enum ls): New. 15440 (_cpp_overlay_buffer): Set overlaid_buffer. 15441 (_cpp_remove_overlay): Use overlaid_buffer. 15442 (_cpp_read_logcial_line_trad): Update buffer when it might 15443 have changed. 15444 (scan_out_logical_line): Handle state transitions for assertions 15445 and defined() in #if, and for funlike invocations including the 15446 directive case. Handle '<' and '>' as a quote mechanism in 15447 #include. Warn about unterminated macro invocations. 15448 * cpphash.h (struct lexer_state): New member in_expression. 15449 (struct cpp_reader): New member overlaid buffer. 15450 154512002-06-18 Hans-Peter Nilsson <hp@axis.com> 15452 15453 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype 15454 __always_inline__. 15455 154562002-06-18 Alan Modra <amodra@bigpond.net.au> 15457 15458 * config/ia64/ia64.md (doloop_end_internal): Correct rtl. 15459 15460 * doloop.c (doloop_optimize): Extract pattern from insn. 15461 154622002-06-17 Matt Kraai <kraai@alumni.cmu.edu> 15463 15464 * doc/extend.texi (Function Attributes): Remove `,...' from @var. 15465 154662002-06-17 Jeff Law <law@redhat.com> 15467 15468 * libgcc2.c: Do not include symcat.h or machmode.h. 15469 154702002-06-17 Richard Henderson <rth@redhat.com> 15471 15472 PR target/6922 15473 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND. 15474 154752002-06-17 Tom Tromey <tromey@redhat.com> 15476 15477 * dwarfout.c: Include function.h. 15478 154792002-06-17 Andreas Schwab <schwab@suse.de> 15480 15481 * print-rtl.c (print_rtx): Print space before vector, not after. 15482 (debug_rtx): Clear sawclose before printing. 15483 (debug_rtx_list): Print newline after each list element. 15484 (debug_rtx_range): Likewise. 15485 154862002-06-17 Richard Henderson <rth@redhat.com> 15487 15488 * function.h (struct function) [funcdef_no]: Rename profile_label_no. 15489 (current_function_funcdef_no): Similarly. 15490 * function.c (funcdef_no): Similarly. 15491 (prepare_function_start): Set current_function_funcdef_no. 15492 (expand_function_start): Don't set current_function_profile_label_no. 15493 * dwarf2out.h (current_funcdef_number): Remove. 15494 * dwarf2out.c (current_funcdef_number): Remove. Replace with 15495 current_function_funcdef_no throughout. 15496 * dwarfout.c, vmsdbgout.c: Similarly. 15497 * except.c (sjlj_funcdef_number): Remove. 15498 (sjlj_emit_function_enter): Use current_function_funcdef_no instead. 15499 (output_function_exception_table): Likewise. 15500 * final.c (profile_function): Use current_function_funcdef_no 15501 instead of current_function_profile_label_no. 15502 155032002-06-17 Vladimir Makarov <vmakarov@redhat.com> 15504 15505 * sched-ebb.c (init_ready_list): Check INSN_P first. 15506 15507Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com> 15508 15509 * sh.md (divsi3): Update way how to find insns in a sequence. 15510 15511 * reload1.c (merge_assigned_reloads): Don't change reloads 15512 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS 15513 to RELOAD_OTHER when there are conflicting input reloads. 15514 155152002-06-17 Richard Earnshaw (rearnsha@arm.com) 15516 15517 * function.c (epilogue_done): Correctly build a sequence of insns for 15518 a sibcall epilogue. 15519 155202002-06-17 Nick Clifton <nickc@cambridge.redhat.com> 15521 15522 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with 15523 #define. 15524 15525 * config/m32r/m32r.md: Replace gen_sequence with get_insns. 15526 155272002-06-16 Richard Henderson <rth@redhat.com> 15528 15529 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead 15530 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS. 15531 155322002-06-16 Richard Henderson <rth@redhat.com> 15533 15534 PR opt/6722 15535 * regclass.c (globalize_reg): Update regs_invalidated_by_call. 15536 155372002-06-16 Neil Booth <neil@daikokuya.demon.co.uk> 15538 15539 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks. 15540 * config/i386/i386-aout.h, config/i386/i386elf.h, 15541 config/i386/sysv4.h: Remove CPP_PREDEFINES. 15542 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h, 15543 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h, 15544 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h, 15545 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than 15546 CPP_PREDEFINES and part of CPP_SPEC. 15547 * config/i386/sysv4-cpp.h: New. 15548 155492002-06-16 Richard Henderson <rth@redhat.com> 15550 15551 PR c/7030 15552 * dwarf2out.c (modified_type_die): Don't assign the qualified die 15553 to the unqualified type. 15554 15555Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz> 15556 15557 * i386-protos.h (x86_field_alignment): Declare. 15558 * i386.c (x86_field_alignment): Define. 15559 * i386.h (ADJUST_FIELD_ALIGNMENT): New. 15560 (BIGGEST_FIELD_ALIGNMENT): Kill. 15561 155622002-06-16 Richard Henderson <rth@redhat.com> 15563 15564 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern. 15565 155662002-06-16 Richard Henderson <rth@redhat.com> 15567 15568 * c-common.c (flag_ms_extensions): Move from c++ front end. 15569 * c-common.h (flag_ms_extensions): Declare. 15570 * c-decl.c (c_decode_option): Add -fms-extensions. 15571 (grokfield): Don't accept anonymous structures in ISO C mode; 15572 accept only unnamed anonymous structures in GNU C mode; accept 15573 Plan 9 extensions in MS mode. 15574 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from 15575 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers. 15576 (extension): Clear flag_iso. 15577 * doc/invoke.texi (C Dialect Options): Add -fms-extensions. 15578 155792002-06-16 Hans-Peter Nilsson <hp@axis.com> 15580 15581 PR target/7042 15582 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit 15583 early if current_function_epilogue_delay_list is non-empty. 15584 * config/cris/cris.md ("return"): Add sanity check asserting that 15585 current_function_epilogue_delay_list is empty. 15586 155872002-06-16 Jeff Law <law@redhat.com> 15588 15589 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic 15590 sharing of hard registers. 15591 15592 * toplev.c (rest_of_compilation): Remove redundant conditional. 15593 15594 * toplev.c (rest_of_compilation): Perform a simpler, less costly 15595 cleanup of the CFG when not optimizing. 15596 155972002-06-16 Alan Modra <amodra@bigpond.net.au> 15598 15599 * gcc.c (main): Correct startfile_prefix_spec check. 15600 156012002-06-12 Geoffrey Keating <geoffk@redhat.com> 15602 15603 * config.gcc: Revert rth's patch of 2002-05-18. Instead, 15604 include both darwin.o and rs6000-c.o. 15605 156062002-06-15 Roger Sayle <roger@eyesopen.com> 15607 15608 * expr.c (compare_from_rtx): Call simplify_relational_operation 15609 on all comparisons, not just those between integer constants, 15610 with the correct (possibly unsigned) comparison code. 15611 (do_compare_rtx_and_jump): Likewise. 15612 156132002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca> 15614 15615 * Makefile.in (tm_defines): New configuration variable. 15616 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES. 15617 Pass tm_defines in TM_DEFINES. 15618 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES. 15619 * config.gcc (tm_defines): New configuration variable. 15620 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and 15621 pa-7100.h headers. Change hppa1* scheduling default to 7100LC. 15622 * configure.in: Substitute tm_defines. 15623 * configure: Rebuilt. 15624 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES. 15625 * doc/install.texi: Update. 15626 * pa/pa-700.h: Delete file. 15627 * pa/pa-7100.h: Delete file. 15628 156292002-06-15 Roger Sayle <roger@eyesopen.com> 15630 15631 * fold-const.c (comparison_to_compcode): New function to convert 15632 an comparison TREE CODE into a bit-based representation. 15633 (compcode_to_comparison): New function to convert from this bit 15634 based representation back to a comparison TREE CODE. 15635 (fold_truthop): Simplify (x<y) && (x==y) and related composite 15636 comparisons. 15637 156382002-06-15 Aldy Hernandez <aldyh@redhat.com> 15639 15640 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument. 15641 15642 * stor-layout.c (compute_record_mode): Remove check for 15643 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for 15644 MEMBER_TYPE_FORCES_BLK. Pass new mode field to 15645 MEMBER_TYPE_FORCES_BLK. 15646 15647 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same. 15648 15649 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same. 15650 156512002-06-14 Jeff Sturm <jsturm@one-point.com> 15652 15653 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS. 15654 156552002-06-14 Steve Ellcey <sje@cup.hp.com> 15656 15657 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set 15658 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set. 15659 * configure, config.in: Regenerate. 15660 156612002-06-14 Eric Botcazou <ebotcazou@multimania.com> 15662 15663 * loop.c (check_final_value): Use v->always_executed 15664 instead of v->always_computable. 15665 * unroll.c (final_giv_value): Don't calculate the final 15666 value as a function of the biv if the giv is not computed 15667 for every loop iteration. 15668 156692002-06-14 Eric Botcazou <ebotcazou@multimania.com> 15670 15671 * loop.c (for_each_insn_in_loop): Fix formatting and comments. 15672 156732002-06-14 Eric Botcazou <ebotcazou@multimania.com> 15674 15675 PR c/6677 15676 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass 15677 the truncation down when the target type is signed. 15678 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR. 15679 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through 15680 the conversion if the target type is a smaller type. 15681 156822002-06-14 Richard Henderson <rth@redhat.com> 15683 15684 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation 15685 earlier. Re-factor comparisons vs extrema. 15686 156872002-06-14 Richard Henderson <rth@redhat.com> 15688 15689 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode. 15690 156912002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 15692 15693 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE. 15694 * sched-deps.c (add_dependence): Likewise. 15695 (group_leader): Likewise. 15696 * sched-rgn.c (init_ready_list): Likewise. 15697 * doc/rtl.texi: Adjust accordingly. 15698 156992002-06-13 Jeffrey Law <law@redhat.com> 15700 15701 * gcse.c (delete_null_pointer_checks_1): Inform caller if any 15702 null pointer checks were eliminated. Update prototype. 15703 (delete_null_pointer_checks): Similarly. 15704 * rtl.h (delete_null_pointer_checks): Update prototype. 15705 * toplev.c (rest_of_compilation): Only run cleanup_cfg if 15706 delete_null_pointer_checks deletes one or more null 15707 pointer checks. Do not run cleanup_cfg before gcse, the 15708 CFG is accurate and optimized at that point.. 15709 15710 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing 15711 of hard registers. 15712 157132002-06-14 Ulrich Weigand <uweigand@de.ibm.com> 15714 15715 * Makefile.in (libgcc.mk): Depend on specs. 15716 15717Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com> 15718 15719 * sh.md (mulsi3): Update way how to find insns in a sequence. 15720 15721Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com> 15722 15723 * sh.h: Define HARD_REGNO_RENAME_OK 15724 * sh.c: sh_hard_regno_rename_ok: New. If current function has 15725 interrupt_handler attribute, only registers saved on stack are OK. 15726 * sh-protos.h: Declare sh_hard_regno_rename_ok. 15727 157282002-06-14 Kaz Kojima <kkojima@gcc.gnu.org> 15729 15730 * config/sh/sh.md (jump): Emit jump insn. 15731 (call_pcrel): Get pattern of the result of gen_call_site. 15732 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise. 15733 157342002-06-14 Neil Booth <neil@daikokuya.demon.co.uk> 15735 15736 * cpphash.h (struct cpp_buffer): Remove saved_line_base. 15737 * cpptrad.c: Update comments. 15738 (skip_whitespace, copy_comment): Take a new parameter. 15739 (skip_escaped_newlines): Don't duplicate escaped newline test. 15740 (copy_comment): Different location for CUR, decide here how 15741 to copy / replace the comment. 15742 (skip_whitespace): Copy whitespace. 15743 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base. 15744 (scan_out_logical_line): Let copy comment handle keeping or 15745 replacing comments. 15746 (scan_parameters, _cpp_create_trad_definition): Update. 15747 157482002-06-13 Alan Lehotsky <apl@alum.mit.edu> 15749 15750 * reload.c (get_secondary_mem,find_reloads_address, 15751 find_reloads_address_1): Pass reference to MEM to find_reloads_address 15752 so that LEGITIMIZE_RELOAD_ADDRESS will be called. 15753 157542002-06-13 Jessica Han <jessica@cup.hp.com> 15755 15756 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New. 15757 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New. 15758 * doc/tm.texi: Document them. 15759 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New. 15760 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New. 15761 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode. 15762 (ASM_OUTPUT_FDESC): Likewise. 15763 157642002-06-13 Eric Christopher <echristo@redhat.com> 15765 15766 * diagnostic.c (output_format): Fix thinko. 15767 15768Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com> 15769 15770 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define. 15771 (DWARF2_UNWIND_INFO): Define to 0. 15772 15773 * config/sh/sh.c (calc_live_regs): Don't use initial_value 15774 optimization for PR_MEDIA_REG. 15775 157762002-06-13 Neil Booth <neil@daikokuya.demon.co.uk> 15777 15778 * cpphash.h (_cpp_lex_identifier_trad): Remove. 15779 * cpplib.c (end_directive): Don't skip, always remove overlay 15780 apart from #define. 15781 (prepare_directive_trad): Handle NULL pfile->directive. 15782 (_cpp_handle_directive): Always call prepare_directive_trad 15783 if traditional. 15784 * cppmain.c (check_multiline_token): Rename account_for_newlines, 15785 generalize inputs. 15786 (scan_translation_unit_trad): Use it. 15787 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to 15788 output, get escaped newline in comment close correct. 15789 (check_output_buffer, skip_whitespace): Update. 15790 (_cpp_lex_identifier_trad): Remove. 15791 (scan_out_logical_line): Handle -C and comments in directives 15792 properly. 15793 15794Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com> 15795 15796 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*. 15797 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT. 15798 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros. 15799 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise. 15800 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise. 15801 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise. 15802 (SELECT_SH5_COMPACT_NOFPU): Likewise. 15803 (TARGET_SWITCHES): Use them. 15804 (TARGET_CPU_DEFAULT): Define if not already defined. 15805 (TARGET_DEFAULT): Use it. 15806 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT. 15807 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN. 15808 * config/sh/t-monolib: New file. 15809 158102002-06-13 Roger Sayle <roger@eyesopen.com> 15811 15812 * toplev.c (rest_of_compilation): Simplify (and correct) the 15813 logic of the first delete-null-pointer-checks pass. 15814 15815Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz> 15816 15817 * i386.c (ix86_expand_movstr): Fix pasto. 15818 15819Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz> 15820 15821 * reload.c (find_valid_class): Fix thinko in my previous patch. 15822 158232002-06-13 Ulrich Weigand <uweigand@de.ibm.com> 15824 15825 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro. 15826 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro. 15827 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove. 15828 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64. 15829 158302002-06-13 Gabriel Dos Reis <gdr@codesourcery.com> 15831 15832 * tree-inline.c (expand_call_inline): Don' mess with _DECL 15833 fields. 15834 158352002-06-13 Gabriel Dos Reis <gdr@codesourcery.com> 15836 15837 * diagnostic.c (output_format): Recognize "%H" as a format 15838 specifier for a location_t. 15839 (text_specifies_location): New function. 15840 (diagnostic_set_info): Use it. 15841 158422002-06-13 Jeffrey Law <law@redhat.com> 15843 15844 * emit-rtl.c (static_regno_reg_rtx): Define. 15845 (init_emit_once): Initialize static_regno_reg_rtx. 15846 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead 15847 of building new hard reg objects once per function. 15848 (gen_rtx_REG): Try to share hard regs. 15849 * regclass.c (init_fake_stack_mems): New function broken out from 15850 init_regs. 15851 * rtl.h (init_fake_stack_mems): Declare. 15852 * toplev.c (lang_independent_init): Call init_regs before 15853 init_emit_once. Call init_fake_stack_mems after init_emit_once. 15854 15855 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko. 15856 15857 * alias.c (argument_registers): Remove. 15858 (init_alias_once): Initialize static_reg_base_value here. Remove 15859 initialization of argument_registers. 15860 (init_alias_once_per_function): Remove. 15861 (init_alias_analysis): Copy all the entries from static_reg_base_value 15862 into new_reg_base_value all at once. 15863 * rtl.h (init_alias_once_per_function): Remove declaration. 15864 * function.c (prepare_function_start): Do not call 15865 init_alias_once_per_function. 15866 15867 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of 15868 starting a sequence and emitting an INSN. 15869 158702002-06-13 Richard Sandiford <rsandifo@redhat.com> 15871 15872 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case. 15873 158742002-06-13 David S. Miller <davem@redhat.com> 15875 15876 * expmed.c (init_expmed): Remove duplicate init of 'reg'. 15877 158782002-06-13 Neil Booth <neil@daikokuya.demon.co.uk> 15879 15880 * cpplib.c (end_directive): Handle line skipping. Only remove 15881 the rest of the line if the directive was valid. 15882 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when 15883 expanding a traditional macro. 15884 * cpptrad.c (recursive_macro): New. 15885 (read_logical_line_trad): Handle skipping. 15886 (scan_out_logical_line): Continue after a successful directive. 15887 Don't expand macros whilst skipping, or if recursing. 15888 (_cpp_create_trad_definition): scan_out_logical_line now sets 15889 the output current position. 15890 158912002-06-12 Eric Christopher <echristo@redhat.com> 15892 15893 From Chris Demetriou <cgd@broadcom.com> 15894 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix 15895 comment. 15896 (ISA_HAS_MADD_MSUB): Ditto. 15897 (ISA_HAS_NMADD_NMSUB): Ditto. 15898 158992002-06-12 Eric Christopher <echristo@redhat.com> 15900 15901 * config.gcc: Consolidate little endian handling and 15902 little/big endian targets. 15903 * config/mips/elfl.h: Remove file. 15904 * config/mips/elfl64.h: Ditto. 15905 * config/mips/ecoffl.h: Ditto. 15906 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove. 15907 159082002-06-12 Geoffrey Keating <geoffk@redhat.com> 15909 15910 * gengtype.h (xvasprintf): New prototype. 15911 (xasprintf): New prototype. 15912 (struct outf): New. 15913 (get_output_file): Return an outf_p. 15914 (header_file): Is now an outf_p. 15915 (base_files): Now are outf_p. 15916 (oprintf): New. 15917 * gengtype.c: Replace all output FILE * with outf_p; use oprintf 15918 rather than stdio operations. Use xasprintf in a few places, 15919 when appropriate. 15920 (xvasprintf): New. 15921 (xasprintf): New. 15922 (struct filemap): Delete. 15923 (files): Delete. 15924 (output_files): New. 15925 (oprintf): New. 15926 (create_file): Create an outf_p. Add parameter to indicate output 15927 file name, change all callers. 15928 (open_base_files): Create gtype-desc.c here. 15929 (get_output_file_with_visibility): Rewrite. 15930 (get_output_file_name): Just look at 'name' field in struct outf. 15931 (close_output_files): Rewrite. 15932 159332002-06-12 Jason Thorpe <thorpej@wasabisystems.com> 15934 15935 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT) 15936 (MASK_G_FLOAT): Define. 15937 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them. 15938 (TARGET_SWITCHES): Likewise. 15939 (TARGET_DEFAULT): Likewise. 15940 159412002-06-12 Daniel Jacobowitz <drow@mvista.com> 15942 15943 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define. 15944 * config/mips/mips.c (mips_output_filename): Don't print a 15945 ".file" directive if we are using DWARF-2. 15946 (mips_output_function_prologue): Do not emit source file 15947 name for TARGET_GAS. 15948 15949Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz> 15950 15951 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to 15952 decide whether emit the short opcode. 15953 * i386.h (x86_shift1): Declare. 15954 (TARGET_SHIFT1): New macro. 15955 * i386.c (x86_shift1): New global variable. 15956 15957 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop 15958 unconditionally; make loop to rebuild CFG; kill unnecesary 15959 find_basic_block calls; kill compute_bb_for_insn call. 15960 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call. 15961 * haifa-sched.c (sched_init): Likewise. 15962 * ssa-ccp.c (ssa_const_prop): Likewise. 15963 * ssa-dce.c (ssa_eliminate_dead_code): Likewise. 15964 159652002-06-11 David S. Miller <davem@redhat.com> 15966 15967 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if 15968 active_insn_p. 15969 159702002-06-11 Richard Henderson <rth@redhat.com> 15971 15972 * c-common.c (builtin_define_type_max): New. 15973 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__, 15974 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__. 15975 15976 From Joseph S. Myers: 15977 * glimits.h: Rewrite to expect the double underscore definitions 15978 from the compiler. 15979 15980 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h, 15981 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h, 15982 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h, 15983 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, 15984 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h, 15985 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h, 15986 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__, 15987 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__. 15988 159892002-06-11 Richard Henderson <rth@redhat.com> 15990 15991 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New. 15992 (ALPHA_BUILTIN_SET_THREAD_POINTER): New. 15993 (code_for_builtns): Update. 15994 (alpha_init_builtins): Add __builtin_thread_pointer and 15995 __builtin_set_thread_pointer. 15996 (alpha_expand_builtin): Handle void builtins. 15997 * doc/extend.texi (Alpha Built-in Functions): Update. 15998 159992002-06-11 Hans-Peter Nilsson <hp@axis.com> 16000 16001 PR target/6997 16002 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none". 16003 160042002-06-11 Zack Weinberg <zack@codesourcery.com> 16005 16006 * config.gcc: Make the name of the extra-modes file adjustable 16007 by target stanzas. 16008 (s390x, strongarm, xscale stanzas): Use this facility. 16009 * configure.in: Update to match. 16010 * configure: Regenerate. 16011 160122002-06-11 Aldy Hernandez <aldyh@redhat.com> 16013 16014 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned 16015 max/mins as unsigned GE compares. 16016 160172002-06-11 Jason Thorpe <thorpej@wasabisystems.com> 16018 16019 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}. 16020 * config/vax/bsd.h: New file. 16021 * config/vax/netbsd.h: Add missing notice. 16022 (CPP_PREDEFINES): Remove. 16023 (TARGET_OS_CPP_BUILTINS): Define. 16024 (CPP_SPEC): Use NETBSD_CPP_SPEC. 16025 * config/vax/openbsd.h: Update copyright years. 16026 (CPP_PREDEFINES): Remove. 16027 (TARGET_OS_CPP_BUILTINS): Define. 16028 * config/vax/ultrix.h: Likewise. 16029 * config/vax/vaxv.h: Likewise. 16030 * config/vax/vms.h: Likewise. 16031 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define. 16032 (CPP_PREDEFINES, CPP_SPEC): Remove. 16033 16034Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz> 16035 16036 * i386.md (addqi_1_slp, subqi_1_slp 16037 (andqi_ext0, testqi_ext0): Remove unnecesary check. 16038 (addhi*, addqi*): Simplify "dec" condition. 16039 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check. 16040 (and, or, xor to QImode splitters): New. 16041 (iorqi_ext*): New. 16042 (xorqi_ext_0): New. 16043 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions. 16044 (andqi_ext_1_rex64): New. 16045 (ashrqi*_slp): New. 16046 (ashlqi*_slp): New. 16047 (lshlqi*_slp): New. 16048 (rotrqi3*_slp): New. 16049 (rotlqi3*_slp): New. 16050 160512002-06-11 Geoffrey Keating <geoffk@redhat.com> 16052 16053 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including 16054 softfloat.h. 16055 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete. 16056 (CPP_ENDIAN_LITTLE_SPEC): Delete. 16057 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete. 16058 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting, 16059 __LONG_DOUBLE_128__ setting, _CALL_* setting. 16060 (CPP_DEFAULT_SPEC): Delete. 16061 (CPP_FLOAT_DEFAULT_SPEC): Delete. 16062 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete. 16063 (CPP_SYSV_DEFAULT_SPEC): Delete. 16064 (CPP_ENDIAN_BIG_SPEC): Delete. 16065 (CPP_ENDIAN_LITTLE_SPEC): Delete. 16066 (CPP_ENDIAN_SPEC): Delete. 16067 (CPP_SPEC): Don't include cpp_endian, cpp_cpu. 16068 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default, 16069 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default, 16070 cpp_longdouble_default. 16071 * config/rs6000/softfloat.h: Delete. 16072 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete. 16073 (EXTRA_SPECS): Delete cpp_cpu. 16074 (TARGET_CPU_CPP_BUILTINS): New. 16075 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New 16076 prototype. 16077 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New. 16078 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines. 16079 (CPP_DEFAULT_SPEC): Delete. 16080 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete. 16081 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__. 16082 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu. 16083 (CPP_DEFAULT_SPEC): Delete. 16084 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC. 16085 (CPLUSPLUS_CPP_SPEC): Likewise. 16086 (CPP_CPU_SPEC): Delete. 16087 (CPP_DEFAULT_SPEC): Delete. 16088 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC. 16089 (CPLUSPLUS_CPP_SPEC): Likewise. 16090 (CPP_CPU_SPEC): Delete. 16091 (CPP_DEFAULT_SPEC): Delete. 16092 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu. 16093 (CPP_DEFAULT_SPEC): Delete. 16094 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu. 16095 (CPP_DEFAULT_SPEC): Delete. 16096 16097 * doc/gty.texi: Small updates. 16098 160992002-06-12 Gabriel Dos Reis <gdr@codesourcery.com> 16100 16101 * objc/objc-act.c (warn_with_ivar): Adjust calls to 16102 diagnostic_count_error. 16103 (warn_with_method): Likewise. 16104 16105 * diagnostic.h (warnings_are_errors_message): New field of 16106 diagnostic_context. 16107 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to 16108 match semantics. 16109 * diagnostic.c: Adjust calls to diagnostic_count_error through out. 16110 (diagnostic_count_diagnostic): Make aware of other kinds of 16111 diagnostics. 16112 (diagnostic_initialize): Initialize warnings_are_errors_message field. 16113 161142002-06-11 Tom Tromey <tromey@redhat.com> 16115 16116 For PR java/6520: 16117 * fold-const.c (fold_convert): Don't modify existing tree's type. 16118 161192002-06-11 Geoffrey Keating <geoffk@redhat.com> 16120 16121 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers. 16122 161232002-06-11 Richard Henderson <rth@redhat.com> 16124 16125 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration. 16126 161272002-06-11 Richard Henderson <rth@redhat.com> 16128 16129 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if 16130 DWARF2_UNWIND_INFO is false. 16131 161322002-06-11 Bob Wilson <bob.wilson@acm.org> 16133 16134 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete. 16135 16136 * config/s390/s390.c (emit_prologue): gen_store_multiple 16137 returns an insn now, not a pattern. 16138 161392002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 16140 16141 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to 16142 $(TEXI2DVI) -o. 16143 16144Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz> 16145 16146 * i386.c (x86_promote_QImode): Set for Athlon 16147 (x86_fast_prefix): New global variable. 16148 (x86_arch_always_fancy_math_387): Fix formating. 16149 * i386.h (x86_fast_prefix): Declare 16150 (TARGET_FAST_PREFIX): define. 16151 * i386.md (and to strict_low_part, HI to SI 16152 promoting splitter): Use new macro. 16153 16154 * i386.h (RTX_COSTS): float_extend is not for free for SSE. 16155 161562002-06-11 Zack Weinberg <zack@codesourcery.com> 16157 16158 * Makefile.in (distclean): Delete junk left in testsuite 16159 directory, too. 16160 161612002-06-11 Jeffrey Law <law@redhat.com> 16162 16163 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the 16164 last insn created by the splitter. 16165 16166 * caller-save.c (init_caller_save): Move creation of SAVEINSN 16167 and RESTINSN into the scope of the sequence. 16168 16169 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial 16170 RETURN insns. 16171 16172 * loop.c (loop_regs_scan): Avoid useless generation of REG objects. 16173 16174 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now, 16175 not the pattern. So extract the pattern from the insn. 16176 16177 * mips.c (embedded_pic_fnaddr_reg): Fix typo. 16178 161792002-06-11 Ulrich Weigand <uweigand@de.ibm.com> 16180 16181 * config/s390/s390.md (movsi): Only use floating point 16182 register alternatives when operands are already fprs. 16183 (movdi_31, movdi_64): Likewise. 16184 161852002-06-11 David S. Miller <davem@redhat.com> 16186 16187 * emit-rtl.c (try_split): Do not abort on non-INSN_P. 16188 Only run RTX equality checks on INSN_P rtl. 16189 161902002-06-11 Ulrich Weigand <uweigand@de.ibm.com> 16191 16192 * config/s390/s390.md (reload_base, ltorg): Remove. 16193 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool, 16194 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove. 16195 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool, 16196 s390_asm_output_pool_prologue): Likewise. 16197 * s390.h (s390_pool_start_insn): Likewise. 16198 16199 * s390.c (s390_output_symbolic_const): Remove support for 16200 old-style pool chunks. 16201 (s390_function_epilogue): Likewise. 16202 (s390_output_constant_pool): Likewise. Also, fix incorrect 16203 alignment for 64-bit literal pools. 16204 (print_operand_address): Remove 'y' and 'Y' format flags. 16205 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for 16206 old-style pool chunks. 16207 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise. 16208 (ASM_OUTPUT_POOL_EPILOGUE): Remove. 16209 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove. 16210 16211 * s390.c (consttable_operand): New function. 16212 * s390-protos.h (consttable_operand): Declare it. 16213 * s390.h (PREDICATE_CODES): Add consttable_operand. 16214 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di, 16215 consttable_sf, consttable_df, pool_start_31, pool_end_31, 16216 pool_start_64, pool_end_64, reload_base, reload_base2): New insns. 16217 * s390.c (struct constant, struct constant_pool): New data types. 16218 (constant_modes, gen_consttable): New variables. 16219 (s390_start_pool, s390_end_pool, s390_add_pool, 16220 s390_dump_pool, s390_free_pool): New functions. 16221 (s390_chunkify_pool): Completely reimplement literal pool 16222 overflow handling. 16223 16224 * s390.c (s390_pool_overflow): New variable. 16225 * s390.h (s390_pool_overflow): Declare it. 16226 * s390.md (cjump, icjump): Use it to adapt length for out-of-range 16227 jumps in literal pool overflow situations. 16228 16229 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets. 16230 (s390_frame_info): Account for possible use of RETURN_REGNUM 16231 by new literal pool overflow code. 16232 (s390_emit_prologue): Likewise. 16233 162342002-06-05 David S. Miller <davem@redhat.com> 16235 16236 Delete SEQUENCE rtl usage outside of reorg and ssa passes. 16237 * rtl.h (gen_sequence, emit_insns, emit_insns_before, 16238 emit_insns_before_scope, emit_insns_after, 16239 emit_insns_after_scope): Delete declaration. 16240 * ada/misc.c (insert_code_for): Use emit_insn* instead of 16241 emit_insns_foo. 16242 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE. 16243 (alpha_set_memflags): Fix comment. 16244 (set_frame_related_p): Use get_insns instead of gen_sequence. 16245 * config/alpha/alpha.md (setjmp receiver splitter): Avoid 16246 emitting no insns. 16247 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of 16248 gen_sequence. 16249 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise. 16250 * config/fr30/fr30.c (fr30_move_double): Likewise. 16251 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr): 16252 Likewise. 16253 * config/ia64/ia64.c (spill_restore_mem): Likewise. 16254 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting 16255 no insns. 16256 * config/m32r/m32r.c (gen_split_move_double): Use get_insns 16257 instead of gen_sequence. 16258 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise. 16259 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise. 16260 * config/sh/sh.c (sh_need_epilogue): Likewise. 16261 * config/sparc/sparc.md (current_function_calls_alloca, flat): New 16262 attributes. 16263 (setjmp pattern and split): Use them to avoid splitter which emits 16264 no RTL. 16265 * genattrtab.c (main): Emit include of function.h 16266 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use 16267 get_insns instead of gen_sequence. 16268 * config/cris/cris.c (cris_split_movdx): Likewise. 16269 * emit-rtl.c (emit_insns*): Kill. 16270 (try_split): Expect insn list instead of SEQUENCE. 16271 (make_jump_insn_raw, make_call_insn_raw): Fix comments. 16272 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs. 16273 Make them abort if a SEQUENCE is given and RTL checking is 16274 enabled. 16275 (emit_*_scope): Don't forget to set scope on final insn. 16276 (gen_sequence): Move from here... 16277 * ssa.c (gen_sequence): To here as private function. 16278 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix 16279 comments. 16280 (expand_builtin_return, expand_builtin_mathfn): Likewise. 16281 (expand_builtin_strlen): Use get_insns instead of gen_sequence. 16282 (expand_builtin_saveregs): Use emit_insn_foo, fix comments. 16283 (expand_builtin_expect_jump): Use get_insns and fix comments. 16284 * calls.c (try_to_integrate): Use emit_insn_foo. 16285 (expand_call, emit_library_call_value_1): Likewise. 16286 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE. 16287 (emit_move_insn_1): Use get_insns instead of gen_sequence. 16288 (expand_expr): Use emit_insn_foo. 16289 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo. 16290 * except.c (build_post_landing_pads): Likewise. 16291 * flow.c (attempt_auto_inc): Likewise. 16292 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label, 16293 expand_nl_goto_receivers, expand_decl_cleanup): Likewise. 16294 * function.c (fixup_var_refs_insn): Use get_insns instead of 16295 gen_sequence. 16296 (fixup_var_refs_1): Likewise and expect insn list from gen_foo. 16297 (fixup_memory_subreg): Use get_insns instead of gen_sequence. 16298 (fixup_stack_1, purge_addressof_1, expand_main_function, 16299 get_arg_pointer_save_area): Likewise. 16300 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms, 16301 expand_function_end): Use emit_insn_foo. 16302 (record_insns, keep_stack_depressed): Work with insn list instead 16303 of SEQUENCE, fix comments. 16304 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag, 16305 noce_try_store_flag_constants, noce_try_store_flag_inc, 16306 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith, 16307 noce_try_minmax, noce_try_abs): Use emit_insn_foo. 16308 (noce_process_if_block): Use get_insns instead of gen_sequence. 16309 * optabs.c (add_equal_note): Work with insn list, fix comments. 16310 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo. 16311 (expand_unop, expand_complex_abs, expand_unop_insn, 16312 expand_no_conflict_block): Likewise. 16313 (gen_move_insn): Use get_insns instead of gen_sequence. 16314 (gen_cond_trap): Likewise. 16315 * integrate.c (copy_rtx_and_substitute): Likewise. 16316 (emit_initial_value_sets): Use emit_insn_foo. 16317 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise. 16318 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently 16319 now that RTL generators give insn lists. 16320 * sibcall.c (replace_call_placeholder): Use emit_insn_foo. 16321 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns 16322 instead of gen_sequence. 16323 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl. 16324 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns 16325 instead of gen_sequence. 16326 * loop.c (move_movables, emit_prefetch_instructions, 16327 gen_add_mult, check_dbra_loop, gen_load_of_final_value): 16328 Likewise. 16329 (loop_regs_update): Work with insn list instead of SEQUENCE rtl. 16330 (product_cheap_p): Likewise, and add commentary about RTL wastage 16331 here. 16332 * lcm.c (optimize_mode_switching): Use get_insns instead of 16333 gen_sequence. 16334 * profile.c (gen_edge_profiler): Likewise. 16335 * regmove.c (copy_src_to_dest): Likewise. 16336 * reg-stack.c (compensate_edge): Likewise and fix comment. 16337 * gcse.c (process_insert_insn): Likewise. 16338 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl. 16339 * jump.c (delete_prior_computation): Update comment. 16340 * genemit.c (gen_expand, gen_split, main): Use get_insns instead 16341 of gen_sequence, update comments to match. 16342 * recog.c (peephole2_optimize): Work with insn lists instead of 16343 SEQUENCE rtl. 16344 * sched-vis.c (print_pattern): Abort on SEQUENCE. 16345 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value): 16346 Use get_insns instead of gen_sequence. 16347 (copy_loop_body): Likewise and don't emit dummy NOTE. 16348 * genrecog.c: Don't mention SEQUENCE rtl in comments. 16349 * combine.c (try_combine): Expect insn lists from split generator. 16350 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by 16351 hand. 16352 163532002-06-11 Roger Sayle <roger@eyesopen.com> 16354 Andreas Jaeger <aj@suse.de> 16355 16356 * cfgbuild.c: Update copyright years. 16357 163582002-06-11 Andreas Schwab <schwab@suse.de> 16359 16360 * config/m68k/m68k.h (PREDICATE_CODES): Define. 16361 163622002-06-11 Eric Christopher <echristo@redhat.com> 16363 16364 * doc/tm.texi (Run-time Target): Add comment about flag_iso 16365 and strict ANSI. 16366 * config/mips/ecoff.h (CPP_PREDEFINES): Remove. 16367 * config/mips/ecoffl.h: Ditto. 16368 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove. 16369 (CPP_PREDEFINES): Ditto. 16370 * config/mips/elfl64.h: Ditto. 16371 * config/mips/elfl.h: Ditto. 16372 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0 16373 out until irix header consolidation. 16374 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace 16375 with SUBTARGET_OS_CPP_BUILTINS. 16376 * config/mips/iris6.h: Ditto. 16377 (CPLUSPLUS_CPP_SPEC): Remove. 16378 * config/mips/linux.h: Ditto. 16379 * config/mips/netbsd.h: Ditto. 16380 * config/mips/openbsd.h: Ditto. 16381 * config/mips/rtems.h: Ditto. 16382 * config/mips/rtems64.h: Ditto. 16383 * config/mips/sni-svr4.h: Ditto. 16384 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, 16385 ISA_MIPS32, ISA_MIPS64): New defines. 16386 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS, 16387 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4, 16388 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB, 16389 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use. 16390 (TARGET_CPU_CPP_BUILTINS): Define. 16391 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove. 16392 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64. 16393 (movdicc): Remove check for ISA_MIPS32. 16394 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, 16395 sunordered_df, sunordered_sf, sordered_df, sordered_sf, 16396 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df, 16397 sunge_sf, sunle_df, sunle_sf): New patterns. 16398 163992002-06-11 Neil Booth <neil@daikokuya.demon.co.uk> 16400 16401 * Makefile.in: Update cppmain.o. 16402 * cpphash.h (struct cpp_reader): Move some members to a 16403 nested structure. 16404 (trad_line): Rename saved_line. 16405 (_cpp_read_logical_line_trad): Update. 16406 (_cpp_remove_overlay): New. 16407 * cppinit.c (cpp_create_reader): No need to set saved_line. 16408 (cpp_destroy): Update. 16409 (cpp_read_main_file): Only overlay if compiling. 16410 * cpplex.c (continue_after_nul): Return false if in directive. 16411 * cpplib.c (EXPAND): New. 16412 (directive_table, SEEN_EOL): Update. 16413 (end_directive): Remove overlay if traditional; don't skip 16414 line in traditional #define. 16415 (prepare_directive_trad): New. 16416 (_cpp_handle_directive, run_directive): Update for traditional 16417 directives. 16418 (lex_macro_node): Simplify, don't use lex_identifier_trad. 16419 * cpplib.h (struct options): Add preprocess_only. 16420 * cppmain.c: Don't include intl.h. 16421 (cpp_preprocess_file): Set options->preprocess_only. 16422 (scan_translation_unit_trad): Fix, and print line numbers. 16423 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters, 16424 maybe_start_funlike, scan_out_logical_line, replace_args_and_push, 16425 save_replacement_text, _cpp_create_trad_definition): Update for 16426 variable renaming. 16427 (_cpp_overlay_buffer): Save line number. 16428 (_cpp_remove_overlay): Rename from restore_buff, restore line. 16429 (_cpp_read_logical_line_trad): Don't handle overlays here. 16430 (scan_out_logical_line): Process directives. 16431 164322002-06-11 Danny Smith <dannysmith@users.sourforge.net> 16433 16434 * gthr-win32.h: Wrap functions in extern "C". 16435 (__gthread_key_t): Typedef as unsigned long, 16436 not win32 DWORD. 16437 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE. 16438 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE. 16439 (__gthr_win32_once, __gthr_win32_key_create, 16440 __gthr_win32_key_delete, __gthr_win32_getspecific, 16441 __gthr_win32_setspecific, __gthr_win32_mutex_init_function, 16442 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock, 16443 __gthr_win32_mutex_unlock): Declare. 16444 (__gthread_once,__gthread_key_create, 16445 __gthread_key_delete, __gthread_getspecific, 16446 __gthread_setspecific, __gthread_mutex_init_function, 16447 __gthread_mutex_lock,__gthread_mutex_trylock, 16448 __gthread_mutex_unlock): Call corresponding 16449 __gthr_win32_* extern implementations if #defined 16450 __GTHREAD_HIDE_WIN32API. 16451 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to 16452 $(srcdir)/config/i386/gthr-win32.c 16453 * config/i386/gthr-win32.c: New implementation file. 16454 (__gthr_win32_once, __gthr_win32_key_create, 16455 __gthr_win32_key_delete, __gthr_win32_getspecific, 16456 __gthr_win32_setspecific, __gthr_win32_mutex_init_function, 16457 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock, 16458 __gthr_win32_mutex_unlock): New functions, based on 16459 static inlines in gthr-win32.h. 16460 164612002-06-10 Bob Wilson <bob.wilson@acm.org> 16462 16463 * config/xtensa/xtensa.c (override_options): Don't warn about 16464 using -fpic or -fPIC when PIC is enabled by default. 16465 164662002-06-10 Roger Sayle <roger@eyesopen.com> 16467 16468 * toplev.c (rest_of_compilation): Revert flag_if_conversion change. 16469 164702002-06-10 Zack Weinberg <zack@codesourcery.com> 16471 16472 * Makefile.in (MACHMODE_H): Add @extra_modes_file@. 16473 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def 16474 exists, substitute its pathname as @extra_modes_file@, define 16475 EXTRA_MODES_FILE to be an appropriate string to #include it 16476 with, and define EXTRA_CC_MODES to 1. 16477 16478 * machmode.def: Update comments. Include EXTRA_MODES_FILE if 16479 it's defined. Get rid of redundancy in calling sequence for 16480 CC; don't use it to define CCmode, to avoid a warning. 16481 * libgcc2.c: Include symcat.h for the sake of machmode.def. 16482 16483 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def, 16484 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def, 16485 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def: 16486 New files. 16487 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h, 16488 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES. 16489 16490 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for 16491 defining extra CC modes. 16492 164932002-06-10 Roger Sayle <roger@eyesopen.com> 16494 Andreas Jaeger <aj@suse.de> 16495 16496 * cfgrtl.c (create_basic_block_structure): Remove index argument 16497 and use last_basic_block++ instead. (create_basic_block): Update. 16498 * cfgbuild.c (find_basic_blocks_1): Likewise. 16499 16500 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument. 16501 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller. 16502 * sched-ebb.c (schedule_ebbs): Likewise. 16503 * sched-rgn.c (schedule_insns): Likewise. 16504 * ssa-ccp.c (ssa_const_prop): Likewise. 16505 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise. 16506 * toplev.c (rest_of_compilation): Likewise. 16507 * config/ia64/ia64.c (ia64_reorg): Likewise. 16508 165092002-06-10 Roger Sayle <roger@eyesopen.com> 16510 16511 * simplify-rtx.c (simplify_replace_rtx): Allow replacement 16512 of matching registers. 16513 165142002-06-10 Roger Sayle <roger@eyesopen.com> 16515 16516 * toplev.c (rest_of_compilation): Disable early if-conversion pass. 16517 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test. 16518 165192002-06-10 Hans-Peter Nilsson <hp@bitrange.com> 16520 16521 * config/mmix/mmix.h: Improve comments. 16522 (CPP_SPEC, CPP_PREDEFINES): Don't define. 16523 (TARGET_CPU_CPP_BUILTINS): Define. 16524 (CANONICALIZE_COMPARISON): Don't define, replace with comment. 16525 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove 16526 unused predicate. 16527 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid 16528 compiler warning. 16529 (mmix_constant_address_p): Remove another 16530 redundant test before case. 16531 (mmix_canonicalize_comparison): Remove unused function. 16532 (mmix_print_operand_address): Don't test and adjust for operand in 16533 non-canonical format. 16534 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate. 16535 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON. 16536 165372002-06-10 Zack Weinberg <zack@codesourcery.com> 16538 16539 * config/m32r/m32r.h: Don't define SELECT_CC_MODE. 16540 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode. 16541 * config/m32r/m32r.c: Don't define m32r_select_cc_mode. 16542 (gen_compare): Use CCmode unconditionally. 16543 165442002-06-10 Jakub Jelinek <jakub@redhat.com> 16545 16546 PR optimization/6759 16547 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into 16548 the REQ_EQUAL note. 16549 165502002-06-10 Jakub Jelinek <jakub@redhat.com> 16551 16552 PR c/6660 16553 * c-decl.c (grokfield): Allow user defined types if they declare 16554 structs or unions for unnamed fields. 16555 165562002-06-10 Jakub Jelinek <jakub@redhat.com> 16557 16558 PR c/6809 16559 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields. 16560 165612002-06-10 Jakub Jelinek <jakub@redhat.com> 16562 16563 PR optimization/6842 16564 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode 16565 operand subreg cannot be simplified. 16566 165672002-06-10 Jakub Jelinek <jakub@redhat.com> 16568 16569 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR. 16570 (compare_constant): Likewise. 16571 (output_addressed_constants): Likewise. 16572 165732002-06-10 Jakub Jelinek <jakub@redhat.com> 16574 16575 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't 16576 merge bb with itself. 16577 165782002-06-10 Richard Henderson <rth@redhat.com> 16579 16580 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask. 16581 (builtin_zapnot): Likewise. 16582 16583 * config/alpha/ev5.md: Don't combine shift and mvi insns in one 16584 reservation. 16585 165862002-06-10 Eric Christopher <echristo@redhat.com> 16587 16588 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove 16589 prototype and function. 16590 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version. 16591 (call_insn_operand): Remove half pic references. 16592 (legitimate_address_p): Ditto. 16593 * config/i386/i386.h: Remove half pic defines. 16594 165952002-06-10 Eric Christopher <echristo@redhat.com> 16596 16597 * doc/extend.texi (Return Address): Add note explaining the side- 16598 effects of inlining on __builtin_return_address. 16599 166002002-06-10 Tom Tromey <tromey@redhat.com> 16601 16602 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h. 16603 (c-common.o): Depend on langhooks.h. 16604 166052002-06-10 Neil Booth <neil@daikokuya.demon.co.uk> 16606 16607 * cpphash.h (_cpp_read_logical_line_trad, 16608 _cpp_expansions_different_trad): Update prototypes. 16609 * cpplex.c (continue_after_nul): New. 16610 * cppmain.c: Include cpphash.h. 16611 (scan_translation_unit_trad): New. 16612 (cpp_preprocess_file): Call it. 16613 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter 16614 overlay. 16615 (_cpp_expansions_different_trad): Update prototype. 16616 16617Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com> 16618 16619 Fix cfi generation for SH[1-4]: 16620 16621 * sh.c (frame_insn): New function. 16622 (output_stack_adjust): Add parameter emit_fn. All callers changed. 16623 (push): Now returns rtx. Use frame_insn. 16624 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push 16625 of a DF register. 16626 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define. 16627 166282002-06-10 Zack Weinberg <zack@codesourcery.com> 16629 16630 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h, 16631 and gtype-desc.c. 16632 (mostlyclean): Delete specs.h, options.h, gencheck.h here... 16633 (distclean): ... not here. But do delete all testsuite/*.log, 16634 testsuite/*.sum files here. Delete mkheaders. Delete 16635 po/*.gmo and the testsuite directory in a split tree build. 16636 166372002-06-10 Jeffrey Law <law@redhat.com> 16638 16639 * alias.c (static_reg_base_value): New to hold RTL for 16640 items allocated once per function for the aliasing code. 16641 (init_alias_once_per_function): Initialize static_reg_base_value. 16642 (init_alias_analysis): Avoid throw-away allocations of RTL by 16643 using pre-computed values in static_reg_base_value. 16644 * function.c (prepare_function_start): Call 16645 init_alias_once_per_function appropriately. 16646 * rtl.h (init_alias_once_per_function): Declare. 16647 * caller-save (init_caller_save): Restructure slightly to 16648 avoid lots of silly RTL generation. 16649 * expr.c (init_expr_once): Likewise. 16650 * reload1.c (reload_cse_regs_1): Allocate throw-away register 16651 RTL object here. Pass it into children. 16652 (reload_cse_simplify_operands): Use passed-in register RTL 16653 object. 16654 (reload_cse_simplify): Pass through throw-away register 16655 RTL object. 16656 166572002-06-10 Daniel Berlin <dberlin@dberlin.org> 16658 16659 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing. 16660 166612002-06-10 Richard Sandiford <rsandifo@redhat.com> 16662 16663 * gcc.c (process_command): Avoid assignment to read-only location. 16664 Fix sizeof calculation. 16665 166662002-06-10 Neil Booth <neil@daikokuya.demon.co.uk> 16667 16668 * cpphash.h (struct cpp_macro): Put comments on their own lines. 16669 (_cpp_expansions_different_trad): New. 16670 * cppmacro.c (warn_of_redefinition): Fix for traditional case. 16671 * cpptrad.c (canonicalize_text): New. 16672 (scan_out_logical_line): Handle no arguments correctly. 16673 (save_replacement_text): Commit memory when finished. 16674 (_cpp_expansions_different_trad): New. 16675 166762002-06-10 Tim Josling <tej@melbpc.org.au> 16677 16678 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages 16679 TREELANG and COBOL. 16680 (lang_names): Add treelang and cobol. 16681 (get_file_basename): Add code to support treelang and cobol as 16682 4th and 5th users of c-common.c. 16683 166842002-06-09 Geoffrey Keating <geoffk@redhat.com> 16685 16686 * Makefile.in (install-driver): Install driver as 16687 $(target_alias)-gcc-$(version). 16688 * gcc.c (spec_version): Make const. 16689 (process_command): Handle -V and -b by using exec. 16690 * doc/invoke.texi (Target Options): Restore -V option, 16691 update docs for -b option. 16692 166932002-06-10 Tim Josling <tej@melbpc.org.au> 16694 16695 * configure.in (remaining_languages_check): 16696 Added check that all languages specified were found. 16697 Exit if not found. Previous behavior was silent failure. 16698 * configure: Regenerated. 16699 167002002-06-10 Tim Josling <tej@melbpc.org.au> 16701 16702 First steps to making treelang documentation compliant, based on 16703 instructions in sourcebuild.texi. Also add to gcc.c list of 16704 default languages. 16705 16706 * doc/contrib.texi: Add self as contributor of treelang. 16707 16708 * doc/frontends.texi: Add mention of treelang. 16709 16710 * doc/invoke.texi (Overall Options): Add mention of treelang. 16711 16712 * doc/standards.texi: Add mention of treelang. 16713 167142002-06-09 Hans-Peter Nilsson <hp@axis.com> 16715 16716 * config/cris/cris.c: Include ggc.h 16717 167182002-06-09 Neil Booth <neil@daikokuya.demon.co.uk> 16719 16720 * cpphash.h (_cpp_push_text_context): Update. 16721 (_cpp_arguments_ok): New. 16722 * cppmacro.c (_cpp_arguments_ok): New, split out from... 16723 (collect_args): ...here. 16724 (_cpp_push_text_context): Change inputs. 16725 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument, 16726 replace_args_and_push): New. 16727 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters): 16728 Don't use IS macros directly. 16729 (scan_out_logical_line): Handle function-like macro argument 16730 collection. 16731 (push_replacement_text): Update. 16732 (replacement_length): Remove. 16733 (_cpp_create_trad_definition): Don't skip whitespace before 16734 checking for '('. 16735 167362002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl> 16737 16738 * config/avr/avr.c (avr_mcu_types): Update for new devices. 16739 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls. 16740 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices. 16741 * config/avr/avr.md ("type" and "length" attributes): New type 16742 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that 16743 output a single "call" or "rcall" insn depending on device size. 16744 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices. 16745 167462002-06-09 David Edelsohn <edelsohn@gnu.org> 16747 16748 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3 16749 synonym for 630. Add power4. Remove embedded processors. Use -m604 16750 assembler option. 16751 (CPP_CPU_SPEC): Add power3 and power4. 16752 (PROCESSOR_DEFAULT): Change to 604e. 16753 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions. 16754 (CPP_CPU_SPEC): Similar additions. 16755 (enum process_type): Add POWER4. 16756 (RTX_COSTS): Add POWER4. 16757 (CPP_CPU_SPEC): Similar additions. 16758 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define. 16759 (PROCESSOR_DEFAULT64): Define. 16760 * config/rs6000/rs6000.c (rs6000_override_options): Add power4. 16761 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to 16762 branch adjustment. 16763 (rs6000_issue_rate): Add Power4. 16764 * config/rs6000/rs6000.md (cpu attr): Add power4. 16765 (iu compare): Remove 604, 604e, 620, 630. 16766 Add basic Power4 scheduling information. 16767 (mfcr/mtcrf): Change type attribute to cr_logical. 16768 167692002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 16770 16771 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add 16772 ATTRIBUTE_PRINTF_2. 16773 * gengtype-lex.l: Fix format specifier warning. 16774 16775 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE, 16776 not isspace. 16777 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in 16778 lieu of isspace/IDchar. 16779 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum. 16780 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or 16781 ISSPACE. 16782 167832002-06-08 Zack Weinberg <zack@codesourcery.com> 16784 16785 * Makefile.in (LIBCPP_OBJS): Take out version.o. 16786 * cpphash.h (cpp_reader): Take out print_version member. 16787 * cppinit.c: (cpp_handle_option): Don't do anything with 16788 -version. Just set help_only for --version, --target-help. 16789 Just set verbose option for -v. 16790 (cpp_post_options): Don't print a version string. 16791 167922002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl> 16793 16794 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New. 16795 (avr_section_type_flags): New, handle .noinit* sections. 16796 167972002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16798 16799 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define 16800 and include netbsd_entry_point. 16801 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF. 16802 (NETBSD_ENTRY_POINT): Define. 16803 168042002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16805 16806 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty 16807 if not already defined. 16808 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS. 16809 168102002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl> 16811 16812 * config/avr/avr.c (avr_regs_to_save): No need to save any registers 16813 in a noreturn function. 16814 (avr_output_function_prologue, avr_output_function_epilogue): 16815 Correct function size calculation. Do not crash on empty function. 16816 (avr_output_function_epilogue): No need for epilogue after a BARRIER. 16817 168182002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16819 16820 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add 16821 netbsd_link_spec and netbsd_entry_point. 16822 (LINK_SPEC): Use %(netbsd_link_spec). 16823 (NETBSD_ENTRY_POINT): Define. 16824 168252002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16826 16827 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify 16828 linker emulation. 16829 (LINK_ARCH64_SPEC): Likewise. 16830 (LINK_SPEC, NETBSD_ENTRY_POINT): Define. 16831 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point. 16832 168332002-06-08 Marc Espie <espie@openbsd.org> 16834 16835 * lists.c (free_list): Fix typo in comment. 16836 168372002-06-08 Andreas Jaeger <aj@suse.de> 16838 16839 * lcm.c (optimize_mode_switching): Add unused attribute for 16840 variable. 16841 16842 * sched-deps.c (sched_analyze): Remove unused variable. 16843 168442002-06-08 Gabriel Dos Reis <gdr@codesourcery.com> 16845 16846 * diagnostic.def: Don't capitalize diagnostict descriptors. 16847 168482002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16849 16850 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point. 16851 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF. 16852 (NETBSD_ENTRY_POINT): Define. 16853 168542002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16855 16856 * config/i386/netbsd-elf.h (LINK_SPEC): Define as 16857 NETBSD_LINK_SPEC_ELF. 16858 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point. 16859 (NETBSD_ENTRY_POINT): Define. 16860 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec). 16861 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and 16862 netbsd_entry_point. 16863 (NETBSD_ENTRY_POINT): Define. 16864 168652002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16866 16867 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add 16868 netbsd_link_spec and netbsd_entry_point. 16869 (LINK_SPEC): Use %(netbsd_link_spec). 16870 (NETBSD_ENTRY_POINT): Define. 16871 168722002-06-08 Jason Thorpe <thorpej@wasabisystems.com> 16873 16874 * config/netbsd-elf.h (LINK_SPEC): Rename to... 16875 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point) 16876 to specify program entry point. 16877 168782002-06-07 Jeff Law <law@redhat.com 16879 16880 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx. 16881 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather 16882 than creating a new register. 16883 (distribute_notes): Likewise. 16884 * df.c (df_reg_use_gen): Likewise. 16885 (df_reg_clobber_gen): Likewise. 16886 (df_ref_record): Likewise. 16887 * expr.c (use_regs): Likewise. 16888 * flow.c (propagate_one_insn): Likewise. 16889 (mark_set_1): Likewise. 16890 (mark_used_reg): Likewise. 16891 * reload.c (emit_reload_insns): Likewise. 16892 168932002-06-07 Roger Sayle <roger@eyesopen.com> 16894 16895 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form 16896 (ne (comp x y) 0) into (comp x y) where comp is a comparison code. 16897 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the 16898 comparison code comp can be reversed. 16899 169002002-06-07 Roger Sayle <roger@eyesopen.com> 16901 16902 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real 16903 constants last in comparisons. Optimize (x+1.0)>0.0 into the 16904 equivalent x > -1.0 when -ffast-math. 16905 169062002-06-07 Jason Thorpe <thorpej@wasabisystems.com> 16907 16908 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}. 16909 * config/mips/t-netbsd: New file. 16910 169112002-06-07 Zack Weinberg <zack@codesourcery.com> 16912 16913 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W 16914 options their own entries. 16915 (parse_option): Clarify comment. 16916 (cpp_handle_option): Remove 'ignore' parameter and OPT_W 16917 special case. Replace if/strcmp chain for -W options with 16918 use of new OPT_* entries for them. 16919 (cpp_handle_options): Update to match. 16920 * cpplib.h: Remove last parameter to cpp_handle_option from prototype. 16921 * c-decl.c: Update call to cpp_handle_option. 16922 169232002-06-07 Akim Demaille <akim@epita.fr> 16924 16925 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action. 16926 Whitespace changes. 16927 169282002-06-07 Jeffrey Law <law@redhat.com> 16929 16930 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list 16931 on empty lists. 16932 169332002-06-07 H.J. Lu (hjl@gnu.org) 16934 16935 * configure.in: Add --enable-__cxa_atexit. 16936 * configure: Regenerated. 16937 * config.in: Likewise. 16938 16939 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if 16940 not defined. 16941 169422002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net> 16943 16944 * diagnostic.c (diagnostic_build_prefix): Fix initialization. 16945 169462002-06-07 Jason Thorpe <thorpej@wasabisystems.com> 16947 16948 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define. 16949 169502002-06-07 Jason Merrill <jason@redhat.com> 16951 16952 * cppexp.c (num_equality_op): Use a temporary variable to work 16953 around gcc 3.0.4 bug. 16954 169552002-06-07 Gabriel Dos Reis <gdr@codesourcery.com> 16956 16957 * diagnostic.c (diagnostic_build_prefix): Tidy. 16958 169592002-06-07 Neil Booth <neil@daikokuya.demon.co.uk> 16960 16961 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN, 16962 scan_parameters, save_replacement_text, replacement_length): New. 16963 (scan_out_logical_line): Take a macro and save parameters if 16964 non-NULL. 16965 (_cpp_logical_line_trad): Update. 16966 (_cpp_create_trad_definition): Update to handle function-like 16967 macros. 16968 * cpplex.c (new_buff): Update. 16969 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move... 16970 * cpphash.h: ...here. 16971 (CPP_ALIGN2, _cpp_save_parameter): New. 16972 * cppmacro.c (save_parameter): Rename, export. 16973 (parse_params): Update. 16974 169752002-06-07 Andreas Jaeger <aj@suse.de> 16976 16977 * config/mmix/mmix.c: Remove extra broken prototype for 16978 mmix_init_machine_status. 16979 169802002-06-06 Geoffrey Keating <geoffk@redhat.com> 16981 16982 * gengtype.c: Add comments before all the routines. 16983 169842002-06-07 Jason Thorpe <thorpej@wasabisystems.com> 16985 16986 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32 16987 from and add t-sh64 to ${tmake_file}. 16988 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}. 16989 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove. 16990 * config/sh/t-netbsd-sh5-32: Remove. 16991 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use 16992 MULTILIB_ENDIAN. 16993 (MULTILIB_DIRNAMES): Define. 16994 16995Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz> 16996 16997 * i386.md (and promoting splitters): Disable QI to SImode promoting 16998 when doing so changes immediate to be 32bit. 16999 17000 * rtl.h (emit_*_scope): Declare. 17001 * emit-rtl.c (emit_*_scope): New global functions. 17002 (try_split): Copy scope. 17003 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants, 17004 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove, 17005 noce_try_cmove_arith, noce_try_minmax, noce_try_abs, 17006 noce_process_if_block, find_cond_trap): Copy scopes. 17007 * recog.c (peephole2_optimize): likewise. 17008 170092002-06-06 Jeffrey Law <law@redhat.com> 17010 17011 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking. 17012 17013Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com> 17014 17015 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'". 17016 170172002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 17018 17019 * Makefile.in (TEXI_GCCINSTALL_FILES): Define. 17020 ($(docdir)/gccinstall.info): New target. 17021 (info): Depend on it. 17022 (gccinstall.dvi): New target. 17023 (dvi): Depend on it. 17024 * doc/.cvsignore: Ignore new info files. 17025 * doc/install.texi (@setfilename): Reflect new info filename. 17026 17027Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com> 17028 17029 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P 17030 on an UNSPEC. 17031 17032Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it> 17033 17034 PR objc/6834 17035 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be 17036 c_common_get_alias_set. 17037 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p. 17038 170392002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca> 17040 17041 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New 17042 functions. 17043 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare. 17044 * avr/avr.c (avr_output_function_epilogue): Use above to determine 17045 function size. 17046 * pa/pa.c (pa_output_function_prologue): Likewise. 17047 170482002-06-05 David S. Miller <davem@redhat.com> 17049 17050 * integrate.c (subst_constants): Handle 'B' RTL format. 17051 170522002-06-05 Eric Christopher <echristo@redhat.com> 17053 17054 * varasm.c (make_decl_rtl): Fix comment for removed 17055 halfpic.c. 17056 170572002-06-05 Eric Christopher <echristo@redhat.com> 17058 17059 * Makefile.in: Remove missed halfpic bits. 17060 170612002-06-05 Eric Christopher <echristo@redhat.com> 17062 17063 * toplev.c: Remove half-pic. 17064 * config/mips/mips.c: Ditto. 17065 * config/mips/mips.h: Ditto. Remove unused defines. 17066 * config/mips/openbsd.h: Update comment to reflect above. 17067 * config/mips/mips.md: Remove half-pic constraints. 17068 * halfpic.h: Delete. 17069 * halfpic.c: Ditto. 17070 170712002-06-05 Jeffrey Law <law@redhat.com> 17072 17073 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it 17074 rejects (mem (lo_sum (reg) (unspec))), but will allow 17075 (mem (lo_sum (reg) (symbol_ref)) for PA2.0. 17076 170772002-06-05 Neil Booth <neil@daikokuya.demon.co.uk> 17078 17079 * cpphash.h (_cpp_create_definition): Update prototype. 17080 (_cpp_push_text_context, _cpp_create_trad_definition): New. 17081 ( cpp_lex_identifier_trad): New. 17082 (_cpp_set_trad_context): New. 17083 * cppinit.c (cpp_finish_options): Don't conditionalize builtins. 17084 * cpplib.c (SEEN_EOL): Update. 17085 (lex_macro_node): Update for -traditional. 17086 (cpp_push_buffer, _cpp_pop_buffer): Similarly. 17087 * cppmacro.c (_cpp_create_definition): Split into 17088 create_iso_definition() and _cpp_create_trad_definition(). 17089 (warn_of_redefinition): Update prototype; handle traditional 17090 macros. 17091 (_cpp_push_text_context): New. 17092 * cpptrad.c (skip_whitespace, push_replacement_text): New. 17093 (lex_identifier): Call ht_lookup with correct start. 17094 (_cpp_lex_identifier_tradm _cpp_create_trad_definition, 17095 _cpp_set_trad_context): New. 17096 (scan_out_logical_line): Update to handle changing contexts. 17097 17098Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com> 17099 17100 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify. 17101 (shl*-*-elf*): Add. 17102 * config/sh/t-be (MULTILIB_ENDIAN): Set. 17103 * config/sh/t-le (MULTILIB_ENDIAN): Likewise. 17104 * t-sh (MULTILIB_ENDIAN): Set. 17105 (MULTILIB_OPTIONS): Use it. 17106 * t-sh64 (MULTILIB_OPTIONS): Likewise. 17107 (MULTILIB_DIRNAMES): Likewise. 17108 171092002-06-05 Gabriel Dos Reis <gdr@codesourcery.com> 17110 17111 * toplev.h (report_error_function): Remove. 17112 17113 * diagnostic.h (location_t): New datatype. 17114 (text_info): Likewise. 17115 (diagnostic_info): Likewise. 17116 (output_prefix): New macro. 17117 (diagnostic_last_function_changed): Likewise. 17118 (diagnostic_set_last_function): Likewise. 17119 (diagnostic_last_module_changed): Likewise. 17120 (diagnostic_set_last_module): Likewise. 17121 (report_diagnostic): Now macro. 17122 (diagnostic_set_info): Declare. 17123 17124 * diagnostic.c (report_problematic_module): Rename to 17125 diagnostic_repor_current_module. 17126 (set_diagnostic_context): Remove. 17127 (count_error): Rename to diagnostic_error_count. 17128 (error_function_changed): Remove. 17129 (record_last_error_function): Likewise. 17130 (error_module_changed): Likewise. 17131 (record_last_error_module): Likewise. 17132 (context_as_prefix): Rename to diagnostic_build_prefix. 17133 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer. 17134 (diagnostic_set_info): New function. 17135 17136 * objc/objc-act.c: #include diagnostic.h 17137 (error_with_ivar): Adjust call to count_error. 17138 (warn_with_method): Likewise. 17139 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h 17140 171412002-06-05 Bob Wilson <bob.wilson@acm.org> 17142 17143 * config/xtensa/xtensa.c (xtensa_build_va_list): Use 17144 lang_hooks.types.make_type instead of make_node; set up 17145 __va_list_tag type decl. 17146 (xtensa_builtin_saveregs): Remove broken use of 17147 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P 17148 for saved registers; add varargs alias set. 17149 171502002-06-05 Neil Booth <neil@daikokuya.demon.co.uk> 17151 17152config: 17153 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS. 17154 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than 17155 CPP_PREDEFINES and part of CPP_SPEC. 17156 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h, 17157 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly. 17158 17159Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz> 17160 17161 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks. 17162 171632002-06-05 Alan Modra <amodra@bigpond.net.au> 17164 17165 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define. 17166 171672002-06-04 Zack Weinberg <zack@codesourcery.com> 17168 17169 * gengtype-yacc.y: Make sure all rules end with a semicolon. 17170 171712002-06-04 Bob Wilson <bob.wilson@acm.org> 17172 17173 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix 17174 typo in function prototype and include "ggc.h" header. 17175 171762002-06-04 Richard Henderson <rth@redhat.com> 17177 17178 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs. 17179 (print_operand) ['U']: Likewise. 17180 (alpha_expand_unaligned_store): Correct constants for 32-bit cross. 17181 (alpha_expand_unaligned_store_words): Likewise. 17182 (alpha_expand_builtin_vector_binop): Fix typo. 17183 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk, 17184 umulh, and cix insns. 17185 (one_arg_builtins): Add cix builtins. 17186 (two_arg_builtins): Add ext, ins, msk, umulh builtins. 17187 (alpha_expand_builtin): Fix typo in arity. 17188 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New. 17189 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh, 17190 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll, 17191 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh, 17192 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql, 17193 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz, 17194 builtin_ctlz, builtin_ctpop): New. 17195 * doc/extend.texi (Alpha Built-in Functions): Update. 17196 171972002-06-04 Geoffrey Keating <geoffk@redhat.com> 17198 17199 * gengtype.c (write_gc_root): Don't unnecessarily prevent 17200 global variable-length arrays being roots. 17201 17202 * config.gcc (powerpc-*-darwin*): Set config_gtfiles. 17203 * configure.in (config_gtfiles): New variable. 17204 (all_gtfiles): Initialize from config_gtfiles. 17205 * configure: Regenerate. 17206 172072002-06-04 Neil Booth <neil@daikokuya.demon.co.uk> 17208 17209config/i386: 17210 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h, 17211 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h, 17212 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h, 17213 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h, 17214 win32.h (CPP_SPEC): Remove cpp_cpu. 17215 * i386.h (TARGET_CPU_CPP_BUILTINS): Use. 17216 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die! 17217 172182002-06-04 Janis Johnson <janis187@us.ibm.com> 17219 17220 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name. 17221 172222002-06-04 Jeff Law <law@redhat.com. 17223 David Edelsohn <edelsohn@gnu.org> 17224 Michael Matz <matz@kde.org> 17225 17226 * sched-int.h (struct deps): New field libcall_block_tail_insn. 17227 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn. 17228 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn 17229 is set, then mark the current insn as being part of a libcall 17230 scheduling group. 17231 (sched_analyze): Set and clear libcall_block_tail_insn appropriately. 17232 17233 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER 17234 insns against the issue rate. 17235 17236Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz> 17237 17238 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes. 17239 * final.c (final_scan_insn): Likewise. 17240 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use 17241 NOTE_EXPECTED_VALUE instead of NOTE_RANGE. 17242 * haifa-sched.c (unlink_other_notes): Likeewise. 17243 (reemit_notes): Likewise. 17244 * print-rtl.c (print_rtx): Likewise. 17245 * sched-deps (sched-analyze): Likewise. 17246 * rtl.c (note_insn_name): Likewise. 17247 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill. 17248 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE. 17249 (RANGE_*): Kill. 17250 172512002-06-04 Jason Thorpe <thorpej@wasabisystems.com> 17252 17253 * varasm.c (mark_constants): Handle RTX format 'B'. 17254 172552002-06-04 Neil Booth <neil@daikokuya.demon.co.uk> 17256 17257 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New. 17258 (struct cpp_context): Add traditional fields. 17259 * cppmacro.c (paste_all_tokens, push_ptoken_context, 17260 push_token_context, cpp_get_token, _cpp_backup_tokens): Update. 17261 * cpptrad.c (skip_comment, lex_identifier, 17262 _cpp_read_logical_line_trad, scan_out_logical_line): Update. 17263 172642002-06-04 Kazu Hirata <kazu@cs.umass.edu> 17265 17266 * gbl-ctors.h: Fix formatting. 17267 * gcc.c: Likewise. 17268 * gccspec.c: Likewise. 17269 * gcov.c: Likewise. 17270 * gcov-io.h: Likewise. 17271 * gcse.c: Likewise. 17272 * ggc-common.c: Likewise. 17273 * ggc.h: Likewise. 17274 * ggc-page.c: Likewise. 17275 * ggc-simple.c: Likewise. 17276 * global.c: Likewise. 17277 * graph.h: Likewise. 17278 * gthr-dce.h: Likewise. 17279 * gthr.h: Likewise. 17280 * gthr-posix.h: Likewise. 17281 * gthr-rtems.h: Likewise. 17282 * gthr-solaris.h: Likewise. 17283 * gthr-win32.h: Likewise. 17284 172852002-06-03 Geoffrey Keating <geoffk@redhat.com> 17286 17287 Merge from pch-branch: 17288 17289 * gengtype.h (UNION_OR_STRUCT_P): New macro. 17290 * gengtype.c (write_gc_structure_fields): Use it. 17291 (write_gc_root): Use it here too. 17292 17293 * gengtype.c (write_gc_structure_fields): Assume that lengths 17294 of typenames fit into an 'int'; don't pass a size_t to "%d" in 17295 printf. 17296 (write_gc_marker_routine_for_structure): Likewise. 17297 (write_gc_types): Likewise. 17298 (write_gc_root): Likewise. 17299 17300 * varray.h (VARRAY_CLEAR): New. 17301 (varray_clear): Prototype. 17302 * varray.c (varray_clear): New. 17303 * cselib.c (reg_values_old): New. 17304 (used_regs_old): New. 17305 (cselib_init): Use cached varrays if available to avoid 17306 generating large amounts of garbage. 17307 (cselib_finish): Don't throw away old varrays. 17308 17309 * final.c (insn_addresses_): Move out of ifdef. 17310 17311 * varray.c (uses_ggc): Make more varray kinds GCable. 17312 * varray.h (union varray_data_tag): Let gengtype see 17313 fields 'generic' and 'te'. 17314 * reg-stack.c: Include gt-reg-stack.h, ggc.h. 17315 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype. 17316 (reg_to_stack): Don't call VARRAY_FREE. 17317 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE. 17318 (insn_addresses_): Use gengtype to mark. 17319 * gengtype.c (write_gc_structure_fields): Handle arrays of generic 17320 pointers; handle generic pointers in unused union fields. 17321 (get_output_file_with_visibility): Include cselib.h, 17322 insn-addr.h in gtype-desc.c. 17323 * function.c (prologue): Use gengtype to mark. 17324 (epilogue): Likewise. 17325 (sibcall_epilogue): Likewise. 17326 * dependence.c: Include gt-dependence.h, ggc.h. 17327 (struct def_use): Use gengtype to mark. 17328 (struct loop): Likewise. 17329 (struct induction): Likewise. 17330 (struct dependence): Likewise. 17331 (def_use_chain): Likewise. 17332 (dep_chain): Likewise. 17333 (loop_chain): Likewise. 17334 (induction_chain): Likewise. 17335 (init_dependence_analysis): Don't free anything, just clear pointers. 17336 (build_def_use): Use GGC to allocate def_use. 17337 (add_loop): Use GGC to allocate loop. 17338 (find_induction_variable): Use GGC to allocate induction. 17339 (check_node_dependence): Use GGC to allocate induction, dependence. 17340 (dump_node_dependence): Don't free varrays. 17341 (end_dependence_analysis): Likewise. 17342 * cselib.h (struct cselib_val_struct): Use gengtype to mark. 17343 (struct elt_loc_list): Likewise. 17344 (struct elt_list): Likewise. 17345 * cselib.c: Don't include obstack.h. 17346 (hash_table): Use gengtype to mark. 17347 (reg_values): Use gengtype to mark. 17348 (used_regs): Use gengtype to mark. 17349 (cselib_obstack): Delete. 17350 (cselib_startobj): Delete. 17351 (empty_vals): Mark as deletable. 17352 (empty_elt_lists): Mark as deletable. 17353 (empty_elt_loc_lists): Mark as deletable. 17354 (new_elt_list): Use GGC to allocate struct elt_list. 17355 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list. 17356 (clear_table): Don't delete obstack; don't unnecessarily clear 17357 deletable variables. 17358 (new_cselib_val): Use GGC to allocate struct cselib_val. 17359 (cselib_init): Don't set up obstacks. Use GGC to allocate 17360 hash table. 17361 (cselib_finish): Just clear variables, don't free anything. 17362 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H). 17363 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H). 17364 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H). 17365 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c. 17366 (gt-reg-stack.h): New rule. 17367 (gt-dependence.h): New rule. 17368 (gtype-desc.o): Add cselib.h, insn-addr.h. 17369 17370 * varray.c: Use only necessary headers. 17371 (element_size): New. 17372 (uses_ggc): New. 17373 (varray_init): Take type, not size. Use GGC if appropriate. 17374 (varray_grow): Update for change to struct varray_head_tag. 17375 Use GGC if appropriate. 17376 * varray.h (struct const_equiv_data): Use gengtype. 17377 (enum varray_data_enum): New. 17378 (union varray_data_tag): Use gengtype. 17379 (struct varray_head_tag): Use gengtype. Replace size field with 17380 enum varray_data_enum. 17381 (varray_init): Update prototype. 17382 (VARRAY_SCHED_INIT): Delete. 17383 (VARRAY_*_INIT): Update for change to varray_init. 17384 (VARRAY_SCHED): Delete. 17385 (VARRAY_PUSH_SCHED): Delete. 17386 (VARRAY_TOP_SCHED): Delete. 17387 * tree.h: Update for change to length specifier. 17388 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE. 17389 (clone_body): Likewise. 17390 * ssa.h (ssa_definition): Use gengtype to mark. 17391 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE. 17392 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE. 17393 * rtl.h (struct rtvec_def): Update for change to length specifier. 17394 * integrate.c (expand_inline_function): Don't use VARRAY_FREE. 17395 (struct initial_value_struct): Update for change to length specifier. 17396 * ggc.h (ggc_add_rtx_varray_root): Delete prototype. 17397 (ggc_add_tree_varray_root): Delete prototype. 17398 (ggc_mark_rtx_varray): Delete prototype. 17399 (ggc_mark_tree_varray): Delete prototype. 17400 * ggc-common.c (ggc_add_rtx_varray_root): Delete. 17401 (ggc_add_tree_varray_root): Delete. 17402 (ggc_mark_rtx_varray): Delete. 17403 (ggc_mark_tree_varray): Delete. 17404 (ggc_mark_rtx_varray_ptr): Delete. 17405 (ggc_mark_tree_varray_ptr): Delete. 17406 * gengtype.h (enum typekind): Remove TYPE_VARRAY. 17407 (create_varray): Delete prototype. 17408 * gengtype.c (varrays): Delete. 17409 (create_varray): Delete. 17410 (adjust_field_type): Detect array of string pointers. 17411 (process_gc_options): Remove code to handle varray_type option. 17412 (set_gc_used_type): Remove TYPE_VARRAY case. 17413 (output_escaped_param): New. 17414 (write_gc_structure_fields): Use output_escaped_param on all 17415 parameters. Handle 'skip' with 'use_param' option. Handle 17416 arrays of strings. Remove TYPE_VARRAY handling. 17417 (write_gc_roots): Use boolean to detect 'length' option. 17418 * gengtype-yacc.y (VARRAY_TYPE): Delete token. 17419 (struct_fields): Call adjust_field_type on array fields. 17420 (type): Remove VARRAY_TYPE case. 17421 (type_option): Likewise. 17422 * gengtype-lex.l: Don't consider varray_type a keyword. 17423 * function.h: Update for change to length specifier. 17424 (free_eh_status): Delete prototype. 17425 * function.c (free_after_compilation): Don't call free_eh_status. 17426 (reorder_blocks): Don't use VARRAY_FREE. 17427 * except.c (struct eh_status): Update for change to length specifier. 17428 remove varray_type specifier. 17429 (free_eh_status): Delete. 17430 * dwarf2out.c: Include gt-dwarf2out.h. 17431 (used_rtx_varray): Use gengtype to mark, move 17432 outside ifdefs. 17433 (incomplete_types): Likewise. 17434 (decl_scope_table): Likewise. 17435 (dwarf2out_init): Don't call ggc_add_tree_varray_root. 17436 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE. 17437 * c-tree.h (struct lang_type): Update for change to length specifier. 17438 * c-parse.in (yylexstring): Don't use VARRAY_FREE. 17439 * c-objc-common.c: Include gt-c-objc-common.h. 17440 (deferred_fns): Mark for gengtype. 17441 (c_objc_common_init): Don't call ggc_add_tree_varray_root. 17442 (expand_deferred_fns): Just set deferred_fns to 0 to free it. 17443 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h. 17444 (gtype-desc.o): Update dependencies. 17445 (dwarf2out.o): Add gt-dwarf2out.h. 17446 (varray.o): Update dependencies. 17447 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c. 17448 (gt-c-objc-common.h): New rule. 17449 (gt-dwarf2out.h): New rule. 17450 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE. 17451 17452 * doc/gty.texi (GTY Options): Correct spelling. 17453 (GGC Roots): Likewise. 17454 * Makefile.in (TEXI_CPP_FILES): New. 17455 (TEXI_GCC_FILES): New. 17456 (TEXI_GCCINT_FILES): New. 17457 (TEXI_CPPINT_FILES): New. 17458 ($(docdir)/cpp.info): Use new macros. 17459 ($(docdir)/gcc.info): Likewise. 17460 ($(docdir)/gccint.info): Likewise. 17461 ($(docdir)/cppinternals.info): Likewise. 17462 (cpp.dvi): Likewise. 17463 (gcc.dvi): Likewise. 17464 (gccint.dvi): Likewise. 17465 (cppinternals.dvi): Likewise. 17466 17467 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi. 17468 * doc/gccint.texi (Top): Include gty.texi. 17469 * doc/gty.texi: New file. 17470 17471 * bitmap.c: Include ggc.h, gt-bitmap.h. 17472 (bitmap_ggc_free): New. 17473 (bitmap_elem_to_freelist): New. 17474 (bitmap_element_free): Use bitmap_elem_to_freelist. 17475 (bitmap_element_allocate): Allow use of GGC. 17476 (bitmap_clear): Use bitmap_elem_to_freelist. 17477 (bitmap_copy): Update for change to bitmap_element_allocate. 17478 (bitmap_set_bit): Likewise. 17479 (bitmap_operation): Update for changes elsewhere. 17480 (bitmap_initialize): Allow to create bitmaps that will use GGC. 17481 * bitmap.h (struct bitmap_element_def): Use gengtype. 17482 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field. 17483 (bitmap_initialize): Add extra parameter. 17484 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize. 17485 (BITMAP_ALLOCA): Delete. 17486 (BITMAP_XMALLOC): Update for change to bitmap_initialize. 17487 (BITMAP_GGC_ALLOC): New. 17488 * Makefile.in (gtype-desc.o): Add bitmap.h. 17489 (bitmap.o): Add gt-bitmap.h, $(GGC_H). 17490 (GTFILES): Add bitmap.c. 17491 (gt-bitmap.h): New rule. 17492 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h. 17493 * basic-block.h: Update for changes to bitmap_initialize. 17494 * except.c (exception_handler_label_map): Move into... 17495 (struct eh_status): Here. 17496 (struct eh_region): Make 'aka' GCable. 17497 (free_eh_status): Don't need to specially handle 17498 exception_handler_label_map. 17499 (add_ehl_entry): Update for changes to exception_handler_label_map. 17500 (find_exception_handler_labels): Likewise. 17501 (remove_exception_handler_label): Likewise. 17502 (maybe_remove_eh_handler): Likewise. 17503 (for_each_eh_label): Likewise. 17504 (remove_eh_handler): Allocate 'aka' using GGC. 17505 * gengtype.c (get_output_file_with_visibility): Add bitmap.h 17506 to list of includes. 17507 17508 * gengtype.c (write_gc_marker_routine_for_structure): Name 17509 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'. 17510 (write_gc_types): Arrange for the tests with NULL to be inlined. 17511 (write_gc_roots): Update uses of procedure pointers. 17512 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def. 17513 17514 * Makefile.in (explow.o): Add dependency on gt-explow.h. 17515 (sdbout.o): Add dependency on gt-sdbout.h. 17516 17517 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries. 17518 (mem_attrs_htab): Likewise. 17519 (init_emit_once): Don't call ggc_add_deletable_htab. 17520 * fold-const.c (size_htab): Use gengtype to clear unused entries. 17521 (size_int_type_wide): Don't call ggc_add_deletable_htab. 17522 * gengtype.c (finish_root_table): Add LASTNAME and TNAME 17523 parameters, use them, change callers. 17524 (write_gc_root): Add IF_MARKED parameter, use it, change callers. 17525 (write_gc_roots): Handle 'if_marked' option. 17526 (main): Don't need to call set_gc_used_type any more. 17527 * ggc.h (ggc_htab_marked_p): Delete. 17528 (ggc_htab_mark): Delete. 17529 (struct ggc_cache_tab): New. 17530 (gt_ggc_cache_rtab): New declaration. 17531 * ggc-common.c (struct d_htab_root): Delete. 17532 (d_htab_roots): Delete. 17533 (ggc_add_deletable_htab): Delete. 17534 (ggc_htab_delete): Handle new htab-deleting mechanism. 17535 (ggc_mark_roots): Use new htab-deleting mechanism. 17536 * tree.c (type_hash_table): Use gengtype to clear unused entries. 17537 Make static. 17538 (init_obstacks): Don't call ggc_add_deletable_htab. 17539 17540 * objc/objc-act.h (struct hashed_attribute): Use gengtype. 17541 (struct hashed_entry): Likewise. 17542 (nst_method_hash_list): Likewise. 17543 (cls_method_hash_list): Likewise. 17544 (HASH_ALLOC_LIST_SIZE): Delete. 17545 (ATTR_ALLOC_LIST_SIZE): Delete. 17546 * objc/objc-act.c (hash_init): Use ggc to allocate 17547 nst_method_hash_list, cls_method_hash_list. 17548 (hash_enter): Use ggc to allocate; allocate one entry at a time. 17549 (hash_add_attr): Likewise. 17550 (ggc_mark_hash_table): Delete. 17551 (objc_act_parse_init): Delete. 17552 (objc_init): Delete reference to objc_act_parse_init. 17553 * tlink.c: Replace hash.h with hashtab.h. Explicitly include 17554 obstack.h. Replace references to 'struct hash_table' with htab_t. 17555 (struct symbol_hash_entry): Replace hash header with key field. 17556 (struct file_hash_entry): Replace hash header with key field. 17557 (struct demangled_hash_entry): Replace hash header with key field. 17558 (hash_string_eq): New. 17559 (hash_string_hash): New. 17560 (symbol_hash_newfunc): Delete. 17561 (symbol_hash_lookup): Modify to use htab_t. 17562 (file_hash_newfunc): Delete. 17563 (file_hash_lookup): Modify to use htab_t. 17564 (demangled_hash_newfunc): Delete. 17565 (demangled_hash_lookup): Modify to use htab_t. 17566 (tlink_init): Modify to use htab_t. 17567 * hash.h: Delete. 17568 * hash.c: Delete. 17569 * ggc.h: Delete forward structure declarations. 17570 Delete prototypes for deleted functions. 17571 * ggc-common.c: Don't include hash.h. 17572 (ggc_add_tree_hash_table_root): Delete. 17573 (ggc_mark_tree_hash_table_entry): Delete. 17574 (ggc_mark_tree_hash_table): Delete. 17575 (ggc_mark_tree_hash_table_ptr): Delete. 17576 * gengtype.c (write_gc_structure_fields): Allow param_is option. 17577 (write_gc_marker_routine_for_structure): Use visibility of 17578 the parameter if there is one. 17579 * function.c: Replace hash.h with hashtab.h. Replace references 17580 to 'struct hash_table *' with htab_t. 17581 (struct insns_for_mem_entry): Include a plain key. 17582 (fixup_var_refs_insns_with_hash): Update to use htab_t. 17583 (insns_for_mem_newfunc): Delete. 17584 (insns_for_mem_hash): Update to use htab_t. 17585 (insns_for_mem_comp): Likewise. 17586 (insns_for_mem_walk): Likewise. 17587 * c-lang.c: Include ggc.h. 17588 * Makefile.in (OBJS): Remove hash.o. 17589 (c-lang.o): Add GGC_H. 17590 (COLLECT2_OBJS): Remove hash.o. 17591 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H. 17592 (ggc-common.o): Remove hash.h. 17593 (function.o): Remove hash.h, add HASHTAB_H. 17594 (genautomata.o): Remove hash.h, add HASHTAB_H. 17595 17596 * varasm.c (mark_const_str_htab_1): Delete. 17597 (mark_const_str_htab): Delete. 17598 (const_str_htab_del): Delete. 17599 (const_str_htab): Use gengtype to mark. 17600 (init_varasm_once): Use gengtype to mark hashtables. Use GC to 17601 allocate them. 17602 * tree.c (mark_tree_hashtable_entry): Delete. 17603 (mark_tree_hashtable): Delete. 17604 * tree.h (mark_tree_hashtable): Delete prototype. 17605 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL. 17606 (ggc_mark): Likewise. 17607 (ggc_calloc): New. 17608 (htab_create_ggc): New. 17609 * ggc-common.c (ggc_calloc): New. 17610 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT. 17611 (struct type): Add param_struct structure. 17612 * gengtype.c (param_structs): New. 17613 (adjust_field_type): Handle param_is option. 17614 (set_gc_used_type): Handle TYPE_PARAM_STRUCT. 17615 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c. 17616 (write_gc_structure_fields): Add new PARAM parameter. Update 17617 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT. 17618 (write_gc_marker_routine_for_structure): Add new PARAM parameter. 17619 Use it to generate function name. Update callers. 17620 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers. 17621 Process them. 17622 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is 17623 option. 17624 (main): Define PTR as pointer-to-scalar. Don't specially 17625 mark deferred_string or ehl_map_entry. 17626 * gengtype-yacc.y (PARAM_IS): Add new token. 17627 (externstatic): Use adjust_field_type. 17628 (type_option): Add PARAM_IS. 17629 * gengtype-lex.l: Add rule for typedef of function pointers. 17630 Add rule for PARAM_IS. 17631 (IWORD): Add size_t. 17632 * except.c (exception_handler_label_map): Use gengtype to mark. 17633 (type_to_runtime_map): Likewise. 17634 (mark_ehl_map_entry): Delete. 17635 (mark_ehl_map): Delete. 17636 (init_eh): Use gengtype for roots; use GC to allocate hash tables. 17637 (t2r_mark_1): Delete. 17638 (t2r_mark): Delete. 17639 * Makefile.in (gtype-desc.o): Correct dependencies. 17640 (GTFILES): Add hashtab.h. 17641 (genautomata.o): Actually uses hashtab.h. 17642 17643 * Makefile.in (stringpool.o): Add $(GGC_H). 17644 (dwarf2asm.o): Likewise. 17645 (GTFILES): Add hashtable.h. 17646 * c-common.h (struct c_common_identifier): Use gengtype. 17647 * c-decl.h (c_mark_tree): Delete. 17648 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete. 17649 * c-tree.h (struct lang_identifier): Use gengtype. 17650 (union lang_tree_node): New. 17651 (c_mark_tree): Delete prototype. 17652 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy 17653 dwarf2_debug_hooks. 17654 * gengtype-lex.l (IWORD): Allow 'bool'. 17655 (ptr_alias): Match. 17656 * gengtype-yacc.y (ALIAS): New token. 17657 (type_option): New rule. 17658 (option): Use type_option. 17659 * gengtype.c (process_gc_options): New. 17660 (set_gc_used_type): Use it. 17661 (write_gc_structure_fields): Add 'bitmap' parameter, change callers. 17662 Add new variable 't' to hold the type of the field being processed. 17663 Add more error checking. Use UNION_P when looking at 'desc' option. 17664 Handle language-specific structures containing other 17665 language-specific structures. 17666 (write_gc_types): Handle 'ptr_alias' option. 17667 (main): Don't need to specially output lang_type, lang_decl, lang_id2. 17668 * ggc-common.c (ggc_pending_trees): Delete. 17669 (ggc_mark_roots): Don't manipulate ggc_pending_trees. 17670 (ggc_mark_trees): Delete. 17671 (gt_ggc_m_tree_node): Delete. 17672 * ggc.h (ggc_pending_trees): Delete. 17673 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node. 17674 * hashtable.h (ht_identifier): Use gengtype. 17675 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete. 17676 * langhooks.h (struct lang_hooks): Delete mark_tree. 17677 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks 17678 anyway. 17679 * system.h: Poison LANG_HOOKS_MARK_TREE. 17680 * tree.c (tree_node_structure): New. 17681 * tree.h (struct tree_common): Use gengtype. 17682 (struct tree_int_cst): Likewise. 17683 (struct tree_real_cst): Likewise. 17684 (struct tree_string): Likewise. 17685 (struct tree_complex): Likewise. 17686 (struct tree_vector): Likewise. 17687 (struct tree_identifier): Likewise. 17688 (struct tree_list): Likewise. 17689 (struct tree_vec): Likewise. 17690 (struct tree_exp): Likewise. 17691 (struct tree_block): Likewise. 17692 (struct tree_type): Likewise. 17693 (struct tree_decl): Likewise. 17694 (enum tree_structure_enum): New. 17695 (union tree_node): Use gengtype, with an alias. 17696 (tree_node_structure): Prototype. 17697 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete. 17698 17699 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK 17700 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed 17701 to LANG_HOOKS_FUNCTION_FINAL. 17702 * Makefile.in (GTFILES): Add bitmap.h. 17703 * except.c (struct eh_region): Mark field 'aka' to be skipped. 17704 17705 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK] 17706 (alpha_init_machine_status): Give proper type. 17707 * Makefile.in (c-lang.o): Depend on gtype-c.h. 17708 (optabs.o): Depend on gt-optabs.h. 17709 (GTFILES): Add optabs.o. 17710 (gt-optabs.h): Add rule. 17711 * optabs.c: Include gt-optabs.h. 17712 17713 * gengtype.c (set_gc_used_type): Correct some errors in last change. 17714 (write_gc_structure_fields): If a field which should be NULL is 17715 not, abort. 17716 * c-pragma.c: Move struct align_stack and variable alignment_stack 17717 out from the ifdef. 17718 17719 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h. 17720 * config/xtensa/xtensa.c: Include gt-cris.h. 17721 (struct machine_function): Use gengtype to mark. 17722 * config/mmix/mmix.h (struct machine_function): Use gengtype 17723 to mark. 17724 * config/cris/t-cris: Add dependencies for gt-cris.h. 17725 * config/cris/cris.c: Include gt-cris.h. 17726 (struct machine_function): Use gengtype to mark. 17727 * config/rs6000/rs6000.h (struct machine_function): Use gengtype 17728 to mark. 17729 * doc/tm.texi (Per-Function Data): Delete references to 17730 mark_machine_status. 17731 * config/ia64/ia64.c (ia64_override_options): Don't set 17732 mark_machine_status. 17733 * config/i386/i386.c (override_options): Likewise. 17734 * config/d30v/d30v.c (d30v_init_expanders): Likewise. 17735 * config/arm/arm.c (arm_init_expanders): Likewise. 17736 * config/alpha/alpha.c (override_options): Likewise. 17737 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO. 17738 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option. 17739 (write_gc_structure_fields): Don't handle 'really' option. 17740 Handle 'maybe_null' option. 17741 (write_gc_types): Handle 'maybe_null' option. 17742 * function.h (struct function): Don't use "really". 17743 (mark_machine_status): Delete declaration. 17744 (mark_lang_status): Delete declaration. 17745 (gt_ggc_mr_machine_function): Delete prototype. 17746 (gt_ggc_mr_language_function): Delete prototype. 17747 * function.c (mark_machine_status): Delete. 17748 (mark_lang_status): Delete. 17749 (gt_ggc_mr_machine_function): Delete. 17750 (gt_ggc_mr_language_function): Delete. 17751 * c-tree.h (mark_c_function_context): Delete prototype. 17752 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status. 17753 * c-decl.c (struct language_function): Rename from struct 17754 c_language_function. Update uses. Use gengtype to mark. 17755 (mark_c_function_context): Delete. 17756 * c-common.h (struct c_language_function): Rename from struct 17757 language_function. 17758 (mark_stmt_tree): Delete prototype. 17759 (c_mark_lang_decl): Delete prototype. 17760 (mark_c_language_function): Delete prototype. 17761 * c-common.c (mark_stmt_tree): Delete. 17762 (c_mark_lang_decl): Delete. 17763 (mark_c_language_function): Delete. 17764 17765 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT. 17766 (lang_bitmap): New typedef. Use where appropriate. 17767 (struct type): Add gc_used field, lang_struct field. 17768 (UNION_P): New macro. 17769 (new_structure): New prototype. 17770 (find_structure): Remove 'pos' parameter. Change all callers. 17771 * gengtype-lex.l: Update for changes to find_structure. 17772 * gengtype-yacc.y (typedef_struct): Use new_structure. 17773 (yacc_ids): Suppress warning. 17774 (type): Use new_structure. 17775 * gengtype.c (string_type): Update for changes to struct type. 17776 (find_structure): Just find a structure, don't worry about 17777 creating one. 17778 (new_structure): New. 17779 (note_yacc_type): Use new_structure. 17780 (set_gc_used_type): New. 17781 (set_gc_used): New. 17782 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT. 17783 (write_gc_types): Handle TYPE_LANG_STRUCT. 17784 (write_gc_marker_routine_for_structure): New. 17785 (main): Call set_gc_used. Add some calls to set_gc_used_type 17786 for places where GCC doesn't use gengtype properly yet. 17787 * ggc.h (gt_ggc_m_rtx_def): Don't prototype. 17788 (gt_ggc_m_tree_node): Likewise. 17789 17790 * varasm.c (copy_constant): Call expand_constant if we hit 17791 something we can't recognize. 17792 17793 * ggc-common.c (ggc_mark_rtvec_children): Delete. 17794 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec. 17795 (lang_mark_false_label_stack): Delete. 17796 * rtl.h (struct rtvec_def): Use gengtype to mark. 17797 * ggc.h (ggc_mark_rtvec): Delete. 17798 (gt_ggc_m_rtvec_def): Delete. 17799 (ggc_mark_nonnull_tree): Delete. 17800 (ggc_mark_rtvec_children): Delete prototype. 17801 (lang_mark_false_label_stack): Delete declaration. 17802 17803 * gengtype.h (note_yacc_type): Add prototype. 17804 * gengtype.c (note_yacc_type): New function. 17805 * gengtype-lex.l: Add lexer support for yacc files. 17806 * gengtype-yacc.y (start): Extract union from yacc files. 17807 (yacc_union): New rule. 17808 (yacc_typematch): New rule. 17809 (yacc_ids): New rule. 17810 (enum_items): Tweak for efficiency. 17811 (optionseq): Likewise. 17812 17813 * c-common.h (struct language_function): Use gengtype. 17814 (struct c_lang_decl): Likewise. 17815 * c-tree.h (struct lang_decl): Likewise. 17816 (struct lang_type): Likewise. 17817 * c-decl.c (lang_mark_tree): Use generated marker routines to mark 17818 tree language substructures. 17819 17820 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with 17821 ggc_mark_tree. 17822 * dwarf2asm.c (mark_indirect_pool_entry): Likewise. 17823 17824 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays. 17825 17826 * stmt.c (struct nesting): Add discriminator. Use gengtype to 17827 mark. Remove 'data.block.cleanup_ptr' field. 17828 (struct stmt_status): Use usual technique to mark struct nesting. 17829 (gt_ggc_mr_nesting_cond): Delete. 17830 (gt_ggc_mr_nesting_loop): Delete. 17831 (gt_ggc_mr_nesting_block): Delete. 17832 (gt_ggc_mr_nesting_case_stmt): Delete. 17833 (expand_start_cond): Set discriminator. 17834 (expand_start_loop): Likewise. 17835 (expand_start_null_loop): Likewise. 17836 (expand_start_bindings_and_block): Set discriminator. Don't set 17837 deleted fields. 17838 (expand_decl_cleanup): Replace 'cleanup_ptr' with 17839 &thisblock->data.block.cleanups. 17840 (expand_start_case): Set discriminator. 17841 (expand_start_case_dummy): Set discriminator. 17842 17843 * ggc-callbacks.c: Remove. 17844 17845 * gengtype.h (struct type): Add 'u.s.bitmap' field. 17846 (find_structure): Add 'pos' parameter. 17847 * gengtype-lex.l: Update callers to find_structure. 17848 * gengtype-yacc.y: Likewise. 17849 * gengtype.c (find_structure): Allow for structures to be defined 17850 in multiple language backends. 17851 (get_output_file_with_visibility): Include debug.h in gtype-desc.c. 17852 (counter): Rename to gc_counter. 17853 (write_gc_structure_fields): Fail when writing out fields for 17854 an incomplete structure. Ignore arrays of scalars. Handle 17855 'tree_vec' special. 17856 (write_gc_types): Reset counter for each procedure written. 17857 17858 * stmt.c (add_case_node): Use GGC to allocate struct case_node. 17859 (free_case_nodes): Delete. 17860 (expand_end_case_type): Delete call to free_case_nodes. 17861 17862 * Makefile.in (cselib.o): Include gt-<filename>.h. 17863 (gcse.o): Likewise. 17864 (profile.o): Likewise. 17865 (alias.o): Likewise. 17866 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and 17867 alphabetize backend files. 17868 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules. 17869 * alias.c: Use gengtype for roots. 17870 * c-common.h (struct stmt_tree_s): Use gengtype. 17871 * c-decl.c: Use gengtype for roots. 17872 * cselib.c: Use gengtype for roots. 17873 * expr.c: Use gengtype for roots. 17874 * fold-const.c: Use gengtype for roots. 17875 * gcse.c: Use gengtype for roots. 17876 * gengtype-lex.l: Handle typedefs of function types. 17877 Allow for empty array bounds. 17878 Allow processing to stop on initializers. 17879 * gengtype-yacc.y (externstatic): Stop processing on initializers. 17880 (semiequal): New rule. 17881 * gengtype.c (create_file): Tidy output files. 17882 (get_output_file_with_visibility): Fix paren warning. Fix bug 17883 involving multiple input files mapping to one output file. 17884 (write_gc_structure_fields): Skip arrays of scalars. 17885 (write_gc_types): Tidy output files. 17886 (write_gc_root): New function. 17887 (write_gc_roots): Fix bugs, add support for roots that are 17888 structures. 17889 * ggc-common.c (ggc_mark_rtx_ptr): Delete. 17890 (ggc_mark_tree_ptr): Delete. 17891 (ggc_add_rtx_root): Delete. 17892 (ggc_add_tree_root): Delete. 17893 (ggc_del_root): Delete. 17894 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to 17895 allocate struct initial_value_struct. 17896 * profile.c: Use gengtype for roots. 17897 * sdbout.c: Use gengtype for roots. 17898 * varasm.c (mark_weak_decls): Delete unused prototype. 17899 (mark_const_hash_entry): Delete unused function. 17900 * config/darwin-protos.h: Use gengtype for roots. 17901 (machopic_add_gc_roots): Delete. 17902 * config/arm/arm.c: Use gengtype for roots. 17903 * config/arm/arm.h: Use gengtype for roots. 17904 * config/c4x/c4x-protos.h: Use gengtype for roots. 17905 * config/c4x/c4x.c (c4x_add_gc_roots): Delete. 17906 * config/d30v/d30v-protos.h: Use gengtype for roots. 17907 * config/d30v/d30v.c (d30v_add_gc_roots): Delete. 17908 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots. 17909 * config/dsp16xx/dsp16xx.h: Use gengtype for roots. 17910 * config/ia64/ia64-protos.h: Use gengtype for roots. 17911 * config/ia64/ia64.c (ia64_add_gc_roots): Delete. 17912 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots. 17913 * config/m68hc11/m68hc11.c (z_reg): Make global. 17914 (z_reg_qi): Make global. 17915 (m68hc11_add_gc_roots): Delete. 17916 * config/mcore/mcore-protos.h: Use gengtype for roots. 17917 * config/mcore/mcore.c (mcore_add_gc_roots): Delete. 17918 * config/mips/mips.c (mips_add_gc_roots): Delete. 17919 * config/mips/mips.h: Use gengtype for roots. 17920 * config/mmix/mmix.c (override_options): Use gengtype for roots. 17921 * config/mmix/mmix.h: Use gengtype for roots. 17922 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots. 17923 * config/mn10200/mn10200.h: Use gengtype for roots. 17924 * config/pa/pa.c: Use gengtype for roots, marking. 17925 (struct deferred_plabel): Use GGC, gengtype. 17926 (pa_add_gc_roots): Delete. 17927 (mark_deferred_plabels): Delete. 17928 * config/pj/pj-protos.h: Use gengtype for roots. 17929 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define. 17930 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call 17931 machopic_add_gc_roots. 17932 * config/rs6000/rs6000.h: Use gengtype for roots. 17933 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h. 17934 (gt-darwin.h): Add rule. 17935 * config/sh/sh.c: Use gengtype for roots. 17936 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h. 17937 (gt-sh.h): Add rule. 17938 * config/sparc/sparc.c: Use gengtype for roots. 17939 (sparc_add_gc_roots): Delete. 17940 (struct ultrasparc_pipeline_state): Use GGC, gengtype. 17941 (mark_ultrasparc_pipeline_state): Delete. 17942 * config/sparc/sparc.h: Use gengtype for roots. 17943 17944 * Makefile.in (c-parse.o): Update dependencies. 17945 (c-common.o): Likewise. 17946 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in. 17947 Add dependencies for the files they generate. 17948 * c-common.c: Replace ggc_add_* uses with GTY annotations. 17949 * c-common.h: Likewise. 17950 * c-decl.c: Likewise. 17951 (gt_ggc_mp_binding_level): Delete. 17952 * c-lang.c: Include gtype-c.h. 17953 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include 17954 gt-c-parse.h. 17955 * c-pragma.h: Replace ggc_add_* uses with GTY annotations. 17956 (gt_ggc_mp_align_stack): Delete. 17957 * c-tree.h: Replace ggc_add_* uses with GTY annotations. 17958 * function.c: Replace ggc_add_* uses with GTY annotations. 17959 (gt_ggc_mp_function): Delete. 17960 * function.h: Replace ggc_add_* uses with GTY annotations. 17961 * gengtype.c (lang_names): New. 17962 (NUM_BASE_FILES): New. 17963 (open_base_files): Create language base files. 17964 (startswith): New. 17965 (get_file_basename): New. 17966 (get_base_file_bitmap): New. 17967 (get_output_file_with_visibility): Rename from get_output_file. 17968 Add more mappings for various C/Objc filenames. 17969 (finish_root_table): New. 17970 (write_gc_roots): Handle dependencies and scoping properly. 17971 * gengtype.h: Add prototypes for new functions. 17972 * ggc-common.c (struct deletable_root): Delete. 17973 (deletables): Delete. 17974 (ggc_add_deletable_root): Delete. 17975 (ggc_mark_roots): No need to deal with deleted functionality. 17976 * ggc.h (ggc_add_deletable_root): Delete prototype. 17977 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency. 17978 (gtype-objc.h): Add rule to create. 17979 * objc/config-lang.in (gtfiles): New. 17980 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of 17981 ggc_add_* with GTY markers. Include gtype-objc.h. 17982 (ggc_mark_imp_list): Delete. 17983 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers. 17984 * objc/objc-lang.c: Random Whitespace Change. 17985 17986 * except.h (exception_handler_labels): Delete. 17987 (get_exception_handler_labels): New. 17988 * except.c (exception_handler_labels): Delete. 17989 (struct eh_status): Add exception_handler_labels field. 17990 (doing_eh): Don't add exception_handler_labels as root. 17991 (free_eh_status): Don't need to free exception_handler_labels. 17992 (get_exception_handler_labels): New. 17993 (find_exception_handler_labels): Update for move of 17994 exception_handler_labels. 17995 (remove_exception_handler_label): Likewise. 17996 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels. 17997 * jump.c (rebuild_jump_labels): Likewise. 17998 * loop.c (find_and_verify_loops): Likewise. 17999 * sched-rgn.c (is_cfg_nonregular): Likewise. 18000 18001 * gengtype.c (write_gc_structure_fields): Handle variable-length 18002 TYPE_ARRAYs. 18003 18004 * varasm.c (struct weak_syms): Use GGC, gengtype. 18005 (mark_weak_decls): Delete. 18006 (weak_decls): Likewise. 18007 (add_weak): Likewise. 18008 (remove_from_pending_weak_list): Likewise. 18009 (init_varasm_once): Likewise. 18010 18011 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency. 18012 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c, 18013 stor-layout.c, regclass.c, and lists.c. 18014 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h 18015 gt-regclass.h and gt-lists.h on s-gtype. 18016 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h. 18017 * except.c: Use gengtype for roots. 18018 * explow.c: Use gengtype for roots. Include gt-explow.h. 18019 * expr.h (init_stor_layout_once): Delete prototype. 18020 * function.c: Use gengtype for roots. 18021 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing. 18022 * gengtype-yacc.y (start): Can also be an externstatic. 18023 (externstatic): New production. 18024 (struct_fields): Correct array bounds inversion for 2-d arrays. 18025 * gengtype.c (variables): New variable. 18026 (note_variable): New function. 18027 (get_output_file): Include libfuncs.h into gtype-desc.c. 18028 (get_output_file_name): New function. 18029 (write_gc_structure_fields): Suppress warnings. 18030 (write_gc_types): Make static. 18031 (put_mangled_filename): New function. 18032 (write_gc_roots): New function. 18033 (main): Call write_gc_roots. 18034 * gengtype.h (note_variable): Prototype. 18035 (get_output_file_name): Prototype. 18036 (write_gc_types): Delete prototype. 18037 * ggc.h: Clean up unnecessary structure predefinitions. 18038 (struct ggc_root_tab): Define. 18039 (gt_ggc_m_rtx_def): Make function, not macro. 18040 (gt_ggc_m_tree_node): Likewise. 18041 * libfuncs.h: Use gengtype for roots. 18042 * lists.c: Use gengtype for roots. Include gt-lists.h. 18043 (init_EXPR_INSN_LIST_cache): Delete. 18044 * optabs.c: Use gengtype for roots. 18045 (gt_ggc_mp_optab): Delete. 18046 * optabs.h: Use gengtype for roots. 18047 * regclass.c: Use gengtype for roots. Include gt-regclass.h. 18048 * rtl.h: Use gengtype for roots. 18049 (init_EXPR_INSN_LIST_cache): Delete prototype. 18050 * stor-layout.c: Use gengtype for roots. 18051 Include gt-stor-layout.h. 18052 (init_stor_layout_once): Delete. 18053 * toplev.c: Use gengtype for roots. Delete calls to deleted 18054 routines. 18055 * tree.c: Use gengtype for roots. 18056 * tree.h: Use gengtype for roots. 18057 * varasm.c: Use gengtype for roots. 18058 18059 * Makefile.in (GTFILES): Add @all_gtfiles@. 18060 * configure: Regenerate. 18061 * configure.in: Construct all_gtfiles from the gtfiles definitions 18062 in config-lang.in. 18063 * gengtype-yacc.y (type): Warn about duplicate structure names. 18064 * gengtype.c (get_output_file): Handle .c files in language 18065 subdirectories. 18066 18067 * Makefile.in (GTFILES): Run gengtype on all the config files 18068 and on the target .c file. 18069 * except.c (mark_eh_region): Delete. 18070 (init_eh_for_function): Use GGC on struct eh_status. 18071 (mark_eh_status): Delete. 18072 (free_eh_status): Use GGC. 18073 (expand_eh_region_start): Use GGC to 18074 (collect_eh_region_array): Allocate last_region_number using GGC. 18075 (duplicate_eh_region_1): Use GGC to allocate struct eh_region. 18076 (remove_eh_handler): Let GGC free struct eh_region. 18077 (add_call_site): Use GGC to reallocate call_site_record array. 18078 * function.c (init_machine_status): Update calling sequence. 18079 (mark_machine_status): Likewise. 18080 (mark_lang_status): Likewise. 18081 (prepare_function_start): Update init_machine_status call. 18082 (mark_function_status): Delete. 18083 (maybe_mark_struct_function): Delete. 18084 (ggc_mark_struct_function): Delete. 18085 (gt_ggc_mp_function): New. 18086 (gt_ggc_mr_machine_function): New. 18087 (gt_ggc_mr_language_function): New. 18088 (init_function_once): Use canonical names. 18089 * function.h (struct function): Use gengtype. 18090 (init_machine_status): Return the structure. 18091 (mark_machine_status): Take a 'void *'. 18092 (mark_lang_status): Likewise. 18093 * ggc-common.c (ggc_mark_trees): Use canonical name for 18094 ggc_mark_struct_function. 18095 * tree.h (ggc_mark_struct_function): Delete prototype. 18096 * config/alpha/alpha.c (alpha_mark_machine_status): Delete. 18097 (alpha_init_machine_status): Likewise. 18098 (override_options): Use canonical name for alpha_mark_machine_status. 18099 * config/alpha/unicosmk.h (struct machine_function): Use gengtype. 18100 * config/arm/arm.h (struct machine_function): Use gengtype. 18101 * config/arm/arm.c (arm_mark_machine_status): Delete. 18102 (arm_init_machine_status): Update calling sequence. 18103 (arm_init_expanders): Use canonical name for arm_mark_machine_status. 18104 * config/cris/cris.c (cris_init_machine_status): Update 18105 calling sequence. 18106 * config/d30v/d30v.h (struct machine_function): Use gengtype. 18107 * config/d30v/d30v.c (d30v_init_machine_status): Update 18108 calling sequence. 18109 (d30v_mark_machine_status): Delete. 18110 * config/i386/i386.c: Include gt-i386.h. 18111 (struct machine_function): Use gengtype. 18112 (ix86_init_machine_status): Update calling sequence. 18113 (ix86_mark_machine_status): Delete. 18114 (override_options): Use canonical namke for ix86_mark_machine_status. 18115 * config/ia64/ia64.h (struct machine_function): Use gengtype. 18116 * config/ia64/ia64.c (ia64_init_machine_status): Update calling 18117 sequence. 18118 (ia64_mark_machine_status): Delete. 18119 (ia64_override_options): Use canonical name for 18120 ia64_mark_machine_status. 18121 * config/mmix/mmix.c (mmix_init_machine_status): Update calling 18122 sequence. 18123 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise. 18124 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise. 18125 * gengtype.c (get_output_file): Fix warning. 18126 (main): Add prototype to suppress warning. 18127 * tree.c: Remove tree_hash_mark prototype. 18128 18129 * tree.h (init_stmt): Delete prototype. 18130 * toplev.c (lang_independent_init): Don't call init_stmt. 18131 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'. 18132 (stmt_obstack): Delete. 18133 (POPSTACK): No need to free 'struct nesting'. 18134 (gt_ggc_mr_nesting_cond): Use canonical names. 18135 (gt_ggc_mr_nesting_loop): Use canonical names. 18136 (gt_ggc_mr_nesting_block): Use canonical names. 18137 (gt_ggc_mr_nesting_case_stmt): Use canonical names. 18138 (mark_stmt_status): Delete. 18139 (init_stmt): Delete. 18140 (clear_last_expr): Clear both last_expr_type and last_expr_value. 18141 Use it everywhere that last_expr_type was cleared. 18142 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root. 18143 (zap_lists): Delete. 18144 * ggc.h (ggc_add_deletable_root): Prototype. 18145 (mark_stmt_status): Remove prototype. 18146 * ggc-common.c (ggc_add_deletable_root): New. 18147 (ggc_mark_roots): Handle deletable roots. 18148 * function.c (ggc_mark_struct_function): Use canonical name 18149 for mark_stmt_status. 18150 * emit-rtl.c (free_sequence_stack): New. 18151 (start_sequence): Use a freelist for sequences. 18152 (end_sequence): Likewise. 18153 (init_emit_once): Add free_sequence_stack as a deleteable root. 18154 * c-pragma.c Include gt-c-pragma.h. 18155 (struct align_stack): Use gengtype. 18156 (push_alignment): Use GGC for struct align_stack. 18157 (mark_align_stack): Delete. 18158 (gt_ggc_mp_align_stack): New. 18159 (init_pragma): Use canonical name for mark_align_stack. 18160 * c-decl.c: Include gt-c-decl.h. 18161 (struct binding_level): Use gengtype. 18162 (make_binding_level): Use GGC; handle the freelist here. 18163 (pop_binding_level): New. 18164 (pushlevel): Move code into make_binding_level. 18165 (push_label_level): Likewise. 18166 (poplevel): Move code into pop_binding_level. 18167 (pop_label_level): Likewise. 18168 (mark_binding_level): Delete. 18169 (gt_ggc_mp_binding_level): New. 18170 (c_init_decl_processing): Use canonical name for mark_binding_level. 18171 Add free_binding_level as deletable root. 18172 (mark_c_function_context): Use canonical name for mark_binding_level. 18173 * Makefile.in (c-decl.o): Add gt-c-decl.h. 18174 (c-pragma.o): Add gt-c-pragma.h. 18175 (GTFILES): Add c-decl.c and c-pragma.c. 18176 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype. 18177 18178 * tree.c (struct type_hash): Use gengtype. 18179 (init_obstacks): Use canonical name for type_hash_mark. 18180 (type_hash_mark): Delete. 18181 Include gt-tree.h. 18182 * rtl.h (struct mem_attrs): Use gengtype. 18183 * optabs.h (struct optab): Use gengtype. 18184 * optabs.c (expand_binop): Squish signed/unsigned warning. 18185 (mark_optab): Make local, use canonical name, use autogenerated 18186 marker procedure. 18187 (init_optabs): Use canonical name for mark_optab. 18188 (new_optab): Use GGC to allocate optabs. 18189 * ggc.h: Delete mark_optab prototype. 18190 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for 18191 mem_attrs marker procedure. 18192 * gengtype.c (get_output_file): Include headers in gtype-desc.c 18193 explicitly rather than deducing them from file names. 18194 (write_gc_structure_fields): Handle arrays of structures. 18195 (main): Return nonzero exit code if errors occur during output. 18196 * emit-rtl.c (mem_attrs_mark): Delete. 18197 (init_emit_once): Use canonical name for mem_attrs marker procedure. 18198 * Makefile.in (gtype-desc.o): Explicitly name dependencies. 18199 (tree.o): Depend on gt-tree.h. 18200 (GTFILES): Add rtl.h, optabs.h, tree.c. 18201 (gt-tree.h): Add it to s-gtype rule. 18202 18203 * .cvsignore: Ignore gengtype flex/bison generated files. 18204 * Makefile.in (GGC_H): Add gtype-desc.h. 18205 (OBJS): Add gtype-desc.o. 18206 (GEN): Add gengtype. 18207 (STAGESTUFF): Add gengtype. 18208 (varasm.o): Add gt-varasm.h. 18209 (stmt.o): Add gt-stmt.h. 18210 (except.o): Add gt-except.h. 18211 (integrate.o): Add gt-integrate.h. 18212 (GTFILES): New. 18213 Add new rules for new files. 18214 * configure: Regenerate. 18215 * configure.in: Correct defaults.h paths. 18216 * emit-rtl.c (mark_sequence_stack): Delete. 18217 (mark_emit_status): Delete. 18218 (start_sequence): Allocate sequence structures using GGC. 18219 (end_sequence): Allocate sequence structures using GGC. 18220 * except.c: Use gengtype for various structures. Include 18221 gt-except.h. 18222 * expr.c (mark_expr_status): Delete. 18223 * function.c: Use gengtype for various structures. Include 18224 gt-function.h. 18225 (mark_function_status): Use standard gt_ggc names for marker functions. 18226 (ggc_mark_struct_function): Likewise. 18227 * function.h: Use gengtype for various structures. 18228 * gengtype-lex.l: New file. 18229 * gengtype-yacc.y: New file. 18230 * gengtype.c: New file. 18231 * gengtype.h: New file. 18232 * ggc.h: Include gtype-desc.h. Alias some marker procedures to 18233 the standard names. Remove some now-unnecessary prototypes. 18234 * integrate.c: Use gengtype for various structures. Include 18235 gt-integrate.h. 18236 (mark_hard_reg_initial_vals): Delete. 18237 * integrate.h (mark_hard_reg_initial_vals): Delete. 18238 * stmt.c: Use gengtype for various structures. Include 18239 gt-stmt.h. 18240 (mark_case_node): Delete. 18241 (mark_goto_fixup): Delete. 18242 (mark_stmt_status): Use standard gt_ggc names for marker functions. 18243 * system.h: Define GTY to empty. In flex/bison files, 18244 don't poison malloc or realloc, instead just define them to 18245 xmalloc and xrealloc. 18246 * varasm.c: Use gengtype for various structures. Include 18247 gt-varasm.h. Use standard gt_ggc names for marker functions. 18248 (mark_pool_constant): Delete. 18249 (mark_varasm_status): Delete. 18250 (decode_rtx_const): #if 0 out non-typesafe hack. 18251 18252 * function.h (free_lang_status): Mark as obsolete. 18253 * function.c (free_lang_status): Mark as obsolete. 18254 * c-decl.c (push_c_function_context): Use GC to allocate and free 18255 struct language_function. 18256 (pop_c_function_context): Likewise. 18257 * c-common.c (mark_c_language_function): Mark struct 18258 language_function. 18259 18260 * doc/tm.texi (Per-Function Data): Don't document free_machine_status. 18261 Document that the machine_function structures must be allocated 18262 using GC. Update mark_machine_status documentation. 18263 * function.h: Don't declare free_machine_status. 18264 * function.c (free_machine_status): Don't define. 18265 (free_after_compilation): Don't call free_machine_status. 18266 (ggc_mark_struct_function): Mark f->machine. Call 18267 mark_machine_status only on non-NULL pointers. 18268 * system.h: Poison free_machine_status. 18269 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on 18270 struct machine_function. 18271 (xtensa_free_machine_status): Delete. 18272 (override_options): Don't set free_machine_status. 18273 * config/rs6000/rs6000.c (rs6000_override_options): Don't set 18274 free_machine_status. 18275 (rs6000_init_machine_status): Use GC on struct machine_function. 18276 (rs6000_free_machine_status): Delete. 18277 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct 18278 machine_function. 18279 (ia64_mark_machine_status): Likewise. 18280 (ia64_free_machine_status): Delete. 18281 (ia64_override_options): Don't set free_machine_status. 18282 * config/i386/i386.c (override_options): Don't set 18283 free_machine_status. 18284 (ix86_init_machine_status): Use GC on struct machine_function. 18285 (ix86_mark_machine_status): Likewise. 18286 (ix86_free_machine_status): Delete. 18287 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct 18288 machine_function. 18289 (d30v_mark_machine_status): Likewise. 18290 (d30v_free_machine_status): Delete. 18291 (d30v_init_expanders): Don't set free_machine_status. 18292 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct 18293 machine_function. 18294 (arm_init_machine_status): Likewise. 18295 (arm_free_machine_status): Delete. 18296 (arm_init_expanders): Don't set free_machine_status. 18297 * config/alpha/alpha.c (override_options): Don't set 18298 free_machine_status. 18299 (alpha_init_machine_status): Use GC on struct machine_function. 18300 (alpha_mark_machine_status): Likewise. 18301 (alpha_free_machine_status): Delete. 18302 18303 * varasm.c (compare_constant): Fix typo. 18304 18305 * varasm.c: Don't include obstack.h. 18306 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes. 18307 (struct rtx_const): Give substructures names, improve formatting. 18308 (struct constant_descriptor): Delete. 18309 (struct constant_descriptor_tree): New, based on constant_descriptor. 18310 (const_hash_table): Is a hash table of trees. 18311 (mark_const_hash_entry): Is used for hashes of trees. Mark 18312 constant_descriptor_tree structure. 18313 (mark_const_str_htab_1): Mark deferred_string structure. 18314 (compare_constant): Rewrite to compare trees. 18315 (compare_constant_1): Delete. 18316 (record_constant): Delete. 18317 (record_constant_1): Delete. 18318 (output_constant_def): Use struct constant_descriptor_tree. 18319 Don't duplicate trees twice. 18320 (struct constant_descriptor_rtx): New. 18321 (struct pool_constant): Used for rtx constants. 18322 (init_varasm_status): Update for change to struct varasm_status. 18323 (mark_varasm_status): Likewise. 18324 (free_varasm_status): Delete. 18325 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx. 18326 (record_constant_rtx): Likewise. 18327 (mem_for_const_double): Update to use struct constant_descriptor_rtx. 18328 (force_const_mem): Likewise. 18329 * Makefile.in (varasm.o): Doesn't depend on obstack.h. 18330 * function.c (free_after_compilation): Don't use free_varasm_status. 18331 * function.h: Don't prototype free_varasm_status. 18332 18333 * ggc-common.c (ggc_realloc): Handle X being NULL. 18334 18335 * ggc-common.c (ggc_realloc): New function. 18336 * ggc.h: Prototype it. 18337 * emit-rtl.c (free_emit_status): Delete. 18338 (init_emit): Allocate emit subarrays using GC. 18339 (gen_reg_rtx): Reallocate subarrays using GC. 18340 (init_emit): Use GC to allocate 'struct emit_status' and its 18341 subarrays. 18342 (mark_emit_status): Mark structure and its subarrays. 18343 * stmt.c (free_stmt_status): Delete. 18344 * expr.c (free_expr_status): Delete. 18345 * function.h: Remove prototypes for deleted functions. 18346 * function.c (free_after_compilation): Don't use deleted functions. 18347 Don't call free() on x_parm_reg_stack_loc. 18348 (free_after_parsing): Don't use free_stmt_status. 18349 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc. 18350 (mark_function_status): Mark x_parm_reg_stack_loc. 18351 18352 * varasm.c (init_varasm_status): Use GC to allocate 18353 'struct varasm_status' and its fields x_const_rtx_hash_table 18354 and x_const_rtx_sym_hash_table. 18355 (mark_varasm_status): Mark them. 18356 (free_varasm_status): Use GC to free them. 18357 * expr.c (init_expr): Use GC to allocate 'struct expr_status'. 18358 (mark_expr_status): Mark the structure itself. 18359 (free_expr_status): Use GC to free the structure. 18360 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'. 18361 (mark_stmt_status): Mark the 'struct stmt_status' itself. 18362 (init_stmt_for_function): Allocate the structure for GC. 18363 18364 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE. 18365 (equate_type_number_to_die): Likewise. 18366 * tree.h (TYPE_SYMTAB_DIE): New macro. 18367 (struct die_struct): Predeclare. 18368 (struct tree_type): Add field symtab.die. Add a tag 18369 to the union type of field symtab. 18370 18371 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains 18372 'struct rtvec_def *', not 'struct rtvec_def'. 18373 18374 * function.h (original_arg_vector): Make a real rtvec. 18375 * function.c (ggc_mark_struct_function): Adjust. 18376 * integrate.c (expand_inline_function): Adjust. 18377 183782002-06-04 Jason Thorpe <thorpej@wasabisystems.com> 18379 18380 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*) 18381 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets. 18382 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN) 18383 (TARGET_VERSION_CPU): Define according to the 18384 default target. 18385 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and 18386 TARGET_VERSION_CPU. 18387 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64 18388 if TARGET_SHMEDIA64. 18389 (LINK_DEFAULT_CPU_EMUL): Define according to the 18390 default target. 18391 (SUBTARGET_LINK_EMUL_SUFFIX): Define. 18392 (SUBTARGET_LINK_SPEC): Define. 18393 (LINK_SPEC): Use SH_LINK_SPEC. 18394 (ASM_SPEC): Remove. 18395 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT. 18396 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32 18397 and TARGET_SHMEDIA64 which abort, for now. 18398 * config/sh/t-netbsd-sh5: New file. 18399 * config/sh/t-netbsd-sh5-32: New file. 18400 * config/sh/t-netbsd-sh5-64: New file. 18401 184022002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> 18403 Richard Henderson <rth@redhat.com> 18404 18405 * config/alpha/alpha.c (reg_or_const_int_operand): New. 18406 (some_operand, input_operand): Accept CONST_VECTOR. 18407 (alpha_extra_constraint): Add 'W'. 18408 (alpha_expand_zap_mask): New. 18409 (alpha_expand_builtin_vector_binop): New. 18410 (enum alpha_builtin): New. 18411 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New. 18412 (alpha_init_builtins, alpha_expand_builtin): New. 18413 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New. 18414 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New. 18415 (PREDICATE_CODES): Update. 18416 * config/alpha/alpha-protos.h: Update. 18417 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP, 18418 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New. 18419 (movv8qi, movv8qi_fix, movv8qi_nofix): New. 18420 (movv4hi, movv4hi_fix, movv4hi_nofix): New. 18421 (movv2si, movv2si_fix, movv2si_nofix): New. 18422 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New. 18423 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New. 18424 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap, 18425 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask, 18426 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8, 18427 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8, 18428 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb, 18429 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl, 18430 builtin_unpkbw, unpkbw): New. 18431 * doc/extend.texi (Alpha Built-in Functions): New. 18432 184332002-06-03 Richard Henderson <rth@redhat.com> 18434 18435 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on 18436 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME. 18437 184382002-06-03 Richard Henderson <rth@redhat.com> 18439 18440 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs. 18441 18442 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX. 18443 (const0_operand): New. 18444 (reg_or_fp0_operand, fp0_operand): Remove. 18445 * config/alpha/alpha.h (PREDICATE_CODES): Update. 18446 * config/alpha/alpha-protos.h: Update. 18447 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand 18448 and fp0_operand with reg_or_0_operand and const0_operand. 18449 184502002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu> 18451 18452 * alias.c (nonoverlapping_memrefs_p): Fix off by one error. 18453 184542002-06-03 Roger Sayle <roger@eyesopen.com> 18455 18456 * gcse.c (cprop_jump): Use single_set to get the pattern 18457 from the setcc argument. 18458 184592002-06-03 Gabriel Dos Reis <gdr@codesourcery.com> 18460 18461 * diagnostic.h (diagnostic_count): Move from output_buffer to 18462 diagnostic_context. 18463 (diagnostic_kind_count): Adjust definition. 18464 18465Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz> 18466 18467 * except.c (except.c): Do not rebuild CFG. 18468 * toplev.c (rest_of_compilation): Recompute CFG after sibcall 18469 optimization. 18470 18471Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz> 18472 18473 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies. 18474 * toplev.c: Include cfglahout.h 18475 * Makefile.in (toplev.c): Add dependnecy. 18476 184772002-06-03 Neil Booth <neil@daikokuya.demon.co.uk> 18478 18479 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New. 18480 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill. 18481 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC. 18482 184832002-06-03 Jason Thorpe <thorpej@wasabisystems.com> 18484 18485 * config/ns32k/netbsd.h: Update copyright years. 18486 (TARGET_OS_CPP_BUILTINS): Define. 18487 (CPP_PREDEFINES): Remove. 18488 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove. 18489 (TARGET_CPU_CPP_BUILTINS): Define. 18490 184912002-06-02 Kazu Hirata <kazu@cs.umass.edu> 18492 18493 * emit-rtl.c: Fix formatting. 18494 * errors.h: Likewise. 18495 * except.c: Likewise. 18496 * explow.c: Likewise. 18497 * expmed.c: Likewise. 18498 * expr.c: Likewise. 18499 * expr.h: Likewise. 18500 185012002-06-02 Kazu Hirata <kazu@cs.umass.edu> 18502 18503 * config/h8300/elf.h: Fix formatting. 18504 * config/h8300/rtems.h: Likewise. 18505 185062002-06-03 Jason Thorpe <thorpej@wasabisystems.com> 18507 18508 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove. 18509 185102002-06-02 Tom Tromey <tromey@redhat.com> 18511 18512 * fixinc/fixincl.x: Rebuilt. 18513 * fixinc/inclhack.def (thread_keyword): Match `*__thread'. 18514 185152002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18516 18517config/i370: 18518 * i370.h (TARGET_CPU_CPP_BUILTINS): Use. 18519 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES. 18520 * mvs.h: Similarly. 18521 * oe.h: Similarly. 18522 18523Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz> 18524 18525 * final.c (final): Allow notes to not have computed addresses; 18526 kill no longer needed STACK_REGS ifdef. 18527 185282002-06-02 Richard Henderson <rth@redhat.com> 18529 18530 * gcse.c (bypass_conditional_jumps): Fix typo last change. 18531 18532Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz> 18533 18534 * loop.c (emit_prefetch_instructions): Properly place the address 18535 computation. 18536 18537Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz> 18538 18539 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill. 18540 (set_block_for_insn): Turn into macro. 18541 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn. 18542 * cfglayout.c (insn_scopes): Kill. 18543 (scope_to_insns_initialize): Do not use insn_scopes. 18544 (scope_to_insns_finalize): Likewise. 18545 (duplicate_insn_chain): Likewise. 18546 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes. 18547 * cfgrtl.c (basic_block_for_insn): Kill. 18548 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify. 18549 (create_basic_block_structure): Use reorder_insns. 18550 (compute_bb_for_insn): Do not use basic_block_for_insn. 18551 (merge_blocks_nomove): Likewise. 18552 (update_bb_for_insn): Likewise. 18553 (verify_flow_info): Likewise. 18554 (set_block_for_insn): Kill. 18555 * combine.c (try_combine): Update gen_rtx_INSN call. 18556 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call. 18557 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear 18558 scopes and BBs. 18559 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify. 18560 (emit_note_before, emit_note_after, emit_line_note_after, emit_note): 18561 Clear BB. 18562 (emit_insns_after): Simplify. 18563 (emit_copy_of_insn_after): Copy scope. 18564 * final.c (final_start_function): Lower scopes. 18565 * flow.c (check_function_return_warnings): Do not rely on deleted insn. 18566 * integrate.c (copy_insn_list): Cope scopes. 18567 * jump.c (duplicate_loop_exit_test): LIkewise; simplify. 18568 * loop.c (loop_optimize): Do not care block notes. 18569 * print-rtl.c (print_rtx): Print BB. 18570 * recog.c (apply_change_group): Simplify. 18571 * rtl.c (copy_rtx): Handle 'B'. 18572 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields. 18573 * rtl.h (Field accessors): Update indexes. 18574 * sched-ebb.c (schedule_ebbs): Do not lower notes. 18575 * sched-rgn.c (schedule_insns): Likewise. 18576 * toplev.c (rest_of_compilation): Lower notes. 18577 * unroll.c (unroll_loop): Do not care scoping notes. 18578 (copy_loop_body): Copy scopes. 18579 185802002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18581 18582config/h8300: 18583 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than 18584 SUBTARGET_SPEC. 18585 * rtems.h: Similarly. 18586 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC, 18587 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove. 18588 (TARGET_CPU_CPP_BUILTINS): Use. 18589 185902002-06-02 Richard Henderson <rth@redhat.com> 18591 18592 * alias.c: Include target.h. 18593 (mark_constant_function): Use targetm.binds_local_p instead 18594 of checking TREE_PUBLIC ourselves. 18595 * Makefile.in (alias.o): Add TARGET_H. 18596 185972002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18598 18599 * c-lex.c: Update copyright and file description. 18600 186012002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18602 18603 * config/fr30/fr30.h: Update to new CPP macros. 18604 186052002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18606 18607 * config/dsp16xx/dsp16xx.h: Update to new CPP macros. 18608 186092002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18610 Zack Weinberg <zack@codesourcery.com> 18611 18612 * c-common.c (c_common_init): Override cpplib's default 18613 warn_long_long setting. 18614 * c-lex.c (lex_number): Replace with interpret_integer, 18615 interpret_float, narrowest_unsigned_type and 18616 narrowest_signed_type, taking advantage of the new 18617 cpplib functionality. 18618 * cpperror.c (_cpp_begin_message): If a warning is turned 18619 into an error, avoid printing "warning:". 18620 * cppexp.c (cpp_num_sign_extend): New. 18621 * cppinit.c: Update comment. 18622 * cpplib.h (cpp_num_sign_extend): New. 18623 * tree.h: Update comment. 18624 186252002-06-02 Gabriel Dos Reis <gdr@codesourcery.com> 18626 18627 * diagnostic.h (struct diagnostic_context): Add new member 18628 internal_error. 18629 (internal_error_function): Remove declaration. 18630 * diagnostic.c (internal_error_function): Remove definition.. 18631 (internal_error): Adjust use. 18632 186332002-06-02 Richard Henderson <rth@redhat.com> 18634 18635 * rtl.h (CC0_P): New. 18636 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text. 18637 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set. 18638 (bypass_block): Save old dest block for dump text. 18639 (bypass_conditional_jumps): Allow any mode register; use CC0_P. 18640 Allow only true SET insns, not single_set. 18641 186422002-06-02 Gabriel Dos Reis <gdr@codesourcery.com> 18643 18644 * diagnostic.c (diagnostic_finish): Rename to output_flush. 18645 (clear_disgnostic_info): Rename to output_clear_data. Use false 18646 instead of 0 for boolean value. 18647 Adjust function call throughout. 18648 18649Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz> 18650 18651 * cfgrtl.c (commit_one_edge_insertion): Fix warning. 18652 * gcse.c (bypass_conditional_jumps): CSE out single_set call. 18653 186542002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18655 18656 * d30v.h (CPP_PREDEFINES): Replace with 18657 (TARGET_CPU_CPP_BUILTINS): New. 18658 186592002-06-02 Roger Sayle <roger@eyesopen.com> 18660 18661 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo. 18662 18663Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz> 18664 18665 * gcse.c (bypass_conditional_jumps): Use single set to obtain set. 18666 186672002-06-02 Richard Henderson <rth@redhat.com> 18668 18669 * rtlanal.c (volatile_refs_p): Not automatically true for CALL. 18670 186712002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl> 18672 18673 Support for C++ constructors/destructors. 18674 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit() 18675 instead of looping if main() returns. 18676 (asm_file_start): Output global symbols that cause .data and .bss 18677 initialization code to be linked in, unconditionally for now. 18678 (avr_asm_out_ctor, avr_asm_out_dtor): New functions. 18679 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New. 18680 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. 18681 (LIBSTDCXX): New. 18682 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections. 18683 (__tablejump__): New. 18684 (__do_copy_data, __do_clear_bss): New. 18685 (__do_global_ctors, __do_global_dtors): New. 18686 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss, 18687 _ctors, _dtors. 18688 186892002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> 18690 18691 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New. 18692 (CPP_SPEC, CPP_PREDEFINES): Kill. 18693 * c4x/rtems.h (CPP_PREDEFINES): Kill. 18694 (TARGET_OS_CPP_BUILTINS): New. 18695 18696Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz> 18697 18698 * Makefile.in (tracer.o): New. 18699 * params.def (TRACER_*): New options. 18700 * rtl.h (tracer): Declare. 18701 * timevar.def (TV_TRACER): New. 18702 * toplev.c (dump_file_index): Add DFI_tracer. 18703 (dump_file_info): Add tracer. 18704 (flag_tracer): New. 18705 (lang_indepdenent_options): Add tracer. 18706 (rest_of_compilation): Call tracer. 18707 * tracer.c: New file. 18708 * invoke.texi (-ftracer): Document. 18709 (--param tracer-*): Document. 18710 187112002-06-01 Daniel Berlin <dberlin@dberlin.org> 18712 18713 * tree-inline.c (expand_call_inline): Make the statement 18714 expression we generate have a COMPOUND_STMT. 18715 187162002-06-01 Roger Sayle <roger@eyesopen.com> 18717 18718 * gcse.c (cprop_cc0_jump): Function deleted. 18719 (cprop_jump): Take an additional argument which is the possibly 18720 NULL cc setting insn immediately before the conditional jump. 18721 When a MODE_CC set is present, substitute it into the JUMP_INSN 18722 before attempting the constant propagation. 18723 (cprop_insn): Recognize cc setters followed by conditional jumps 18724 as a special case. Use cprop_jump instead of cprop_cc0_jump. 18725 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps. 18726 (find_bypass_set): New function based upon find_avail_set used by 18727 cprop, but finds constant expressions available at the end of 18728 basic blocks. 18729 (bypass_block): New function. Given a basic block that begins 18730 with a conditional jump and multiple incoming edges, perform 18731 the jump bypass optimization. 18732 (bypass_conditional_jumps): New function. Call bypass_block with 18733 each suitable basic block in the CFG using a simple single pass. 18734 187352002-06-01 Roger Sayle <roger@eyesopen.com> 18736 18737 * tree.c (real_minus_onep): New function to test for -1.0. 18738 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x. 18739 187402002-06-01 Roger Sayle <roger@eyesopen.com> 18741 18742 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0" 18743 and "!p && !q" into "(p|q) == 0" under suitable conditions. 18744 187452002-06-01 Andreas Jaeger <aj@suse.de> 18746 18747 * cppexp.c (cpp_classify_number): Cast precission to int for 18748 correct printf format. 18749 187502002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl> 18751 18752 * config/avr/avr.c (avr_mcu_types): Remove devices that were once 18753 expected, but don't really exist: atmega83, atmega85, attiny10. 18754 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld 18755 emulations for all devices. 18756 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10. 18757 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85. 18758 187592002-06-01 Kazu Hirata <kazu@cs.umass.edu> 18760 18761 * config/h8300/h8300-protos.h: Add a prototype for 18762 h8300_shift_needs_scratch_p. 18763 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New. 18764 * config/h8300/h8300.h (OK_FOR_R): New. 18765 (OK_FOR_S): Likewise. 18766 (OK_FOR_T): Likewise. 18767 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T. 18768 * config/h8300/h8300.md (anonymous shift patterns): Use 18769 constraints R, S, and T. 18770 18771Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 18772 18773 * basic-block.h (struct basic_block_def): New field loop_father. 18774 (BB_VISITED): New flag. 18775 (struct loop): New field pred, removed field shared. 18776 (struct loops): New field parray. 18777 (LOOP_EXITS_DOMS): Removed. 18778 (flow_loop_tree_node_add, flow_loop_tree_node_remove, 18779 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body, 18780 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge, 18781 add_bb_to_loop, remove_bb_from_loops, find_common_loop, 18782 verify_loop_structure): Declare. 18783 * cfg.c (entry_exit_blocks): Initialize loop_father field. 18784 * cfganal.c (dfs_enumerate_from): New function. 18785 * cfgloop.c (HEAVY_EDGE_RATIO): New constant. 18786 (flow_loop_entry_edges_find, flow_loop_exit_edges_find, 18787 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p, 18788 flow_loop_dump, flow_loops_dump, flow_loops_free, 18789 flow_loop_tree_node_add, flow_loop_level_compute, 18790 flow_loops_level_compute, flow_loop_scan, flow_loops_update, 18791 flow_loop_outside_edge_p): Modified for new infrastructure. 18792 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p, 18793 redirect_edge_with_latch_update, flow_loop_free): New static functions. 18794 (flow_loop_tree_node_remove, flow_bb_inside_loop_p, 18795 get_loop_body, add_bb_to_loop, remove_bb_from_loops, 18796 find_common_loop, verify_loop_structure, loop_latch_edge, 18797 loop_preheader_edge): New functions. 18798 (flow_loops_cfg_dump): Do not show dominators, as this information 18799 does not remain up to date long. 18800 (flow_loops_find): Store results in new format. 18801 * predict.c (propagate_freq, estimate_probability, 18802 estimate_loops_at_level, estimate_bb_frequencies): Use new loop 18803 infrastructure. 18804 188052002-06-01 Alan Lehotsky <apl@alum.mit.edu> 18806 18807 * except.c (nothrow_function_p): Walk epilogue delay list 18808 checking the insn, not the chain for potential throws. 18809 188102002-05-31 Zack Weinberg <zack@codesourcery.com> 18811 18812 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove. 18813 (install): Refer to install-cpp directly. 18814 (uninstall-cpp): Folded into uninstall rule. 18815 * configure.in: Delete all code relating to --disable-cpp. 18816 * configure: Regenerate. 18817 * config/t-install-cpp: Delete. 18818 188192002-05-31 Richard Henderson <rth@redhat.com> 18820 18821 * configure.in (HAVE_AS_TLS): Add alpha tests. 18822 * configure: Rebuild. 18823 * config/alpha/alpha.c (TARGET_AS_TLS): New. 18824 (alpha_tls_size, alpha_tls_size_string): New. 18825 (overide_options): Set it. Always install machine_status hooks. 18826 (input_operand): Accept got tls predicates. 18827 (local_symbol_p): Merge into ... 18828 (local_symbolic_operand): ... here. Reject tls symbols. 18829 (global_symbolic_operand): Likewise. 18830 (tls_symbolic_operand_1, dtp16_symbolic_operand): New. 18831 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New. 18832 (tp16_symbolic_operand, tp32_symbolic_operand): New. 18833 (gottp_symbolic_operand, tls_symbolic_operand_type): New. 18834 (alpha_encode_section_info): Handle TLS symbols. 18835 (alpha_strip_name_encoding): Likewise. 18836 (alpha_legitimate_address_p): Likewise. 18837 (alpha_legitimize_address): Likewise. 18838 (alpha_expand_mov): Early exit to avoid nop moves. 18839 (struct machine_function): Move from unicosmk.h. Add some_ld_name. 18840 (alpha_init_machine_status, alpha_mark_machine_status, 18841 alpha_free_machine_status): Always define. 18842 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New. 18843 (print_operand, print_operand_address): Add TLS relocs. 18844 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0. 18845 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New. 18846 (TARGET_SWITCHES): Add -mtls-kernel. 18847 (alpha_tls_size, alpha_tls_size_string): New. 18848 (TARGET_OPTIONS): Add -mtls-size=. 18849 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, 18850 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG. 18851 (ASM_OUTPUT_LABELREF): Skip %. 18852 (PRINT_OPERAND_PUNCT_VALID_P): Add &. 18853 (PREDICATE_CODES): Update. 18854 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL, 18855 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL, 18856 UNSPEC_TP, UNSPECV_SET_TP): New. 18857 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp, 18858 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp, 18859 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp, 18860 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New. 18861 (call_value_osf_2_er): Accept anything as op4. 18862 * config/alpha/alpha-protos.h: Update. 18863 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c. 18864 188652002-05-31 Zack Weinberg <zack@codesourcery.com> 18866 18867 * cppinit.c (append_include_chain): Always pay attention to 18868 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED 18869 marker on argument. 18870 188712002-05-31 Kazu Hirata <kazu@cs.umass.edu> 18872 18873 * target.h: Fix formatting. 18874 * timevar.h: Likewise. 18875 * tlink.c: Likewise. 18876 * toplev.c: Likewise. 18877 * toplev.h: Likewise. 18878 * tree.c: Likewise. 18879 * tree-dump.h: Likewise. 18880 * tree.h: Likewise. 18881 * tree-inline.h: Likewise. 18882 * unroll.c: Likewise. 18883 * unwind-dw2.c: Likewise. 18884 * unwind-dw2-fde.c: Likewise. 18885 * unwind-dw2-fde-glibc.c: Likewise. 18886 * unwind-dw2-fde.h: Likewise. 18887 * unwind.h: Likewise. 18888 * unwind-sjlj.c: Likewise. 18889 * varasm.c: Likewise. 18890 * varray.h: Likewise. 18891 * vmsdbg.h: Likewise. 18892 * vmsdbgout.c: Likewise. 18893 * xcoffout.h: Likewise. 18894 188952002-05-31 Igor Shevlyakov <igor@microunity.com> 18896 18897 * expr.c (compare_from_rtx): Generate comparison between op0 and op1 18898 rather than cc0 and 0 in a case when HAVE_cc0 is not defined. 18899 189002002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk> 18901 18902 * gcc.c (cpp_unique_options): Remove "-d" options. 18903 (cpp_debug_options): New spec string. 18904 (default_compilers): Use it. 18905 * objc/lang-specs.h: Likewise. 18906 189072002-05-31 Nathanael Nerode <neroden@twcny.rr.com> 18908 18909 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with 18910 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature. 18911 * gcc/mklibgcc.in: Likewise. 18912 * gcc/config/arc/t-arc: Likewise. 18913 * gcc/configure.in: Likewise. 18914 * gcc/configure: Regenerate. 18915 189162002-05-31 Stan Shebs <shebs@apple.com> 18917 Turly O'Connor <turly@apple.com> 18918 18919 * c-decl.c (struct binding_level): Change int field n_incomplete 18920 to tree list incomplete_list. 18921 (clear_binding_level): Init field with NULL. 18922 (pushdecl): Add incomplete type to list. 18923 (mark_binding_level): Mark the incomplete list. 18924 (finish_struct): Scan the incomplete list for types instead 18925 of all decls in the current binding level. 18926 189272002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca> 18928 18929 * pa.c (output_millicode_call): Add missing '%' characters. 18930 (output_call): Likewise. 18931 189322002-05-31 David Edelsohn <edelsohn@gnu.org> 18933 18934 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define. 18935 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define. 18936 189372002-05-31 Alan Lehotsky <apl@alum.mit.edu> 18938 18939 * varasm.c (mark_constant_pool): Walk epilogue delay list 18940 checking the insn, not the chain for potential constants. 18941 18942Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com> 18943 18944 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec. 18945 18946Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz> 18947 18948 * i386.c (classify_argument): Properly handle base types. 18949 18950 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes): 18951 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo 18952 registers. 18953 18954Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz> 18955 18956 * gcse.c (gcse_emit_move_after): New. 18957 (pre_delete, hoist_store): Use it. 18958 18959 * reload1.c (emit_input_reload_insns): Use constrain_operands 18960 instead of constraint_accepts_reg_p to verify optimization. 18961 (constraint_accepts_reg_p): Kill. 18962 18963 * reload1.c (reload_cse_delete_noop_set): Kill. 18964 (reload_cse_simplify): Use delete_insn_and_edges. 18965 189662002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 18967 18968 * cfgloop.c (flow_loops_find): Initialize first and last fields 18969 correctly. 18970 189712002-05-31 Neil Booth <neil@daikokuya.demon.co.uk> 18972 18973 * c-common.c (builtin_define_std): Correct logic. 18974 189752002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca> 18976 18977 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20. 18978 (output_call): Likewise. 18979 189802002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca> 18981 18982 * pa.c: Move output.h include after tree.h include. 18983 (pa_asm_output_mi_thunk): Constify identifier lab. 18984 189852002-05-31 Jason Thorpe <thorpej@wasabisystems.com> 18986 18987 * config/ns32k/ns32k.h: Define named constants for the 18988 bits in target_flags and use them. 18989 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants. 18990 189912002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca> 18992 18993 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0 18994 architecture and pa/pa-7100.h for PA1.1 architecture, respectively. 18995 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select 18996 default scheduling model. 18997 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000". 18998 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling. 18999 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling. 19000 * doc/install.texi (hppa*-*-*): Document default scheduling. 19001 190022002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca> 19003 19004 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY. 19005 190062002-05-31 Jason Thorpe <thorpej@wasabisystems.com> 19007 19008 * config.gcc (ns32k-*-netbsd*): Set tm_file to 19009 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h" 19010 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h, 19011 netbsd.h, or netbsd-aout.h. 19012 190132002-05-31 Jason Thorpe <thorpej@wasabisystems.com> 19014 19015 * longlong.h (count_trailing_zeros): Add missing \, and clean up 19016 whitespace in __ns32000__ case. 19017 190182002-05-31 Aldy Hernandez <aldyh@redhat.com> 19019 19020 * expr.c (expand_expr): Output partially zeroed out vectors with 19021 output_constant_def. 19022 190232002-05-30 Jason Thorpe <thorpej@wasabisystems.com> 19024 19025 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh. 19026 (sh-*-netbsdelf*) 19027 (shl*-*-netbsdelf*): New targets. 19028 * config/sh/netbsd-elf.h: New file. 19029 * config/sh/t-netbsd: New file. 19030 190312002-05-30 Richard Henderson <rth@redhat.com> 19032 Eric Botcazou <ebotcazou@multimania.com> 19033 19034 PR optimization/6822 19035 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL 19036 to unsigned int for op1 comparisons. Use gen_int_mode. 19037 190382002-05-30 Eric Botcazou <ebotcazou@multimania.com> 19039 19040 * expmed.c (const_mult_add_overflow_p): New. 19041 * expr.h: Declare it. 19042 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it. 19043 Don't eliminate the biv if the giv has a constant multiplier and 19044 the rhs argument of the comparison does satisfy the predicate. 19045 Use expand_mult_add to compute the replacement constant. 19046 190472002-05-30 Osku Salerma <osku@iki.fi> 19048 19049 * c-common.c (c_common_attribute_table): Add "may_alias" entry. 19050 (c_common_get_alias_set): Handle it. 19051 * doc/extend.texi: Document it. 19052 190532002-05-30 Richard Henderson <rth@redhat.com> 19054 19055 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill. 19056 * toplev.c (process_options): Don't check it. 19057 * doc/tm.texi: Don't document it. 19058 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New. 19059 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill. 19060 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf 19061 frame pointer optimization if current_function_profile. 19062 190632002-05-30 Kazu Hirata <kazu@cs.umass.edu> 19064 19065 * langhooks.c: Fix formatting. 19066 * langhooks.h: Likewise. 19067 * lcm.c: Likewise. 19068 * libgcc2.c: Likewise. 19069 * lists.c: Likewise. 19070 * local-alloc.c: Likewise. 19071 * loop.c: Likewise. 19072 * loop.h: Likewise. 19073 190742002-05-30 Marc Espie <espie@openbsd.org> 19075 19076 * config.gcc (sparc64-*-openbsd*): New. 19077 * config/sparc/openbsd1-64.h: New. 19078 * config/sparc/openbsd64.h: New. 19079 190802002-05-30 Jeff Law <law@redhat.com> 19081 19082 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete 19083 a dead insn with a REG_RETVAL note when the entire libcall is not 19084 dead and remove the associated REG_LIBCALL note at the same time. 19085 19086Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com> 19087 19088 * lcm.c (output.h): #include. 19089 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK 19090 as an ordinary block. 19091 (optimize_mode_switching): Don't pretend that the exit block is 19092 an ordinary block, or handle sucessors of entry block specially. 19093 Instead, split edges from entry block and to exit block, and 19094 put a computing definition on the thus gained post-entry-block, 19095 and a need on the pre-exit-block. 19096 19097Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz> 19098 19099 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'. 19100 * rtl.texi: Document 'B' 19101 191022002-05-30 Jason Thorpe <thorpej@wasabisystems.com> 19103 19104 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute 19105 at run-time. 19106 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__. 19107 191082002-05-30 Aldy Hernandez <aldyh@redhat.com> 19109 19110 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return 19111 const0_rtx instead of NULL_RTX when in error. 19112 (altivec_expand_abs_builtin): Same. 19113 (rs6000_expand_binop_builtin): Same. 19114 (altivec_expand_predicate_builtin): Same. 19115 (altivec_expand_stv_builtin): Same. 19116 (rs6000_expand_ternop_builtin): Same. 19117 (altivec_expand_builtin): Same. 19118 191192002-05-29 David S. Miller <davem@redhat.com> 19120 19121 * rtl.h (clear_emit_caches): Delete. 19122 * integrate.c (output_inline_function): Don't call it. 19123 * emit-rtl.c (restore_emit_status, init_emit): Likewise. 19124 (clear_emit_caches): Delete definition. 19125 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise. 19126 191272002-05-30 Hans-Peter Nilsson <hp@bitrange.com> 19128 19129 * config/mmix/mmix.c: Include real.h. 19130 (mmix_constant_address_p): Remove redundant test before switch. 19131 191322002-05-29 Jason Thorpe <thorpej@wasabisystems.com> 19133 19134 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define 19135 only if not already defined. 19136 191372002-05-29 Kazu Hirata <kazu@cs.umass.edu> 19138 19139 * config/h8300/h8300-protos.h: Remove prototypes for 19140 ok_for_bclr and small_power_of_two. 19141 * config/h8300/h8300.c (small_power_of_two): Remove. 19142 (ok_for_blcr): Likewise. 19143 (fix_bit_operand): Make WHAT deal with an integer instead of a 19144 constraint character. 19145 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove. 19146 (CONST_OK_FOR_P): Likewise. 19147 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or 19148 CONST_OK_FOR_P any more. 19149 * config/h8300/h8300.md (andqi3): Adjust to the new prototype 19150 of fix_bit_operand. 19151 (iorqi3): Likewise. 19152 (xorqi3): Likewise. 19153 191542002-05-29 Jason Thorpe <thorpej@wasabisystems.com> 19155 19156 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define. 19157 (CPP_PREDEFINES): Make sure this is undefined. 19158 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec, 19159 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__ 19160 or -U__MIPSEB__ before defining one or the other. Instead, 19161 use %(subtarget_endian_default) if neither -EB nor -EL are 19162 specified. 19163 (SUBTARGET_EXTRA_SPECS): Define. 19164 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use 19165 %(netbsd_cpp_spec). 19166 191672002-05-29 Hans-Peter Nilsson <hp@axis.com> 19168 19169 * doc/md.texi (Patterns): Note pattern condition pitfall 19170 for unnamed insn. 19171 191722002-05-29 Aldy Hernandez <aldyh@redhat.com> 19173 19174 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins 19175 when TARGET_ALTIVEC. Move handling of generic unary, binary, and 19176 ternary operations from here... 19177 (rs6000_expand_builtin): ...to here. 19178 New argument expandedp. 19179 Change all instances of altivec_expand_binop_builtin to 19180 rs6000_expand_binop_builtin. 19181 (altivec_expand_unop_builtin): Rename to 19182 rs6000_expand_unop_builtin. 19183 (altivec_expand_binop_builtin): Rename to 19184 rs6000_expand_binop_builtin. 19185 (altivec_expand_ternop_builtin): Rename to 19186 rs6000_expand_ternop_builtin. 19187 191882002-05-29 Richard Henderson <rth@redhat.com> 19189 19190 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value. 19191 (TARGET_BI_ARCH): Likewise. 19192 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value. 19193 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT. 19194 (TARGET_64BIT_DEFAULT): Default to 0. 19195 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER. 19196 191972002-05-29 Richard Henderson <rth@redhat.com> 19198 19199 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New. 19200 (get_pc_thunk_name): New. 19201 (output_set_got): Use it. 19202 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks 19203 into linkonce sections. 19204 192052002-05-29 Jason Thorpe <thorpej@wasabisystems.com> 19206 19207 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define. 19208 (CPP_PREDEFINES): Make sure this is undefined. 19209 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove. 19210 (CPP_SUBTARGET_SPEC): Don't provide different versions for 19211 default-32 and default-64. Just always use %(netbsd_cpp_spec). 19212 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and 19213 cpp_subtarget_spec64. Add netbsd_cpp_spec. 19214 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define. 19215 (CPP_PREDEFINES): Make sure this is undefined. 19216 (SUBTARGET_EXTRA_SPECS): Define. 19217 (CPP_SPEC): Use %(netbsd_cpp_spec). 19218 192192002-05-29 Jeff Law <law@redhat.com> 19220 19221 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon. 19222 19223 * flow.c (propagate_one_insn): Do not remove a dead insn if it 19224 contains a REG_RETVAL note. 19225 19226 * haifa-sched (sched_analyze): Remove another useless clearing 19227 of SCHED_GROUP_P I missed yesterday. 19228 19229 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c. 19230 * pa.c (pa_asm_output_mi_thunk): New function. 19231 * pa-protos.h (pa_asm_output_mi_thunk): Declare. 19232 192332002-05-29 Neil Booth <neil@daikokuya.demon.co.uk> 19234 Marek Michalkiewicz <marekm@amelek.gda.pl> 19235 19236 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New. 19237 (avr_asm_only_p): Make non-static. 19238 (enum avr_arch): Remove. 19239 (avr_arch_types): New. 19240 (avr_mcu_types): Update. 19241 (avr_override_options): Use avr_arch_types table instead of switch. 19242 * avr.h (CPP_PREDEFINES): Die. 19243 (avr_base_arch_macro, avr_extra_arch_macro): New. 19244 (TARGET_CPU_CPP_BUILTINS): New. 19245 (CPP_SPEC, EXTRA_SPECS): Simplify. 19246 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC, 19247 CPP_AVR5_SPEC): Die. 19248 192492002-05-29 Jason Thorpe <thorpej@wasabisystems.com> 19250 19251 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use 19252 NETBSD_OS_CPP_BUILTINS_AOUT. 19253 (SUBTARGET_EXTRA_SPECS): Define. 19254 (CPP_SPEC): Use %(netbsd_cpp_spec). 19255 192562002-05-29 Richard Henderson <rth@redhat.com> 19257 19258 * config/i386/i386.c (ix86_output_function_epilogue): New. 19259 (TARGET_ASM_FUNCTION_EPILOGUE): New. 19260 (pic_label_name): Remove. 19261 (pic_labels_used): New. 19262 (ix86_asm_file_end): Emit one pc load stub for each register used. 19263 (output_set_got): Generate deep pc load to any register. 19264 (ix86_select_alt_pic_regnum): New. 19265 (ix86_save_reg): Don't save pic register if we can find a valid 19266 call-clobbered replacement. 19267 (ix86_expand_prologue): If we found a valid replacement, renumber 19268 pic_offset_table_rtx. 19269 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at 19270 pic_offset_table_rtx after reload. 19271 (REAL_PIC_OFFSET_TABLE_REGNUM): New. 19272 * config/i386/i386.md (set_got): Make insn, not expander. 19273 (set_got_nopic, set_got_deep, set_got_nodeep): Remove. 19274 192752002-05-29 Richard Henderson <rth@redhat.com> 19276 19277 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom 19278 alignment for alloca. 19279 192802002-05-29 Richard Henderson <rth@redhat.com> 19281 19282 * config/i386/i386.c (output_pic_addr_const): Lowercase rip. 19283 (print_operand_address): Only add rip for symbolic addresses 19284 for which we do not have another relocation type. 19285 192862002-05-29 Jason Thorpe <thorpej@wasabisystems.com> 19287 19288 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define. 19289 (EXTRA_SPECS): Add netbsd_cpp_spec. 19290 (CPP_SPEC): Use %(netbsd_cpp_spec). 19291 (CPP_PREDEFINES): Remove. 19292 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define. 19293 (EXTRA_SPECS): Define. 19294 (CPP_SPEC): Use %(netbsd_cpp_spec). 19295 (CPP_PREDEFINES): Remove. 19296 192972002-05-29 Neil Booth <neil@daikokuya.demon.co.uk> 19298 19299 PR preprocessor/6844 19300 * cppmacro.c (cpp_macro_definition): Reserve space for terminating 19301 NUL. 19302 193032002-05-29 Eric Christopher <echristo@redhat.com> 19304 19305 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for 19306 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX. 19307 193082002-05-29 Nick Clifton <nickc@cambridge.redhat.com> 19309 19310 * config/fr30/fr30.md: Remove previous restriction on splits. 19311 Enforce conformance through gen_lowpart and cont_int_operand. 19312 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss" 19313 as the assembler does not support ".bss". 19314 193152002-05-29 Jason Thorpe <thorpej@wasabisystems.com> 19316 19317 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define. 19318 (CPP_PREDEFINES): Remove. 19319 (SUBTARGET_EXTRA_SPECS): Define. 19320 (CPP_SPEC): Use %(netbsd_cpp_spec). 19321 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define. 19322 (CPP_PREDEFINES): Remove. 19323 (SUBTARGET_EXTRA_SPECS): Define. 19324 (CPP_SPEC): Use %(netbsd_cpp_spec). 19325 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define. 19326 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove. 19327 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget. 19328 Add netbsd_cpp_spec. 19329 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec). 19330 193312002-05-29 Neil Booth <neil@daikokuya.demon.co.uk> 19332 Zack Weinberg <zack@codesourcery.com> 19333 19334 * cppexp.c (cpp_num): Move to cpplib.h. 19335 (CPP_ERROR): Remove. 19336 (interpret_float_suffix, interpret_int_suffix): New. 19337 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove. 19338 (cpp_classify_number, cpp_interpret_integer): New. 19339 (interpret_number): Remove. 19340 (eval_token): Update to use new routines. 19341 * cpphash.h (cpp_num_part): Move to cpplib.h. 19342 * cppinit.c (cpp_post_options): Set warn_long_long. 19343 * cpplib.h (struct cpp_options): Add warn_long_long. 19344 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID, 19345 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL, 19346 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX, 19347 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number, 19348 cpp_interpret_integer): New. 19349 193502002-05-29 Joel Sherrill <joel@OARcorp.com> 19351 19352 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405. 19353 193542002-05-29 Jason Thorpe <thorpej@wasabisystems.com> 19355 19356 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use 19357 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64. 19358 (CPP_SUBTARGET_SPEC): Define. 19359 (SUBTARGET_EXTRA_SPECS): Define. 19360 (CPP_SPEC): Remove. 19361 193622002-05-29 Chris Lattner <sabre@nondot.org> 19363 19364 * ssa.c (rename_insn_1): Rename uses of undefined registers to 19365 prevent confusion if/when the register is defined. 19366 193672002-05-29 Hans-Peter Nilsson <hp@axis.com> 19368 19369 PR target/6838 19370 * config/cris/cris.md: Fix typos and thinkos in comments. 19371 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4, 19372 second alternative. 19373 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto. 19374 ("*mov_sideqi_mem"): Similar, but for operand 3. 19375 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto. 19376 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem): 19377 Remove spurious mode specifier on operand 2. 19378 193792002-05-29 Kazu Hirata <kazu@cs.umass.edu> 19380 19381 * config/h8300/h8300-protos.h: Remove the prototype for 19382 o_operand. 19383 Add prototypes for single_one_operand and single_zero_operand. 19384 * config/h8300/h8300.c (o_operand): Remove. 19385 (single_one_operand): New. 19386 (single_zero_operand): Likewise. 19387 (print_operand): For 'V' operand, and the operand with 0xff. 19388 For 'V' and 'W' operands, do not and the bit position with 7. 19389 * config/h8300/h8300.md (various anonymous patterns): Replace 19390 use of exact_log2 with single_one_operand/single_zero_operand. 19391 193922002-05-29 Ulrich Weigand <uweigand@de.ibm.com> 19393 19394 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New. 19395 193962002-05-29 Ulrich Weigand <uweigand@de.ibm.com> 19397 19398 * config/s390/s390.c (legitimate_pic_operand_p): Do not 19399 accept symbolic LARL operands. 19400 (s390_emit_epilogue): Do not set FRAME_RELATED_P on 19401 epilogue insns. 19402 194032002-05-29 Hartmut Penner <hpenner@de.ibm.com> 19404 19405 * config/s390/s390.md (cmpstr_64/31): Mark whole 19406 input registers as used. 19407 194082002-05-28 Richard Henderson <rth@redhat.com> 19409 19410 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live, 19411 not current_function_uses_pic_offset_table and 19412 current_function_uses_const_pool; examine current_function_profile. 19413 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as 19414 input to blockage if needed. 19415 (ix86_expand_call): Do not set current_function_uses_pic_offset_table. 19416 (legitimize_pic_address): Likewise. Set regs_ever_live for 19417 pic_offset_table_rtx when invoked during reload. 19418 * config/i386/i386.h (FINALIZE_PIC): Remove. 19419 * config/i386/i386.md (tablejump): Reformat. Do not set 19420 current_function_uses_pic_offset_table. 19421 (tls_global_dynamic, tls_local_dynamic_base): Likewise. 19422 (blockage): Accept anything as operand 0. 19423 194242002-05-28 Jason Thorpe <thorpej@wasabisystems.com> 19425 19426 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define 19427 common CPP built-ins for all NetBSD a.out targets. 19428 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define 19429 common CPP built-ins for all NetBSD ELF targets. 19430 * config/netbsd.h: Add missing notice. 19431 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins 19432 for all NetBSD targets. 19433 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins 19434 for all NetBSD targets using an LP64 code model. 19435 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all 19436 NetBSD targets. 19437 194382002-05-28 Richard Henderson <rth@redhat.com> 19439 19440 * flow.c (update_life_info_in_dirty_blocks): Only do a partial 19441 update if UPDATE_LIFE_LOCAL. 19442 194432002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 19444 19445 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE. 19446 19447Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com> 19448 Jason R. Thorpe <thorpej@wasabisystems.com> 19449 19450 config/sh reorganization to factor out endianness and coff: 19451 19452 * config/sh/little.h: New file. 19453 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already 19454 defined, define to 0 to select big-endian. 19455 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT. 19456 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT. 19457 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT. 19458 * config/sh/t-be: New file. 19459 * config/sh/t-le: New file. 19460 19461 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h. 19462 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise. 19463 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise. 19464 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise. 19465 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise. 19466 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise. 19467 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted. 19468 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise. 19469 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise. 19470 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and 19471 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL, 19472 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC. 19473 (LINK_SPEC): Define to SH_LINK_SPEC. 19474 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define. 19475 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise. 19476 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise. 19477 (CPP_SPEC): Reduce to %(subtarget_cpp_spec). 19478 (TARGET_ENDIAN_DEFAULT): Define if not already defined. 19479 * config/sh/coff.h: New file. 19480 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section 19481 (TARGET_OBJFMT_CPP_BUILTINS): Define. 19482 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start. 19483 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise. 19484 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise. 19485 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise. 19486 (PTRDIFF_TYPE): Likewise. 19487 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include. 19488 (CPP_PREDEFINES): Don't define. 19489 (TARGET_OBJFMT_CPP_BUILTINS): Define. 19490 (LINK_SPEC): Define to SH_LINK_SPEC. 19491 (LINK_EMUL_PREFIX): Redefine. 19492 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases. 19493 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition. 19494 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise. 19495 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise. 19496 (TARGET_OS_CPP_BUILTINS): Define. 19497 (TARGET_DEFAULT): Redefine. 19498 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise. 19499 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove. 19500 (LINK_SPEC): Don't redefine. 19501 (LINK_DEFAULT_CPU_EMUL): Redefine. 19502 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT. 19503 * sh.c (sh_asm_named_section): Don't declare / define. 19504 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option. 19505 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h. 19506 (sh64-*-elf* tm_file): Likewise. 19507 (sh-*-rtemself* tm_file): Likewise. 19508 (sh-*-linux* tm_file): Likewise. Add sh/little.h. 19509 (sh-*-linux* tmake_file): Add sh/t-le. 19510 (sh-*-rtems* tm_file): Add sh/coff.h 19511 (sh-*-* tm_file): Likewise. 19512 19513Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com> 19514 19515 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using 19516 CONSTANT_POOL_ADDRESS_P. 19517 19518 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define. 19519 195202002-05-28 David Edelsohn <edelsohn@gnu.org> 19521 Jeff Law <law@redhat.com> 19522 19523 * optabs.c (expand_binop): Fix nwords sign warnings. 19524 generate pseudo for add_optab. 19525 19526 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P. 19527 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used. 19528 195292002-05-28 Marc Espie <espie@openbsd.org> 19530 19531 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove, 19532 inherited from gas.h. 19533 (ASM_QUAD): Undef. OpenBSD does not support it. 19534 195352002-05-28 Danny Smith <dannysmith@users.sourceforge.net> 19536 19537 * doc/install.texi (binaries): Change mingw binaries 19538 link to www.mingw.org. 19539 195402002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 19541 19542 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i. 19543 195442002-05-28 Richard Henderson <rth@redhat.com> 19545 19546 * config/i386/i386.c (ix86_compute_frame_layout): Do not add 19547 bottom alignment for leaf functions. 19548 195492002-05-28 Zack Weinberg <zack@codesourcery.com> 19550 19551 * config/pa/milli32.S, config/pa/lib1funcs.asm, 19552 config/sparc/sol2-g1.asm: Delete unused files. 19553 195542002-05-28 Richard Henderson <rth@redhat.com> 19555 19556 * cfg.c (dump_flow_info): Print bb->index, not i, for block number. 19557 19558 * flow.c (calculate_global_regs_live): Rename call_used to 19559 invalidated_by_call. Initialize from regs_invalidated_by_call 19560 instead of call_used_regs. 19561 19562 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before 19563 DECL_EXTERNAL. 19564 195652002-05-28 Zack Weinberg <zack@codesourcery.com> 19566 19567 * tree.h: Don't include real.h. 19568 Forward-declare struct realvaluetype. 19569 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not 19570 contain it. 19571 (TREE_REAL_CST_PTR): New accessor. 19572 (TREE_REAL_CST): Update. 19573 * real.h: Include machmode.h. 19574 (realvaluetype): Make it struct realvaluetype, not a typedef. 19575 (build_real): Prototype here. 19576 19577 * tree.c: Include real.h. 19578 (build_real): Allocate the REAL_VALUE_TYPE as a separate 19579 object in GC memory, set TREE_REAL_CST_PTR to point to it. 19580 (build_real_from_int_cst): Use build_real. 19581 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a 19582 REAL_CST. 19583 19584 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c, 19585 fold-const.c, print-tree.c, real.c: Include real.h. 19586 * Makefile.in: Update dependency lists. 19587 195882002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 19589 19590 * basic-block.h (last_basic_block): Declare. 19591 (expunge_block_nocompact): Declaration removed. 19592 (compact_blocks): Declare. 19593 * cfg.c (last_basic_block): New variable. 19594 (expunge_block_nocompact): Removed. 19595 (expunge_block): Do not compact basic blocks. 19596 (compact_blocks): New. 19597 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no 19598 longer change. 19599 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set 19600 last_basic_block. 19601 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change 19602 real positions of blocks. 19603 (delete_unreachable_blocks): Simplified -- quadratic behavior now 19604 cannot occur. 19605 (cleanup_cfg): Compact blocks. 19606 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of 19607 basic_block_info varray. 19608 (flow_delete_block): Comment update. 19609 (back_edge_of_syntactic_loop_p): Modify position check code. 19610 (verify_flow_info): Update checking. 19611 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB. 19612 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed. 19613 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb 19614 indices no longer change. 19615 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with 19616 last_basic_block. 19617 * predict.c (estimate_bb_frequencies): Remove unneccessary code. 19618 * profile.c (branch_prob): Compact blocks. 19619 * sched-rgn.c (find_rgns): Replace n_basic_blocks with 19620 last_basic_block. 19621 196222002-05-28 Kazu Hirata <kazu@cs.umass.edu> 19623 19624 * config/h8300/h8300.md (two anonymous patterns): New. 19625 196262002-05-28 David S. Miller <davem@redhat.com> 19627 19628 * config/sparc/sparc.md (cpu): Tidy. 19629 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and 19630 'trap'. 19631 (in_call_delay): Delete reference to 'return' type. 19632 (eligible_for_return_delay, in_return_delay, define_delay 19633 referencing those): Delete. 19634 (rest of file): Use new type attributes as appropriate. 19635 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete. 19636 * config/sparc/sparc.c (eligible_for_return_delay): Likewise. 19637 * config/sparc/ultra1_2.md (us1_single): New reservation. 19638 (us1_ialuX): Likewise. 19639 * config/sparc/ultra3.md (us3_single): Likewise. 19640 (us3_ialuX): Likewise. 19641 (us3_imul, us3_idiv): Tweak. 19642 196432002-05-28 Richard Henderson <rth@redhat.com> 19644 19645 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for 19646 STRING_CST. 19647 196482002-05-28 Richard Henderson <rth@redhat.com> 19649 19650 * config.gcc: Obsolete mn10200. 19651 196522002-05-28 Neil Booth <neil@daikokuya.demon.co.uk> 19653 19654 * cppexp.c (interpret_number): Optimize for single-digit 19655 and less-than-half-precision cases. 19656 (num_trim, num_positive, num_div_op): Cast constants. 19657 196582002-05-27 Bo Thorsen <bo@suse.de> 19659 19660 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the 19661 3.1 branch. The file was made by Jakub Jelinek. 19662 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386 19663 support so multilib doesn't break. And don't define this at all 19664 when -Dinhibit_libc is used. 19665 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation. 19666 * config/i386/t-linux64: Implement full multilib support. Patch 19667 originally done by Andreas Jaeger and Jakub Jelinek. 19668 196692002-05-27 Roger Sayle <roger@eyesopen.com> 19670 19671 * c-common.c: Add support for __attribute__((nothrow)) to specify 19672 that a function cannot throw an exception (using TREE_NOTHROW). 19673 (handle_nothrow_attribute): New function to process this attribute. 19674 19675 * doc/extend.texi: Document the new nothrow function attribute. 19676 196772002-05-27 H.J. Lu (hjl@gnu.org) 19678 19679 * cppexp.c (num_trim): Use 1UL instead of 1 for long int. 19680 (num_positive): Likewise. 19681 (num_div_op): Likewise. 19682 196832002-05-27 Neil Booth <neil@daikokuya.demon.co.uk> 19684 19685 * c-common.c (c_common_init): Always use intmax_t. 19686 196872002-05-27 Neil Booth <neil@daikokuya.demon.co.uk> 19688 19689 * c-common.c (c_common_init): Use intmax_t for now. 19690 196912002-05-24 Andrew Haley <aph@redhat.com> 19692 19693 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c 19694 if T is a boolean type. 19695 196962002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 19697 19698 * basic-block.h (last_basic_block): Defined as synonym for 19699 n_basic_blocks. 19700 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute, 19701 flow_depth_first_order_compute, flow_preorder_transversal_compute, 19702 flow_dfs_compute_reverse_init): Replaced relevant occurences of 19703 n_basic_blocks with last_basic_block. 19704 * cfgbuild.c (make_edges): Likewise. 19705 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise. 19706 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise. 19707 * combine.c (combine_instructions): Likewise. 19708 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap, 19709 iterative_dataflow_bitmap): Likewise. 19710 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree, 19711 calc_idoms, idoms_to_doms): Likewise. 19712 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars): 19713 Likewise. 19714 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties, 19715 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass, 19716 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p, 19717 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1, 19718 delete_null_pointer_checks, compute_code_hoist_vbeinout, 19719 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass, 19720 compute_store_table, build_store_vectors): Likewise. 19721 * haifa-sched.c (sched_init): Likewise. 19722 * ifcvt.c (if_convert): Likewise. 19723 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete, 19724 pre_edge_lcm, compute_available, compute_nearerout, 19725 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching): 19726 Likewise. 19727 * predict.c (estimate_probability, process_note_prediction, 19728 note_prediction_to_br_prob): Likewise. 19729 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise. 19730 * recog.c (split_all_insns, peephole2_optimize): Likewise. 19731 * regrename.c (copyprop_hardreg_forward): Likewise. 19732 * resource.c (init_resource_info): Likewise. 19733 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info, 19734 init_regions, schedule_insns): Likewise. 19735 * ssa-ccp.c (ssa_const_prop): Likewise. 19736 * ssa-dce.c (ssa_eliminate_dead_code): Likewise. 19737 * ssa.c (compute_dominance_frontiers, 19738 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise. 19739 19740 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code) 19741 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector 19742 sizes consistently. 19743 19744Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz> 19745 19746 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge): 19747 new. 19748 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store, 19749 hoist_insn_after, hoist_insn_to_edge): New. 19750 19751Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz> 19752 19753 * basic-block.h (PEOP_SCAN_DEAD_STORES): New. 19754 (PROP_FINAL): Include. 19755 * flow.c (life_analysis, update_life_info, 19756 init_propagate_block_info, mark_set_1, mark_used_rgs): 19757 Support SCAN_DEAD_STORE. 19758 197592002-05-27 Neil Booth <neil@daikokuya.demon.co.uk> 19760 19761 * c-common.c (c_common_init): Set CPP arithmetic precision. 19762 * cppexp.c (cpp_num_part): Move typedef ... 19763 * cpphash.h: ...here; make unsigned HOST_WIDE_INT. 19764 * cppinit.c (cpp_create_reader): Default to host long arithmetic. 19765 (sanity_checks): Update. 19766 197672002-05-26 Geoffrey Keating <geoffk@redhat.com> 19768 19769 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 19770 (mkheaders): New rule. 19771 (install-mkheaders): New rule. 19772 * configure.in (all_outputs): Add mkheaders. 19773 * configure: Regenerate. 19774 * mkheaders.in: New file. 19775 197762002-05-26 Jakub Jelinek <jakub@redhat.com> 19777 19778 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class. 19779 197802002-05-26 Andreas Jaeger <aj@suse.de> 19781 19782 * cfg.c (dump_flow_info): Remove extra argument to fprintf. 19783 197842002-05-26 Neil Booth <neil@daikokuya.demon.co.uk> 19785 19786 * cppexp.c (possible_sum_sign, integer_overflow, left_shift, 19787 right_shift): Remove. 19788 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART, 19789 HIGH_PART): New. 19790 (struct op): Use cpp_num. 19791 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim, 19792 num_part_mul, num_unary_op, num_binary_op, num_negate, 19793 num_bitwise_op, num_inequality_op, num_equality_op, num_mul, 19794 num_div_op, num_lshift, num_rshift, append_digit): New. 19795 (interpret_number, parse_defined, eval_token, reduce): Update 19796 for two-integer arithmetic. 19797 (binary_handler): New typedef. 19798 (optab): Update. 19799 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete. 19800 (_cpp_parse_expr, reduce): Update to handle two-integers. 19801 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF. 19802 198032002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl> 19804 19805 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare. 19806 * config/avr/avr.c (jump_over_one_insn_p): Take length of the 19807 branch insn into account, do not assume 1. 19808 (avr_out_sbxx_branch): New function. Optimize cases of skipping 19809 over single word insn. Handle upper half of I/O space too. 19810 * config/avr/avr.md (*sbrx_branch): Use it. 19811 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise. 19812 (*sbix_branch, *sbix_branch_bit7): Likewise. 19813 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New. 19814 Use RTL peepholes to optimize register operand sign tests. 19815 198162002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl> 19817 19818 * config/avr/avr.c (avr_asm_only_p): New variable. 19819 (avr_override_options): Set it here if AVR1. 19820 (asm_file_start): Test it here, report an error if set. 19821 198222002-05-26 Kazu Hirata <kazu@cs.umass.edu> 19823 19824 * alias.c: Fix formatting. 19825 * attribs.c: Likewise. 19826 * bb-reorder.c: Likewise. 19827 * bitmap.c: Likewise. 19828 * bitmap.h: Likewise. 19829 * builtins.c: Likewise. 19830 19831Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz> 19832 19833 * reload.c (find_valid_class): Accept new argument DEST, 19834 choose class accordingly. 19835 (push_reload): Update callers. 19836 198372002-05-26 Andreas Jaeger <aj@suse.de> 19838 19839 * combine.c (combine_instructions): Do not indent #if for 19840 traditional C. 19841 198422002-05-25 Richard Henderson <rth@redhat.com> 19843 19844 * c-pragma.c (apply_pragma_weak): Convert value identifier to 19845 string for decl_attributes. 19846 (handle_pragma_weak): Call assemble_alias if we're modifying 19847 an existing decl. 19848 198492002-05-25 Richard Henderson <rth@redhat.com> 19850 19851 PR target/6788 19852 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation 19853 using rtl instead of fprintf. 19854 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it. 19855 * config/sparc/sparc-protos.h: Update. 19856 198572002-05-25 Neil Booth <neil@daikokuya.demon.co.uk> 19858 19859 * Makefile.in (C_COMMON_H): Fix. 19860 Update other targets. 19861 * c-common.c: Don't include c-lex.h. 19862 (builtin_define_with_value): Make static and prototype. 19863 (builtin_define_std): Move from c-lex.h. 19864 * c-common.h (init_c_lex): Move from c-lex.h. 19865 * c-decl.c: Don't include c-lex.h. 19866 (make_pointer_declarator): Move from c-parse.in. 19867 * c-lex.c: Don't include c-lex.h. 19868 * c-lex.h: Remove. 19869 * c-parse.in: Don't include c-lex.h; include c-pragma.h. 19870 (make_pointer_declarator): Move to c-decl.c. 19871 * c-pragma.c: Don't include c-lex.h. 19872 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h. 19873 * c-tree.h (make_pointer_declarator): New. 19874doc: 19875 * passes.texi, tm.texi: Update. 19876objc: 19877 * Make-lang.in: Update and correct. 19878 * objc-act.c: Don't include c-lex.h or cpplib.h. 19879treelang: 19880 * treetree.c: Don't include c-lex.h. 19881config: 19882 * darwin-c.c: Don't include c-lex.h. 19883 * c4x/c4x-c.c: Don't include c-lex.h. 19884 * c4x/t-c4x: Update. 19885 * i370/i370-c.c: Don't include c-lex.h. 19886 * i370/t-i370: Update. 19887 * i960/i960-c.c: Don't include c-lex.h. 19888 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h. 19889 * i960/t-960bare: Update. 19890 * i960/t-vxworks: Update. 19891 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h. 19892 * rs6000/t-darwin: Update. 19893 * rs6000/t-rs6000-c-rule: Update. 19894 * v850/v850-c.c: Don't include c-lex.h. 19895 * v850/v850.c: Don't include c-lex.h or cpplib.h. 19896 19897 198982002-05-25 Kazu Hirata <kazu@cs.umass.edu> 19899 19900 * tree.def: Fix typos. 19901 * doc/install.texi: Likewise. 19902 199032002-05-25 Richard Henderson <rth@redhat.com> 19904 19905 * configure.in (HAVE_AS_TLS): Add ia64 test. 19906 * configure: Rebuild. 19907 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New. 19908 (override_options): Set it. 19909 (TARGET_HAVE_TLS): New. 19910 (sdata_symbolic_operand): Look for 's'. 19911 (tls_symbolic_operand): New. 19912 (ia64_expand_load_address): Abort for tls symbols. 19913 (gen_tls_get_addr): New. 19914 (gen_thread_pointer): New. 19915 (ia64_expand_move): Split out from movdi. Handle tls symbols. 19916 (rtx_needs_barrier): Add new unspecs. 19917 (ia64_encode_section_info): Handle tls symbols. 19918 (ia64_strip_name_encoding): Strip two encoding chars. 19919 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New. 19920 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New. 19921 (TARGET_OPTIONS): Add tls-size. 19922 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR. 19923 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL, 19924 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New. 19925 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move. 19926 (movsf, movdf): Likewise. 19927 (movdi_symbolic): Use match_scratch. Don't split if we won't 19928 have a scratch availiable. 19929 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22, 19930 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel, 19931 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New. 19932 * config/ia64/ia64-protos.h: Update. 19933 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use 19934 sdata_symbolic_operand. 19935 (ASM_OUTPUT_LABELREF): Strip two characters. 19936 199372002-05-25 Kazu Hirata <kazu@cs.umass.edu> 19938 19939 * combine.c (simplify_set): Remove an unnecessary subreg. 19940 199412002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl> 19942 19943 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL. 19944 19945 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New. 19946 199472002-05-25 Gabriel Dos Reis <gdr@codesourcery.com> 19948 19949 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh. 19950 199512002-05-25 Roger Sayle <roger@eyesopen.com> 19952 19953 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX 19954 (cond (compare x y) 0) into the equivalent (cond x y). 19955 199562002-05-25 Gabriel Dos Reis <gdr@codesourcery.com> 19957 19958 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko. 19959 199602002-05-24 Zack Weinberg <zack@codesourcery.com> 19961 19962 * config.gcc: Remove all stanzas for previously obsoleted 19963 systems. Where necessary, add explicit error stanzas to 19964 prevent removed systems from being misidentified as something 19965 else. Begin a fresh obsoletions list, with the systems that 19966 were reprieved last round. 19967 * doc/install.texi: Remove all mention of dead targets. 19968 * fixinc/mkfixinc.sh: Likewise. 19969 19970 * config/arm/arm.h: Bit 31 of target_flags is no longer 19971 reserved. 19972 19973 * config/1750a/1750a-protos.h, config/1750a/1750a.c, 19974 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc, 19975 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h, 19976 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare, 19977 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h, 19978 config/alpha/osf12.h, config/alpha/osf2or3.h, 19979 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h, 19980 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix, 19981 config/clipper/clipper-protos.h, config/clipper/clipper.c, 19982 config/clipper/clipper.h, config/clipper/clipper.md, 19983 config/clipper/clix.h, config/convex/convex-protos.h, 19984 config/convex/convex.c, config/convex/convex.h, 19985 config/convex/convex.md, config/convex/fixinc.convex, 19986 config/convex/proto.h, config/elxsi/elxsi-protos.h, 19987 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md, 19988 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h, 19989 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h, 19990 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h, 19991 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm, 19992 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h, 19993 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h, 19994 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h, 19995 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h, 19996 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf, 19997 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h, 19998 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c, 19999 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h, 20000 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h, 20001 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h, 20002 config/m68k/altos3068.h, config/m68k/apollo68.h, 20003 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm, 20004 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c, 20005 config/m68k/aux-low.gld, config/m68k/aux-mcount.c, 20006 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h, 20007 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h, 20008 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h, 20009 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h, 20010 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h, 20011 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h, 20012 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h, 20013 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next, 20014 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld, 20015 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld, 20016 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h, 20017 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas, 20018 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas, 20019 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld, 20020 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h, 20021 config/mips/dec-osf1.h, config/mips/elflorion.h, 20022 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h, 20023 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h, 20024 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h, 20025 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd, 20026 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas, 20027 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix, 20028 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c, 20029 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h, 20030 config/ns32k/merlin.h, config/ns32k/pc532-mach.h, 20031 config/ns32k/pc532-min.h, config/ns32k/pc532.h, 20032 config/ns32k/sequent.h, config/ns32k/tek6000.h, 20033 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S, 20034 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c, 20035 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj, 20036 config/sparc/rtems.h, config/we32k/we32k-protos.h, 20037 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md: 20038 Delete file. 20039 200402002-05-24 Richard Henderson <rth@redhat.com> 20041 20042 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1. 20043 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC. 20044 * config/i386/i386.c (tls_model_chars): Add leading space. 20045 (tls_symbolic_operand): Don't bias by 1. 20046 (legitimize_address): Don't unbias by 1. 20047 200482002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 20049 20050 * lcm.c (optimize_mode_switching): Change bb used as indices 20051 to bb->index. 20052 200532002-05-24 Richard Henderson <rth@redhat.com> 20054 20055 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead 20056 of update_life_info_in_dirty_blocks. 20057 200582002-05-24 Jakub Jelinek <jakub@redhat.com> 20059 20060 PR other/6782 20061 * final.c (get_mem_expr_from_op): Return 0 if op is NULL. 20062 200632002-05-24 Neil Booth <neil@daikokuya.demon.co.uk> 20064 20065 PR preprocessor/6780 20066 * cppmacro.c (enter_macro_context): Clear state.angled_headers. 20067 200682002-05-24 Jim Blandy <jimb@redhat.com> 20069 20070 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final 20071 entry with a type code of zero, marking the end of the compilation 20072 unit's macro info. 20073 200742002-05-24 Richard Henderson <rth@redhat.com> 20075 20076 * varasm.c (asm_output_bss): Always output one byte. 20077 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise. 20078 200792002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz> 20080 20081 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a 20082 namespace. 20083 200842002-05-24 Andreas Jaeger <aj@suse.de> 20085 20086 * ggc-page.c (alloc_page): Cast variables of type size_t to 20087 unsigned long, adjust printf format string. 20088 (ggc_alloc): Likewise. 20089 (ggc_print_statistics): Likewise. 20090 (ggc_print_statistics): Correct printf format string for SCALE to 20091 use unsigned long. 20092 200932002-05-24 Danny Smith <dannysmith@users.sourceforge.net> 20094 20095 * config/i386/mingw32.h (CPP_SPEC): Remove -remap. 20096 200972002-05-23 Gabriel Dos Reis <gdr@codesourcery.com> 20098 Zack Weinberg <zack@codesourcery.com> 20099 20100 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output 20101 quoted strings. 20102 * dwarf2out.c (lookup_filename): Properly quote filename in .file 20103 directive in assembly file. 20104 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise. 20105 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise. 20106 * config/pj/pj.h (ASM_FILE_START): Likewise. 20107 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise. 20108 * config/avr/avr.c (asm_file_end): Likewise. 20109 * toplev.c (output_quoted_string): Handle possibly signed plain 20110 char. 20111 * toplev.h (output_clean_symbol_name): Declare 20112 * toplev.c (output_clean_symbol_name): Define. 20113 * config/alpha/alpha.c (unicosmk_output_module_name): Use it. 20114 * config/1750a/1750a.h (ASM_FILE_START): Likewise. 20115 201162002-05-24 Alan Modra <amodra@bigpond.net.au> 20117 20118 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits. 20119 201202002-05-23 Vladimir Makarov <vmakarov@redhat.com> 20121 20122 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4 20123 of size of unsigned. 20124 201252002-05-23 Richard Henderson <rth@redhat.com> 20126 20127 * configure.in (HAVE_AS_TLS): New test. 20128 * config.in, configure: Rebuild. 20129 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS. 20130 (ix86_tls_dialect_string, ix86_tls_dialect): New. 20131 (override_options): Set it. 20132 (tls_model_chars, tls_symbolic_operand): New. 20133 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New. 20134 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New. 20135 (local_exec_symbolic_operand): New. 20136 (get_pic_label_name): Merge into output_set_got. 20137 (ix86_asm_file_end): Emit pic_label_name if defined. 20138 (legitimate_constant_p, constant_address_p): New. 20139 (legitimate_pic_operand_p): New. 20140 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF. 20141 (legitimate_address_p): Likewise. 20142 (ix86_encode_section_info): Rename from i386_; handle tls decls. 20143 (ix86_strip_name_encoding): New. 20144 (get_thread_pointer): New. 20145 (legitimize_address): Handle tls symbols. 20146 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF. 20147 Remove UNSPEC_PLT. 20148 (struct machine_function): Add some_ld_name. 20149 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it. 20150 (print_operand) [&]: Use it. Handle UNSPEC_TP. 20151 (output_addr_const_extra): New. 20152 (maybe_get_pool_constant): New. 20153 (ix86_split_to_parts): Use it. 20154 (ix86_expand_move): Handle tls symbols. 20155 (ix86_tls_get_addr): New. 20156 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New. 20157 (TARGET_OPTIONS): Add tls-dialect. 20158 (CONSTANT_ADDRESS_P): Use new out-of-line function. 20159 (LEGITIMATE_CONSTANT_P): Likewise. 20160 (LEGITIMATE_PIC_OPERAND_P): Likewise. 20161 (TARGET_STRIP_NAME_ENCODING): New. 20162 (ASM_OUTPUT_LABELREF): New. 20163 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'. 20164 (OUTPUT_ADDR_CONST_EXTRA): New. 20165 (PREDICATE_CODES): Update. 20166 (ix86_tls_dialect, ix86_tls_dialect_string): New. 20167 * config/i386/i386.md: Regroup and renumber unspec constants. 20168 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New. 20169 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New. 20170 (tls_global_dynamic, tls_local_dynamic_base): New. 20171 (tls_local_dynamic_once): New. 20172 * config/i386/i386-protos.h: Update. 20173 201742002-05-23 Richard Henderson <rth@redhat.com> 20175 20176 * genemit.c (gen_insn): Print file:lineno comment before function. 20177 (main): likewise. 20178 * gensupport.c (struct queue_elem): Add filename member. 20179 (queue_pattern): Initialize it; update all callers. 20180 (process_include): Don't free filename. 20181 (read_md_rtx): Set read_rtx_filename. 20182 201832002-05-23 Hans Boehm <Hans_Boehm@hp.com> 20184 20185 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages. 20186 201872002-05-23 Richard Henderson <rth@redhat.com> 20188 20189 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case. 20190 201912002-05-23 Richard Henderson <rth@redhat.com> 20192 20193 * doc/extend.texi (C++98 Thread-Local Edits): Update with 20194 commentary from Mark. 20195 201962002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 20197 20198 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): 20199 Use FOR_EACH_BB macros to iterate over basic block chain. 20200 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info, 20201 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges): 20202 Likewise. 20203 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add, 20204 find_unreachable_blocks, create_edge_list, verify_edge_list, 20205 remove_fake_edges, add_noreturn_fake_exit_edges, 20206 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute): 20207 Likewise. 20208 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks, 20209 find_sub_basic_blocks): Likewise. 20210 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks): 20211 Likewise. 20212 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps): 20213 Likewise. 20214 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find): 20215 Likewise. 20216 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges, 20217 commit_edge_insertions, commit_edge_insertions_watch_calls, 20218 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise. 20219 * combine.c (combine_instructions, reg_dead_at_p): Likewise. 20220 * conflict.c (conflict_graph_compute): Likewise. 20221 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1, 20222 df_modified_p, df_refs_unlink, df_dump): Likewise. 20223 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise. 20224 * final.c (compute_alignments): Likewise. 20225 * flow.c (update_life_info, update_life_info_in_dirty_blocks, 20226 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data, 20227 count_or_remove_death_notes): Likewise. 20228 * gcse.c (oprs_unchanged_p, record_last_reg_set_info, 20229 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill, 20230 classic_gcse, compute_transp, cprop, compute_pre_data, 20231 compute_transpout, invalidate_nonnull_info, 20232 delete_null_pointer_checks_1, delete_null_pointer_checks, 20233 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems, 20234 compute_store_table, build_store_vectors, store_motion): Likewise. 20235 * global.c (global_conflicts, mark_elimination): Likewise. 20236 * graph.c (print_rtl_graph_with_bb): Likewise. 20237 * haifa-sched.c (sched_init): Likewise. 20238 * ifcvt.c (if_convert): Likewise. 20239 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete, 20240 compute_available, compute_nearerout, compute_rev_insert_delete, 20241 optimize_mode_switching): Likewise. 20242 * local-alloc.c (local_alloc, update_equiv_regs): Likewise. 20243 * predict.c (estimate_probability, note_prediction_to_br_prob, 20244 propagate_freq, counts_to_freqs, expensive_function_p, 20245 estimate_bb_frequencies): Likewise. 20246 * profile.c (instrument_edges, get_exec_counts, 20247 compute_branch_probabilities, compute_checksum, branch_prob, 20248 find_spanning_tree): Likewise. 20249 * recog.c (split_all_insns, peephole2_optimize): Likewise. 20250 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs): 20251 Likewise. 20252 * regclass.c (scan_one_insn, regclass): Likewise. 20253 * regmove.c (mark_flags_life_zones, regmove_optimize, 20254 record_stack_memrefs): Likewise. 20255 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise. 20256 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise. 20257 * resource.c (find_basic_block): Likewise. 20258 * sched-ebb.c (schedule_ebbs): Likewise. 20259 * sched-rgn.c (is_cfg_nonregular, build_control_flow, 20260 find_single_block_region, find_rgns, schedule_insns) 20261 * sibcall.c (optimize_sibling_and_tail_recursive_call) 20262 * ssa-ccp.c (optimize_unexecutable_edges, 20263 ssa_ccp_df_delete_unreachable_insns): Likewise. 20264 * ssa-dce.c (ssa_eliminate_dead_code): Likewise. 20265 * ssa.c (find_evaluations, compute_dominance_frontiers_1, 20266 rename_block, convert_to_ssa, compute_conservative_reg_partition, 20267 compute_coalesced_reg_partition, rename_equivalent_regs, 20268 convert_from_ssa): Likewise. 20269 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue, 20270 process_for_unwind_directive): Likewise. 20271 20272 * df.c (FOR_ALL_BBS): Removed. 20273 * gcse.c (struct null_pointer_info): Type of current_block field 20274 changed. 20275 (struct reg_avail_info): Type of last_bb field changed. 20276 * config/ia64/ia64.c (block_num): Removed. 20277 (need_copy_state): Type changed. 20278 (last_block): New. 20279 202802002-05-23 Neil Booth <neil@daikokuya.demon.co.uk> 20281 20282 * cppinit.c (mark_named_operators): Split out from init_builtins. 20283 (cpp_finish_options): Call it from here instead. 20284 202852002-05-23 Jason Thorpe <thorpej@wasabisystems.com> 20286 20287 * builtin-attrs.def: Update copyright years. 20288 (ATTR_NONNULL): New attribute identifier. 20289 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New 20290 attribute tree lists. 20291 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the 20292 format operand. 20293 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use... 20294 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg 20295 attribute lists. Chain the appropriate nonnull attribute. 20296 * c-format.c (check_format_arg): Remove null format string 20297 warning. 20298 * testsuite/gcc.dg/format/null-1.c: New test. 20299 203002002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 20301 20302 * Makefile.in (ADAC): Define. 20303 (SYSLIBS): Define. 20304 (.SUFFIXES): Move before language makefile fragments. 20305 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC. 20306 203072002-05-23 Mark Mitchell <mark@codesourcery.com> 20308 20309 * varasm.c (make_decl_rtl): Don't allow weak variables to be 20310 placed in common. 20311 20312Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz> 20313 20314 * cfg.c (dump_flow_info): Print results of 20315 maybe_hot/probably_never_executed predicates. 20316 * toplev.c (open_dump_file): Print function frequency. 20317 203182002-05-23 David S. Miller <davem@redhat.com> 20319 20320 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use 20321 regsets. 20322 203232002-05-23 Jason Thorpe <thorpej@wasabisystems.com> 20324 20325 * c-common.c (warn_nonnull): Declare. 20326 (c_common_attribute_table): Add "nonnull" attribute. 20327 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p, 20328 check_nonnull_arg, get_nonnull_operand, check_function_arguments, 20329 check_function_arguments_recurse): New functions. 20330 * c-common.h (warn_nonnull): Declare extern. 20331 (check_function_arguments, check_function_arguments_recurse): New 20332 prototypes. 20333 * c-decl.c (c_decode_option): Add -Wnonnull option. 20334 * c-format.c (set_Wformat): Set warn_nonnull if enabling 20335 format checking. 20336 (format_check_context): New structure. 20337 (check_format_info_recurse): Remove recursion and rename to... 20338 (check_format_arg): ...this. Update comment. 20339 (check_format_info): Use check_function_arguments_recurse. 20340 * c-typeck.c (build_function_call): Call check_function_arguments 20341 instead of check_function_format. 20342 * doc/extend.texi: Document "nonnull" attribute. 20343 * doc/invoke.texi: Docuemnt -Wnonnull option. 20344 * testsuite/gcc.dg/nonnull-1.c: New test. 20345 * testsuite/gcc.dg/nonnull-2.c: New test. 20346 203472002-05-23 David S. Miller <davem@redhat.com> 20348 20349 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it. 20350 * cfgcleanup.c (cleanup_cfg): If it is set do not 20351 attempt to delete trivially dead insns. 20352 * except.c (finish_eh_generation): Pass it to cleanup_cfg. 20353 * toplev.c (rest_of_compilation): Document non-trivial aspect 20354 the RTL before optimize_save_area_alloca is run. 20355 203562002-05-23 Neil Booth <neil@daikokuya.demon.co.uk> 20357 20358 * c-lex.c (indent_level): Remove. 20359 (cb_file_change, c_lex): Remove indent level handling. 20360 * c-lex.h (indent_level): Remove. 20361 * input.h (struct file_stack): Remove indent_level. 20362 * toplev.c (push_srcloc): Remove indent_level handling. 20363 203642002-05-23 Jakub Jelinek <jakub@redhat.com> 20365 20366 PR target/6753 20367 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead 20368 of x in constraints for clarity. 20369 (sse_mov?fcc split): abort if op2 == op3. 20370 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3, 20371 sse_movsfcc_const0_4): Add earlyclobber. 20372 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3, 20373 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode. 20374 Use Y instead of x in constraints. 20375 203762002-05-23 Richard Henderson <rth@redhat.com> 20377 20378 * doc/extend.texi (C99 Thread-Local Edits): New subsection. 20379 (C++98 Thread-Local Edits): New subsection. 20380 20381 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace. 20382 (ix86_arch): Set type to enum processor_type. 20383 20384 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use 20385 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST. 20386 203872002-05-23 Jakub Jelinek <jakub@redhat.com> 20388 20389 * configure.in: Fix as version test for binutils 2.12.1 releases 20390 (without dates). 20391 * configure: Rebuilt. 20392 203932002-05-23 Richard Henderson <rth@redhat.com> 20394 20395 * config/i386/i386.c (get_pic_label_name): New. 20396 (load_pic_register): Remove. 20397 (output_set_got): New. 20398 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD. 20399 * config/i386/i386.md (UNSPEC_SET_GOT): New. 20400 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove. 20401 (prologue_set_got, prologue_get_pc): Remove. 20402 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New. 20403 (builtin_setjmp_receiver): Use gen_set_got. 20404 * config/i386/i386-protos.h: Update. 20405 20406Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz> 20407 20408 * gcse.c (hash_expr): Do not use alias set for hashing. 20409 204102002-05-22 Kevin Buettner <kevinb@redhat.com> 20411 20412 * dbxout.c (dbxout_class_name_qualifiers): New function. 20413 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry. 20414 204152002-05-23 Neil Booth <neil@daikokuya.demon.co.uk> 20416 20417 * cpperror.c (_cpp_begin_message): No special casing 20418 of CPP_FATAL_LIMIT. 20419 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/. 20420 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR. 20421 * cpplib.c (do_include_common): Use DL_ERROR. 20422 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove. 20423 (DL_ICE): Renumber. 20424 * fix-header.c (read_scan_file): Update. 20425 204262002-05-22 Richard Henderson <rth@redhat.com> 20427 20428 * config/i386/i386.c (ix86_expand_call): New function, extracted 20429 from md call patterns. Add pic_offset_table_rtx to 20430 CALL_INSN_FUNCTION_USAGE when needed. 20431 * config/i386/i386.md (call_pop, call): Use ix86_expand_call. 20432 (call_value_pop, call_value, untyped_call): Likewise. 20433 (call_exp, call_value_exp): Remove. 20434 * config/i386/i386-protos.h: Update. 20435 204362002-05-22 Richard Henderson <rth@redhat.com> 20437 20438 * varasm.c (default_section_type_flags): Check for VAR_DECL 20439 before using DECL_THREAD_LOCAL. 20440 204412002-05-22 David Edelsohn <edelsohn@gnu.org> 20442 20443 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer. 20444 (STARTFILE_SPEC): Delete PE crt0.o. 20445 * config/rs6000/aix51.h: Same. 20446 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF. 20447 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to 20448 function descriptor symbol. Use RS6000_OUTPUT_BASENAME. 20449 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME. 20450 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define. 20451 204522002-05-22 Richard Henderson <rth@redhat.com> 20453 20454 * varasm.c (default_section_type_flags): Handle tls data and 20455 default sections. 20456 (default_unique_section): Handle tls sections. 20457 204582002-05-23 Alan Modra <amodra@bigpond.net.au> 20459 20460 * configure.in (CROSS): Define NATIVE_CROSS. 20461 * configure: Regenerate. 20462 * gcc.c (STARTFILE_PREFIX_SPEC): Define. 20463 (startfile_prefix_spec): New var. 20464 (static_specs): Add startfile_prefix_spec. 20465 (do_spec_2): Split out from.. 20466 (do_spec): ..here. 20467 (main): Process startfile_prefix_spec. 20468 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of 20469 dynamic linker. 20470 (STARTFILE_PREFIX_SPEC): Define. 20471 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without 20472 absolute paths. 20473 204742002-05-22 Kazu Hirata <kazu@cs.umass.edu> 20475 20476 * cpperror.c: Fix formatting. 20477 * cppexp.c: Likewise. 20478 * cppfiles.c: Likewise. 20479 * cpphash.c: Likewise. 20480 * cpphash.h: Likewise. 20481 * cppinit.c: Likewise. 20482 * cpplex.c: Likewise. 20483 * cpplib.c: Likewise. 20484 * cppmacro.c: Likewise. 20485 * cppmain.c: Likewise. 20486 * cppspec.c: Likewise. 20487 204882002-05-22 Jakub Jelinek <jakub@redhat.com> 20489 20490 * combine.c (force_to_mode): Use gen_int_mode. 20491 Don't clear CONST_INT bits outside of mode. 20492 204932002-05-22 Richard Henderson <rth@redhat.com> 20494 20495 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg. 20496 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild. 20497 204982002-05-22 Jakub Jelinek <jakub@redhat.com> 20499 20500 PR c/6643 20501 * emit-rtl.c (widen_memory_access): Only call compare_tree_int 20502 if DECL_SIZE_UNIT is INTEGER_CST. 20503 205042002-05-22 Richard Henderson <rth@redhat.com> 20505 20506 * flow.c (life_analysis): Delete broken reg_label check. 20507 205082002-05-22 Richard Henderson <rth@redhat.com> 20509 20510 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg. 20511 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild. 20512 20513Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com> 20514 20515 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c. 20516 (embed-bb.c): New rule. 20517 * t-sh64 (LIB2FUNCS_EXTRA): Don't change. 20518 * config/sh/embed_bb.c: Delete. 20519 20520Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com> 20521 20522 * c-common.c (cb_register_builtins): Don't indent '#' of #define. 20523 205242002-05-22 Kazu Hirata <kazu@cs.umass.edu> 20525 20526 * config/h8300/h8300.md (*andorqi3): New. 20527 205282002-05-22 Neil Booth <neil@daikokuya.demon.co.uk> 20529 20530 PR preprocessor/6517 20531 * Makefile.in: Update. 20532 * c-common.c (c_common_post_options): Add preprocessor 20533 errors to the error count. 20534 * c-lang.c (c_post_options): Kill. 20535 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. 20536 * hooks.h: Add header guards. 20537 * langhooks-def.h: Include hooks.h. 20538 (LANG_HOOKS_POST_OPTIONS): Update. 20539 * langhooks.h (struct lang_hooks): Update post_options. 20540 * toplev.c (parse_options_and_default_flags): Update. 20541objc: 20542 * objc-lang.c (objc_post_options): Kill. 20543 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options. 20544 205452002-05-21 Bruce Korb <bkorb@gnu.org> 20546 20547 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check 20548 * fixinc/inclhack.def(thread_keyword): use c_fix = format. 20549 * fixinc/fixincl.x: regen. 20550 205512002-05-21 Kazu Hirata <kazu@cs.umass.edu> 20552 20553 * cfgbuild.c: Fix formatting. 20554 * cfg.c: Likewise. 20555 * cfgcleanup.c: Likewise. 20556 * cfglayout.c: Likewise. 20557 * cfgloop.c: Likewise. 20558 * cfgrtl.c: Likewise. 20559 205602002-05-21 Richard Henderson <rth@redhat.com> 20561 20562 * c-common.h (enum rid): Add RID_THREAD. 20563 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables. 20564 (grokdeclarator): Grok __thread. 20565 * c-parse.in (reswords): Add __thread. 20566 (rid_to_yy): Add RID_THREAD. 20567 20568 * tree.h (DECL_THREAD_LOCAL): New. 20569 (struct tree_decl): Add thread_local_flag. 20570 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL. 20571 * tree.c (staticp): TLS variables are not static. 20572 20573 * target-def.h (TARGET_HAVE_TLS): New. 20574 * target.h (have_tls): New. 20575 * output.h (SECTION_TLS): New. 20576 * varasm.c (assemble_variable): TLS variables can't be common for now. 20577 (default_section_type_flags): Handle .tdata and .tbss. 20578 (default_elf_asm_named_section): Handle SECTION_TLS. 20579 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL. 20580 20581 * flags.h (flag_tls_default): Declare. 20582 * toplev.c (flag_tls_default): Define. 20583 (display_help): Display help for it. 20584 (decode_f_option): Set it. 20585 20586 * doc/extend.texi (Thread-Local): New node describing language-level 20587 thread-local storage. 20588 * doc/invoke.texi (-ftls-model): Document. 20589 20590 * fixinc/inclhack.def (thread_keyword): New. 20591 * fixinc/fixincl.x: Rebuild. 20592 205932002-05-21 Jeffrey A Law <law@redhat.com> 20594 20595 * optabs.c (expand_binop): For double-word integer multiplies, 20596 do not compute intermediate results into something that is 20597 not a register (such as a SUBREG or MEM). 20598 20599 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko. 20600 (ix86_sched_reorder): Make sure to initialize scheduling 20601 data even when there's only one insn in the ready queue. 20602 206032002-05-21 Vladimir Makarov <vmakarov@redhat.com> 20604 20605 * genautomata.c (reserv_sets_hash_value): Fix a typo. 20606 206072002-05-21 Vladimir Makarov <vmakarov@redhat.com> 20608 20609 * genautomata.c (reserv_sets_hash_value): Define hash_value as 20610 set_el_t. Transform the hash value into unsigned. 20611 (output_cycle_reservs): Fix bug with output of repeated `nothing'. 20612 (transform_3): Add code to process `(A,B)+(D,E)'. 20613 206142002-05-21 NIIBE Yutaka <gniibe@m17n.org> 20615 20616 * reload1.c (do_output_reload): Run delete_output_reload 20617 only if optimizing. 20618 206192002-05-21 Roger Sayle <roger@eyesopen.com> 20620 20621 PR middle-end/6600 20622 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants 20623 larger than INTEGER_CST. (store_by_pieces_1): Use it here... 20624 (can_store_by_pieces): ... and here to limit the largest mode used. 20625 Add a comment to document this function. 20626 206272002-05-21 Richard Henderson <rth@redhat.com> 20628 20629 * flow.c (life_analysis): Fix test for deleted label. 20630 206312002-05-21 Neil Booth <neil@daikokuya.demon.co.uk> 20632 20633 * doc/tm.texi: Fix typo. 20634 206352002-05-21 Zack Weinberg <zack@codesourcery.com> 20636 20637 * c-common.c (c_common_init): Set options->unsigned_char from 20638 flag_signed_char. 20639 (cb_register_builtins): Define __STRICT_ANSI__ and 20640 __CHAR_UNSIGNED__ here... 20641 * cppinit.c (init_builtins): Not here. 20642 (cpp_create_reader): unsigned_char option defaults to 0, not 20643 !DEFAULT_SIGNED_CHAR. 20644 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char 20645 and -funsigned-char. 20646 20647 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__. 20648 * cpphash.c (_cpp_init_hashtable): Don't set it. 20649 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting 20650 directly. Clarify comment. 20651 206522002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 20653 20654 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to 20655 neighboring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of 20656 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of 20657 BASIC_BLOCK (n_basic_blocks - 1). 20658 * cfganal.c (can_fallthru, flow_call_edges_add, 20659 flow_preorder_transversal_compute): Too. 20660 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks, 20661 find_sub_basic_blocks): Too. 20662 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too. 20663 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain, 20664 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too. 20665 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too. 20666 * combine.c (this_basic_block): Type changed to basic_block. 20667 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine, 20668 nonzero_bits, num_sign_bit_copies, get_last_value_validate, 20669 get_last_value, distribute_notes, distribute_links): Too. 20670 * final.c (compute_alignments): Too. 20671 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too. 20672 * function.c (thread_prologue_and_epilogue_insns): Too. 20673 * gcse.c (compute_code_hoist_vbeinout): Too. 20674 * global.c (build_insn_chain): Too. 20675 * ifcvt.c (find_if_block, find_cond_trap): Too. 20676 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too. 20677 * regmove.c (regmove_optimize): Too. 20678 * resource.c (find_basic_block): Too. 20679 * sched-ebb.c (schedule_ebbs): Too. 20680 * ssa-dce.c (find_control_dependence, find_pdom): Too. 20681 206822002-05-21 Andreas Jaeger <aj@suse.de> 20683 20684 * cppinit.c (sanity_checks): Avoid printf mismatch warnings. 20685 206862002-05-21 Richard Henderson <rth@redhat.com> 20687 20688 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use 20689 unspec names, not numbers. 20690 206912002-05-21 Joseph S. Myers <jsm28@cam.ac.uk> 20692 20693 * doc/sourcebuild.texi: Mention snapshot-README and 20694 snapshot-index.html as needing updating for new front ends. 20695 206962002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 20697 20698 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when 20699 disabling checking, and avoid multiple evaluation of RTX. 20700 207012002-05-21 Richard Earnshaw <rearnsha@arm.com> 20702 20703 * bitmap.c (bitmap_find_bit): Return early if we have the correct 20704 element cached. 20705 20706Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz> 20707 20708 * profile.c (gen_edge_profiler): Set alias set before the memory is 20709 used. 20710 207112002-05-20 David S. Miller <davem@redhat.com> 20712 20713 * cselib.c (max_value_regs): New. 20714 (cselib_lookup, cselib_invalidate_regno): Initialize it when 20715 adding new entries to the REG_VALUES table and we are dealing with 20716 a hard register. 20717 (clear_table): Initialize it. 20718 (cselib_invalidate_regno): Use it to determine which hard 20719 registers to scan when mode is not VOIDmode. 20720 207212002-05-20 Duraid Madina <duraid@fl.net.au> 20722 20723 * tradcpp.c (fixup_newlines): Use old-style function header. 20724 207252002-05-20 Krister Walfridsson <cato@df.lth.se> 20726 20727 * reload1.c (reload_cse_simplify): Fix typo in rtx code check. 20728 207292002-05-20 H.J. Lu (hjl@gnu.org) 20730 20731 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>: 20732 20733 * config/mips/mips.h (DFMODE_NAN): Defined. 20734 (SFMODE_NAN): Likewise. 20735 207362002-05-20 Dale Johannesen <dalej@apple.com> 20737 20738 * combine.c (cant_combine_insn_p): Back out my 20739 previous patch. 20740 207412002-05-20 Kazu Hirata <kazu@cs.umass.edu> 20742 20743 * params.c: Fix formatting. 20744 * params.h: Likewise. 20745 * predict.c: Likewise. 20746 * prefix.c: Likewise. 20747 * print-rtl.c: Likewise. 20748 * print-tree.c: Likewise. 20749 * profile.c: Likewise. 20750 207512002-05-20 H.J. Lu (hjl@gnu.org) 20752 20753 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine. 20754 207552002-05-20 Nick Clifton <nickc@cambridge.redhat.com> 20756 20757 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march 20758 switches straight on to the assembler, do not abbreviate them. 20759 * config/arm/elf.h (ASM_SPEC): As above. 20760 * config/arm/semi.h (ASM_SPEC): As above. 20761 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above. 20762 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass 20763 -mcpu=xscale on to the assembler by default. 20764 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above. 20765 207662002-05-20 Richard Henderson <rth@redhat.com> 20767 20768 * cse.c (canon_hash): Reorder do_not_record test. Always 20769 allow pic_offset_table_rtx. 20770 207712002-05-19 Toon Moene <toon@moene.indiv.nluug.nl> 20772 20773 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p. 20774 (expand_binop): Ditto (3 times). 20775 207762002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com> 20777 20778 * Makefile.in (distclean): Remove QMTest stuff. 20779 (QMTEST_PATH): New variable. 20780 (QMTESTFLAGS): Likewise. 20781 (QMTESTRUNFLAGS): Likewise. 20782 (QMTEST): Likewise. 20783 (QMTEST_GPP_TESTS): Likewise. 20784 (QMTEST_DIR): Likewise. 20785 (QMTEST_DIR/context): New target. 20786 (qmtest-g++): Likeise. 20787 (qmtest-gui): Likewise. 20788 (QMTEST_DIR/gpp-expected.qmr): Likewise. 20789 207902002-05-19 Aldy Hernandez <aldyh@redhat.com> 20791 20792 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in 20793 an altivec register if TARGET_ALTIVEC. 20794 20795 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P 20796 to ALTIVEC_VECTOR_MODE. 20797 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned. 20798 (rs6000_va_arg): Vectors may go in registers if they are not 20799 altivec vectors. 20800 208012002-05-19 Kazu Hirata <kazu@cs.umass.edu> 20802 20803 * protoize.c: Fix formatting. 20804 208052002-05-19 Richard Henderson <rth@redhat.com> 20806 20807 * gensupport.c (init_include_reader): Merge into ... 20808 (process_include): ... here. Simplify composite path creation. 20809 Plug memory leaks. Fix file/line number tracking. Do not 20810 process_define_cond_exec. Return void. 20811 (process_rtx): Don't check process_include return value. 20812 208132002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 20814 20815 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb 20816 fields. 20817 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for 20818 traversing basic block chain. 20819 (create_basic_block_structure, create_basic_block): Declaration changed. 20820 (link_block, unlink_block): Declare. 20821 * cfg.c (entry_exit_blocks): Initialize new fields. 20822 (link_block, unlink_block): New. 20823 (expunge_block_nocompact): Unlink basic block. 20824 (dump_flow_info): Print prev_bb/next_bb fields. 20825 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified. 20826 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified. 20827 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified. 20828 * cfgrtl.c (create_basic_block_structure, create_basic_block, 20829 split_block, force_nonfallthru_and_redirect, split_edge): Modified. 20830 (verify_flow_info): Check that list agrees with numbering. 20831 208322002-05-19 Neil Booth <neil@daikokuya.demon.co.uk> 20833 20834 * c-common.c (preprocessing_asm): New macro. 20835 * c-lex.h (builtin_define, builtin_assert): Use pfile. 20836doc: 20837 * tm.texi: Update. 20838config/alpha: 20839 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove. 20840 (CPP_SPEC): Simplify. 20841 (TARGET_CPU_CPP_BUILTINS): Update. 20842 * freebsd.h (TARGET_OS_CPP_BUILTINS): New. 20843 (CPP_SPEC): Simplify. 20844 * linux.h (CPLUSPLUS_CPP_SPEC): Remove. 20845 (TARGET_OS_CPP_BUILTINS): Update. 20846 * osf.h (CPP_XFLOAT_SPEC): Kill. 20847 (TARGET_OS_CPP_BUILTINS): Update. 20848 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify. 20849 * osf5.h (CPP_XFLOAT_SPEC): Kill. 20850 * vms.h (CPP_SUBTARGET_SPEC): Kill. 20851 (TARGET_OS_CPP_BUILTINS): Update. 20852 208532002-05-19 Richard Henderson <rth@redhat.com> 20854 20855 * varasm.c (default_binds_local_p): Fix typo. 20856 208572002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl> 20858 20859 * config/avr/avr.c (machine_dependent_reorg): Sign extend the 20860 CONST_INT operand to the correct mode after adding 1 to it. 20861 208622002-05-19 Mark Mitchell <mark@codesourcery.com> 20863 20864 * config.gcc (powerpc-wrs-windiss*): New target. 20865 208662002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 20867 20868 * config/rs6000/rs6000.md (ashrdi3_no_power): New. 20869 (ashrdi3): Use it. 20870 208712002-05-18 Mark Mitchell <mark@codesourcery.com> 20872 20873 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and 20874 alphasort. 20875 * config.in: Regenerated. 20876 * configure: Regenerated. 20877 208782002-05-19 Richard Henderson <rth@redhat.com> 20879 20880 * target-def.h (TARGET_BINDS_LOCAL_P): New. 20881 * target.h (struct gcc_target): Move boolean fields to the end. 20882 Add binds_local_p. 20883 * varasm.c (default_binds_local_p): New. 20884 * output.h: Declare it. 20885 20886 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook. 20887 * config/cris/cris.c (cris_encode_section_info): Likewise. 20888 * config/i386/i386.c (i386_encode_section_info): Likewise. 20889 * config/ia64/ia64.c (ia64_encode_section_info): Likewise. 20890 * config/sh/sh.c (sh_encode_section_info): Likewise. 20891 20892 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New. 20893 (TARGET_BINDS_LOCAL_P): New. 20894 208952002-05-19 Richard Henderson <rth@redhat.com> 20896 20897 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE, 20898 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT, 20899 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison. 20900 20901 * toplev.c (display_help): Kill -a -ax help. 20902 20903 * config/1750a/1750a.h, config/alpha/alpha.h, 20904 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h, 20905 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h, 20906 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h: 20907 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill. 20908 20909 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill. 20910 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill. 20911 20912 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill. 20913 (ix86_output_function_block_profiler): Kill. 20914 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill. 20915 (m68hc11_function_block_profiler): Kill. 20916 * config/m68hc11/m68hc11-protos.h: Update. 20917 * config/m88k/m88k.c (output_block_profiler): Kill. 20918 (output_function_block_profiler): Kill. 20919 * config/m88k/m88k-protos.h: Update. 20920 209212002-05-19 Richard Henderson <rth@redhat.com> 20922 20923 * system.h (STRIP_NAME_ENCODING): Poison it. 20924 * output.h (STRIP_NAME_ENCODING): Remove. 20925 (default_strip_name_encoding): Declare. 20926 * target-def.h (TARGET_STRIP_NAME_ENCODING): New. 20927 * target.h (strip_name_encoding): New. 20928 * varasm.c (default_strip_name_encoding): New. 20929 20930 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h, 20931 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c, 20932 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c, 20933 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h, 20934 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h, 20935 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h, 20936 config/pa/pa.c, config/pa/pa.h, config/pa/som.h, 20937 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h, 20938 config/v850/v850.h: Use the hook, not the macro. 20939 20940 * config/darwin-protos.h, config/darwin.c, config/darwin.h, 20941 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c, 20942 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h, 20943 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c, 20944 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c, 20945 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h, 20946 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h, 20947 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h, 20948 config/v850/v850.c, config/v850/v850.h: 20949 Move STRIP_NAME_ENCODING to out-of-line function and add 20950 TARGET_STRIP_NAME_ENCODING. 20951 20952 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h, 20953 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING 20954 with TARGET_STRIP_NAME_ENCODING referencing existing function; 20955 make function static. 20956 20957 * xcoffout.c: Include target.h 20958 * Makefile.in (xcoffout.o): Update. 20959 20960 * config/avr/avr.c (avr_encode_section_info): Correct prototype. 20961 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove. 20962 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark 20963 reloc argument unused. 20964 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New. 20965 20966 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous 20967 STRIP_NAME_ENCODING docs. 20968 209692002-05-19 Andreas Jaeger <aj@suse.de> 20970 20971 * gengenrtl.c: Add prototype for excluded_rtx. 20972 20973 * real.h: Add prototype for exact_real_truncate. 20974 209752002-05-18 Richard Henderson <rth@redhat.com> 20976 20977 * system.h (ENCODE_SECTION_INFO): Poison it. 20978 * target-def.h (TARGET_ENCODE_SECTION_INFO): New. 20979 * target.h (encode_section_info): New. 20980 * varasm.c (make_decl_rtl, output_constant_def): Use it. 20981 * hooks.c (hook_tree_int_void): New. 20982 * hooks.h: Declare it. 20983 20984 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c, 20985 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h, 20986 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h, 20987 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h, 20988 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h, 20989 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c, 20990 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c, 20991 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h, 20992 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h, 20993 config/mcore/mcore-protos.h, config/mcore/mcore.c, 20994 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c, 20995 config/mmix/mmix.h, config/rs6000/rs6000-protos.h, 20996 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h, 20997 config/stormy16/stormy16.c, config/stormy16/stormy16.h: 20998 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO 20999 referencing existing function. Make function static. 21000 21001 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c, 21002 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h, 21003 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c, 21004 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c, 21005 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c, 21006 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h, 21007 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c, 21008 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h, 21009 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c, 21010 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h, 21011 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c, 21012 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h, 21013 config/xtensa/xtensa.c, config/xtensa/xtensa.h: 21014 Move ENCODE_SECTION_INFO to out-of-line function and add 21015 TARGET_ENCODE_SECTION_INFO. 21016 21017 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro. 21018 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. 21019 21020 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename 21021 from SUBTARGET_* 21022 (switch_to_section): Replace in_rdata case with in_readonly_data. 21023 21024 * config/h8300/h8300.c (h8300_encode_label): Make static. 21025 * config/h8300/h8300-protos.h: Update. 21026 21027 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename 21028 from rs6000_encode_section_info; make static. 21029 (rs6000_xcoff_encode_section_info): New. 21030 21031 * config/v850/v850.c (v850_encode_data_area): Make static. 21032 * config/v850/v850-protos.h: Update. 21033 21034 * config/vax/vax.c: Include flags.h. 21035 (vms_select_section): Fix typo. 21036 21037 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous 21038 ENCODE_SECTION_INFO docs. 21039 210402002-05-18 Richard Henderson <rth@redhat.com> 21041 21042 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from 21043 REGISTER_TARGET_PRAGMAS. 21044 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine. 21045 21046 * config.gcc: Do not use rs6000-c.c on powerpc-darwin. 21047 210482002-05-18 Richard Henderson <rth@redhat.com> 21049 21050 * system.h (SELECT_RTX_SECTION): Poison. 21051 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New. 21052 * target.h (select_rtx_section): New. 21053 * varasm.c (output_constant_pool): Use it. 21054 (default_select_rtx_section, default_elf_select_rtx_section): New. 21055 * output.h: Declare them. 21056 21057 * config/darwin.h (SELECT_RTX_SECTION): Move ... 21058 * config/darwin.c (machopic_select_rtx_section): ... here. 21059 * config/darwin-protos.h: Update. 21060 21061 * config/nextstep.h (SELECT_RTX_SECTION): Move ... 21062 * config/nextstep.c (machopic_select_rtx_section): ... here. 21063 (nextstep_select_section): Rename variable to avoid macro clash. 21064 * config/nextstep-protos.h: Update. 21065 21066 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h, 21067 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h, 21068 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h, 21069 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h, 21070 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h, 21071 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h, 21072 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h, 21073 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h, 21074 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h 21075 (SELECT_RTX_SECTION): Remove. 21076 21077 * config/darwin.h, config/elfos.h, config/nextstep.h, 21078 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c, 21079 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h, 21080 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h, 21081 config/sparc/lynx.h, config/xtensa/xtensa.c 21082 (TARGET_ASM_SELECT_RTX_SECTION): New. 21083 21084 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ... 21085 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here. 21086 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ... 21087 * config/ia64/ia64.c (ia64_select_rtx_section): ... here. 21088 (ia64_aix_select_rtx_section): New. 21089 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before 21090 redefining. 21091 * config/mips/mips.c (mips_select_rtx_section): Make static. 21092 Support ELF SHF_MERGE features. 21093 * config/mips/mips-protos.h: Update. 21094 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ... 21095 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here. 21096 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section; 21097 make static, fall back to default_elf_select_rtx_section. 21098 * config/rs6000/rs6000-protos.h: Update. 21099 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ... 21100 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here. 21101 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2. 21102 * config/romp/romp.c (romp_select_rtx_section): New. 21103 * config/s390/s390.c (s390_select_rtx_section): New. 21104 * config/xtensa/xtensa.c: Include output.h. Shuffle local function 21105 declarations before target macro definition. 21106 (xtensa_emit_call): Use static buffer. 21107 (xtensa_select_rtx_section): New. 21108 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove. 21109 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove. 21110 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section. 21111 21112 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from 21113 SELECT_RTX_SECTION docs. 21114 21115Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz> 21116 21117 * i386.md (movsi/movdi): Fix template. 21118 (sse2 patterns): Set attributes consistently. 21119 21120 * i386.md (pushqi2, ashrqi_*): Fix constraint. 21121 211222002-05-18 Toon Moene <toon@moene.indiv.nluug.nl> 21123 21124 * optabs.c (complex_part_zero_p): New. 21125 * (expand_cmplxdiv_straight): Use it. 21126 * (expand_cmplxdiv_wide): Ditto. 21127 * (expand_binop): Ditto. 21128 211292002-05-18 Richard Henderson <rth@redhat.com> 21130 21131 * final.c (HAVE_READONLY_DATA_SECTION): New. 21132 (shorten_branches): Use it instead of ifdefs. 21133 * varasm.c (enum in_section): Add in_readonly_data. 21134 (text_section, data_section): Tidy. 21135 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present. 21136 21137 * config/darwin.h, config/nextstep.h, config/h8300/elf.h, 21138 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h 21139 (READONLY_DATA_SECTION): Don't undef. 21140 21141 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h, 21142 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h, 21143 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef. 21144 21145 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h, 21146 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h, 21147 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h, 21148 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove. 21149 21150 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h, 21151 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h, 21152 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, 21153 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h, 21154 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h, 21155 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h, 21156 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h, 21157 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from 21158 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP. 21159 21160 * config/elfos.h, config/netware.h, config/1750a/1750a.h, 21161 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h, 21162 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h, 21163 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h, 21164 config/pa/pa64-hpux.h, config/sparc/litecoff.h 21165 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove. 21166 21167 * config/elfos.h, config/netware.h, config/svr3.h, 21168 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h, 21169 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, 21170 config/h8300/h8300.h, config/i386/i386-interix.h, 21171 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h, 21172 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove. 21173 21174 * config/elfos.h, config/netware.h, config/svr3.h, 21175 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h, 21176 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h, 21177 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h, 21178 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove. 21179 21180 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h, 21181 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h, 21182 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h, 21183 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h, 21184 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h, 21185 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h, 21186 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h, 21187 config/rs6000/sysv4.h, config/v850/v850.h 21188 (EXTRA_SECTIONS): Remove in_const/in_rdata. 21189 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function. 21190 21191 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h, 21192 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h, 21193 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h, 21194 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section. 21195 * config/alpha/alpha.c (alpha_start_function): Likewise. 21196 (alpha_write_linkage): Likewise. 21197 * config/m32r/m32r.c (m32r_select_section): Likewise. 21198 * config/m88k/m88k.c (m88k_select_section): Likewise. 21199 * config/mips/mips.c (mips_select_rtx_section): Likewise. 21200 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise. 21201 (rs6000_elf_select_section): Likewise. 21202 * config/v850/v850.c (v850_select_section): Likewise. 21203 21204 * config/1750a/1750a.h, config/i860/sysv3.h 21205 (READONLY_DATA_SECTION_ASM_OP): New. 21206 READONLY_DATA_SECTION_ASM_OP. 21207 * config/i386/interix.c, config/i386/winnt.c 21208 (i386_pe_unique_section): Always use .rdata prefix. 21209 * config/pa/som.h (readonly_data): Always switch to read-only section. 21210 (READONLY_DATA_SECTION): Predicate on flag_pic. 21211 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis. 21212 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New. 21213 (READONLY_DATA_SECTION): Update. 21214 212152002-05-18 Jason Thorpe <thorpej@wasabisystems.com> 21216 21217 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length 21218 is used without -Wformat. 21219 * c-common.h (warn_format_zero_length): Declare extern. 21220 * c-decl.c (warn_options): Add "format-zero-length". 21221 * c-format.c (warn_format_zero_length): Declare. 21222 (set_Wformat): Set warn_format_zero_length for -Wformat. 21223 (check_format_info): Only warn about zero-length formats if 21224 warn_format_zero_length is true. Include the format type 21225 name in the warning message. 21226 * doc/invoke.texi: Document -Wformat-zero-length. 21227 * testsuite/gcc.dg/format/zero-length-1.c: New test. 21228 212292002-05-18 Kazu Hirata <kazu@cs.umass.edu> 21230 21231 * timevar.c: Fix formatting. 21232 * tlink.c: Likewise. 21233 * toplev.c: Likewise. 21234 * tree-dump.c: Likewise. 21235 * tree-inline.c: Likewise. 21236 212372002-05-18 Neil Booth <neil@daikokuya.demon.co.uk> 21238 21239 * cppinit.c (cpp_post_options): If preprocessed, turn off 21240 traditional. If traditional, turn off column numbers. 21241 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional. 21242 * cpptrad.c (handle_newline): Update line_base. 21243 (skip_comment): Handle -Wcomment. 21244 212452002-05-17 Zack Weinberg <zack@codesourcery.com> 21246 21247 * cppinit.c (struct builtin): Remove unused fields. 21248 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill. 21249 (operator_array): New - was second half of builtin_array. 21250 (init_builtins): Simplify loop over builtin_array/operator_array. 21251 212522002-05-18 Neil Booth <neil@daikokuya.demon.co.uk> 21253 21254 * defaults.h (UNIQUE_SECTION): Remove. 21255 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison. 21256 212572002-05-17 Richard Henderson <rth@redhat.com> 21258 21259 * expr.c (init_expr_once): Don't use start/end_sequence. 21260 Use rtx_alloc instead of emit_insn. 21261 * toplev.c (lang_dependent_init): Run init_expr_once here ... 21262 (lang_independent_init): ... not here. 21263 212642002-05-17 Jason Thorpe <thorpej@wasabisystems.com> 21265 21266 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__. 21267 212682002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl> 21269 21270 * config/avr/avr.c (avr_regs_to_save): New function. Also check 21271 for fixed registers, possibly used for global register variables. 21272 (initial_elimination_offset, avr_output_function_prologue, 21273 avr_output_function_epilogue): Move common code to avr_regs_to_save. 21274 212752002-05-17 Neil Booth <neil@daikokuya.demon.co.uk> 21276 21277 * Makefile.in: Update for cpptrad.c. 21278 * cpphash.h (struct cpp_buffer): New members for buffer 21279 overlays. 21280 (struct cpp_reader): New members for traditional output. 21281 (_cpp_read_logical_line, _cpp_overlay_buffer): New. 21282 * cppinit.c (cpp_create_reader): Set trad_line. 21283 (cpp_destroy): Free trad_out_base if used. 21284 (cpp_read_main_file): Overlay an empty buffer if traditional. 21285 (cpp_finish_options): Don't do builtins. 21286 (COMMAND_LINE_OPTIONS): Add -traditional-cpp. 21287 (cpp_handle_option): Handle it. 21288 * cpplex.c (continue_after_nul): New. 21289 (_cpp_lex_direct): Use handle_nul. 21290 * cpplib.h (struct cpp_options): New traditional option. 21291 * cpptrad.c: New file. 21292 212932002-05-17 Neil Booth <neil@daikokuya.demon.co.uk> 21294 21295 * c-common.c (c_common_init_options): Use C89 for Objective-C, 21296 and set the options flag. 21297 * cppinit.c (lang_flags): Remove objc. 21298 (lang_defaults): Remove OBJC and OBJCXX. 21299 (set_lang): Update. 21300 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++. 21301 (cpp_handle_option): Remove -+ and -lang-objc++. 21302 For ObjC, just set a flag. 21303 (print_help): Update. 21304 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX. 21305 213062002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 21307 21308 * doc/install.texi (Specific, mips-sgi-irix6): Document need to 21309 bootstrap with -mips3. 21310 213112002-05-17 Kazu Hirata <kazu@cs.umass.edu> 21312 21313 * final.c: Fix formatting. 21314 * fix-header.c: Likewise. 21315 * flow.c: Likewise. 21316 * fold-const.c: Likewise. 21317 * function.c: Likewise. 21318 213192002-05-17 David S. Miller <davem@redhat.com> 21320 21321 PR c/6689, PR optimization/6615 21322 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p' 21323 and make it a pointer to rtx. Update comments. 21324 (update_equiv_regs): When scanning for equivalences, record 21325 address of SET_SRC (set) in reg_equiv[].src_p. Dereference 21326 it while making the equiv replacements. 21327 213282002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 21329 21330 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo. 21331 213322002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp> 21333 21334 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P 21335 when encoding visibility into SYMBOL_REF_FLAG. 21336 213372002-05-17 Richard Sandiford <rsandifo@redhat.com> 21338 21339 * expr.c (force_operand): Fix reversed move. 21340 213412002-05-17 Kurt Wall <kwall@kurtwerks.com> 21342 21343 * doc/install.texi (Testing): Mention two common DejaGnu warnings 21344 that can be ignored. 21345 213462002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 21347 21348 * doc/install.texi (Final install): Recommend to install into a 21349 "clean" target directory. 21350 213512002-05-17 Richard Henderson <rth@redhat.com> 21352 21353 * config/ia64/ia64.md: Use braced strings instead of quoted strings 21354 for code blocks. Tidy whitespace. 21355 213562002-05-17 Richard Henderson <rth@redhat.com> 21357 21358 * hooks.c (hook_tree_bool_false): New. 21359 * hooks.h: Declare it. 21360 * target-def.h (TARGET_ASM_SELECT_SECTION): New. 21361 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New. 21362 * target.h (select_section, unique_section): New. 21363 (in_small_data_p): New. 21364 * varasm.c (resolve_unique_section): Use hooks instead of macros. 21365 (variable_section, output_constant_def_contents): Likewise. 21366 (default_select_section, default_unique_section): New. 21367 (categorize_decl_for_section, default_elf_select_section): New. 21368 * output.h: Declare them. 21369 21370 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove. 21371 (TARGET_ASM_SELECT_SECTION): New. 21372 (SELECT_SECTION): Move ... 21373 * config/darwin.c (machopic_select_section): ... here. 21374 * config/darwin-protos.h: Update. 21375 21376 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New. 21377 (SELECT_SECTION): Move ... 21378 * config/nextstep.c (nextstep_select_section): ... here. 21379 * config/nextstep-protos.h: Update. 21380 21381 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove. 21382 (TARGET_ASM_SELECT_SECTION): New. 21383 * config/svr3.h (SELECT_SECTION): Remove. 21384 21385 * config/alpha/alpha.c (unicosmk_unique_section): Make static. 21386 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New. 21387 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New. 21388 (alpha_encode_section_info): Use it. 21389 * config/alpha/alpha-protos.h: Update. 21390 * config/alpha/elf.h (DO_SELECT_SECTION): Remove. 21391 (SELECT_SECTION, UNIQUE_SECTION): Remove. 21392 (TARGET_ASM_SELECT_SECTION): New. 21393 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove. 21394 21395 * config/arm/pe.h (UNIQUE_SECTION): Remove. 21396 (TARGET_ASM_UNIQUE_SECTION): New. 21397 21398 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New. 21399 (avr_unique_section): Rename from unique_section; make static. 21400 * config/avr/avr-protos.h: Update. 21401 * config/avr/avr.h (UNIQUE_SECTION): Remove. 21402 21403 * config/c4x/c4x.h (SELECT_SECTION): Remove. 21404 21405 * config/i386/cygwin.h (UNIQUE_SECTION): Remove. 21406 (TARGET_ASM_UNIQUE_SECTION): New. 21407 * config/i386/i386-interix.h: Likewise. 21408 * config/i386/win32.h: Likewise. 21409 * config/i386/djgpp.h (UNIQUE_SECTION): Remove. 21410 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro. 21411 * config/i386/sco5.h (SELECT_SECTION): Remove. 21412 (TARGET_ASM_SELECT_SECTION): New. 21413 * config/i386/svr3gas.h (SELECT_SECTION): Remove. 21414 21415 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION 21416 instead of SELECT_SECTION. 21417 * config/m68k/dpx2.h: Likewise. 21418 * config/rs6000/lynx.h: Likewise. 21419 21420 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove. 21421 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New. 21422 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New. 21423 (ia64_in_small_data_p): New. 21424 (ia64_encode_section_info): Use it. Reorganize overlarge conditional. 21425 (ia64_aix_select_section, ia64_aix_unique_section): New. 21426 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove. 21427 (SELECT_SECTION, UNIQUE_SECTION): Remove. 21428 21429 * config/m32r/m32r.h (SELECT_SECTION): Remove. 21430 (TARGET_ASM_SELECT_SECTION): New. 21431 * config/m32r/m32r.c (m32r_select_section): Take align argument. 21432 * config/m32r/m32r-protos.h: Update. 21433 21434 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New. 21435 (SELECT_SECTION): Move ... 21436 * config/m88k/m88k.c (m88k_select_section): ... here. 21437 21438 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove. 21439 * config/mcore/mcore.h (UNIQUE_SECTION): Remove. 21440 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New. 21441 (mcore_unique_section): Make static. 21442 * config/mcore/mcore-protos.h: Update. 21443 21444 * config/mips/elf.h (UNIQUE_SECTION): Remove. 21445 (TARGET_ASM_UNIQUE_SECTION): New. 21446 * config/mips/elf64.h: Likewise. 21447 * config/mips/iris6gld.h: Likewise. 21448 * config/mips/linux.h: Likewise. 21449 * config/mips/mips-protos.h: Update. 21450 * config/mips/mips.c (mips_select_section): Add align argument. 21451 * config/mips/mips.h (SELECT_SECTION): Remove. 21452 (TARGET_ASM_SELECT_SECTION): New. 21453 21454 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove. 21455 * config/mmix/mmix.c (mmix_select_section): Remove. 21456 (mmix_unique_section): Remove. 21457 * config/mmix/mmix-protos.h: Update. 21458 21459 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New. 21460 (SELECT_SECTION): Move ... 21461 * config/pa/pa.c (pa_select_section): ... here. 21462 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove. 21463 21464 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename 21465 from rs6000_select_section and make static. 21466 (rs6000_elf_unique_section): Similarly. 21467 (rs6000_xcoff_select_section): From xcoff.h. 21468 (rs6000_xcoff_unique_section): Likewise. 21469 * config/rs6000/rs6000-protos.h: Update. 21470 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove. 21471 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New. 21472 * config/rs6000/xcoff.h: Likewise. 21473 21474 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New. 21475 (SELECT_SECTION): Move ... 21476 * config/sparc/sparc.c (sparc_aout_select_section): ... here. 21477 21478 * config/v850/v850.h (SELECT_SECTION): Move ... 21479 * config/v850/v850.c (v850_select_section): ... here. 21480 (TARGET_ASM_SELECT_SECTION): New. 21481 21482 * config/vax/vms.h (SELECT_SECTION): Move ... 21483 * config/vax/vax.c (vms_select_section): ... here. 21484 (TARGET_ASM_SELECT_SECTION): New. 21485 21486 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs 21487 for the target hooks. 21488 214892002-05-17 Nick Clifton <nickc@cambridge.redhat.com> 21490 21491 * config/arm/arm.c (emit_multi_reg_push): Do not set 21492 RTX_FRAME_RELATED_P on the SEQUENCE. 21493 214942002-05-16 Richard Henderson <rth@redhat.com> 21495 21496 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before 21497 splitting. Use split_all_insns; update_life_info_in_dirty_blocks. 21498 214992002-05-16 Richard Henderson <rth@redhat.com> 21500 21501 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo. 21502 21503 * config/ia64/ia64.c (saveable_obstack): Do not declare. 21504 215052002-05-16 Richard Henderson <rth@redhat.com> 21506 21507 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c, 21508 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c, 21509 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c, 21510 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c, 21511 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c, 21512 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c, 21513 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c, 21514 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c: 21515 Revert "Basic block renumbering removal", and two followup patches. 21516 215172002-05-16 Jason Thorpe <thorpej@wasabisystems.com> 21518 21519 * lcm.c (optimize_mode_switching): Revert previous change. 21520 215212002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 21522 21523 * sched-rgn.c (schedule_insns): Initialize large_region_blocks 21524 with only extant block numbers. 21525 215262002-05-16 Jason Thorpe <thorpej@wasabisystems.com> 21527 21528 * lcm.c (optimize_mode_switching): Fix typo. 21529 215302002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 21531 21532 * flow.c (calculate_global_regs_live): Queue blocks in program order. 21533 215342002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 21535 21536 * doc/install.texi (Configuration): Document PWDCMD. 21537 215382002-05-16 Dale Johannesen <dalej@apple.com> 21539 21540 * combine.c (cant_combine_insn_p): Reenable combinations 21541 involving hard regs unless CLASS_LIKELY_SPILLED_P. 21542 215432002-05-16 Neil Booth <neil@daikokuya.demon.co.uk> 21544 21545 * c-common.c (cb_register_builtins): Handle more built-ins 21546 here rather than in gcc.c specs. 21547 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c. 21548 (cpp_options): Pass -O flags even when only preprocessing. 21549 * toplev.c (set_fast_math_flags): New prototype. 21550 (fast_math_flags_set_p): New. 21551 (set_no_fast_math_flags): Remove. 21552 (decode_f_option): Update. 21553 * toplev.h (set_fast_math_flags): Update. 21554 (fast_math_flags_set_p): New. 21555 (set_no_fast_math_flags): Remove. 21556config: 21557 * c4x/c4x.c (c4x_override_options): Update. 21558 215592002-05-16 Zack Weinberg <zack@codesourcery.com> 21560 21561 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX): 21562 Default-define here. 21563 (builtin_define_with_value): Can now wrap the expansion in 21564 quotation marks if such is wanted. 21565 (cb_register_builtins): Update calls to builtin_define_with_value. 21566 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__ 21567 here. 21568 (c_common_init): Set options->stdc_0_in_system_headers. 21569 * c-lex.h: Update prototype of builtin_define_with_value. 21570 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX 21571 and REGISTER_PREFIX. 21572 21573 * cppinit.c (VERS, ULP, C, X): Kill. 21574 (builtin_array): Remove entries for __VERSION__, 21575 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and 21576 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not 21577 a constant. 21578 (init_builtins): Kill off a bunch of now-dead code. 21579 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and 21580 -fno-leading-underscore. 21581 (cpp_handle_option): Remove code to set user_label_prefix. 21582 (cpp_post_options): Likewise. 21583 21584 * cpplib.h (struct cpp_options): Remove user_label_prefix. 21585 (stdc_0_in_system_headers): New. 21586 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile, 21587 stdc_0_in_system_headers) too to decide the value of __STDC__. 21588 21589 * tradcpp.c (user_label_prefix): Kill. 21590 (main): Remove code handling -f(no-)leading-underscore. 21591 (initialize_builtins): Don't define __REGISTER_PREFIX__ 21592 or __USER_LABEL_PREFIX__. 21593 (install_value): Wrap compound statement in dummy loop so the 21594 macro works properly in an if statement. 21595 21596 215972002-05-16 Janis Johnson <janis187@us.ibm.com> 21598 21599 * loop.h (struct loop_info): Add member has_prefetch. 21600 * loop.c (PREFETCH_CONDITIONAL): Change default to 1. 21601 (prescan_loop): Initialize has_prefetch. 21602 (struct prefetch_info): Change prefetch_in_loop and 21603 prefetch_before_loop from bit fields to ints. 21604 (emit_prefetch_instructions): Several small fixes. 21605 (check_dbra_loop): Don't reverse loop that uses prefetch. 21606 216072002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 21608 21609 * Makefile.in: Allow for PWDCMD to override hardcoded pwd. 21610 * configure.in: Likewise. 21611 * fixinc/check.tpl: Likewise. 21612 * fixinc/fixinc.dgux: Likewise. 21613 * fixinc/fixinc.svr4: Likewise. 21614 * fixinc/fixinc.winnt: Likewise. 21615 * fixinc/fixincl.sh: Likewise. 21616 * fixproto: Likewise. 21617 * configure: Regenerate. 21618 216192002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 21620 21621 Basic block renumbering removal: 21622 * basic_block.h (struct basic_block_def): Renamed index to sindex, 21623 added prev_bb and next_bb fields. 21624 (n_basic_blocks): Renamed to num_basic_blocks. 21625 (last_basic_block): New, index of last basic block. 21626 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for 21627 traversing basic block chain. 21628 (BLOCK_NUM): index -> sindex. 21629 (create_basic_block_structure, create_basic_block): Declaration changed. 21630 (debug_num2bb): Declare. 21631 (expunge_block_nocompact): Declaration removed. 21632 (link_block, unlink_block, compact_blocks): Declare. 21633 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified. 21634 * cfg.c (entry_exit_blocks): Initialize new fields. 21635 (clear_edges, alloc_block, expunge_block, cached_make_edge, 21636 redirect_edge_pred, dump_flow_info, dump_edge_info, 21637 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges, 21638 free_aux_for_edges): Modified. 21639 (link_block, unlink_block, compact_blocks, debug_num2bb): New. 21640 (expunge_block_nocompact): Removed. 21641 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add, 21642 find_unreachable_blocks, create_edge_list, print_edge_list, 21643 verify_edge_list, flow_edge_list_print, remove_fake_successors, 21644 remove_fake_edges, flow_reverse_top_sort_order_compute, 21645 flow_depth_first_order_compute, flow_preorder_transversal_compute, 21646 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb, 21647 flow_dfs_compute_reverse_execute): Modified. 21648 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1, 21649 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks): 21650 Modified. 21651 * cfgcleanup.c (try_simplify_condjump, try_forward_edges, 21652 merge_blocks_move_predecessor_nojumps, 21653 merge_blocks_move_successor_nojumps, merge_blocks, 21654 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb, 21655 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified. 21656 * cfglayout.c (skip_insns_after_block, label_for_bb, 21657 record_effective_endpoints, scope_to_insns_finalize, 21658 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps, 21659 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge, 21660 cfg_layout_duplicate_bb): Modified. 21661 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump, 21662 flow_loop_entry_edges_find, flow_loop_exit_edges_find, 21663 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan, 21664 flow_loops_find, flow_loop_outside_edge_p): Modified. 21665 * cfgrtl.c (create_basic_block_structure, create_basic_block, 21666 flow_delete_block, compute_bb_for_insn, split_block, 21667 try_redirect_by_replacing_jump, redirect_edge_and_branch, 21668 force_nonfallthru_and_redirect, tidy_fallthru_edge, 21669 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion, 21670 commit_edge_insertions, commit_edge_insertions_watch_calls, 21671 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges, 21672 purge_all_dead_edges): Modified. 21673 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies, 21674 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate, 21675 get_last_value, reg_dead_at_p, distribute_notes, distribute_links): 21676 Modified. 21677 * conflict.c (conflict_graph_compute): Modified. 21678 * df.c (FOR_ALL_BBS): Removed. 21679 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1, 21680 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify, 21681 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified. 21682 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified. 21683 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree, 21684 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified. 21685 * final.c (compute_alignments, final_scan_insn): Modified. 21686 * flow.c (verify_local_live_at_start, update_life_info, 21687 update_life_info_in_dirty_blocks, free_basic_block_vars, 21688 delete_noop_moves, calculate_global_regs_live, 21689 initialize_uninitialized_subregs, allocate_bb_life_data, 21690 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1, 21691 mark_used_reg, count_or_remove_death_notes): Modified. 21692 * function.c (thread_prologue_and_epilogue_insns): Modified. 21693 * gcse.c (struct null_pointer_info): Change typo of current_block 21694 to basic_block. 21695 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets, 21696 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info, 21697 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd, 21698 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill, 21699 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr, 21700 classic_gcse, one_classic_gcse_pass, compute_transp, cprop, 21701 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work, 21702 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert, 21703 pre_delete, one_pre_gcse_pass, compute_transpout, 21704 invalidate_nonnull_info, delete_null_pointer_checks_1, 21705 free_code_hoist_mem, compute_code_hoist_vbeinout, 21706 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass, 21707 compute_ld_motion_mems, store_ops_ok, find_moveable_store, 21708 compute_store_table, build_store_vectors, insert_insn_start_bb, 21709 insert_store, replace_store_insn, free_store_memory, store_motion): 21710 Modified. 21711 * global.c (global_alloc, global_conflicts, mark_elimination, 21712 build_insn_chain): Modified. 21713 * graph.c (print_rtl_graph_with_bb): Modified. 21714 * haifa-sched.c (sched_init): Modified. 21715 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed. 21716 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2, 21717 if_convert): Modified. 21718 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin, 21719 compute_insert_delete, pre_edge_lcm, compute_available, 21720 compute_farthest, compute_nearerout, compute_rev_insert_delete, 21721 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching): 21722 Modified. 21723 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified. 21724 * loop.c (loop_dump_aux): Modified. 21725 * predict.c (combine_predictions_for_insn, estimate_probability, 21726 last_basic_block_p, process_note_prediction, process_note_predictions, 21727 note_prediction_to_br_prob, propagate_freq, counts_to_freqs, 21728 expensive_function_p, estimate_bb_frequencies, 21729 compute_function_frequency): Modified. 21730 * print-rtl.c (print_rtx): Modified. 21731 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges, 21732 get_exec_counts, compute_branch_probabilities, compute_checksum, 21733 branch_prob, find_spanning_tree): Modified. 21734 * recog.c (split_all_insns, peephole2_optimize): Modified. 21735 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge, 21736 convert_regs_1, convert_regs_2, convert_regs): Modified. 21737 * regclass.c (scan_one_insn, regclass): Modified. 21738 * regmove.c (mark_flags_life_zones, regmove_optimize, 21739 combine_stack_adjustments): Modified. 21740 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified. 21741 * reload1.c (reload, reload_combine, copy_eh_notes): Modified. 21742 * reorg.c (dbr_schedule): Modified. 21743 * resource.c (find_basic_block, init_resource_info): Modified. 21744 * sbitmap.c (sbitmap_intersection_of_succs, 21745 sbitmap_intersection_of_preds, sbitmap_union_of_succs, 21746 sbitmap_union_of_preds): Modified. 21747 * sched-deps.c (init_dependency_caches): Modified. 21748 * sched-ebb.c (schedule_ebbs): Modified. 21749 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions, 21750 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified. 21751 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified. 21752 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges, 21753 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns, 21754 ssa_const_prop): Modified. 21755 * ssa-dce.c (set_control_dependent_block_to_edge_map_, 21756 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified. 21757 * ssa.c (remove_phi_alternative, find_evaluations, 21758 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers, 21759 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi, 21760 make_regs_equivalent_over_bad_edges, 21761 make_equivalent_phi_alternatives_equival, 21762 compute_conservative_reg_partition, 21763 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition, 21764 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi): 21765 Modified. 21766 217672002-05-16 Mark Mitchell <mark@codesourcery.com> 21768 21769 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH. 21770 217712002-05-16 Nick Clifton <nickc@cambridge.redhat.com> 21772 21773 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a 21774 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P. 21775 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before 21776 calling CONSTANT_POOL_ADDRESS_P. 21777 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code 21778 to decide whether to define __arm__ or __thumb. 21779 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a 21780 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P. 21781 217822002-05-16 Neil Booth <neil@daikokuya.demon.co.uk> 21783 21784 * config/arc/arc.h (CPP_PREDEFINES): Remove. 21785 (CPP_SPEC): Update. 21786 (TARGET_CPU_CPP_BUILTINS): New. 21787 217882002-05-16 Neil Booth <neil@daikokuya.demon.co.uk> 21789 21790 * cpphash.h (cpp_macro): Move here, and make expansion a union. 21791 * cppmacro.c (cpp_macro): Remove. 21792 (enter_macro_context, replace_args, warn_of_redefinition, 21793 _cpp_create_definition, cpp_macro_definition): Update. 21794 217952002-05-16 Jason Merrill <jason@redhat.com> 21796 21797 * config/mips/mips.c (mips_output_external): Don't do sdata 21798 optimization for a variable with DECL_COMDAT set. 21799 218002002-05-15 Aldy Hernandez <aldyh@redhat.com> 21801 21802 * config/rs6000/altivec.h: Cleanups for tighter typechecking. 21803 Cleanups for accepting modifiers on pointers. 21804 Fix predicate typos. 21805 Allow long pointers as well as int pointers. 21806 218072002-05-15 Richard Henderson <rth@redhat.com> 21808 21809 * varasm.c (merge_weak): Remove special case for extern and common. 21810 218112002-05-15 Matt Hiller <hiller@redhat.com> 21812 21813 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if 21814 XFAILing. 21815 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto. 21816 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto. 21817 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now. 21818 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto. 21819 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto. 21820 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto. 21821 218222002-05-15 Aldy Hernandez <aldyh@redhat.com> 21823 21824 * reload1.c (forget_old_reloads_1): Do not use subreg offset. 21825 218262002-05-15 Aldy Hernandez <aldyh@redhat.com> 21827 21828 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register. 21829 ("altivec_mfvscr"): Read from VSCR. 21830 21831 Add vscr sets for the following insns: altivec_vctuxs, 21832 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs, 21833 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs, 21834 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs, 21835 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss, 21836 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus, 21837 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus, 21838 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs, 21839 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws, 21840 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs, 21841 altivec_vsum2sws, altivec_vsumsws. 21842 21843 * config/rs6000/rs6000.h: Add VSCR fixed register. 21844 (CALL_REALLY_USED_REGISTERS): Add vscr. 21845 (CALL_USED_REGISTERS): Same. 21846 (FIXED_REGISTERS): Same. 21847 (REG_ALLOC_ORDER): Same. 21848 (reg_class): Add VSCR_REGS. 21849 (REG_CLASS_NAMES): Same. 21850 (REG_CLASS_CONTENTS): Same. 21851 (VSCR_REGNO): New. 21852 (REGISTER_NAMES): Add vscr. 21853 (DEBUG_REGISTER_NAMES): Same. 21854 (ADDITIONAL_REGISTER_NAMES): Same. 21855 (FIRST_PSEUDO_REGISTER): Increment. 21856 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register. 21857 218582002-05-15 Jakub Jelinek <jakub@redhat.com> 21859 21860 * fold-const.c (fold): Fix a typo. 21861 218622002-05-15 Eric Botcazou <ebotcazou@multimania.com> 21863 21864 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a 21865 comparison against the highest or lowest integer value before 21866 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)' 21867 transformation and that of an unsigned comparison against 0 21868 right after. 21869 218702002-05-15 Richard Henderson <rth@redhat.com> 21871 21872 * varasm.c (merge_weak): Error for any weakening after definition. 21873 Adjust weakening after use warning to catch more cases. 21874 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently. 21875 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort. 21876 21877Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz> 21878 21879 * invoke.texi (-malign-double): Re-add lost warning. 21880 21881 * i386-protos.h (x86_output_mi_thunk): Declare. 21882 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ... 21883 * i386.c (x86_output_mi_thunk): ... here; handle 64bits. 21884 21885 * dwarf2out.c (output_call_frame_info): Do not skip unwind info 21886 when flag_asynchronous_unwind_tables is set. 21887 21888 * flags.h (flag_reorder_functions): Declare. 21889 * function.c (prepare_function_start): Initialize frequnecy. 21890 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New. 21891 * Makefile.in (predict.o): Add dependency on target.h and params.h 21892 * defaults.h (HOT_TEXT_SECTION_NAME, 21893 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros. 21894 * predict.c (choose_function_section): New function. 21895 (estimate_bb_frequencies): Use it. 21896 * toplev.c (flag_reorder_functions): New global variable. 21897 (lang_independent_options): New. 21898 (parse_options_and_default_flags): Set. 21899 * varasm.c (assemble_start_function): Bypass functdion alignment 21900 for never executed functions. 21901 * invoke.texi (-freorder-blocks, -freorder-functions): Document. 21902 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New. 21903 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): 21904 Document. 21905 21906 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz> 21907 21908 * predict.c: Inlude profile.h 21909 (MIN_COUNT): Rename to MIN_COUNT_FRACTION 21910 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p): 21911 Use the information about maximal counter in the program. 21912 21913 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz> 21914 21915 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p, 21916 probably_never_executed_bb_p): New functions. 21917 * cfgcleanup.c (outgoing_edges_match): Use them. 21918 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros. 21919 (maybe_hot_bb_p, probably_cold_bb_p, 21920 probably_never_executed_bb_p): New functions. 21921 21922 * function.h (function): Add new field function_frequency. 21923 * predict.c (compute_function_frequency): New function. 21924 (estimate_probability): Call it. 21925 219262002-03-09 Jakub Jelinek <jakub@redhat.com> 21927 21928 PR optimization/5172, optimization/5200 21929 * gcse.c (gcse_main): Disable store_motion. 21930 219312002-05-14 Zack Weinberg <zack@codesourcery.com> 21932 21933 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro. 21934 (c_common_nodes_and_builtins): Use it. 21935 (builtin_define_with_value): New function. 21936 (cb_register_builtins): Define __SIZE_TYPE__, 21937 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here, 21938 using builtin_define_with_value. Use consistent notation when 21939 defining __GXX_WEAK__. 21940 (WCHAR_TYPE_SIZE): Don't redefine. 21941 (combine_strings): Don't use WCHAR_TYPE_SIZE. 21942 21943 * cppdefault.h: Don't provide defaults for SIZE_TYPE, 21944 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE. 21945 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc. 21946 * tradcpp.c (initialize_builtins): Likewise. 21947 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__. 21948 21949 * c-lex.h (builtin_define_with_value): Prototype. 21950 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE, 21951 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE. 21952 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc. 21953 21954 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h, 21955 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h, 21956 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h, 21957 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h, 21958 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h, 21959 config/sparc/linux64.h, config/sparc/netbsd-elf.h, 21960 config/sparc/sol2-bi.h, config/sparc/sparc.h: 21961 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references 21962 to __SIZE_TYPE__ etc from all spec strings. When this makes 21963 extra specs empty, delete them. 21964 219652002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca> 21966 21967 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling 21968 for PA8000 or generating dwarf2 call frame information. 21969 (output_call): Remove DO_FRAME_NOTES check from return pointer 21970 optimization. 21971 (following_call): Return 0 when scheduling for PA8000 or generating 21972 dwarf2 call frame information. Revise comment. 21973 219742002-05-14 Neil Booth <neil@daikokuya.demon.co.uk> 21975 21976config/alpha: 21977 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP 21978 and __IEEE_FP_INEXACT as appropriate. 21979 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus. 21980 (CPP_SPEC): Remove ieee defines. 21981 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu. 21982 219832002-05-14 Richard Henderson <rth@redhat.com> 21984 21985 * config/i386/i386.c (ix86_save_reg): Make regno unsigned. 21986 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill. 21987 219882002-05-14 Neil Booth <neil@daikokuya.demon.co.uk> 21989 21990 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define. 21991 (CPP_SPEC): Update. 21992 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC, 21993 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC, 21994 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC, 21995 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove. 21996 (EXTRA_SPECS): Update. 21997 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h, 21998 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h, 21999 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and 22000 define TARGET_OS_CPP_BUILTINS if necessary. 22001 220022002-05-14 Neil Booth <neil@daikokuya.demon.co.uk> 22003 22004 * gcc.c (cpp_options): Must pass -m* and -f* options 22005 to the front end even when only preprocessing. 22006 (cc1_options): Remove redundant -lang-c. 22007 * tradcpp.c (main): Ignore -m options. 22008objc: 22009 * lang-specs.h: Similarly. 22010 220112002-05-14 Vladimir Makarov <vmakarov@redhat.com> 22012 22013 * genautomata.c (transform_3): Add code for transformation 22014 `(A,B,...)+C -> A+C,B,...'. 22015 22016Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz> 22017 22018 * final.c (end_final): Do not output profile_arcs constructor, when 22019 no functions are instrumented. 22020 22021Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz> 22022 22023 * i386.md (testsi to testqi_zext_1 splitter): Fix typo. 22024 220252002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 22026 22027 * doc/install.texi: Remove special markup originally required for 22028 HTML generation with texi2html. 22029 220302002-05-14 Andreas Schwab <schwab@suse.de> 22031 22032 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of 22033 SELECT_SECTION. 22034 (UNIQUE_SECTION): Define to get small data correctly. 22035 22036 * varasm.c (resolve_unique_section): Add third parameter 22037 flag_function_or_data_sections and use it instead of 22038 flag_function_sections. 22039 (assemble_start_function): Pass flag_function_sections. 22040 (asm_emit_uninitialised): Pass flag_data_sections. 22041 (assemble_variable): Likewise. 22042 220432002-05-14 Richard Henderson <rth@redhat.com> 22044 22045 * config/i386/i386.md: Use define_constants for unspec numbers. 22046 * config/i386/i386.c: Likewise. 22047 220482002-05-13 Neil Booth <neil@daikokuya.demon.co.uk> 22049 22050 * doc/contrib.texi: Update my entry. 22051 220522002-05-13 Mark Mitchell <mark@codesourcery.com> 22053 22054 * fixinc/inclhack.def (winidss_valist): Limit applicability. 22055 * fixinc/fixincl.x: Regenerated. 22056 * fixinc/tests/base/math.h: Update. 22057 * fixinc/tests/base/testing.h: Likewise. 22058 220592002-05-13 Zack Weinberg <zack@codesourcery.com> 22060 22061 * genattr.c (gen_attr): Don't emit a comma after the last 22062 enumerator. 22063 220642002-05-13 Richard Henderson <rth@redhat.com> 22065 22066 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created 22067 by non-local gotos. 22068 * recog.c (peephole2_optimize): Likewise. 22069 220702002-05-13 Andris Pavenis <pavenis@lanet.lv> 22071 22072 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected 22073 input to O_BINARY. 22074 220752002-05-13 Jeffrey A Law (law@redhat.com) 22076 22077 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx. 22078 Update prototype and callers. 22079 (propagate_one_insn): Stack pointer adjustments kill MEMs on 22080 the mem_set_list which reference the stack pointer, as do 22081 calls to constant functions as they may clobber outgoing 22082 argument space. 22083 22084 * i386.c (ia32_multipass_dfa_lookahead): Prototype. 22085 22086 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. 22087 (ia32_multipass_dfa_lookahead): New function. 22088 220892002-05-13 Neil Booth <neil@daikokuya.demon.co.uk> 22090 22091 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'. 22092 (translate_options): Remove 'V'. 22093 (process_command): Similarly. 22094doc: 22095 * invoke.texi: Remove documentation of 'V'. 22096 220972002-05-13 Ulrich Weigand <uweigand@de.ibm.com> 22098 22099 * config/s390/linux.h: Revert 2002-04-22 changes. 22100 221012002-05-13 Scott Marks <SMarks@mobile-mind.com> 22102 22103 * config/fr30/fr30.md: Only allow splits of immediate loads 22104 if the destination is a register. 22105 221062002-05-13 Neil Booth <neil@daikokuya.demon.co.uk> 22107 22108 * Makefile.in (c-common.o, cppinit.o): Update. 22109 * c-common.c: Include except.h. 22110 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__. 22111 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS. 22112 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here. 22113 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS, 22114 CPP_PREDEFINES): Handle here. 22115config: 22116 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h, 22117 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h, 22118 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define 22119 TARGET_OS_CPP_BUILTINS. 22120 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define. 22121 (CPP_SPEC, EXTRA_SPECS): Update. 22122 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC, 22123 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC, 22124 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC, 22125 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC, 22126 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove. 22127doc: 22128 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove. 22129 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define. 22130 221312002-05-12 Zack Weinberg <zack@codesourcery.com> 22132 22133 * emit-rtl.c (global_rtl): Update comment. 22134 (const_double_htab, const_double_htab_hash, 22135 const_double_htab_hash, lookup_const_double): New. 22136 (const_int_htab_hash, const_int_htab_eq): Remove const 22137 qualifiers, which cause tons of warnings with RTL checking on. 22138 (gen_rtx_CONST_DOUBLE): Deleted. 22139 (const_double_from_real_value): New function - bears some 22140 resemblance to the former immed_real_const_1. 22141 (immed_double_const): Moved here from varasm.c and 22142 simplified. 22143 (gen_rtx_REG): Make REGNO unsigned to squelch warnings. 22144 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG. 22145 (gen_rtx): Use immed_double_const. 22146 (init_emit_once): Initialize the const_double_htab. Use 22147 REAL_VALUE_FROM_INT where possible. Can now use 22148 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx. 22149 * varasm.c (struct varasm_status): Remove x_const_double_chain. 22150 (const_double_chain, immed_real_const, clear_const_double_mem): Delete. 22151 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c. 22152 (init_varasm_status, mark_varasm_status): Don't touch 22153 x_const_double_chain. 22154 22155 * output.h: Delete prototype for clear_const_double_mem. 22156 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading 22157 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype 22158 const_double_from_real_value, not immed_real_const_1, and use 22159 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro 22160 CONST_DOUBLE_ATOF. 22161 * rtl.h (CONST_DOUBLE_CHAIN): Kill. 22162 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust. 22163 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes. 22164 (gen_rtx_REG): Second arg is unsigned. 22165 22166 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE. 22167 (excluded_rtx): New, return true for CONST_DOUBLE. 22168 (genmacro): Write nothing for excluded codes. 22169 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE. 22170 * expr.c (expand_expr): Likewise. 22171 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the 22172 CONST_DOUBLE_CHAIN. 22173 * toplev.c (rest_of_compilation): Don't call 22174 clear_const_double_mem. 22175 22176 * config/rs6000/rs6000.c (rs6000_float_const): Delete. 22177 (rs6000_hash_constant): Remove CONST_DOUBLE special case. 22178 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases. 22179 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const. 22180 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF. 22181 * config/dsp16xx/dsp16xx.md, config/mips/mips.md, 22182 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE. 22183 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const. 22184 221852002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 22186 22187 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define. 22188 221892002-05-12 Tom Tromey <tromey@redhat.com> 22190 22191 * tree.h (copy_node): Don't mention TREE_PERMANENT. 22192 221932002-05-12 Zack Weinberg <zack@codesourcery.com> 22194 22195 * gensupport.c (n_comma_elts): Moved here from genattrtab.c. 22196 (scan_comma_elt): New function. Accepts whitespace in comma lists. 22197 * gensupport.h: Prototype new routines. 22198 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary 22199 use of printf. 22200 * genattrtab.c (n_comma_elts): Moved to gensupport.c. 22201 (next_comma_elt): Use scan_comma_elt. 22202 22203 * config/i386/i386.md: Use new attribute notation to break up 22204 long lines in define_attr forms. 22205 222062002-05-12 Richard Henderson <rth@redhat.com> 22207 22208 * expr.c (compress_float_constant): New. 22209 (emit_move_insn): Use it. 22210 (float_extend_from_mem): New. 22211 (init_expr_once): Initialize it. 22212 * real.c (exact_real_truncate): New. 22213 22214 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets 22215 dropped into memory; penalize for size. 22216 (RTX_COSTS): FLOAT_EXTEND is free. 22217 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2, 22218 extenddfxf2, extenddftf2): Accept constants and drop them to memory. 22219 222202002-05-12 Richard Henderson <rth@redhat.com> 22221 22222 * profile.h (profile_info): Add missing extern to declaration. 22223 * profile.c (profile_info): Define it. 22224 222252002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 22226 22227 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers 22228 used for DImode and TImode. 22229 222302002-05-11 Neil Booth <neil@daikokuya.demon.co.uk> 22231 22232 * cpplex.c (_cpp_lex_direct): When in a directive at EOF 22233 fake a newline. 22234 222352002-05-11 Zack Weinberg <zack@codesourcery.com> 22236 22237 * config/rs6000/rs6000.c (rs6000_default_long_calls, 22238 rs6000_longcall_switch, rs6000_set_default_type_attributes): New. 22239 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it. 22240 (rs6000_override_options): Handle -m(no-)longcall. 22241 (init_cumulative_args, output_mi_thunk): Check for both 22242 longcall and shortcall attributes on the function. 22243 (rs6000_attribute_table): Add "shortcall". 22244 (rs6000_handle_longcall_attribute): Update comment. 22245 (altivec_expand_unop_builtin, altivec_expand_binop_builtin, 22246 altivec_expand_ternop_builtin): Add default clauses to switches 22247 to silence warnings. 22248 22249 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and 22250 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS. 22251 (TARGET_OPTIONS): Add longcall and no-longcall. 22252 22253 * config/rs6000/rs6000.md (call_nonlocal_sysv, 22254 call_value_nonlocal_sysv): Split by alternatives. One pair 22255 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in 22256 the call cookie. The other pair accepts only LR/CTR and has 22257 no restriction. 22258 22259 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza): 22260 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to 22261 tmake_file. 22262 * config/rs6000/rs6000-c.c: New file. 22263 * config/rs6000/t-rs6000-c-rule: New file. 22264 * config/rs6000/rs6000-protos.c: Add multiple-include guard. 22265 Prototype rs6000_pragma_longcall. 22266 22267 * doc/extend.texi: Document shortcall attribute. 22268 * doc/invoke.texi: Document -mlongcall, -mno-longcall. 22269 222702002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 22271 22272 * reorg.c (dbr_schedule): Remove unnecessary test. 22273 22274Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz> 22275 22276 * i386.md (testsi to testqi spliters): New. 22277 22278 2002-01-14 Josef Zlomek <zlomek@matfyz.cz> 22279 22280 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU. 22281 22282 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz> 22283 22284 * basic-block.h: New flag EDGE_CAN_FALLTHRU 22285 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges 22286 that can be made fallthru. 22287 22288 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz> 22289 22290 * cfglayout.c (cleanup_unconditional_jumps): New static function. 22291 (cfg_layout_initialize): Use it. 22292 222932002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl> 22294 22295 * config/avr/avr.c (avr_mcu_types): Update supported devices. 22296 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 22297 * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 22298 222992002-05-11 Kazu Hirata <kazu@cs.umass.edu> 22300 22301 * dbxout.c: Fix formatting. 22302 * dependence.c: Likewise. 22303 * df.c: Likewise. 22304 * diagnostic.c: Likewise. 22305 * doloop.c: Likewise. 22306 * dominance.c: Likewise. 22307 * doschk.c: Likewise. 22308 * dwarf2asm.c: Likewise. 22309 * dwarf2out.c: Likewise. 22310 * dwarfout.c: Likewise. 22311 223122002-05-10 Richard Henderson <rth@redhat.com> 22313 22314 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct. 22315 Convert integers constants as needed. Replace "nwords" field with 22316 "sizeof_bb". 22317 (final): Save profile data if cfun->arc_profile, not profile_arc_flag. 22318 * function.h: Fix typo in comment. 22319 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb". 22320 223212002-05-10 Roger Sayle <roger@eyesopen.com> 22322 22323 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127) 22324 into the equivalent (signed char)c > 0. 22325 223262002-05-10 Janis Johnson <janis187@us.ibm.com> 22327 22328 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New. 22329 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS. 22330 (struct prefetch_info): Fix spelling of member bytes_accessed. 22331 (emit_prefetch_instructions): Make dump messages more regular; 22332 restructure code to add more dump messages; use new macros for 22333 heuristics. (There are no code generation changes in any of this). 22334 223352002-05-10 David S. Miller <davem@redhat.com> 22336 22337 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment. 22338 (struct rtx_def): Update unchanging flag comment. 22339 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description. 22340 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs 22341 to be handled to INSN too. 22342 (dbr_schedule): Likewise. 22343 * resource.c (next_insn_no_annul): Likewise. 22344 22345 * cse.c (rtx_cost): Remove multiplication by power of 2 special 22346 casing. 22347 223482002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 22349 22350 * doc/install.texi (Specific, *-*-solaris2*): Update passus on 22351 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to 22352 (possibly) work around broken /bin/sh. 22353 223542002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 22355 22356 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and 22357 . as N64/N32 libgcc_s.so subdirs. 22358 223592002-05-10 David S. Miller <davem@redhat.com> 22360 22361 * config/sparc/sparc.md: Use define_constants for unspec numbers. 22362 22363 * rtl.h (struct rtx_def): Document unchanging and in_struct flags 22364 more accurately. 22365 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix 22366 comment. 22367 (INSN_FROM_TARGET_P): Valid also for CALL_INSN. 22368 * doc/rtl.texi: Document these macros more accurately. 22369 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for 22370 JUMP_INSNs and CALL_INSNs. 22371 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P 22372 or INSN_FROM_TARGET_P if the code is appropriate. 22373 223742002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl> 22375 22376 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF 22377 before using SYMBOL_REF_FLAG (addr). 22378 22379 * config/avr/avr-protos.h (avr_io_address_p): Declare. 22380 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p. 22381 Make non-static. Update all callers. 22382 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7): 22383 New insns to clear/set/test a single bit in I/O address space. 22384 223852002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 22386 22387 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7. 22388 223892002-05-09 Neil Booth <neil@daikokuya.demon.co.uk> 22390 22391 * Makefile.in: Update. 22392 * c-common.c (flag_iso, flag_undef, cb_register_builtins, 22393 builtin_define_std): New. 22394 (c_common_init): Register CPP builtins callback. 22395 * c-common.h (flag_iso, flag_undef): New. 22396 * c-decl.c (c_decode_option): Set flag_iso and flag_undef. 22397 * c-lex.c: Don't include target.h. 22398 (cb_register_builtins): Move to c-common.c. 22399 (init_c_lex): Don't register hook here. 22400 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New. 22401 (cpp_define, cpp_assert): Remove. 22402 * gcc.c (cc1_options): Pass -undef to front end. 22403 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove. 22404 (TARGET_INITIALIZER): Update. 22405 * target.h (struct cpp_reader): Don't predeclare. 22406 (struct gcc_target): Remove cpp builtin hook. 22407 * tree.c (default_register_cpp_builtins): Remove. 22408doc: 22409 * tm.texi: Update. 22410 224112002-05-09 Neil Booth <neil@daikokuya.demon.co.uk> 22412 22413 * cppexp.c (_cpp_expand_op_stack): Set op_limit. 22414 224152002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 22416 22417 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define. 22418 (SHLIB_LINK, SHLIB_INSTALL): Adjust. 22419 224202002-05-09 Jakub Jelinek <jakub@redhat.com> 22421 22422 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set. 22423 * config/sparc/libgcc-sparc-glibc.ver: New file. 22424 * config/cris/t-linux (SHLIB_MAPFILES): Remove. 22425 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags. 22426 224272002-05-09 Jakub Jelinek <jakub@redhat.com> 22428 22429 PR target/6429 22430 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc. 22431 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s 22432 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for 22433 base multilibs. 22434 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above. 22435 * config/t-slibgcc-sld (SHLIB_LINK): Likewise. 22436 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define. 22437 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define. 22438 224392002-05-09 Richard Henderson <rth@redhat.com> 22440 22441 * config/ia64/ia64.md: Use define_constants for unspec numbers. 22442 * config/ia64/ia64.c: Likewise. 22443 224442002-05-09 Richard Sandiford <rsandifo@redhat.com> 22445 22446 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg. 22447 (save_restore_insns): Likewise. 22448 (mips_expand_prologue, mips_expand_epilogue): Update callers. 22449 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument. 22450 22451Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com) 22452 22453 * athlon.md, k6.md, pentium.md, ppro.md): New files. 22454 * i386.md: Move scheduling information into new files. 22455 22456 * i386.md (type attribute): Add "rotate" for rotate insns. 22457 (rotate insns): Set type to "rotate". 22458 (various attributes and function units): Treat rotate like shift. 22459 (pent_pair attribute): Only rotates by one bit position are 22460 pairable. 22461 (sbb insns): Explicitly set pent_pair attribute on a couple 22462 that were missing it. 22463 22464Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com> 22465 22466 * sh.c (sh_builtin_saveregs): If starting with an odd fp register, 22467 make sure that buffer starts on odd word address. 22468 (sh_va_arg): Skip odd fp registers when reading a double precision 22469 value. 22470 224712002-05-09 Neil Booth <neil@daikokuya.demon.co.uk> 22472 22473 * tree.h (preserve_data, object_permanent_p, type_precision): 22474 Remove. 22475 224762002-05-09 Neil Booth <neil@daikokuya.demon.co.uk> 22477 22478 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison. 22479 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error. 22480doc: 22481 * cpp.texi: Update for removal of obsolete features. 22482 22483Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz> 22484 Jeffrey A Law (law@redhat.com) 22485 22486 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use 22487 the DFA interface for Pentium processors. 22488 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE. 22489 (attr_pent_pair, ix86_pent_find_pair): Remove. 22490 (ix86_sched_reorder_pentium): Remove. 22491 (ix86_sched_reorder): Remove reordering for Pentium. 22492 * i386.md (Pentium scheduling): Rewrite using DFA description. 22493 22494Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz> 22495 22496 * cfganal.c (can_fallthru): Fix fast path. 22497 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals 22498 with edges to the next block. 22499 22500Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz> 22501 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz> 22502 22503 * final.c (end_final): Use C trees to output data structures for profiling. 22504 22505 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h 22506 (profile.o): New dependency profile.h 22507 (final.o): New dependency profile.h 22508 * profile.h: New file. New global structure profile_info. 22509 * final.h (count_edges_instrumented_now): Declare. 22510 (current_function_cfg_checksum): Declare. 22511 (function_list): New structure. 22512 (functions_head, functions_tail): New static variables. 22513 (end_final): Emits more data, removed some -ax stuff. 22514 (final): Stores function names and chcksums. 22515 * gcov-io.h (__write_gcov_string): New function. 22516 (__read_gcov_string): New function. 22517 * gcov.c (read_profile): New function. 22518 (create_program_flow_graph): Uses read_profile instead of reading 22519 da_file. 22520 (read_files): Removed da_file checking, it's done by read_profile now. 22521 * libgcc2.c (bb_function_info): New structure. 22522 (bb): New field in structure, removed some -ax stuff. 22523 (__bb_exit_func): Changed structure of da_file. 22524 * profile.c (count_edges_instrumented_now): New global variable. 22525 (current_function_cfg_checksum): New global variable. 22526 (max_counter_in_program): New global variable. 22527 (get_exec_counts): New function. 22528 (compute_checksum): New function. 22529 (instrument_edges): Sets count_edges_instrumented_now. 22530 (compute_branch_probabilities): Uses get_exec_counts instead of 22531 reading da_file. 22532 (branch_prob): Calls compute_checksum and writes extra data to bbg_file. 22533 (init_branch_prob): Removed da_file checking, done in get_exec_counts 22534 now. 22535 (end_branch_prob): Removed da_file checking, done in get_exec_counts 22536 now. 22537 * gcov.texi: Updated information about gcov file format. 22538 225392002-05-09 Kazu Hirata <kazu@cs.umass.edu> 22540 22541 * sbitmap.c: Fix formatting. 22542 * scan.c: Likewise. 22543 * scan-decls.c: Likewise. 22544 * sched-deps.c: Likewise. 22545 * sched-ebb.c: Likewise. 22546 * sched-rgn.c: Likewise. 22547 * sched-vis.c: Likewise. 22548 * sdbout.c: Likewise. 22549 * sibcall.c: Likewise. 22550 * simplify-rtx.c: Likewise. 22551 * ssa.c: Likewise. 22552 * ssa-ccp.c: Likewise. 22553 * ssa-dce.c: Likewise. 22554 * stmt.c: Likewise. 22555 * stor-layout.c: Likewise. 22556 * stringpool.c: Likewise. 22557 225582002-05-09 David S. Miller <davem@redhat.com> 22559 22560 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9. 22561 225622002-05-07 David S. Miller <davem@redhat.com> 22563 22564 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero. 22565 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one. 22566 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp 22567 library implementation clobbers the output before the inputs 22568 are fully consumed, use stack temporary for the output. 22569 225702002-05-09 Jason Thorpe <thorpej@wasabisystems.com> 22571 22572 * config/netbsd.h (CPP_SPEC): Remove. 22573 * config/i386/netbsd-elf.h (CPP_SPEC): Define. 22574 * config/i386/netbsd.h (CPP_SPEC): Define. 22575 * config/ns32k/netbsd.h (CPP_SPEC): Define. 22576 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove. 22577 * config/sparc/netbsd.h (CPP_SPEC): Define. 22578 * config/vax/netbsd.h (CPP_SPEC): Define. 22579 225802002-05-08 Kazu Hirata <kazu@cs.umass.edu> 22581 22582 * read-rtl.c: Fix formatting. 22583 * real.c: Likewise. 22584 * recog.c: Likewise. 22585 * regclass.c: Likewise. 22586 * regmove.c: Likewise. 22587 * reg-stack.c: Likewise. 22588 * reload1.c: Likewise. 22589 * reload.c: Likewise. 22590 * resource.c: Likewise. 22591 * rtlanal.c: Likewise. 22592 * rtl.c: Likewise. 22593 * rtl-error.c: Likewise. 22594 225952002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca> 22596 22597 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete. 22598 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete. 22599 226002002-05-08 Bernd Schmidt <bernds@redhat.com> 22601 22602 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to 22603 use __SSE2__ macro instead. 22604 * config/i386/xmmintrin.h: Likewise. 22605 226062002-05-08 Janis Johnson <janis187@us.ibm.com> 22607 22608 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name, 22609 and use it in all invocations of these macros. Clean up comments. 22610 * rtl.c (rtl_check_failed_flag): Add an argument for the name 22611 of the flag access macro whose check failed. 22612 * doc/rtl.texi (Flags): Document additional flag uses. 22613 226142002-05-08 Robert Spier <rspier@pobox.com> 22615 Neil Booth <neil@daikokuya.demon.co.uk> 22616 22617 PR preprocessor/6521 22618 * cppfiles.c (handle_missing_header): Don't do anything 22619 different for <> includes. 22620doc: 22621 * cppopts.texi: Update documentation for -MG. 22622 226232002-05-08 Neil Booth <neil@daikokuya.demon.co.uk> 22624 22625 * cpplex.c (cpp_interpret_charconst): Truncate as well as 22626 sign-extend. 22627doc: 22628 * cpp.texi: Clarify multichar charconst valuation. 22629 226302002-05-08 Mark Mitchell <mark@codesourcery.com> 22631 22632 * doc/invoke.texi: Document -mwindiss option. 22633 226342002-05-08 Jason Merrill <jason@redhat.com> 22635 22636 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs. 22637 22638 * dwarf2out.c (gen_type_die): Abort on broken recursion. 22639 22640 PR c++/6381 22641 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and 22642 REAL_CST. 22643 226442002-05-08 Nick Clifton <nickc@cambridge.redhat.com> 22645 22646 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/ 22647 little-endian multilibs to override arm/thumb multilibs. 22648 Do not build hardware floating point multilibs, nor apcs-26 22649 multilibs for the Thumb. 22650 226512002-05-08 Mark Mitchell <mark@codesourcery.com> 22652 22653 PR c/6569. 22654 * varasm.c (mark_weak): New function. 22655 (merge_weak): Use it. Do not call declare_weak. 22656 (declare_weak): Use merge_weak. 22657 22658Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz> 22659 22660 * cse.c (dead_libcall_p): Update counts. 22661 (delete_trivially_dead_insns): Update call of dead_libcall_p. 22662 22663Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz> 22664 22665 * cfglayout.c (function_tail_eff_head): Rename to ... 22666 (function_footer): ... this one. 22667 (unlink_insn_chain): New functions. 22668 (label_for_bb): Only call block_label and emit debug message. 22669 (record_effective_endpoints): Actually unlink the headers and footers. 22670 (fixup_reorder_cahin): Re-insert the unlinked sequences. 22671 (cfg_layout_duplicate_bb): Use duplicate_insn_chain. 22672 * cfglayout.h (struct reorder_block_def): New fields footer/header; 22673 remove eff_head/eff_end. 22674 * rtl.h (set_first_insn): Declare. 22675 * emit-rtl.c (set_first_insn): New function. 22676 22677 * cfglayout.c (fixup_reorder_chain): Dump duplicated 22678 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge, 22679 cfg_layout_duplicate_bb): New global function. 22680 (duplicate_insn_chain): New static function. 22681 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge, 22682 cfg_layout_duplicate_bb): Declare. 22683 (struct reorder_block_def): Add "original" field. 22684 * emit-rtl.c (emit_copy_of_insn_after): New function. 22685 * rtl.h (emit_copy_of_insn_after): Declare. 22686 22687 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill. 22688 (fixup_reorder_chain): properly handle edges to exit block. 22689 22690Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 22691 Jan Hubicka <jh@suse.cz> 22692 22693 * basic-block.h (note_prediction_to_br_prob): declare. 22694 * c-semantics.c: Include predit.h 22695 (expand_stmt): predict GOTO_STMT as not taken. 22696 * cfgcleanup.c: (delete_unreachable_blocks): Make global. 22697 (cleanup_cfg): Do not free tail_recursion_list. 22698 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION. 22699 (flow_delete_block): Kill predictions past end of basic block. 22700 * output.h (delete_unreachable_blocks): Declare. 22701 * predict.c (predicted_by_p, process_note_predictions, 22702 process_note_prediction, last_block_p): New function. 22703 (estimate_probability): Bypass loop on PRED_CONTINUE; 22704 do not handle noreturn heuristics; kill PRED_RETURN; add 22705 PRED_EARLY_RETURN. 22706 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO, 22707 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New. 22708 * predict.h (IS_TAKEN): New constant. 22709 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION. 22710 * rtl.c (NOTE_INSN_PREDICTION): New. 22711 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS): 22712 New macro. 22713 (insn_note): add NOTE_INSN_PREDICTION. 22714 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build 22715 CFG; free tail_recursion_label_list. 22716 * stmt.c: Include predict.h; 22717 (return_prediction): New. 22718 (expand_value_return): Use it. 22719 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall. 22720 227212002-05-08 Richard Sandiford <rsandifo@redhat.com> 22722 22723 * config/mips/mips.md: Name the unspecs with define_constant. 22724 (*HILO_delay): Rename to 'hilo_delay' (no star). 22725 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay. 22726 (reload_outdi, reload_outsi): Likewise. 22727 227282002-05-07 Kazu Hirata <kazu@cs.umass.edu> 22729 22730 * toplev.c: Fix formatting. 22731 227322002-05-07 Janis Johnson <janis187@us.ibm.com> 22733 22734 * config.in (ENABLE_RTL_FLAG_CHECKING): New. 22735 * configure.in (ac_rtlflag_checking): New. 22736 * doc/install.texi (--enable-checking): Document RTL flag checking. 22737 227382002-05-07 Neil Booth <neil@daikokuya.demon.co.uk> 22739 22740 * c-common.c (c_common_init): Set options->unsigned_wchar. 22741 * cppinit.c (cpp_create_reader): Default unsigned_wchar, 22742 group target dependencies. 22743 (init_builtins, cpp_handle_option): Update. 22744 * cpplex.c (cpp_interpret_charconst): Update. 22745 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename 22746 signed_char to unsigned_char, group target dependencies. 22747 * defaults.h (WCHAR_UNSIGNED): Remove. 22748 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison. 22749config: 22750 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h, 22751 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h, 22752 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h, 22753 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h, 22754 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED. 22755doc: 22756 * tm.texi: Remove MAX_CHAR_TYPE_SIZE. 22757 227582002-05-07 Mark Mitchell <mark@codesourcery.com> 22759 22760 * fixinc/inclhack.def (windiss_math1): New fix. 22761 (windiss_math2): Likewise. 22762 (windiss_valist): Likewise. 22763 * fixinc/fixincl.x: Regenerated. 22764 227652002-05-07 Andreas Jaeger <aj@suse.de> 22766 22767 * genautomata.c (output_internal_min_issue_delay_func): Add 22768 ATTRIBUTE_UNUSED to avoid warning with empty dfa. 22769 (output_internal_trans_func): Likewise. 22770 22771Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com) 22772 22773 * pa.c (hppa_profile_hook): Use force_reg to get the address 22774 of the profile hook into an appropriate pseudo register. 22775 227762002-05-07 Mark Mitchell <mark@codesourcery.com> 22777 22778 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss. 22779 (LINK_START_SPEC): Handle it. 22780 (LINK_OS_SPEC): Likewise. 22781 (CPP_SPEC): Likewise. 22782 (STARTFILE_SPEC): Likewise. 22783 (LIB_SPEC): Likewise. 22784 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on 22785 all platforms. 22786 (CRTSAVRES_DEFAULT_SPEC): New macro. 22787 (LIB_WINDISS_SPEC): New macro. 22788 (CPP_OS_WINDISS_SPEC): Likewise. 22789 (STARTFILE_WINDISS_SPEC): Likewise. 22790 (ENDFILE_WINDISS_SPEC): Likewise. 22791 (LINK_START_WINDISS_SPEC): Likewise. 22792 (LINK_OS_WINDISS_SPEC): Likewise. 22793 * config/rs6000/windiss.h: New file. 22794 227952002-05-07 Aldy Hernandez <aldyh@redhat.com> 22796 22797 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos. 22798 227992002-05-06 David S. Miller <davem@redhat.com> 22800 22801 * config/sparc/sparc.md (shift insns): Do not mask off 22802 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED 22803 take care of it. 22804 228052002-05-06 Richard Henderson <rth@redhat.com> 22806 22807 PR c++/6212 22808 * expr.c (highest_pow2_factor_for_type): New. 22809 (expand_assignment): Use it. 22810 228112002-05-06 Aldy Hernandez <aldyh@redhat.com> 22812 22813 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to 22814 unspec_volatile. 22815 ("altivec_mfvscr"): Same. 22816 228172002-05-06 Janis Johnson <janis187@us.ibm.com> 22818 22819 * rtl.h (struct rtx_def): Update comments. 22820 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare. 22821 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use 22822 RTL_FLAG_CHECK macros with list of expected RTL codes. 22823 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro. 22824 (rtl_check_failed_flag): New. 22825 * reload1.c (reload): Use REG macro before changing rtx to MEM. 22826 (reload_cse_noop_set_p): Check rtx code before using access macro. 22827 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code 22828 before using access macro. 22829 228302002-05-06 Janis Johnson <janis187@us.ibm.com> 22831 22832 * doc/rtl.texi (Flags): Update to reflect current usage. 22833 228342002-05-06 Roger Sayle <roger@eyesopen.com> 22835 22836 PR opt/3995 22837 * fold-const.c (sign_bit_p): New function. 22838 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and 22839 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type. 22840 Reapply fold when converting (A & C) == C into (A & C) != 0. 22841 (fold_binary_op_with_conditional_arg): Fix typo in comment. 22842 228432002-05-07 Neil Booth <neil@daikokuya.demon.co.uk> 22844 22845 * c-common.c (warn_multichar): New. 22846 (c_common_init): Set CPP's warn_multichar. 22847 * c-common.h (warn_multichar): New. 22848 * c-decl.c (warn_multichar): Remove. 22849 * c-lex.c (lex_charconst): Update. 22850 * c-tree.h (warn_multichar): Remove. 22851 * cppexp.c (eval_token): Sign-extend charconst value. 22852 * cppinit.c (cpp_create_reader): Set warn_multichar. 22853 * cpplex.c (cpp_interpret_charconst): Don't sign-extend 22854 each character. Update prototype. Sign-extend the result. 22855 * cpplib.h: Fix conditions. 22856 (struct cpp_options): Add new warning flag. 22857 (cpp_interpret_charconst): Update prototype. 22858doc: 22859 * cpp.texi: Update documentation. 22860 228612002-05-06 Vladimir Makarov <vmakarov@redhat.com> 22862 22863 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp): 22864 Fix typo in usage of allof instead of unit. 22865 228662002-05-06 Richard Henderson <rth@redhat.com> 22867 22868 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT, 22869 and any jump or call for IN. 22870 228712002-05-06 Bernd Schmidt <bernds@redhat.com> 22872 22873 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if 22874 -msse2. 22875 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support. 22876 228772002-05-06 Roger Sayle <roger@eyesopen.com> 22878 22879 * fold-const.c (lshift-double): Cast the high word to an unsigned 22880 HOST_WIDE_INT when extracting sign bit to avoid compiler warning. 22881 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to 22882 avoid compiler warning. (fold): Remove redundant code from 22883 BIT_AND_EXPR as integer operands are canonicalized to be arg1. 22884 228852002-05-06 Jeff Law <law@redhat.com> 22886 22887 * pa-protos.h (hppa_fpstore_bypass_p): Declare. 22888 * pa.c (pa_adjust_cost): Remove all true dependency cost 22889 adjustments. Also remove support for non-DFA scheduling. 22890 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism 22891 to adjust true dependency costs. Update various comments. 22892 (7100lc, 7200, 7300 scheduling): Simplify by combining the 22893 FP ALU & MPY units into a single unit. 22894 228952002-05-06 Catherine Moore <clm@redhat.com> 22896 22897 * config/v850/v850.c (compute_register_save_size): Make sure 22898 to count all of the registers that will be saved. 22899 22900Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz> 22901 22902 * i386.c (q_regs_operand): Use ANY_QI_REGS_P. 22903 229042002-05-06 David S. Miller <davem@redhat.com> 22905 22906 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not 22907 allow result to overlap input operands in memory. 22908 229092002-05-06 Neil Booth <neil@daikokuya.demon.co.uk> 22910 22911doc: 22912 * cpp.texi: Update multichar charconst docs. 22913 229142002-05-06 Neil Booth <neil@daikokuya.demon.co.uk> 22915 22916 * cpplex.c (cpp_interpret_charconst): Sign-extend each 22917 character. Don't ignore excess characters. Treat 22918 multicharacter character constants as signed. 22919 (cpp_parse_escape): Clarify diagnostic. 22920 229212002-05-05 Jakub Jelinek <jakub@redhat.com> 22922 22923 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx, 22924 use add instead of shift. 22925 (ashldi3_sp64): Likewise. 22926 (ashlsi3_const1, ashldi3_const1): Remove. 22927 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand. 22928 * config/sparc/sparc.c (const1_operand): New. 22929 229302002-05-05 Jason Thorpe <thorpej@wasabisystems.com> 22931 22932 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff. 22933 229342002-05-05 Jakub Jelinek <jakub@redhat.com> 22935 22936 PR target/6561 22937 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2. 22938 229392002-05-05 Richard Henderson <rth@redhat.com> 22940 22941 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but 22942 memory latency adjustments. 22943 (alpha_variable_issue): Remove. 22944 (alpha_use_dfa_pipeline_interface): New. 22945 (alpha_multipass_dfa_lookahead): New. 22946 * config/alpha/alpha.md: Remove define_function_unit scheduling; 22947 include new dfa scheduling. 22948 (attr type): Add none. 22949 (blockage): Use it. 22950 * config/alpha/ev4.md: New. 22951 * config/alpha/ev5.md: New. 22952 * config/alpha/ev6.md: New. 22953 229542002-05-05 David S. Miller <davem@redhat.com> 22955 22956 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL. 22957 229582002-05-05 Kazu Hirata <kazu@cs.umass.edu> 22959 22960 * cse.c: Fix formatting. 22961 * emit-rtl.c: Likewise. 22962 229632002-05-05 Vladimir Makarov <vmakarov@redhat.com> 22964 22965 * genautomata.c (initiate_states): Add additional guard to 22966 initialize `units_array'. 22967 229682002-05-05 Vladimir Makarov <vmakarov@redhat.com> 22969 22970 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp, 22971 process_unit_to_form_the_same_automaton_unit_lists, 22972 form_the_same_automaton_unit_lists 22973 check_unit_distributions_to_automata): New prototypes and 22974 functions. 22975 (check_automata): Rename it into `check_automata_insn_issues'. 22976 (unit_decl): New fields `the_same_automaton_unit' and 22977 `the_same_automaton_message_reported_p'. 22978 (unit_decl_t): New typedef. 22979 (the_same_automaton_lists): New gloval variable. 22980 (unit_regexp, unit_set_el, units_array, units_cmp, 22981 output_get_cpu_unit_code_func): Use the typedef. 22982 (evaluate_max_reserv_cycles): Increment 22983 `description->max_insn_reserv_cycles'. 22984 (initiate_states): Don't increment `max_cycles_num'. 22985 (transform_insn_regexps): Move code around transformation of 22986 regexps from `generate'. 22987 (generate): Remove call of `transform_insn_regexps'. 22988 (expand_automata): Call `transform_insn_regexps' and 22989 `check_unit_distributions_to_automata'. Check errors before 22990 `generate'. 22991 22992 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into 22993 automaton `ultrasparc3_1'. 22994 229952002-05-05 Neil Booth <neil@daikokuya.demon.co.uk> 22996 22997 * c-common.c (c_common_init): Set up CPP arithmetic. 22998 * cppinit.c (cpp_create_reader): Default CPP arithmetic to 22999 something reasonable for the host. 23000 (sanity_checks): Add checks. 23001 (cpp_read_main_file): Call sanity_checks() from here... 23002 (cpp_post_options): ... not here. 23003 * cpplex.c (cpp_interpret_charconst): Get max_chars right. 23004 * cpplib.h (struct cpp_options): New member int_precision. 23005 230062002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 23007 23008 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements. 23009 230102002-05-04 David S. Miller <davem@redhat.com> 23011 23012 * config/sparc/linux.h, config/sparc/linux64.h 23013 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice. 23014 23015 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of 23016 more RTX codes. 23017 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes. 23018 23019 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL 23020 of SETs. 23021 230222002-05-05 Tim Josling <tej@melbpc.org.au> 23023 23024 * treelang; New directory for new sample language treelang. 23025 230262002-05-04 Neil Booth <neil@daikokuya.demon.co.uk> 23027 23028 * Makefile.in (c-lex.o): Update. 23029 * c-lex.c: Include target.h. 23030 (cb_register_builtins): New. 23031 (init_c_lex): Set builtins callback. 23032 * c-lex.h (cpp_define, cpp_assert): New prototypes. 23033 * cppinit.c (init_builtins): Use callback, including for 23034 GXX_WEAK. 23035 * cpplib.h (struct cpp_callbacks): New member. 23036 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New. 23037 (TARGET_INITIALIZER): Update. 23038 * target.h (struct gcc_target): New hook. 23039 * tree.c (default_register_cpp_builtins): New. 23040 * tree.h (default_register_cpp_builtins): New. 23041doc: 23042 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document. 23043 230442002-05-04 Neil Booth <neil@daikokuya.demon.co.uk> 23045 23046 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h 23047 (cpp_post_options): Move sanity checks to... 23048 (sanity_checks): New. 23049 * cpplex.c (maybe_read_ucs): Fix prototype. 23050 (parse_string, cpp_parse_escape): Cast for %c format specifier. 23051 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long 23052 if necessary. 23053 230542002-05-04 Bernd Schmidt <bernds@redhat.com> 23055 23056 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2 23057 builtins. Use V2DI patterns instead of TI for logical operations. 23058 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins. 23059 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps. 23060 (ix86_expand_builtins): Change the pattern used for movntdq. 23061 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3, 23062 sse2_nandv2di3): New patterns. 23063 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes 23064 on operands. 23065 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted. 23066 (cvtdq2pd): Correct mode on operand 1. 23067 (sse2_umulsidi3): Describe without unspec. 23068 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate 23069 machine modes. 23070 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec. 23071 (ashlv2di3): Likewise, from sse2_ashlv2di3. 23072 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, 23073 ashlv4si3, ashlv2di3): Use SImode for shift count. 23074 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti, 23075 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): 23076 New patterns. 23077 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi): 23078 New typedefs. 23079 (__m128i, __m128d): New macros. 23080 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd, 23081 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd, 23082 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd, 23083 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd, 23084 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd, 23085 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd, 23086 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd, 23087 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd, 23088 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd, 23089 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd, 23090 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd, 23091 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd, 23092 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd, 23093 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps, 23094 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32, 23095 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32, 23096 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd, 23097 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd, 23098 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16, 23099 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32, 23100 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32, 23101 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64, 23102 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16, 23103 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64, 23104 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16, 23105 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16, 23106 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, 23107 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, 23108 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64, 23109 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, 23110 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128, 23111 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32, 23112 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16, 23113 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8, 23114 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16, 23115 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd, 23116 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New 23117 functions. 23118 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32, 23119 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros. 23120 231212002-05-04 Kazu Hirata <kazu@cs.umass.edu> 23122 23123 * dwarf2out.c: Fix formatting. 23124 * varasm.c: Likewise. 23125 231262002-05-04 David Edelsohn <edelsohn@gnu.org> 23127 23128 PR c/6543 23129 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove 23130 clobber and use result as temporary value. 23131 23132Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz> 23133 23134 * expr.c (force_operand): Use expand_simple_* to handle more 23135 cases. 23136 231372002-05-04 Neil Booth <neil@daikokuya.demon.co.uk> 23138 23139 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation 23140 and sign-extension. 23141 (lex_charconst): Update for change in prototype of 23142 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT 23143 appropriately. 23144 * cpphash.h (BITS_PER_CPPCHAR_T): New. 23145 * cppinit.c (cpp_create_reader): Initialize them for no 23146 change in semantics. 23147 (cpp_post_options): Add sanity checks. 23148 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension 23149 and truncation issues. Calculate in type cppchar_t. 23150 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove. 23151 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle 23152 run-time dependent precision correctly. Return whether the 23153 result is signed or not. 23154 * cpplib.c (dequote_string): Use cppchar_t; update. 23155 * cpplib.h (cppchar_signed_t): New. 23156 struct cpp_options): New precision members. 23157 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes. 23158 * cppexp.c (eval_token): Update. 23159 231602002-05-03 David S. Miller <davem@redhat.com> 23161 23162 * config/sparc/sparc-protos.h (sparc_rtx_costs): New. 23163 * config/sparc/sparc.c (sparc_rtx_costs): New function 23164 implementing RTX_COSTS and CONST_COSTS. 23165 * config/sparc/sparc.h (CONST_COSTS): Delete. 23166 (RTX_COSTS_CASES): Define. 23167 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do 23168 the work. 23169 23170 * config/sparc/sparc.md (DFA schedulers): Split out... 23171 * config/sparc/cypress.md, config/sparc/hypersparc.md, 23172 config/sparc/sparclet.md, config/sparc/supersparc.md, 23173 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here. 23174 23175 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef 23176 checks on it, always defined for SPARC. 23177 23178 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): 23179 Tweak, and add more detailed comments. 23180 231812002-05-03 Zack Weinberg <zack@codesourcery.com> 23182 23183 * Re-apply patch accidentally reverted with 23184 DFA scheduler merge: remove all rules and variables to slurp 23185 source files out of libiberty and rebuild them with HOST_CC. 23186 ($(HOST_PREFIX_1)varray.o): New rule. 23187 (genattrtab rule): Word wrap. 23188 231892002-05-03 Jason Thorpe <thorpej@wasabisystems.com> 23190 23191 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define. 23192 (CPP_SUBTARGET_SPEC): Define. 23193 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and 23194 cpp_subtarget specs. 23195 (CPP_SPEC): Redefine to include %(cpp_subtarget). 23196 231972002-05-03 David S. Miller <davem@redhat.com> 23198 23199 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete. 23200 * target.h (struct gcc_target): Delete cycle_display member. 23201 23202 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back. 23203 (rtx_needs_barrier): Delete reference to cycle_display unspec. 23204 (ia64_sched_reorder2): Mention need for cycle display handling 23205 once such notes exist. 23206 232072002-05-03 Richard Henderson <rth@redhat.com> 23208 23209 * real.c (etoasc): Strip most trailing zeros for clarity. 23210 * sched-vis.c: Include real.h. 23211 (print_value): Use REAL_VALUE_TO_DECIMAL as needed. 23212 * Makefile.in (sched-vis.o): Add real.h. 23213 232142002-05-03 David S. Miller <davem@redhat.com> 23215 23216 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change, 23217 no longer needed. 23218 232192002-05-03 Aldy Hernandez <aldyh@redhat.com> 23220 23221 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out 23222 when we get an out of range literal. 23223 (altivec_expand_ternop_builtin): Same. 23224 (altivec_expand_unop_builtin): Same. 23225 (altivec_expand_builtin): Same, for dss. 23226 (altivec_expand_builtin): Use trees instead of rtl when 23227 determining literal argument validity. 23228 232292002-05-03 David S. Miller <davem@redhat.com> 23230 23231 Delete cycle display scheduling hook. 23232 * config/ia64/ia64.c (ia64_cycle_display, 23233 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete. 23234 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display 23235 and use emit_insn_before instead of ia64_emit_insn_before. 23236 * config/ia64/ia64.md (unspec usage): Delete cycle display. 23237 (cycle_display): Delete insn pattern. 23238 * config/sparc/sparc.md (unspec usage): Delete cycle display. 23239 (cycle_display): Delete insn pattern. 23240 * config/sparc/sparc.c (sparc_cycle_display, 23241 TARGET_SCHED_CYCLE_DISPLAY): Delete. 23242 * doc/md.texi (cycle_display): Don't mention. 23243 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise. 23244 232452002-05-03 Richard Henderson <rth@redhat.com> 23246 23247 * recog.c (store_data_bypass_p, if_test_bypass_p): New. 23248 * recog.h: Declare them. 23249 23250 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove. 23251 * config/sparc/sparc.md: Use store_data_bypass_p instead. 23252 * config/sparc/sparc-protos.h: Update. 23253 232542002-05-03 Jason Thorpe <thorpej@wasabisystems.com> 23255 23256 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove 23257 -D__arch64__. Add -D_LP64. 23258 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version 23259 from sparc.h. 23260 (CPP_ARCH64_SPEC): Likewise. 23261 (NO_BUILTIN_PTRDIFF_TYPE): Undef. 23262 (NO_BUILTIN_SIZE_TYPE): Undef. 23263 232642002-05-03 Vladimir Makarov <vmakarov@redhat.com> 23265 23266 * genautomata.c (min_issue_delay_pass_states): Change return type 23267 in the prototype. 23268 (min_issue_delay_pass_states): Change the algorithm. 23269 (min_issue_delay): Set up min_insn_issue_delay for the state. 23270 (output_min_issue_delay_table): Interchange the nested loops and 23271 and initiate min_insn_issue_delay for states. 23272 23273Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz> 23274 23275 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when 23276 jump is simplejump. 23277 23278Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz> 23279 23280 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops 23281 sequence. 23282 232832002-05-03 Richard Henderson <rth@redhat.com> 23284 23285 PR opt/6534 23286 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants, 23287 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove, 23288 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new 23289 code before JUMP, not EARLIEST. 23290 232912002-05-03 Joseph S. Myers <jsm28@cam.ac.uk> 23292 23293 * c-format.c (check_format_info_main): Don't check for presence of 23294 parameter for * width until after operand number has been read, 23295 and only check for it if format parameters are available. 23296 Fixes PR c/6547. 23297 232982002-05-03 Jason Thorpe <thorpej@wasabisystems.com> 23299 23300 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64. 23301 (LINK_SPEC): Undef before defining. 23302 233032002-05-03 Jakub Jelinek <jakub@redhat.com> 23304 23305 PR preprocessor/6489 23306 * tradcpp.c (fixup_newlines): New. 23307 (main, finclude): Use it. 23308 233092002-05-03 Richard Sandiford <rsandifo@redhat.com> 23310 23311 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section. 23312 * config/mips/mips.c (mips_unique_section): Strip encoding from 23313 decl name. 23314 233152002-05-03 Jakub Jelinek <jakub@redhat.com> 23316 23317 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper 23318 mode. 23319 233202002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 23321 23322 * doc/install.texi (Installing): Mention GCC 3.1 buildstats. 23323 (Specific): Removed buildstats references. 23324 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0. 23325 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1. 23326 Accomodate Solaris versions beyond 8. 23327 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1. 23328 (Specific, *-*-solaris2.8): Removed, obsolete. 23329 233302002-05-03 Jakub Jelinek <jakub@redhat.com> 23331 23332 PR target/6542 23333 * config/sparc/sparc.h (leaf_reg_remap): Remove const. 23334 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make 23335 fill leaf_reg_remap with identity. 23336 * config/sparc/sparc.c (leaf_reg_remap): Remove const. 23337 233382002-05-03 Kazu Hirata <kazu@cs.umass.edu> 23339 23340 * config/h8300/crti.asm: Remove trailing spaces. 23341 * config/h8300/h8300.c: Likewise. 23342 * config/h8300/lib1funcs.asm: Likewise. 23343 233442002-05-02 Jason Merrill <jason@redhat.com> 23345 23346 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c. 23347 * c-decl.c (c_init_decl_processing): Use it. 23348 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE. 23349 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define. 23350 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define. 23351 233522002-05-03 Kazu Hirata <kazu@cs.umass.edu> 23353 23354 * regrename.c: Fix formatting. 23355 * tree.c: Likewise. 23356 23357Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz> 23358 23359 * i386.md (attribute memory): Handle compares properly. 23360 23361Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz> 23362 23363 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute 23364 to none. 23365 233662002-05-02 Kazu Hirata <kazu@cs.umass.edu> 23367 23368 * function.c: Fix formatting. 23369 233702002-05-02 Jan Hubicka <jh@suse.cz> 23371 23372 * haifa-sched.c (schedule_insn): Print table of instructions and 23373 reservations. 23374 (sched_block): Do not print ready list at verbosity level 1. 23375 * sched-vis.c (print_insn): Make global. 23376 * sched-ebb.c (ebb_print_insn): Rename from... 23377 (print_insn): ... this one. 23378 * sched-int.h (print_insn): Declare 23379 233802002-05-02 Richard Henderson <rth@redhat.com> 23381 23382 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn 23383 emitted by cycle_display. 23384 233852002-05-02 Loren J. Rittle <ljrittle@acm.org> 23386 23387 * doc/install.texi (*-*-freebsd*): Update to latest status. 23388 233892002-05-02 Jakub Jelinek <jakub@redhat.com> 23390 23391 PR target/6540 23392 * config.gcc (sparc*-*-solaris2*): Set float_format to i128. 23393 * config/float-sparc.h: Assume 128-bit long double if 23394 __LONG_DOUBLE_128__ is defined. 23395 233962002-05-02 Vladimir Makarov <vmakarov@redhat.com> 23397 23398 * genattrtab.c (write_function_unit_info): Add a dummy element 23399 when num_units == 0. 23400 234012002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 23402 23403 * predict.c: (propagate_freq, estimate_bb_frequencies): Use 23404 TYPE_MODE (double_type_node) instead of DFmode. 23405 23406Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz> 23407 23408 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed 23409 jumps post reload. 23410 * toplev.c (rest_of_compilation): Revert Richard's patch. 23411 234122002-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca> 23413 23414 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS. 23415 234162002-05-02 Catherine Moore <clm@redhat.com> 23417 23418 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20. 23419 234202002-05-02 Kazu Hirata <kazu@hxi.com> 23421 23422 * combine.c: Fix comment typos. 23423 * expr.c: Likewise. 23424 * genautomata.c: Likewise. 23425 * stmt.c: Likewise. 23426 * tree.h: Likewise. 23427 234282002-05-02 Joseph S. Myers <jsm28@cam.ac.uk> 23429 23430 * doc/install.texi: State GNAT version requirements. 23431 234322002-05-02 Nick Clifton <nickc@cambridge.redhat.com> 23433 23434 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form 23435 of the frame pointer or arg pointer register which strict register 23436 checking is not enabled. 23437 234382002-05-02 Aldy Hernandez <aldyh@redhat.com> 23439 23440 * gcc.dg/altivec-8.c: New. 23441 23442 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow 23443 PRE_INC and PRE_DEC for altivec modes. 23444 234452002-05-01 Bruce Korb <bkorb@gnu.org> 23446 23447 * fixinc/check.tpl(set-writable): make sure the function exists first 23448 * fixinc/inclhack.def(alpha_assert): fix test_text 23449 * fixinc/tests/base/assert.h: add in missing result 23450 234512002-05-01 Jeff Law <law@redhat.com> 23452 23453 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the 23454 'T' constraint. 23455 234562002-05-01 Joel Brobecker <brobecker@gnat.com> 23457 23458 * dbxout.c (dbxout_type): Emit size information for range types, 23459 as well, but only when using GDB extensions. 23460 234612002-05-01 Richard Henderson <rth@redhat.com> 23462 23463 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with 23464 target-independent gnu binutils date test. 23465 234662002-05-01 Richard Henderson <rth@redhat.com> 23467 23468 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump 23469 info before expunging the block. 23470 234712002-05-01 Jakub Jelinek <jakub@redhat.com> 23472 23473 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here... 23474 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when 23475 -M -or -MM is in effect. 23476 234772002-05-01 Zack Weinberg <zack@codesourcery.com> 23478 23479 * config.gcc: Correct test of --enable-obsolete. Obsolete all 23480 A29k configurations. 23481 * doc/install.texi: Update to match. 23482 234832002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 23484 23485 PR bootstrap/6514 23486 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check 23487 for duplicates. Always loop over whole list. 23488 23489Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 23490 23491 * reload.c (find_reloads, case 'p'): Set BADOP to 0. 23492 234932002-05-01 Joel Sherrill <joel@OARcorp.com> 23494 23495 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly 23496 support routines. 23497 234982002-05-01 Joel Sherrill <joel@OARcorp.com> 23499 23500 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning. 23501 235022002-05-01 David Edelsohn <edelsohn@gnu.org> 23503 23504 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split. 23505 (nabs_nopower): Same. 23506 (floatdisf2): New pattern. 23507 (absdi2): Convert to define_insn_and_split. 23508 (nabsdi2): Same. 23509 (trunctfsf2): Same. 23510 (floatditf2): Same. 23511 (floatsitf2): Same. 23512 (fix_trunctfdi2): Same. 23513 (fix_trunctfsi2): Same. 23514 235152002-05-01 Joseph S. Myers <jsm28@cam.ac.uk> 23516 23517 * doc/install.texi: Update Texinfo version requirement 23518 documentation. 23519 235202002-05-01 Jakub Jelinek <jakub@redhat.com> 23521 23522 PR target/6512, PR target/5628 23523 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32 23524 when memory is not aligned. 23525 (movdf_insn_v9only_vis): Likewise. 23526 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS 23527 temporary for EXTRA_FP_REGS DFmode load from unaligned memory. 23528 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly. 23529 235302002-05-01 Aldy Hernandez <aldyh@redhat.com> 23531 23532 * gcc.dg/altivec-7.c: New. 23533 23534 * config/rs6000/altivec.h: Cleanup. 23535 235362002-04-30 Aldy Hernandez <aldyh@redhat.com> 23537 23538 * doc/invoke.texi (Option Summary): Add -mvrsave=. 23539 (RS/6000 and PowerPC Options): Document -mvrsave=. 23540 23541 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global. 23542 (rs6000_altivec_vrsave_string): Same. 23543 (rs6000_override_options): Call rs6000_parse_vrsave_option. 23544 (rs6000_parse_vrsave_option): New. 23545 (rs6000_stack_info): Only generate vrsave instructions when 23546 TARGET_ALTIVEC_VRSAVE. 23547 23548 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option. 23549 (rs6000_altivec_vrsave_string): Define extern. 23550 (rs6000_altivec_vrsave): Same. 23551 (TARGET_ALTIVEC_VRSAVE): New. 23552 235532002-04-30 Richard Henderson <rth@redhat.com> 23554 23555 PR opt/6516 23556 * toplev.c (rest_of_compilation): Don't run cross-jump before 23557 bb-reorder. 23558 235592002-04-30 Tom Rix <trix@redhat.com> 23560 23561 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity 23562 check which_alternative. 23563 235642002-04-30 Kazu Hirata <kazu@hxi.com> 23565 23566 * cpplex.c: Fix comment formatting. 23567 * function.c: Likewise. 23568 * integrate.c: Likewise. 23569 * regrename.c: Likewise. 23570 * sibcall.c: Likewise. 23571 * simplify-rtx.c: Likewise. 23572 * tree-inline.c: Likewise. 23573 235742002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca> 23575 23576 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*, 23577 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*, 23578 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*, 23579 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file. 23580 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete. 23581 * pa/x-ada: New file. Define ADA_CFLAGS. 23582 235832002-04-30 Hans-Peter Nilsson <hp@bitrange.com> 23584 23585 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed 23586 from MMIX_LAST_REGISTER_FILE_REGNUM. 23587 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment. 23588 (struct machine_function): New member highest_saved_stack_register 23589 previously static variable in mmix.c. 23590 (MACHINE_DEPENDENT_REORG): Define. 23591 * config/mmix/mmix.c (highest_saved_stack_register): Deleted. 23592 (MMIX_OUTPUT_REGNO): New. 23593 (mmix_target_asm_function_prologue): Move calculation of last used 23594 saved-stack-register into... 23595 (mmix_machine_dependent_reorg): New function. Update to also handle 23596 !TARGET_ABI_GNU. 23597 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting 23598 register names, simplify somewhat by new variable regno. 23599 <case 'p'>: Remove fixed FIXME. Always emit highest used saved 23600 register. 23601 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when 23602 emitting register names. 23603 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto. 23604 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too. 23605 Remove fixed FIXME. 23606 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): 23607 Declare. 23608 23609 * config/mmix/mmix.md ("divmoddi4"): Update head comment. 23610 236112002-04-30 Richard Henderson <rth@redhat.com> 23612 23613 * config/sparc/sparc.c (emit_soft_tfmode_libcall, 23614 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt, 23615 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop, 23616 emit_tfmode_cvt): New. 23617 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2, 23618 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2, 23619 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2, 23620 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them. 23621 * config/sparc/sparc-protos.h: Update. 23622 236232002-04-30 Janis Johnson <janis187@us.ibm.com> 23624 23625 * install.texi (Final install): Add to the list of info to include 23626 in a report of a successful bootstrap, and add link to 3.1 list. 23627 23628Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz> 23629 23630 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1. 23631 (mode): Add vector modes 23632 (i387): Kill attribute. 23633 (unit): New attribute. 23634 (length_immediate): Grok new types. 23635 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX. 23636 (modrm): Use "unit". 23637 (memory): Handle MMX/SSE properly. 23638 (scheduling descriptions): Kill uses of fop1. 23639 (sse, mmx, fp patterns): Set type and mode properly. 23640 23641Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com) 23642 23643 * pa.c (override_options): Default to PA8000 scheduling. 23644 * doc/invoke.texi (HP-PA options): Mention newly added 7300 23645 scheduling parameter. 23646 23647 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine 23648 handling of double precision multiplies. 23649 23650 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of 23651 fpdiv and fpsqrt instructions. 23652 (7200 & 7300 scheduling): Fix typo in handling of 23653 store-load and store-store penalties. 23654 236552002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 23656 23657 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and 23658 mips. Add two missing commas. 23659 236602002-04-30 Paolo Carlini <pcarlini@unitus.it> 23661 23662 * doc/contrib.texi (Contributors): Update Paolo Carlini's 23663 and Benjamin Kosnik's entries. 23664 236652002-04-29 David S. Miller <davem@redhat.com> 23666 23667 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK, 23668 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III. 23669 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise. 23670 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise. 23671 236722002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 23673 23674 * combine.c (find_split_point): Use gen_int_mode. 23675 236762002-04-29 Vladimir Makarov <vmakarov@redhat.com> 23677 23678 Merging code from dfa-branch: 23679 23680 2002-04-24 Vladimir Makarov <vmakarov@redhat.com> 23681 23682 * genautomata.c (output_reserv_sets): Fix typo. 23683 23684 2002-04-23 Vladimir Makarov <vmakarov@redhat.com> 23685 23686 * genautomata.c (output_reserv_sets): Remove 23687 next_cycle_output_flag. 23688 23689 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com) 23690 23691 * sched-rgn.c (init_ready_list): Make the DFA code handle 23692 USE/CLOBBER insns in the same way as the traditional 23693 scheduler. 23694 (new_ready): Similarly.. 23695 23696 2002-04-17 Vladimir Makarov <vmakarov@redhat.com> 23697 23698 * haifa-sched.c (schedule_block): Change the DFA state only after 23699 issuing insn. 23700 23701 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com) 23702 23703 * pa.c (hppa_use_dfa_pipeline_interface): New function. 23704 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define. 23705 (override_options): Add PA7300 scheduling support. 23706 (pa_adjust_cost): Update various comments. Properly 23707 handle anti and output dependencies when using the 23708 DFA scheduler. 23709 (pa_issue_rate): Add PA7300 scheduling support. 23710 (pa_can_combine_p): Call extract_insn before calling 23711 constrain_operands (taken from mainline tree). 23712 * pa.h (enum processor_type): Add PROCESSOR_PA7300. 23713 * pa.md (cpu attr): Add 7300. Rewrite pipeline 23714 descriptions using DFA descriptions. Add PA7300 23715 scheduling support. 23716 23717 2002-03-30 David S. Miller <davem@redhat.com> 23718 23719 Add UltraSPARC-III DFA scheduling support. 23720 * config/sparc/sparc.md (define_attr type): Add fpcrmove. 23721 Update FP conditional move on register insn patterns to use it, as 23722 appropriate. 23723 (define_attr cpu): Add ultrasparc3. 23724 (define_attr us3load_type): New, update integer load patterns to 23725 set it, as appropriate. 23726 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1. 23727 (rest): Add UltraSPARC3 scheduling description. 23728 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New. 23729 (PROCESSOR_ULTRASPARC3): New. 23730 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3. 23731 ({ASM,CPP}_CPU_SPEC): Likewise. 23732 (REGISTER_MOVE_COST): Likewise. 23733 (RTX_COSTS): Likewise. 23734 * config/sparc/sparc.c (sparc_override_options, 23735 sparc_initialize_trampoline, sparc64_initialize_trampoline, 23736 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead, 23737 sparc_issue_rate): Likewise. 23738 * config/sparc/sol2.h: Likewise. 23739 * config/sparc/sol2-sld-64.h: Likewise. 23740 * config/sparc/linux64.h: Likewise. 23741 23742 2002-03-22 Vladimir Makarov <vmakarov@redhat.com> 23743 23744 * doc/md.texi: Add comments about usage the latency time for the 23745 different dependencies and about case when two or more conditions 23746 in different define_insn_reservations returns TRUE for an insn. 23747 23748 * doc/md.texi: Add reference for automaton based pipeline 23749 description. 23750 23751 2002-03-04 Vladimir Makarov <vmakarov@redhat.com> 23752 23753 * doc/passes.texi: Add missed information about genattrtab. 23754 23755 2002-03-01 Vladimir Makarov <vmakarov@redhat.com> 23756 23757 * genautomata.c (output_automata_list_transition_code): Check 23758 automata_list on NULL. 23759 23760 2002-02-28 Vladimir Makarov <vmakarov@redhat.com> 23761 23762 * genautomata.c (output_insn_code_cases, 23763 output_automata_list_min_issue_delay_code, 23764 output_automata_list_transition_code, 23765 output_automata_list_state_alts_code): Comment the functions. 23766 23767 2002-02-22 Vladimir Makarov <vmakarov@redhat.com> 23768 23769 * genautomata.c (automata_list_el_t): New typedef. 23770 (get_free_automata_list_el,free_automata_list_el, 23771 free_automata_list, automata_list_hash, automata_list_eq_p, 23772 initiate_automata_lists, automata_list_start, automata_list_add, 23773 automata_list_finish, finish_automata_lists, 23774 output_insn_code_cases, output_automata_list_min_issue_delay_code, 23775 output_automata_list_transition_code, 23776 output_automata_list_state_alts_code, add_automaton_state, 23777 form_important_insn_automata_lists): New functions and prototypes. 23778 (insn_reserv_decl): Add members important_automata_list and 23779 processed_p. 23780 (ainsn): Add members important_p. 23781 (automata_list_el): New structure. 23782 (first_free_automata_list_el, current_automata_list, 23783 automata_list_table): New global variables. 23784 (create_ainsns): Initiate member important_p. 23785 (output_internal_min_issue_delay_func): Generate the switch and 23786 call output_insn_code_cases. 23787 (output_internal_trans_func, output_internal_state_alts_func): 23788 Ditto. 23789 (generate): Call initiate_automata_lists. 23790 (automaton_states): New global variable. 23791 (expand_automata): Call form_important_insn_automata_lists. 23792 (write_automata): Call finish_automata_lists. 23793 23794 2002-02-21 Vladimir Makarov <vmakarov@redhat.com> 23795 23796 * genautomata.c (add_excls, add_presence_absence): Check that 23797 cpu units in the sets belong the same automaton. 23798 23799 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment 23800 about that cpu units in the sets belong the same automaton. 23801 23802 * doc/md.texi: Ditto. 23803 23804 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com> 23805 Nitin Gupta <niting@noida.hcltech.com> 23806 23807 * config/sh/sh.c (sh_use_dfa_interface): New function. 23808 23809 (sh_issue_rate): New Function. 23810 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define. 23811 TARGET_SCHED_ISSUE_RATE: define. 23812 23813 * config/sh/sh.md: Add DFA based pipeline description for SH4. 23814 23815 (define_attr insn_class): New attribute used for DFA 23816 scheduling. 23817 (define_insn cmpgtsi_t): Set attribute insn_class mt_group. 23818 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t, 23819 cmpeqdi_t): Likewise. 23820 23821 (add,addc1,addsi3,subc,subc1,*subsi3_internal, 23822 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class 23823 ex_group. 23824 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise. 23825 23826 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com> 23827 23828 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for 23829 break. 23830 23831 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com> 23832 23833 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro. 23834 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is 23835 necessary. 23836 (output_dfa_start_func): Initiate new variable insn_codes_length, 23837 (write_automata): Output definition of the new variable. 23838 23839 2001-10-02 David S. Miller <davem@redhat.com> 23840 23841 * haifa-sched.c (advance_one_cycle): New function. 23842 (schedule_block): Use it. 23843 (queue_to_ready): Use it, and also make sure to advance the DFA 23844 state on all stall cycles, not just those where insn_queue links 23845 are found. 23846 23847 2001-10-02 Richard Sandiford <rsandifo@redhat.com> 23848 23849 * haifa-sched.c (max_issue): Remove last_p argument. Only return 23850 nonzero if the highest-priority instruction could be scheduled. 23851 (choose_ready): Remove last argument from max_issue call. 23852 23853 2001-09-28 David S. Miller <davem@redhat.com> 23854 23855 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for 23856 ultrasparc and 3 for other multi-issue sparcs. 23857 23858 2001-09-27 David S. Miller <davem@redhat.com> 23859 23860 * config/sparc/sparc.md (cycle_display): New pattern. 23861 * config/sparc/sparc.c (sparc_cycle_display): New. 23862 (TARGET_SCHED_CYCLE_DISPLAY): Set it. 23863 23864 2001-09-25 David S. Miller <davem@redhat.com> 23865 23866 Convert all of SPARC scheduling to DFA 23867 * config/sparc/sparc.md: Kill all define_function_unit 23868 directives and replace with DFA equivalent. 23869 * config/sparc/sparc.c (ultrasparc_adjust_cost, 23870 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p, 23871 ultra_fpmode_conflict_exists, ultra_find_type, 23872 ultra_build_types_avail, ultra_flush_pipeline, 23873 ultra_rescan_pipeline_state, ultrasparc_sched_reorder, 23874 ultrasparc_variable_issue, ultrasparc_sched_init, 23875 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask, 23876 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist, 23877 ultra_cur_hist, ultra_cycles_elapsed): Kill. 23878 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead, 23879 ultrasparc_store_bypass_p): New. 23880 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p): 23881 Declare. 23882 23883 2001-09-24 David S. Miller <davem@redhat.com> 23884 23885 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around 23886 ready->vec[foo] not ready[foo]. 23887 23888 2001-09-07 Vladimir Makarov <vmakarov@redhat.com> 23889 23890 * doc/md.texi: Correct examples for define_insn_reservations 23891 `mult' and `div'. 23892 23893 2001-09-07 Vladimir Makarov <vmakarov@redhat.com> 23894 23895 * genautomata.c (create_automata): Print message about creation of 23896 each automaton. 23897 (generate): Remove printing meease about creation of 23898 automata. 23899 23900 2001-09-05 David S. Miller <davem@redhat.com> 23901 23902 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC. 23903 * config/sparc/linux64.h: Likewise. 23904 23905 2001-08-31 Vladimir Makarov <vmakarov@redhat.com> 23906 23907 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready, 23908 schedule_block, sched_init, sched_finish): Add missed calls of 23909 use_dfa_pipeline_interface. 23910 23911 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies): 23912 Ditto. 23913 23914 * sched-vis.c (get_visual_tbl_length): Ditto. 23915 23916 2001-08-27 Richard Henderson <rth@redhat.com> 23917 23918 * genattr.c (main): Emit state_t even when not doing scheduling. 23919 23920 2001-08-27 Richard Henderson <rth@redhat.com> 23921 23922 * genautomata.c (expand_automata): Always create a description. 23923 23924 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com> 23925 23926 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET, 23927 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON, 23928 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New 23929 RTL constructions. 23930 23931 * genattr.c (main): New variable num_insn_reservations. Increase 23932 it if there is DEFINE_INSN_RESERVATION. Output automaton based 23933 pipeline hazard recognizer interface. 23934 23935 * genattrtab.h: New file. 23936 23937 * genattrtab.c: Include genattrtab.h. 23938 (attr_printf, check_attr_test, make_internal_attr, 23939 make_numeric_value): Move protypes into genattrtab.h. Define them 23940 as external. 23941 (num_dfa_decls): New global variable. 23942 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, 23943 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET, 23944 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION, 23945 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata. 23946 23947 * genautomata.c: New file. 23948 23949 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them. 23950 23951 * sched-int.h: (curr_state): Add the external definition for 23952 automaton pipeline interface. 23953 (haifa_insn_data): Add comments for members blockage and units. 23954 23955 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE, 23956 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN, 23957 TARGET_SCHED_DFA_PRE_CYCLE_INSN, 23958 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN, 23959 TARGET_SCHED_DFA_POST_CYCLE_INSN, 23960 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD, 23961 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New 23962 macros. 23963 (TARGET_SCHED): Use the new macros. 23964 23965 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn, 23966 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn, 23967 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles, 23968 dfa_bubble): New members in gcc_target.sched. 23969 23970 * haifa-sched.c (insert_schedule_bubbles_p): New variable. 23971 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface. 23972 (insn_queue): Redefine it as pointer to array. 23973 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of 23974 INSN_QUEUE_SIZE. 23975 (max_insn_queue_index_macro_value): New variable. 23976 (curr_state, dfa_state_size, ready_try): New varaibles for 23977 automaton interface. 23978 (ready_element, ready_remove, max_issue): New function prototypes 23979 for automaton interface. 23980 (choose_ready): New function prototype. 23981 (insn_unit, blockage_range): Add comments. 23982 (unit_last_insn, unit_tick, unit_n_insns): Define them for case 23983 FUNCTION_UNITS_SIZE == 0. 23984 (insn_issue_delay, actual_hazard_this_instance, schedule_unit, 23985 actual_hazard, potential_hazard): Add comments. 23986 (insn_cost): Use cost -1 as undefined value. Remove 23987 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton 23988 pipeline interface. 23989 (ready_element, ready_remove): New functions for automaton 23990 interface. 23991 (schedule_insn): Add new code for automaton pipeline interface. 23992 (queue_to_ready): Add new code for automaton pipeline interface. 23993 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE. 23994 (debug_ready_list): Print newline when the queue is empty. 23995 (max_issue): New function for automaton pipeline interface. 23996 (choose_ready): New function. 23997 (schedule_block): Add new code for automaton pipeline interface. 23998 Print ready list before scheduling each insn. 23999 (sched_init): Add new code for automaton pipeline interface. 24000 Initiate insn cost by -1. 24001 (sched_finish): Free the current automaton state and finalize 24002 automaton pipeline interface. 24003 24004 * sched-rgn.c: Include target.h. 24005 (init_ready_list, new_ready, debug_dependencies): Add new code for 24006 automaton pipeline interface. 24007 24008 * sched-vis.c: Include target.h. 24009 (get_visual_tbl_length): Add code for automaton interface. 24010 (target_units, print_block_visualization): Add comments. 24011 24012 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB, 24013 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables. 24014 (sched-rgn.o, sched-vis.o): Add new dependency file target.h. 24015 (getruntime.o, genautomata.o): New entries. 24016 (genattrtab.o): Add new dependency file genattrtab.h. 24017 (genattrtab): Add new dependencies. Link it with `libm.a'. 24018 (getruntime.o, hashtab.o): New entries for canadian cross. 24019 24020 * doc/md.texi: Description of automaton based model. 24021 24022 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST): 24023 Add comments. 24024 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE, 24025 TARGET_SCHED_DFA_PRE_CYCLE_INSN, 24026 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN, 24027 TARGET_SCHED_DFA_POST_CYCLE_INSN, 24028 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN, 24029 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD, 24030 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new 24031 hook descriptions. 24032 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE, 24033 MAX_DFA_ISSUE_RATE): New macro descriptions. 24034 24035 * doc/contrib.texi: Add dfa based scheduler contribution. 24036 24037 * doc/gcc.texi: Add more information about genattrtab. 24038 24039Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 24040 24041 * reload1.c (eliminate_regs, case SUBREG): Fix typo in 24042 adjust_address_nv call. 24043 240442002-04-29 Janis Johnson <janis187@us.ibm.com> 24045 24046 * doc/install.texi (Testing): Provide additional information, and 24047 a stronger encouragement, for running the testsuites. 24048 240492002-04-29 DJ Delorie <dj@redhat.com> 24050 24051 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is 24052 given in upper case. 24053 240542002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 24055 24056 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in 24057 Solaris 2 <widec.h> if missing. 24058 * fixinc/fixincl.x: Regenerate. 24059 * fixinc/tests/base/widec.h: New file. 24060 240612002-04-29 Nick Clifton <nickc@cambridge.redhat.com> 24062 24063 * toplev.c (f_options): Add "profile" switch so that 24064 -fno-profile can be used to disable -p. 24065 240662002-04-29 Bernd Schmidt <bernds@redhat.com> 24067 24068 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode, 24069 UV2DImode. 24070 * tree.c (build_common_tree_nodes_2): Likewise. 24071 * tree.h (enum tree_index): Likewise. 24072 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define. 24073 24074 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2 24075 entries. 24076 (init_mmx_sse_builtins): Initialize SSE2 builtins. 24077 (ix86_expand_builtin): Add support for SSE2 builtins. 24078 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro. 24079 (VALID_SSE_REG_MODE): Use it. 24080 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well. 24081 (enum ix86_builtins): Add SSE2 builtins. 24082 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal, 24083 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi, 24084 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3, 24085 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3, 24086 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2, 24087 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3, 24088 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, 24089 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps, 24090 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi, 24091 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss, 24092 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, 24093 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, 24094 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, 24095 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3, 24096 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3, 24097 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, 24098 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, 24099 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, 24100 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3, 24101 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3, 24102 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw, 24103 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq, 24104 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd, 24105 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq, 24106 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd, 24107 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence, 24108 lfence_insn): New patterns. 24109 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from 24110 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2. 24111 24112Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz> 24113 24114 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th. 24115 241162002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 24117 24118 * doc/contrib.texi (Contributors): Add Paolo Carlini and 24119 Janis Johnson. 24120 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell. 24121 Refer to Objective-C instead of ObjC, SPARC instead of sparc, 24122 and CPU instead of cpu. 24123 24124Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz> 24125 24126 * toplev.c (flag_if_conversion, flag_if_conversion2): New static 24127 variables. 24128 (lang_independent_options): Add -fif-conversion, -fif-conversion2 24129 (rest_of_compilation): Do if conversion only when asked for. 24130 (parse_options_and_default_flags): Set new variables to 1 for -O1 24131 * invoke.texi (-fif-conversion, -fif-conversion2): Document. 24132 24133Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz> 24134 24135 * i386.c (dbx64_register_map): Fix typo. 24136 24137Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz> 24138 24139 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base, 24140 real_one_half, real_bb_freq_max): New static variables. 24141 (debug_profile_bbauxs): Kill. 24142 (process_note_predictions): Kill unused variable. 24143 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of 24144 volatile double. 24145 (propagate_freq): Use REAL_ARITHMETICS. 24146 (estimate_bb_frequencies): Likevise; init new static variables. 24147 * Makefile.in (predict.o): Add dependency on real.h 24148 241492002-04-28 David S. Miller <davem@redhat.com> 24150 24151 PR target/6500 24152 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs. 24153 64-bit TARGET_V9. Do not use prefetch page, use prefetch for 24154 several {reads,writes} instead. 24155 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): 24156 Define. 24157 241582002-04-27 David S. Miller <davem@redhat.com> 24159 24160 PR target/6494 24161 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful 24162 of the stack bias. 24163 24164 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother 24165 including signal.h and sys/ucontext.h, not needed. 24166 241672002-04-29 Hans-Peter Nilsson <hp@bitrange.com> 24168 24169 * varasm.c (output_constant_def): Correct test for not calling 24170 ENCODE_SECTION_INFO for INTEGER_CST. 24171 241722002-04-29 Neil Booth <neil@daikokuya.demon.co.uk> 24173 24174 * cppexp.c (lex): Move some code to _cpp_parse_expr, but 24175 keep most cases as function eval_token. 24176 (eval_token): New function. 24177 (_cpp_parse_expr): Read token here for improved diagnostics. 24178 Don't use op_as_text. Detect bad ':' here. 24179 (reduce): Don't detect bad ':' here. 24180 (op_as_text): Remove. 24181 * cpphash.h (_cpp_test_assertion): Change prototype. 24182 * cpplib.c (_cpp_test_assertion): Change prototype. 24183 241842002-04-28 Richard Henderson <rth@redhat.com> 24185 24186 PR c/5154 24187 * ggc-common.c (ggc_mark_rtx_children_1): Rename from... 24188 (ggc_mark_rtx_children): New. 24189 241902002-04-28 Jakub Jelinek <jakub@redhat.com> 24191 24192 PR target/6496 24193 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump 24194 after call peepholes for UltraSPARC. 24195 (call + jump 64-bit peepholes): Remove. 24196 241972002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 24198 24199 PR c/6497 24200 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use 24201 result as temporary value. 24202 242032002-04-28 Jakub Jelinek <jakub@redhat.com> 24204 24205 PR c++/6396 24206 * toplev.c (rest_of_compilation): Only run regrename and copy 24207 propagation if optimizing. 24208 242092002-04-28 Jakub Jelinek <jakub@redhat.com> 24210 24211 PR optimization/6475 24212 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo 24213 register of REGNO_DECL (i). 24214 * Makefile.in (reload1.o): Add $(TREE_H). 24215 242162002-04-28 Neil Booth <neil@daikokuya.demon.co.uk> 24217 24218 * cppexp.c (lex): Update to use state.skip_eval. 24219 (struct op): Remove prio and flags members. 24220 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS, 24221 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove. 24222 (LEFT_ASSOC): New macro. 24223 (optab): New table of operator priorities and flags. 24224 (SHIFT): Update. 24225 (_cpp_parse_expr): Clean up logic. Return bool. Use a 24226 malloc-ed parser stack. 24227 (reduce): New; reduce the operator stack. 24228 (_cpp_expand_op_stack): Expand the operator stack as necessary. 24229 * cpphash.h (struct op): Predeclare. 24230 (struct cpp_reader): New members op_stack, op_limit. 24231 (struct lexer_state): New member skip_eval. 24232 (_cpp_parse_expr): Update. 24233 (_cpp_expand_op_stack): New. 24234 * cpplib.c (do_if): Update. 24235 * cppinit.c (cpp_create_reader): Create op stack. 24236 (cpp_destroy): And destroy it. 24237 * cpplib.h (CPP_LAST_CPP_OP): Correct. 24238 (TTYPE_TABLE): Correct. 24239 242402002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 24241 24242 PR c/6343 24243 * c-decl.c (duplicate_decls): Call merge_weak. 24244 * c-pragma.c (apply_pragma_weak): Warn about misuse. 24245 * output.h (merge_weak): Prototype merge_weak. 24246 * varasm.c (merge_weak): New function. 24247 (declare_weak): Make sure we don't give an error on VAR_DECLs. 24248 Mark RTL with SYMBOL_REF_WEAK. 24249 242502002-04-27 Kurt Garloff <garloff@suse.de> 24251 24252 * tree-inline.c (inlinable_function_p): Improve heuristics 24253 by using a smoother function to cut down allowable inlinable size. 24254 * param.def: Add parameters max-inline-insns-single, 24255 max-inline-slope, min-inline-insns that determine the exact 24256 shape of the above function. 24257 * param.h: Likewise. 24258 242592002-04-26 Richard Henderson <rth@redhat.com> 24260 24261 * c-parse.in (malloced_yyss, malloced_yyvs): New. 24262 (yyoverflow): Re-add. Set them. 24263 (free_parser_stacks): New. 24264 * c-common.h: Declare it. 24265 * c-lex.c (c_common_parse_file): Call it. 24266 242672002-04-26 Richard Henderson <rth@redhat.com> 24268 24269 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn 24270 for fallthru search. 24271 242722002-04-26 Eric Christopher <echristo@redhat.com> 24273 24274 PR optimization/3700 24275 * config/mips/mips.c (mips_issue_rate): Define. New function. 24276 (TARGET_SCHED_ISSUE_RATE): Use. 24277 242782002-04-25 David S. Miller <davem@redhat.com> 24279 24280 PR target/6422 24281 * reorg.c (optimize_skip): Do not allow exception causing 24282 instructions to be considered for delay slots. 24283 (fill_simply_delay_slots, fill_slots_from_thread): Likewise. 24284 (relax_delay_slots): Do not try to consider exception causing 24285 instructions as redundant. 24286 242872002-04-26 Richard Henderson <rth@redhat.com> 24288 24289 PR c/5225 24290 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue. 24291 242922002-04-26 Mark Mitchell <mark@codesourcery.com> 24293 24294 PR bootstrap/6445 24295 * config/i386/i386.md (untyped_call): Return the value in a float 24296 register if TARGET_FLOAT_RETURNS_IN_80387, not just if 24297 TARGET_80387. 24298 242992002-04-26 Alexandre Oliva <aoliva@redhat.com> 24300 24301 * tree.c (tree_int_cst_lt): Compare constants whose types differ 24302 in unsigned-ness correctly. 24303 243042002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca> 24305 24306 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the 24307 portable runtime model. 24308 243092002-04-26 Richard Henderson <rth@redhat.com> 24310 24311 * c-parse.in (yyoverflow): Revert. 24312 243132002-04-26 David Edelsohn <edelsohn@gnu.org> 24314 Richard Henderson <rth@redhat.com> 24315 24316 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use 24317 result as temporary value. 24318 243192002-04-26 Richard Henderson <rth@redhat.com> 24320 24321 PR c/3581 24322 * c-common.c (fix_string_type): Split out of ... 24323 (combine_strings): ... here. Take a varray, not a tree list. 24324 (c_expand_builtin_printf): Use fix_string_type. 24325 * c-common.h: Update decls. 24326 * c-parse.in (string): Remove. Update all uses to use STRING 24327 instead, and not call combine_strings. 24328 (yylexstring): New. 24329 (_yylex): Use it. 24330 * c-typeck.c (simple_asm_stmt): Don't call combine_strings. 24331 (build_asm_stmt): Likewise. 24332 * objc/objc-act.c (my_build_string): Use fix_string_type. 24333 (build_objc_string_object): Build varray for combine_strings. 24334 243352002-04-26 Bo Thorsen <bo@suse.co.uk> 24336 24337 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for 24338 x86-64. 24339 243402002-04-26 Neil Booth <neil@daikokuya.demon.co.uk> 24341 24342 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New. 24343 (HAVE_NO_R_OPERAND): Remove. 24344 (HAVE_VALUE): Remove. 24345 (op_to_prio): Update. 24346 (UNARY): Don't alter flags. 24347 (_cpp_parse_expr): want_value used to indicate whether 24348 a number or unary operator is expected next. Distinguish 24349 unary and binary +/-. 24350 (op_as_text): Update for unary operators. 24351 243522002-04-25 Richard Henderson <rth@redhat.com> 24353 24354 PR c/2161 24355 * c-parse.in (yyoverflow): New. 24356 243572002-04-25 Richard Henderson <rth@redhat.com> 24358 24359 PR c/2098 24360 * c-common.c (shorten_compare): Simplfy conditions leading to 24361 the generation of a warning. 24362 243632002-04-25 Richard Henderson <rth@redhat.com> 24364 24365 PR c/2035 24366 * expmed.c (extract_bit_field): Fall through to generic code rather 24367 than aborting on subreg special case. 24368 243692002-04-25 David S. Miller <davem@redhat.com> 24370 24371 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check 24372 for DECL being NULL. 24373 243742002-04-25 Steve Christiansen <smc@us.ibm.com> 24375 24376 * doc/md.texi (Machine Constraints): Add IA-64 constraints. 24377 243782002-04-25 Eric Botcazou <ebotcazou@multimania.com> 24379 24380 * c-decl.c (grokdeclarator): Remove outdated ??? note 24381 on invalid declaration of flexible array members. 24382 243832002-04-25 Richard Henderson <rth@redhat.com> 24384 24385 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level. 24386 243872002-04-25 Ulrich Weigand <uweigand@de.ibm.com> 24388 24389 * config/s390/s390.c (s390_emit_epilogue): Always restore registers 24390 needed by the compiler, even if they are used as global regs. 24391 243922002-04-25 Matt Hiller <hiller@redhat.com> 24393 24394 * mips.c (mips_class_max_nregs, mips_register_move_cost): New 24395 functions. 24396 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls 24397 of the corresponding functions. 24398 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost): 24399 New prototypes. 24400 244012002-04-25 Matt Hiller <hiller@redhat.com> 24402 24403 * config/mips/mips.h (mips_sw_reg_names): Declare as extern. 24404 24405 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro. 24406 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor 24407 registers, adjust comment accordingly. 24408 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, 24409 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES, 24410 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries 24411 for coprocessor registers. 24412 (ADDITIONAL_REGISTER_NAMES): Include 24413 ALL_COP_ADDITIONAL_REGISTER_NAMES. 24414 24415 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM, 24416 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM, 24417 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM, 24418 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P, 24419 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros. 24420 24421 (mips_char_to_class): Adjust comment to include coprocessor 24422 constraint letters. 24423 24424 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand): 24425 New functions. 24426 (mips_reg_names, mips_regno_to_class): Include coprocessor 24427 information. 24428 (mips_sw_reg_names): Ditto, make non-static. 24429 (mips_move_1word): Handle moves to and from coprocessor registers. 24430 (mips_move_2words): Handle moves to and from coprocessor 24431 registers. 24432 (mips_class_max_nregs, mips_register_move_cost): Handle 24433 coprocessor register classes. 24434 (override_options): Initialize mips_char_to_class and 24435 mips_hard_regno_mode_ok properly for coprocessor registers. 24436 24437 * config/mips/mips.md (movdi_internal, movdi_internal2, 24438 movsi_internal1, movsi_internal2): Add constraint-sets for 24439 coprocessor registers. 24440 * testsuite/gcc.c-torture/mipscop-1.c: New testcase. 24441 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target 24442 isn't mips. 24443 * testsuite/gcc.c-torture/mipscop-2.c: New testcase. 24444 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target 24445 isn't mips. 24446 * testsuite/gcc.c-torture/mipscop-3.c: New testcase. 24447 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target 24448 isn't mips. 24449 * testsuite/gcc.c-torture/mipscop-4.c: New testcase. 24450 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target 24451 isn't mips. 24452 24453 * doc/tm.texi: Document feature. 24454 244552002-04-25 Neil Booth <neil@daikokuya.demon.co.uk> 24456 24457 * integrate.c (function_attribute_inlinable_p): Simplify. 24458 Check the table pointer is not NULL. 24459 244602002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl> 24461 24462 * doc/c-tree.texi: Fix typo in introduction. 24463 244642002-04-25 Neil Booth <neil@daikokuya.demon.co.uk> 24465 24466 * c-common.h (c_common_parse_file): Update. 24467 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove. 24468 * c-lex.c (YYDEBUG): Get from c-lex.h. 24469 (c_common_parse_file): Update. 24470 * c-lex.h (YYDEBUG, yydebug): New. 24471 * c-parse.in (YYDEBUG): Get from c-lex.h. 24472 (c_set_yydebug): Remove. 24473 * c-tree.h (c_set_yydebug): Remove. 24474 * langhooks-def.h (lhd_do_nothing_i): New. 24475 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove. 24476 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update. 24477 * langhooks.c (lhd_do_nothing_i): New. 24478 (lhd_set_yydebug): Remove. 24479 * langhooks.h (struct lang_hooks): Update. 24480 * toplev.c (set_yydebug): New. 24481 (compile_file): Update call to parse_file hook. 24482 (decode_d_option): Update. 24483objc: 24484 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove. 24485 24486Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com> 24487 24488 * loop.c (load_mems): Don't change the interface of called functions. 24489 24490 * calls.c (expand_call): Take current_function_pretend_args_size 24491 into account when setting argblock for sibcalls. 24492 244932002-04-24 Matt Hiller <hiller@redhat.com> 24494 24495 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS. 24496 * c-lex.c: Ditto. 24497 24498 * cpplex.c (skip_line_comment): Process comment one multibyte 24499 character at a time rather than one char at a time, if 24500 appropriate. 24501 (parse_string): Process string one multibyte character at a time 24502 rather than one char at a time, if appropriate. 24503 * c-lex.c (lex_string): Lex and copy multibyte strings 24504 appropriately. 24505 * cpplib.h (cppchar_t): Change to unsigned. 24506 245072002-04-24 Richard Henderson <rth@redhat.com> 24508 24509 PR c/3467 24510 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays 24511 for c99. 24512 24513Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com> 24514 24515 * sh.c (sh_va_arg): If argument was passed by reference, 24516 dereference the pointer. 24517 24518 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic. 24519 24520 * sh.md (divsi3_i4_media): Use match_operand for input values 24521 rather than hard registers. 24522 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values 24523 unnecessarily through hard registers. Keep copies of pseudo 24524 registers outside of the libcall sequence. 24525 24526 * sh.md (casesi_shift_media): Add modes. 24527 24528 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode 24529 values in memory. 24530 245312002-04-24 Neil Booth <neil@daikokuya.demon.co.uk> 24532 24533 * attribs.c (c_common_attribute_table): Move table and handlers 24534 to c-common.c. 24535 (format_attribute_table, lang_attribute_table, 24536 lang_attribute_common): Remove. 24537 (init_attributes): Replace NULL pointers with pointers to the 24538 empty table. 24539 (handle_packed_attribute, handle_nocommon_attribute, 24540 handle_common_attribute, handle_noreturn_attribute, 24541 handle_noinline_attribute, handle_always_inline_attribute, 24542 handle_used_attribute, handle_unused_attribute, 24543 handle_const_attribute, handle_transparent_union_attribute, 24544 handle_constructor_attribute, handle_destructor_attribute, 24545 handle_mode_attribute, handle_section_attribute, 24546 handle_aligned_attribute, handle_weak_attribute, 24547 handle_alias_attribute, handle_visibility_attribute, 24548 handle_no_instrument_function_attribute, handle_malloc_attribute, 24549 handle_no_limit_stack_attribute, handle_pure_attribute, 24550 handle_deprecated_attribute, handle_vector_size_attribute, 24551 vector_size_helper): Move to c-common.c. 24552 * c-common.c (c_common_attribute_table, 24553 handle_packed_attribute, handle_nocommon_attribute, 24554 handle_common_attribute, handle_noreturn_attribute, 24555 handle_noinline_attribute, handle_always_inline_attribute, 24556 handle_used_attribute, handle_unused_attribute, 24557 handle_const_attribute, handle_transparent_union_attribute, 24558 handle_constructor_attribute, handle_destructor_attribute, 24559 handle_mode_attribute, handle_section_attribute, 24560 handle_aligned_attribute, handle_weak_attribute, 24561 handle_alias_attribute, handle_visibility_attribute, 24562 handle_no_instrument_function_attribute, handle_malloc_attribute, 24563 handle_no_limit_stack_attribute, handle_pure_attribute, 24564 handle_deprecated_attribute, handle_vector_size_attribute, 24565 vector_size_helper): Move from attribs.c. 24566 * c-common.h (c_common_attribute_table, 24567 c_common_format_attribute_table): New. 24568 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, 24569 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine. 24570 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, 24571 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New. 24572 (LANG_HOOKS_INITIALIZER): Update. 24573 * langhooks.h (struct lang_hooks): 3 new attribute hooks. 24574 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL. 24575 * target.h: Update comment. 24576 * tree.c (default_target_attribute_table): Remove. 24577 * tree.h (default_target_attribute_table, format_attribute_table, 24578 lang_attribute_table, lang_attribute_common): Remove. 24579objc: 24580 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, 24581 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine. 24582 245832002-04-24 Jason Merrill <jason@redhat.com> 24584 24585 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector. 24586 * dwarf2out.c (dwarf_attr_name): Support it. 24587 (gen_array_type_die): Emit it. 24588 (lookup_type_die): No special handling for VECTOR_TYPE. 24589 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die. 24590 245912002-04-24 Richard Henderson <rth@redhat.com> 24592 24593 * config/mips/mips.md (movdi_usd): Renumber. 24594 245952002-04-24 David S. Miller <davem@redhat.com> 24596 24597 PR target/6420 24598 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if 24599 32-bit SPARC and current_function_returns_struct is true. 24600 24601Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz> 24602 24603 * loop.c (canonicalize_condition): Use gen_int_mode. 24604 246052002-04-24 Aldy Hernandez <aldyh@redhat.com> 24606 24607 * config/rs6000/altivec.h: Cleanup file. Add non individual 24608 variants. 24609 (vec_vaddubm): New. 24610 (vec_vadduhm): New. 24611 (vec_vadduwm): New. 24612 (vec_vaddfp): New. 24613 (vec_vaddcuw): New. 24614 (vec_vaddubs): New. 24615 (vec_vaddsbs): New. 24616 (vec_vadduhs): New. 24617 (vec_vadduws): New. 24618 (vec_vaddsws): New. 24619 (vec_vand): New. 24620 (vec_vandc): New. 24621 (vec_vavgub): New. 24622 (vec_vavgsb): New. 24623 (vec_vavguh): New. 24624 (vec_vavgsh): New. 24625 (vec_vavguw): New. 24626 (vec_vavgsw): New. 24627 (vec_vrfip): New. 24628 (vec_vcmpbfp): New. 24629 (vec_vcmpequb): New. 24630 (vec_vcmpequh): New. 24631 (vec_vcmpequw): New. 24632 (vec_vcmpeqfp): New. 24633 (vec_vcmpgefp): New. 24634 (vec_vcmpgtub): New. 24635 (vec_vcmpgtsb): New. 24636 (vec_vcmpgtuh): New. 24637 (vec_vcmpgtsh): New. 24638 (vec_vcmpgtuw): New. 24639 (vec_vcmpgtsw): New. 24640 (vec_vcmpgtfp): New. 24641 (vec_vcmpgefp): New. 24642 (vec_vcfux): New. 24643 (vec_vcfsx): New. 24644 (vec_vctsxs): New. 24645 (vec_vctuxs): New. 24646 (vec_vexptefp): New. 24647 (vec_vrfim): New. 24648 (vec_lvx): New. 24649 (vec_lvebx): New. 24650 (vec_lvehx): New. 24651 (vec_lde): Add vector float variant. 24652 (vec_lvewx): New. 24653 (vec_lvxl): New. 24654 (vec_vlogefp): New. 24655 (vec_vmaddfp): New. 24656 (vec_vmhaddshs): New. 24657 (vec_vmaxub): New. 24658 (vec_vmaxsb): New. 24659 (vec_vmaxuh): New. 24660 (vec_vmaxsh): New. 24661 (vec_vmaxuw): New. 24662 (vec_vmaxsw): New. 24663 (vec_vmaxsw): New. 24664 (vec_vmaxfp): New. 24665 (vec_vmrghb): New. 24666 (vec_vmrghh): New. 24667 (vec_vmrghw): New. 24668 (vec_vmrglb): New. 24669 (vec_vmrglh): New. 24670 (vec_vmrglw): New. 24671 (vec_vminub): New. 24672 (vec_vminsb): New. 24673 (vec_vminuh): New. 24674 (vec_vminsh): New. 24675 (vec_vminuw): New. 24676 (vec_vminsw): New. 24677 (vec_vminfp): New. 24678 (vec_vmladduhm): New. 24679 (vec_vmhraddshs): New. 24680 (vec_msumubm): New. 24681 (vec_vmsummbm): New. 24682 (vec_vmsumuhm): New. 24683 (vec_vmsumshm): New. 24684 (vec_vmsumuhs): New. 24685 (vec_vmsumshs): New. 24686 (vec_vmuleub): New. 24687 (vec_vmulesb): New. 24688 (vec_vmuleuh): New. 24689 (vec_vmulesh): New. 24690 (vec_vmuloub): New. 24691 (vec_mulosb): New. 24692 (vec_vmulouh): New. 24693 (vec_vmulosh): New. 24694 (vec_vnmsubfp): New. 24695 (vec_vnor): New. 24696 (vec_vor): New. 24697 (vec_vpkuhum): New. 24698 (vec_vpkuwum): New. 24699 (vec_vpkpx): New. 24700 (vec_vpkuhus): New. 24701 (vec_vpkshss): New. 24702 (vec_vpkuwus): New. 24703 (vec_vpkswss): New. 24704 (vec_vpkshus): New. 24705 (vec_vpkswus): New. 24706 (vec_vperm): New. 24707 (vec_vrefp): New. 24708 (vec_vrlb): New. 24709 (vec_vrlh): New. 24710 (vec_vrlw): New. 24711 (vec_vrfin): New. 24712 (vec_vrsqrtefp): New. 24713 (vec_vsel): New. 24714 (vec_vslb): New. 24715 (vec_vslh): New. 24716 (vec_vslw): New. 24717 (vec_vsldoi): New. 24718 (vec_vsl): New. 24719 (vec_vslo): New. 24720 (vec_vspltb): New. 24721 (vec_vsplth): New. 24722 (vec_vspltw): New. 24723 (vec_vspltisb): New. 24724 (vec_vspltish): New. 24725 (vec_vspltisw): New. 24726 (vec_vsrb): New. 24727 (vec_vsrh): New. 24728 (vec_vsrw): New. 24729 (vec_vsrab): New. 24730 (vec_vsrah): New. 24731 (vec_vsraw): New. 24732 (vec_vsr): New. 24733 (vec_vsro): New. 24734 (vec_stvx): New. 24735 (vec_stvebx): New. 24736 (vec_stvehx): New. 24737 (vec_stvewx): New. 24738 (vec_stvxl): New. 24739 (vec_vsububm): New. 24740 (vec_vsubuhm): New. 24741 (vec_vsubuwm): New. 24742 (vec_vsubfp): New. 24743 (vec_vsubcuw): New. 24744 (vec_vsububs): New. 24745 (vec_vsubsbs): New. 24746 (vec_vsubuhs): New. 24747 (vec_vsubshs): New. 24748 (vec_vsubuws): New. 24749 (vec_vsubsws): New. 24750 (vec_vsum4ubs): New. 24751 (vec_vsum4sbs): New. 24752 (vec_vsum4shs): New. 24753 (vec_vsum2sws): New. 24754 (vec_vsumsws): New. 24755 (vec_vrfiz): New. 24756 (vec_vupkhsb): New. 24757 (vec_vupkhpx): New. 24758 (vec_vupkhsh): New. 24759 (vec_vupklsb): New. 24760 (vec_vupklpx): New. 24761 (vec_vupklsh): New. 24762 (vec_vxor): New. 24763 247642002-04-23 Eric Botcazou <ebotcazou@multimania.com> 24765 24766 PR c/5430 24767 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate 24768 added literals from substracted literals. 24769 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR. 24770 (fold) [associate]: Preserve MINUS_EXPR if needed. 24771 247722002-04-23 Zack Weinberg <zack@codesourcery.com> 24773 24774 * doc/install.texi: Clarify which versions of alpha*-dec-osf* 24775 are obsoleted. 24776 247772002-04-23 Tom Tromey <tromey@redhat.com> 24778 24779 * gcc.c: Added --resource. For PR java/6314. 24780 247812002-04-23 David O'Brien <obrien@FreeBSD.org> 24782 24783 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg. 24784 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of 24785 these libraries. 24786 247872002-04-23 David O'Brien <obrien@FreeBSD.org> 24788 24789 * config/freebsd.h(OBJECT_FORMAT_ELF): Define. 24790 24791Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz> 24792 24793 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug 24794 workaround. 24795 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash. 24796 (ix86_expand_clrstr): Fix typo. 24797 * loop.c (gen_load_of_final_value): New. 24798 (loop_givs_rescan, strength_reduce, check_dbra_loop): 24799 Use it. 24800 248012002-04-23 Roger Sayle <roger@eyesopen.com> 24802 24803 * builtins.c (builtin_memset_gen_str): New function. 24804 (expand_builtin_memset): Optimize the case of constant length, but 24805 unknown value. 24806 248072002-04-23 Aldy Hernandez <aldyh@redhat.com> 24808 24809 * config/rs6000/altivec.h (vec_step): Remove extraneous 24810 parentheses. 24811 (vec_ctu): Cast return. 24812 248132002-04-23 Alan Modra <amodra@bigpond.net.au> 24814 24815 PR target/6413 24816 * function.h: (struct function): Add profile_label_no field. 24817 (current_function_profile_label_no): Define. 24818 * function.c: (profile_label_no): New static var. 24819 (expand_function_start): Increment it, and copy to 24820 current_function_profile_label_no. 24821 * output.h (profile_label_no): Delete. 24822 * final.c (profile_label_no): Delete. 24823 (profile_function): Use current_function_profile_label_no. 24824 (final_end_function): Don't increment profile_label_no here. 24825 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace 24826 profile_label_no with current_function_profile_label_no. 24827 * config/pa/pa.c (current_function_number): Delete. 24828 (pa_output_function_prologue): Don't output profile label here. 24829 (hppa_profile_hook): Use label_no param rather than 24830 current_function_number. 24831 (FUNC_BEGIN_PROLOG_LABEL): Move to .. 24832 * config/pa/pa.h: .. here. 24833 (FUNCTION_PROFILER): Output profile label here. 24834 248352002-04-22 Eric Christopher <echristo@redhat.com> 24836 24837 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert 24838 patch of 2002-04-09 due to binutils issues. 24839 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register. 24840 248412002-04-22 Aldy Hernandez <aldyh@redhat.com> 24842 24843 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm' 24844 constraint to 'o' for m=r and r=m alternatives. 24845 ("*movv8hi_internal1"): Same. 24846 ("*movv16qi_internal1"): Same. 24847 ("*movv4sf_internal1"): Same. 24848 248492002-04-22 Janis Johnson <janis187@us.ibm.com> 24850 24851 * rtl.h (RTX_FLAG): New macro. 24852 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags. 24853 * final.c (alter_subreg): Use macro to access rtx flag. 24854 * integrate.c (copy_rtx_and_substitute): Use new access macro. 24855 * print-rtl.c (print_rtx): Use new access macro. 24856 24857 * cse.c (insert): Check rtx code before accessing flag. 24858 24859 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P, 24860 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New. 24861 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test, 24862 convert_const_symbol_ref, make_canonical, make_alternative_compare, 24863 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp, 24864 simplify_test_exp, optimize_attrs, simplify_by_exploding, 24865 find_and_mark_used_attributes, unmark_used_attributes, 24866 add_values_to_cover, simplify_with_current_value, 24867 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value, 24868 copy_rtx_unchanging, main): Use new access macros. 24869 248702002-04-22 Tom Rix <trix@redhat.com> 24871 24872 * expmed.c (init_expmed): Generate shifted constant once. 24873 248742002-04-22 Zack Weinberg <zack@codesourcery.com> 24875 24876 * c-lex.c (lex_charconst): Call convert to get constant in 24877 proper type; don't just smash the type field. 24878 Fixes PR c/6300. 24879 24880 * config.gcc: Add list of obsolete configurations. Disallow 24881 building these without --enable-obsolete. 24882 * doc/install.texi: Document --enable-obsolete and obsoletion 24883 policy. Mention obsoletion of individual targets in 24884 appropriate places. 24885 248862002-04-22 Richard Henderson <rth@redhat.com> 24887 24888 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New. 24889 248902002-04-22 Mark Mitchell <mark@codesourcery.com> 24891 24892 PR f/6138. 24893 * function.c (fixup_memory_subreg): Add promoted_mode parameter. 24894 (walk_fixup_memory_subreg): Likewise. 24895 (fixup_var_refs_insn): Adjust accordingly. 24896 (fixup_var_refs_1): Likewise. 24897 248982002-04-22 Ulrich Weigand <uweigand@de.ibm.com> 24899 24900 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC, 24901 LIBPATH_ARCH64_SPEC): Define. 24902 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64. 24903 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath. 24904 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path. 24905 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path. 24906 249072002-04-22 Joel Sherrill <joel@OARcorp.com> 24908 24909 * gthr-rtems.h: Correct prototypes to remove warnings. 24910 249112002-04-22 Richard Henderson <rth@redhat.com> 24912 24913 PR c/6344 24914 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)). 24915 24916 * gcse.c (free_insn_expr_list_list): New. 24917 (clear_modify_mem_tables): Use it. Fix bit set usage. 24918 (canon_list_insert): Use EXPR_LISTs for expressions. 24919 (record_last_mem_set_info): Factor BLOCK_NUM (insn). 24920 249212002-04-22 Neil Booth <neil@daikokuya.demon.co.uk> 24922 24923 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move 24924 file change and include code to _cpp_pop_buffer. 24925 * cpphash.h (struct pending_option): Predeclare. 24926 (struct cpp_reader): New member next_include_file. 24927 (_cpp_pop_file_buffer): Update. 24928 (_cpp_push_next_buffer): Update, rename. 24929 * cppinit.c (cpp_destroy): Free include chain and pending here. 24930 (cpp_finish_options): Simplify. 24931 (_cpp_push_next_buffer): Rename and clean up. 24932 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer. 24933 Clarify. 24934 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here. 24935 249362002-04-22 Aldy Hernandez <aldyh@redhat.com> 24937 24938 * config/rs6000/altivec.h (vec_xor): Add variant for both args 24939 being vector signed int. 24940 (vec_andc): Same. 24941 (vec_xor): Add variant for both args being vector signed char. 24942 Remove redundant variant. 24943 (vec_andc): Same. 24944 249452002-04-21 David S. Miller <davem@redhat.com> 24946 24947 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix 24948 compare mode in output RTL. 24949 249502002-04-22 David Edelsohn <edelsohn@gnu.org> 24951 24952 * config/rs6000/rs6000.c (rs6000_override_options): Correct 24953 style and formatting of previous patch. 24954 249552002-04-22 Alan Modra <amodra@bigpond.net.au> 24956 24957 * config/rs6000/rs6000.c (rs6000_override_options): Always clear 24958 flag_pic for ABI_AIX. 24959 249602002-04-21 Neil Booth <neil@daikokuya.demon.co.uk> 24961 24962 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar. 24963 * cppfiles.c (read_include_file): Similarly. 24964 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen, 24965 uxstrdup ustrchr, ufputs): Similarly. 24966 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly. 24967 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment, 24968 cpp_ideq, parse_identifier, parse_number): Similarly. 24969 * cpplib.c (struct directive, dequote_string, D, run_directive, 24970 cpp_push_buffer): Similarly. 24971 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string, 24972 _cpp_create_definition, check_trad_stringification, 24973 cpp_macro_definition): Similarly. 24974 249752002-04-21 Neil Booth <neil@daikokuya.demon.co.uk> 24976 24977 * cppmacro.c (funlike_invocation_p): Don't step back 24978 over CPP_EOF. 24979 249802002-04-21 David Edelsohn <edelsohn@gnu.org> 24981 24982 * config/rs6000/rs6000.c (output_profile_hook): Do not increment 24983 labelno. 24984 249852002-04-20 Joseph S. Myers <jsm28@cam.ac.uk> 24986 24987 * doc/invoke.texi: Remove Chill references. 24988 * doc/gcc.texi: Update last modified date. 24989 249902002-04-20 Kazu Hirata <kazu@hxi.com> 24991 24992 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary 24993 push and pop. Replace add.l with add.w. 24994 249952002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 24996 24997 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware 24998 multiply instructions for H8/300H case. 24999 250002002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 25001 25002 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2): 25003 Bum three instructions from each routine. 25004 250052002-04-20 Neil Booth <neil@daikokuya.demon.co.uk> 25006 25007 * Makefile.in: Update. 25008 * decl.c (push_c_function_context, pop_c_function_context, 25009 mark_c_function_context): Rename for consistency. 25010 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere. 25011 * c-tree.h (push_c_function_context, pop_c_function_context, 25012 mark_c_function_context): Rename for consistency. 25013 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED, 25014 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine. 25015 * function.c (init_lang_status, save_lang_status, 25016 restore_lang_status, mark_lang_status, free_lang_status): 25017 Move to langhooks.h. 25018 (push_function_context_to, pop_function_context_from, 25019 free_after_parsing, prepare_function_start, ggc_mark_struct_function): 25020 Update. 25021 * function.h (init_lang_status, save_lang_status, 25022 restore_lang_status, mark_lang_status, free_lang_status): 25023 Move to langhooks.h. 25024 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT, 25025 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED, 25026 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK, 25027 LANG_HOOKS_FUNCTION_INITIALIZER): New. 25028 (LANG_HOOKS_INITIALIZER): Update. 25029 (lhd_do_nothing_f): New. 25030 * langhooks.h (struct lang_hooks_for_functions): New. 25031 (struct lang_hooks): New hooks. 25032 * langhooks.c (lhd_do_nothing_f): New. 25033objc: 25034 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED, 25035 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine. 25036 250372002-04-19 David S. Miller <davem@redhat.com> 25038 25039 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define. 25040 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise. 25041 250422002-04-19 Jakub Jelinek <jakub@redhat.com> 25043 25044 PR optimization/3756 25045 * config/i386/i386.c (ix86_expand_int_movcc): Optimize 25046 x = ((int) y < 0) ? cst1 : cst2. 25047 250482002-04-19 Jakub Jelinek <jakub@redhat.com> 25049 25050 PR c/6358 25051 * function.c: Reapply patch for c/6358. 25052 (expand_function_end): Copy decl_rtl's mode, not 25053 current_function_return_rtx mode. 25054 250552002-04-19 Joel Sherrill <joel@OARcorp.com> 25056 25057 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF 25058 targets. 25059 250602002-04-19 Tom Tromey <tromey@redhat.com> 25061 25062 * doc/install.texi (Specific): Update status of Solaris 2.8. 25063 For PR libgcj/6158. 25064 250652002-04-19 Andreas Schwab <schwab@suse.de> 25066 25067 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE. 25068 (PUT_REAL): Restore old definition. 25069 250702002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu> 25071 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 25072 25073 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that 25074 binutils 2.11.2 and higher generate smaller binaries than Sun's 25075 native tools. 25076 250772002-04-19 Mark Mitchell <mark@codesourcery.com> 25078 25079 PR c++/6352 25080 * toplev.c (rest_of_compilation): Do not defer functions for which 25081 TREE_SYMBOL_REFERENCED has already been set. 25082 25083Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz> 25084 25085 * i386.md (movsi_1, movhi_1): Force reload to use more flexible 25086 alternative. 25087 250882002-04-19 Neil Booth <neil@daikokuya.demon.co.uk> 25089 25090 * builtins.c: Include langhooks.h. 25091 (lang_type_promotes_to): Remove. 25092 (expand_builtin_va_arg): Use new hook. 25093 * c-common.c (c_common_nodes_and_builtins): Don't set hook. 25094 (simple_type_promotes_to): Move to c-typeck.c. 25095 * c-common.h (simple_type_promotes_to): Remove. 25096 * c-decl.c (duplicate_decls, grokdeclarator): Update. 25097 * c-format.c: Include langhooks.h. 25098 (check_format_types): Update. 25099 * c-tree.h (c_type_promotes_to): New. 25100 * c-typeck.c (c_type_promotes_to): Move from c-common.c. 25101 (type_lists_compatible_p): Update. 25102 * langhooks-def.h (lhd_type_promotes_to): New. 25103 (LANG_HOOKS_TYPE_PROMOTES_TO): New. 25104 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update. 25105 * langhooks.c (lhd_type_promotes_to): New. 25106 * langhooks.h (struct lang_hooks_for_types): New hook. 25107 * tree.h (lang_type_promotes_to): Remove. 25108objc: 25109 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine. 25110 251112002-04-18 Richard Henderson <rth@redhat.com> 25112 25113 * function.c: Revert patch for c/6358. 25114 251152002-04-18 Richard Henderson <rth@redhat.com> 25116 25117 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN 25118 blocks. Handle multiple references to the TRAP block. Handle 25119 non-adjacent THEN and OTHER blocks. 25120 251212002-04-18 Richard Henderson <rth@redhat.com> 25122 25123 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't 25124 crash with no type for by-mode libcalls. 25125 25126 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity. 25127 251282002-04-18 Bob Wilson <bob.wilson@acm.org> 25129 25130 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill, 25131 __xtensa_nonlocal_goto): Use a syscall instructions to flush 25132 the register windows. 25133 251342002-04-18 Zack Weinberg <zack@codesourcery.com> 25135 25136 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as 25137 appropriate. Document need for extended precision even when 25138 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here, 25139 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size 25140 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error 25141 instead of relying on later syntax error when REAL_WIDTH > 5. 25142 * real.c: Define NE based only on whether or not we have a 25143 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT). 25144 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally 25145 define GET_REAL and PUT_REAL as simple memcpy operations; no 25146 need to byteswap or round. 25147 Use #error instead of #ifdef-ing out the entire file, for 25148 prompt error detection. 25149 25150 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here. 25151 251522002-04-18 David S. Miller <davem@redhat.com> 25153 25154 * config/sparc/sparc.h (BRANCH_COST): Define. 25155 25156 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h 25157 does it. 25158 251592002-04-18 Hans-Peter Nilsson <hp@bitrange.com> 25160 25161 * flow.c (update_life_info): Ignore return value of cleanup_cfg. 25162 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in 25163 propagate_block calls after relaxation loop using new variable 25164 stabilized_prop_flags. 25165 251662002-04-18 Richard Henderson <rth@redhat.com> 25167 25168 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New. 25169 (ia64_va_arg): Expect variable sized types by reference. 25170 * config/ia64/ia64-protos.h: Update. 25171 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use 25172 ia64_function_arg_pass_by_reference. 25173 251742002-04-18 Richard Henderson <rth@redhat.com> 25175 25176 * ifcvt.c: Include except.h. 25177 (block_has_only_trap): Break out from find_cond_trap. 25178 (find_cond_trap): Use it. Always delete the trap block. 25179 (merge_if_block): Allow then block null. Be less simplistic about 25180 what insns can end a block. 25181 * Makefile.in (ifcvt.o): Depend on except.h. 25182 25183 * config/ia64/ia64.md (trap, conditional_trap): New. 25184 251852002-04-18 Jakub Jelinek <jakub@redhat.com> 25186 25187 PR c/6358 25188 * function.c (assign_parms): Assign hard current_function_return_rtx 25189 register here... 25190 (expand_function_end): ...not here. 25191 251922002-04-18 Neil Booth <neil@daikokuya.demon.co.uk> 25193 25194 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine. 25195 * c-tree.h (c_incomplete_type_error): New. 25196 * c-typeck.c (require_complete_type, build_component_ref): Update. 25197 (incomplete_type_error): Rename. 25198 * langhooks-def.h (lhd_incomplete_type_error): New. 25199 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New. 25200 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update. 25201 * langhooks.c (lhd_incomplete_type_error): New. 25202 * langhooks.h (struct lang_hooks_for_types): New hook. 25203 * tree.c (size_in_bytes): Use new hook. 25204 * tree.h (incomplete_type_error): Remove. 25205objc: 25206 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine. 25207 252082002-04-18 Zack Weinberg <zack@codesourcery.com> 25209 25210 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT != 25211 TARGET_FLOAT_FORMAT blocks. 25212 252132002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 25214 25215 * doc/install.texi (Downloading the source): Do not mention Chill 25216 any longer, but mention Ada. 25217 (Configuration): Do not mention Chill any longer. 25218 252192002-04-18 Hans-Peter Nilsson <hp@axis.com> 25220 25221 * config/cris/cris.h (TARGET_VERSION): Remove local version number. 25222 25223Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz> 25224 25225 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution 25226 in last patch. 25227 252282002-04-18 Jakub Jelinek <jakub@redhat.com> 25229 25230 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type) 25231 instead of unsigned_type. 25232 25233Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz> 25234 25235 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check. 25236 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped 25237 later. 25238 252392002-04-18 Bernd Schmidt <bernds@redhat.com> 25240 25241 * attribs.c (vector_type_node_list): New static variable. 25242 (handle_vector_size_attribute): Use it to avoid generating a 25243 new type node each time we are called. 25244 25245 * combine.c (subst): Avoid trying to make a vector mode subreg of 25246 an integer constant. 25247 (gen_lowpart_for_combine): Likewise. 25248 252492002-04-18 Roger Sayle <roger@eyesopen.com> 25250 Jakub Jelinek <jakub@redhat.com> 25251 25252 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c) 25253 for integer constant c (if x has unsigned type or sign bit is not 25254 set in c). This folds the zero/sign extension into the bit-wise and 25255 operation. 25256 252572002-04-18 Jakub Jelinek <jakub@redhat.com> 25258 25259 PR middle-end/6205 25260 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2, 25261 otherwise xorps. 25262 252632002-04-17 NIIBE Yutaka <gniibe@m17n.org> 25264 25265 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL. 25266 252672002-04-17 Nick Clifton <nickc@cambridge.redhat.com> 25268 25269 * gcc.c (read_specs): Detect and fail if an attempt is made to 25270 rename a spec string to an already existing string. 25271 252722002-04-17 Ulrich Weigand <uweigand@de.ibm.com> 25273 25274 * config/s390/s390.c (legitimize_pic_address): Do not generate 25275 illegal address constant without CONST. 25276 252772002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 25278 25279 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64. 25280 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise. 25281 252822002-04-17 Ulrich Weigand <uweigand@de.ibm.com> 25283 25284 PR optimization/6305 25285 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement 25286 to make sure previous reloads are taken into account. Generate 25287 better code if one operand is an in-range immediate constant. 25288 252892002-04-16 Andrew Haley <aph@cambridge.redhat.com> 25290 25291 * doc/install.texi (Building): libgcj requires GNU make. 25292 252932002-04-17 Jakub Jelinek <jakub@redhat.com> 25294 25295 PR bootstrap/6315 25296 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting 25297 even if hard quad and register is not floating. 25298 (movtf reg<-mem split): Disallow splitting if hard quad and 25299 register is floating. 25300 (movtf mem<-reg split): Likewise. 25301 * config/sparc/sparc.c (fp_register_operand): New predicate. 25302 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand. 25303 253042002-04-17 Zack Weinberg <zack@codesourcery.com> 25305 25306 * Makefile.in (PROTO_OBJS): Add cppdefault.o. 25307 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line. 25308 (unprotoize.o): Ditto. Build from protoize.c. Define 25309 UNPROTOIZE on command line. 25310 * protoize.c: Include cppdefault.h. Delete include_defaults. 25311 (in_system_include_dir): Use cpp_include_defaults (defined in 25312 cppdefault.o). 25313 * unprotoize.c: Delete file. 25314 253152002-04-17 Aldy Hernandez <aldyh@redhat.com> 25316 25317 * config/rs6000/altivec.h (vec_ld): Add array variants. 25318 (vec_lde): Same. 25319 (vec_ldl): Same. 25320 253212002-04-17 Alan Matsuoka <alanm@redhat.com> 25322 Aldy Hernandez <aldyh@redhat.com> 25323 25324 * config/rs6000/altivec.h: Define __ALTIVEC__. 25325 (bool): New. 25326 (__pixel): New. 25327 (pixel): New. 25328 (vec_cfux): New. 25329 (vec_vmaddfp): New. 25330 (vec_vsldoi): New. 25331 Add parentheses to all macro arguments. 25332 253332002-04-16 Richard Henderson <rth@redhat.com> 25334 25335 PR c++/6320 25336 * except.c (remove_eh_handler): Insert inner regions at beginning 25337 of sibling chain. Refactor expressions. 25338 253392002-04-16 Richard Henderson <rth@redhat.com> 25340 25341 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New. 25342 * config/sparc/sol2-gas-bi.h: New file. 25343 * config.gcc (sparc*-solaris): Add it as needed. 25344 * configure.in (AS_SPARC64_FLAG): Remove check. 25345 * config.in, configure: Regenerate. 25346 25347 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64. 25348 253492002-04-16 Richard Henderson <rth@redhat.com> 25350 25351 * config/mips/mips.c (override_options): Don't override N32 for 25352 a 64-bit ISA. 25353 25354 PR 6202 25355 * config/mips/mips.md (can_delay): Split out of existing define_delays. 25356 (HILO_delay): Set can_delay false. 25357 253582002-04-16 Dale Johannesen <dalej@apple.com> 25359 25360 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute 25361 instruction addresses. 25362 (rs6000_output_function_epilogue): Likewise. 25363 253642002-04-16 Paolo Carlini <pcarlini@unitus.it> 25365 25366 * c-parse.in (poplevel, compstmt_start, 25367 compstmt_primary_start): Add ending ';', in accordance 25368 with POSIX. 25369 253702002-04-16 Richard Henderson <rth@redhat.com> 25371 25372 * config.gcc (sparcv9-solaris): Configure for 64-bit default. 25373 Adjust tm_file order to get TARGET_DEFAULT set properly. 25374 (sparc-solaris): Configure 2.[78] for 64-bit multilibs. 25375 * doc/install.texi (sparc-solaris): Update. 25376 253772002-04-16 Dale Johannesen <dalej@apple.com> 25378 25379 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of 25380 comparison operands do not match each other or if modes of 25381 conditions do not match result. 25382 253832002-04-16 Hartmut Penner <hpenner@de.ibm.com> 25384 25385 PR target/6305 25386 * config/s390/s390.md (mulsidi3): Set both subregs of the 25387 multiword register. 25388 253892002-04-16 Aldy Hernandez <aldyh@redhat.com> 25390 25391 * config/rs6000/altivec.h (vec_addc): Type check. 25392 253932002-04-16 Jakub Jelinek <jakub@redhat.com> 25394 25395 PR middle-end/6279 25396 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target. 25397 25398 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET. 25399 254002002-04-15 Richard Henderson <rth@redhat.com> 25401 25402 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set 25403 call_really_used_regs too. 25404 254052002-04-15 Richard Henderson <rth@redhat.com> 25406 25407 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd. 25408 254092002-04-15 David S. Miller <davem@redhat.com> 25410 25411 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs 25412 as being CLOBBERed. 25413 254142002-04-16 Jakub Jelinek <jakub@redhat.com> 25415 25416 PR c/6290 25417 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the 25418 CONST_VECTOR is { 0, ... 0 }. 25419 254202002-04-15 Loren J. Rittle <ljrittle@acm.org> 25421 25422 * doc/install.texi (Installing GCC: Configuration): Clarify 25423 the only supported ways to configure gcc. 25424 254252002-04-15 Roland McGrath <roland@frob.com> 25426 25427 * config.gcc (alpha*-*-gnu*): New target configuration. 25428 * config/alpha/gnu.h: New file for it. 25429 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define. 25430 254312002-04-16 Mark Mitchell <mark@codesourcery.com> 25432 25433 * c-common.h (STMT_EXPR_NO_SCOPE): New macro. 25434 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE. 25435 * tree.h (expand_start_stmt_expr): Update prototype. 25436 * stmt.c (expand_start_stmt_expr): Add has_scope parameter. 25437 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE 25438 on the STMT_EXPR created for the inline function. 25439 254402002-04-15 Richard Henderson <rth@redhat.com> 25441 25442 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h, 25443 config/i386/linux-aout.h, config/i386/linux-oldld.h, 25444 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h, 25445 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h, 25446 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h, 25447 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h, 25448 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES): 25449 Define __gnu_linux__, not gnu_linux. 25450 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd. 25451 254522002-04-15 Mark Mitchell <mark@codesourcery.com> 25453 25454 Remove Chill front end. 25455 * gcc.c (default_compilers): Remove Chill entries. 25456 * ch: Remove directory. 25457 * doc/frontends.texi: Remove information about Chill. 25458 * doc/sourcebuild.texi: Likewise. 25459 * doc/standards.texi: Likewise. 25460 254612002-04-15 Douglas B Rupp <rupp@gnat.com> 25462 25463 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include. 25464 (LONGLONG_STANDALONE): Define. 25465 254662002-04-15 David S. Miller <davem@redhat.com> 25467 25468 * config/sparc/sparc.c (sparc_emit_float_lib_cmp): 25469 Call emit_library_call with LCT_NORMAL. 25470 (sparc_initialize_trampoline): Use LCT_foo instead of 25471 magic constant in emit_library_call invocations. 25472 (sparc64_initialize_trampoline): Likewise. 25473 (sparc_profile_hook): Likewise. 25474 * config/sparc/sparc.md: Likewise. 25475 25476 * config/sparc/sparc.c (sparc_extra_constraint_check): 25477 Fix type of argument 'c'. 25478 * config/sparc/sparc-protos.h (sparc_extra_constraint_check): 25479 Likewise. 25480 254812002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com> 25482 25483 * diagnostic.h (output_buffer_state): Redefine. 25484 (output_format_decoder): New macro. 25485 (output_prefixing_rule): Likewise. 25486 (output_line_cutoff): Likewise. 25487 (diagnostic_format_decoder): Adjust. 25488 (diagnostic_prefixing_rule): Likewise. 25489 (diagnostic_line_cutoff): Likewise. 25490 (diagnostic_state): Likewise. 25491 (diagnostic_kind_count): Likewise. 25492 (diagnostic_buffer): Now a macro. 25493 25494 * diagnostic.c (diagnostic_buffer): Remove definition. 25495 (output_is_line_wrapping): Adjust. 25496 (set_real_maximum_length): Likewise. 25497 (output_set_maximum_length): Likewise. 25498 (init_output_buffer): Likewise. 25499 (lhd_print_error_function): Likewise. 25500 (output_do_verbatim): Likewise. 25501 255022002-04-14 Neil Booth <neil@daikokuya.demon.co.uk> 25503 25504 * cpperror.c (print_location): Don't print include chain 25505 if line == 0. 25506 (cpp_begin_message): Update to use DL_ macros. 25507 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning, 25508 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line, 25509 cpp_notice, cpp_notice_from_errno): Remove. 25510 (cpp_error, cpp_error_with_line): Update to take a diagnostic 25511 level. 25512 (cpp_errno): New. 25513 * cppexp.c (CPP_ICE): Remove. 25514 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined, 25515 lex, integer_overflow, _cpp_parse_expr): Update. 25516 * cppfiles.c (read_include_file, find_include_file, 25517 handle_missing_header, _cpp_read_file, remap_filename): Update. 25518 * cpphash.h (enum error_type): Remove. 25519 (_cpp_begin_message): Update. 25520 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps, 25521 cpp_handle_option, cpp_post_options): Update. 25522 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment, 25523 skip_whitespace, parse_identifier, parse_slow, parse_string, 25524 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape, 25525 cpp_interpret_charconst): Update. 25526 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive, 25527 lex_macro_node, do_undef, glue_header_name, parse_include, 25528 do_include_common, read_flag, do_line, do_linemarker, do_ident, 25529 cpp_register_pragma, do_pragma_once, do_pragma_system_header, 25530 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else, 25531 do_elif, do_endif, parse_answer, parse_assertion, do_assert, 25532 _cpp_pop_buffer, do_diagnostic): Update. 25533 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR, 25534 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New. 25535 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning, 25536 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line, 25537 cpp_notice, cpp_notice_from_errno): Remove. 25538 (cpp_error, cpp_error_with_line): Update to take a diagnostic 25539 level. 25540 (cpp_errno): New. 25541 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens, 25542 collect_args, enter_macro_context, save_parameter, parse_params, 25543 _cpp_create_definition, check_trad_stringification, 25544 cpp_macro_definition): Update. 25545 * cppmain.c (cpp_preprocess_file): Update. 25546 * fix-header.c (read_scan_file): Update. 25547 255482002-04-14 Andreas Schwab <schwab@suse.de> 25549 25550 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash. 25551 255522002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> 25553 25554 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define. 25555 255562002-04-13 Mark Mitchell <mark@codesourcery.com> 25557 25558 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__, 25559 not gnu_hurd. 25560 255612002-04-13 Hans-Peter Nilsson <hp@axis.com> 25562 25563 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo. 25564 255652002-04-13 Joel Sherrill <joel@OARcorp.com> 25566 25567 * config/sparc/t-elf: Enable v8 multilibs. Impacts 25568 sparc-elf and sparc-rtems targets. 25569 255702002-04-13 Mark Mitchell <mark@codesourcery.com> 25571 25572 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is 25573 defined, and __gnu_hurd__ wherever __GNU__ is defined. 25574 * arm/linux-elf.h: Likewise. 25575 * cris/aout.h: Likewise. 25576 * cris/linux.h: Likewise. 25577 * i370/linux.h: Likewise. 25578 * i386/gnu.h: Likewise. 25579 * i386/linux-aout.h: Likewise. 25580 * i386/linux-oldld.h: Likewise. 25581 * i386/linux.h: Likewise. 25582 * i386/linux64.h: Likewise. 25583 * ia64/linux.h: Likewise. 25584 * m68k/linux-aout.h: Likewise. 25585 * m68k/linux.h: Likewise. 25586 * mips/linux.h: Likewise. 25587 * pa/pa-linux.h: Likewise. 25588 * pj/linux.h: Likewise. 25589 * rs6000/sysv4.h: Likewise. 25590 * s390/linux.h: Likewise. 25591 * sh/linux.h: Likewise. 25592 * sparc/linux-aout.h: Likewise. 25593 * sparc/linux.h: Likewise. 25594 * sparc/linux64.h: Likewise. 25595 * xtensa/linux.h: Likewise. 25596 255972002-04-13 Richard Sandiford <rsandifo@redhat.com> 25598 25599 * stmt.c (check_unique_operand_names): Expect operand names to 25600 be strings rather than identifiers. Use simple_cst_equal to 25601 compare them. 25602 (resolve_operand_name_1): Make same identifier to string change here. 25603 * c-parse.in (asm_operand): Convert a named operand into a string. 25604 * cp/parse.y (asm_operand): Likewise. 25605 256062002-04-13 Andreas Schwab <schwab@suse.de> 25607 25608 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu). 25609 256102002-04-12 Mark Mitchell <mark@codesourcery.com> 25611 25612 Revert these changes: 25613 25614 2002-04-06 Mark Mitchell <mark@codesourcery.com> 25615 25616 PR c++/5571 25617 * stor-layout.c (layout_decl): Reset the RTL for the decl. 25618 256192002-04-12 Richard Henderson <rth@redhat.com> 25620 25621 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code. 25622 (sparc*-*-solaris): Clean up header files. 25623 * configure.in (AS_SPARC64_FLAG): Error out if can't find it 25624 and plan on generating 64-bit code. 25625 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2. 25626 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code. 25627 * config/sparc/sol2-sld-64.h: Rename ... 25628 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked 25629 for AS_SPARC64_FLAG not defined. 25630 * config/sparc/sol2-gld-bi.h: New. 25631 * config/sparc/sol2-sld.h: Remove. 25632 * config/sparc/sol26-sld.h: New. 25633 * config/sparc/sol2.h: Tidy comments. 25634 * doc/install.texi: Document sparc-solaris configury changes. 25635 256362002-04-12 Richard Henderson <rth@redhat.com> 25637 25638 * recog.c (offsettable_address_p): Match the logic in adjust_address. 25639 25640 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode 25641 in 64-bit mode only. Use only for 32-bit or MEDLOW. 25642 256432002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 25644 25645 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings. 25646 25647Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com) 25648 25649 * pa.c (pa_can_combine_p): Call extract_insn before calling 25650 constrain_operands. 25651 256522002-04-12 Douglas B Rupp <rupp@gnat.com> 25653 25654 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define. 25655 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define. 25656 (DEFAULT_PCC_STRUCT_RETURN): Define as 0. 25657 (CPP_PREDEFINES): Handle __declspec. 25658 * config/i386/t-interix (USER_H): Remove. 25659 256602002-04-12 DJ Delorie <dj@redhat.com> 25661 25662 * integrate.c (compare_blocks): Make comparisons safe for when 25663 sizeof(int) < sizeof(char *). 25664 (find_block): Likewise. 25665 256662002-04-12 Jan Hubicka <jh@suse.cz> 25667 David Edelsohn <edelsohn@gnu.org> 25668 25669 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT 25670 registers. 25671 (symbol_ref_operand): New. 25672 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand. 25673 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand. 25674 256752002-04-12 Andreas Schwab <schwab@suse.de> 25676 25677 * config/ia64/ia64.h (ASM_SPEC): Moved from here ... 25678 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it 25679 overrides the definition in config/svr4.h. 25680 256812002-04-12 Eric Norum <eric.norum@usask.ca> 25682 25683 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h, 25684 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h, 25685 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h, 25686 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h, 25687 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h, 25688 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h, 25689 config/v850/rtems.h (*-rtems*): Cleanup pass to move common 25690 definitions to config/rtems.h and make the targets more similar. 25691 25692Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 25693 25694 * expr.c (expand_assigment): Remove duplicate conversions #ifdef 25695 POINTERS_EXTEND_UNSIGNED. 25696 (store_constructor, expand_expr, case COMPONENT_REF): Likewise. 25697 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode. 25698 25699 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET 25700 not specified. 25701 25702Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com> 25703 25704 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG 25705 depends on TARGET_SHMEDIA, not TARGET_SH5. 25706 257072002-04-12 Hans-Peter Nilsson <hp@bitrange.com> 25708 25709 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>: 25710 For paradoxical (subreg VAR), replace VAR, don't try the subreg. 25711 25712Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com> 25713 25714 * sh.c (broken_move): Constant 0. / 1. load is OK if there is 25715 no r0 clobber. 25716 257172002-04-12 Andreas Schwab <schwab@suse.de> 25718 25719 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash. 25720 257212002-04-12 Richard Henderson <rth@redhat.com> 25722 25723 PR bootstrap/4191 25724 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef. 25725 25726 * flow.c (mark_used_reg): Manage reg_cond_dead properly for 25727 modes spanning multiple hard regs. 25728 25729 * recog.c (peephole2_optimize): Rebuild jump labels as needed. 25730 257312002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 25732 25733 * pa.c (pa_output_function_prologue): Don't accumulate the total 25734 number of code bytes when using TARGET_64BIT, or gas, SOM and not 25735 the portable runtime. 25736 (output_deferred_plabels): Handle 64bit plabels. 25737 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when 25738 generating pic code using the GAS assembler for object formats that 25739 are not SOM (ie., ELF32 and ELF64). 25740 (output_millicode_call): Check attribute type if attribute length is 28. 25741 Likewise use $PIC_pcrel$0. Only call get_attr_length and 25742 dbr_sequence_length once. 25743 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and 25744 dbr_sequence_length once. 25745 * pa.h (TARGET_SOM): Define if not defined. 25746 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0 25747 with GAS and not SOM. 25748 (jump, call_internal_reg, call_value_internal_reg): Likewise. 25749 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining. 25750 257512002-04-11 David O'Brien <obrien@FreeBSD.org> 25752 25753 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value. 25754 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine. 25755 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP, 25756 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): 25757 elfos.h and dbxelf.h values are fine now. 25758 * config/i386/freebsd.h, config/alpha/freebsd.h 25759 (DEFAULT_PCC_STRUCT_RETURN): Define to 0. 25760 257612002-04-11 David O'Brien <obrien@FreeBSD.org> 25762 25763 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__ 25764 or set Acpu or Amachine. Reformat. 25765 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not 25766 define. 25767 (LINK_SPEC): Do not need to undef. 25768 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define. 25769 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef. 25770 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not 25771 define. 25772 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define. 25773 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead. 25774 (LINK_SPEC): Do not need to undef. 25775 (DONT_USE_BUILTIN_SETJMP): Do not define. 25776 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add. 25777 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64. 25778 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define. 25779 Remove trailing spaces. 25780 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__, 25781 __ELF__, or set Acpu or Amachine. Reformat. 25782 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not 25783 define. 25784 257852002-04-11 David O'Brien <obrien@FreeBSD.org> 25786 25787 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match 25788 all other *-*-freebsd* targets. 25789 257902002-04-11 Richard Henderson <rth@redhat.com> 25791 25792 * config.gcc (alpha*-*-linux*ecoff): Detect and reject. 25793 257942002-04-11 David O'Brien <obrien@FreeBSD.org> 25795 25796 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms): 25797 Include {cpu}/{cpu}.h thru tm_file. 25798 (alpha*-*-linux*ecoff): Remove target. 25799 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__. 25800 (LINK_SPEC): Remove, is not OS independent. 25801 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__. 25802 (LINK_SPEC): Do not need to #undef any longer. 25803 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef 25804 any longer. 25805 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define 25806 __ELF__. 25807 (LINK_SPEC): Moved here from alpha/elf.h. 25808 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of 25809 SUB_CPP_PREDEFINES. 25810 * config/alpha/linux-ecoff.h: Remove. 25811 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__. 25812 (CPP_SPEC): Define _POSIX_SOURCE as needed. 25813 (CPP_SUBTARGET_SPEC): Do not define. 25814 (LINK_SPEC): Do not need to #undef any longer. 25815 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h. 25816 * config/alpha/vms.h: Likewise. 25817 258182002-04-11 Richard Sandiford <rsandifo@redhat.com> 25819 25820 * doc/extend.texi: Remove old claim that typedefs cannot have 25821 an alignment attribute. 25822 258232002-04-11 Jakub Jelinek <jakub@redhat.com> 25824 25825 PR optimization/6177 25826 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if 25827 bitpos is 0 and bitsize CONCAT size. 25828 258292002-04-11 Jakub Jelinek <jakub@redhat.com> 25830 25831 PR c/6223 25832 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz. 25833 258342002-04-10 David O'Brien <obrien@FreeBSD.org> 25835 25836 * config/alpha/freebsd.h: Minor reformatting. 25837 (CPP_SPEC): Define ELF and add cpp_subtarget. 25838 (ASM_SPEC): No longer needed. 25839 258402002-04-11 Richard Henderson <rth@redhat.com> 25841 25842 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative. 25843 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory. 25844 (dimode mem/zero splitter): New. 25845 258462002-04-11 Hans-Peter Nilsson <hp@axis.com> 25847 25848 * config/cris/cris.c (cris_override_options): Tweak error message 25849 for PIC not implemented. 25850 25851 * config/cris/cris.h: Tweak comments related to parameter-passing. 25852 25853 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here. 25854 258552002-04-10 Richard Henderson <rth@redhat.com> 25856 25857 * except.c (add_ehl_entry): Allow duplicates after landing pad 25858 creation. 25859 258602002-04-10 David Edelsohn <edelsohn@gnu.org> 25861 25862 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64. 25863 258642002-04-10 Toon Moene <toon@moene.indiv.nluug.nl> 25865 25866 * c-decl.c (c_init_decl_processing): Move generation of 25867 decls for g77_integer_type_node and friends from here ... 25868 * c-common.c (c_common_nodes_and_builtins): ... to here. 25869 258702002-04-10 Ulrich Weigand <uweigand@de.ibm.com> 25871 25872 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM 25873 is only used as frame pointer when frame_pointer_needed is true. 25874 258752002-04-10 Richard Earnshaw <rearnsha@arm.com> 25876 25877 PR target/817 25878 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow 25879 for the fact that the pool entry uses two words. 25880 (movdf_hard_insn): Similarly. Also, ADR instruction can span 25881 1k bytes. 25882 (movdf_soft_insn): Similarly. 25883 (movxf_hard_insn): Adjust neg_pool_range attribute to allow 25884 for the fact that the pool entry uses three words. 25885 258862002-04-10 Richard Sandiford <rsandifo@redhat.com> 25887 25888 * config/mips/mips.c (mips_va_arg): When using the struct version 25889 of the EABI va_list, allow arguments in the register save area to 25890 take up less room than a stack argument. 25891 258922002-04-10 Richard Henderson <rth@redhat.com> 25893 25894 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers 25895 if EXPAND_INITIALIZER. 25896 258972002-04-09 Richard Henderson <rth@redhat.com> 25898 25899 * config/alpha/alpha.md (movdi_er_maybe_g): New. 25900 * config/alpha/alpha.c (alpha_expand_mov): Use it. 25901 259022002-04-10 Alan Modra <amodra@bigpond.net.au> 25903 25904 PR optimization/6233 25905 * rtlanal.c (pure_call_p): New function. 25906 * rtl.h (pure_call_p): Declare. 25907 * loop.c (prescan_loop): Use it to set has_nonconst_call. 25908 * gcse.c (store_killed_in_insn): Use pure_call_p here too. 25909 259102002-04-09 Eric Christopher <echristo@redhat.com> 25911 25912 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional 25913 information to .comm directive. 25914 259152002-04-09 Richard Henderson <rth@redhat.com> 25916 25917 PR c/5078 25918 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers. 25919 259202002-04-09 Richard Henderson <rth@redhat.com> 25921 25922 * basic-block.h (flow_delete_block_noexpunge): Declare. 25923 (expunge_block_nocompact): Declare. 25924 * cfg.c (expunge_block_nocompact): Split out from ... 25925 (expunge_block): ... here. 25926 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels. 25927 (flow_delete_block_noexpunge): Split out from ... 25928 (flow_delete_block): ... here. 25929 * cfgcleanup.c (delete_unreachable_blocks): Compact while 25930 removing dead blocks. 25931 * except.c (exception_handler_labels): Remove. 25932 (exception_handler_label_map): New. 25933 (struct eh_region): Add aka member. 25934 (mark_ehl_map_entry, mark_ehl_map, free_region): New. 25935 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New. 25936 (for_each_eh_label, for_each_eh_label_1): New. 25937 (init_eh): Register exception_handler_label_map. 25938 (free_eh_status): Use free_region. 25939 (find_exception_handler_labels): Use the map, not the list. 25940 (remove_exception_handler_label): Likewise. 25941 (maybe_remove_eh_handler): Likewise. 25942 (remove_eh_handler): Use the region aka bitmap. 25943 * except.h (exception_handler_labels): Remove. 25944 (for_each_eh_label): Declare. 25945 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels. 25946 * loop.c (invalidate_loops_containing_label): New. 25947 (find_and_verify_loops): Use it. Use for_each_eh_label. 25948 * sched-rgn.c (is_cfg_nonregular): Use 25949 current_function_has_exception_handlers. 25950 259512002-04-09 Richard Henderson <rth@redhat.com> 25952 25953 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b, 25954 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c): 25955 Do not return changed status. 25956 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg, 25957 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg): 25958 New functions that do return changed status. 25959 * sbitmap.h: Update decls. 25960 * gcse.c, lcm.c: Use _cg functions as needed. 25961 25962Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com> 25963 25964 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h. 25965 (sh64-*-elf*, sh-*-rtemself*): Likewise. 25966 * config/sh/embed_bb.c: New file. 25967 * config/sh/embed-elf.h: New file. 25968 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__ 25969 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec. 25970 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and 25971 __PTRDIFF_TYPE__ . 25972 (SUBTARGET_CPP_PTR_SPEC): Don't define. 25973 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec. 25974 Add subtarget_asm_endian_spec. 25975 (ASM_SPEC): Use subtarget_asm_endian_spec. 25976 (SUBTARGET_ASM_ENDIAN_SPEC): Define. 25977 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5. 25978 (WCHAR_UNSIGNED): Define. 25979 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define. 25980 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER. 25981 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5. 25982 Fix value. 25983 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5. 25984 (sh_adjust_cost): Likewise. 25985 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and 25986 __PTRDIFF_TYPE__ . 25987 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define. 25988 (WCHAR_TYPE_SIZE): Likewise. 25989 (ASM_SPEC): Use subtarget_asm_endian_spec. 25990 (SH_ELF_WCHAR_TYPE): #undef/ #define. 25991 (MAX_WCHAR_TYPE_SIZE): Don't #undef. 25992 * config/sh/elf.h (WCHAR_UNSIGNED): #undef . 25993 (MAX_WCHAR_TYPE_SIZE): Don't #define . 25994 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define . 25995 (USER_LABEL_PREFIX): Don't #undef /#define . 25996 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER. 25997 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define . 25998 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise. 25999 (ASM_SPEC): Likewise. 26000 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define . 26001 (CC1_SPEC): don't supply -m3 for -m4*, -m5*. 26002 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE. 26003 (LIB2FUNCS_EXTRA): Define. 26004 * t-sh64 (LIB2FUNCS_EXTRA): Define. 26005 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine. 26006 (LIB1ASMFUNCS_CACHE): Define. 26007 (LIB2FUNCS_EXTRA): Redefine empty. 26008 260092002-04-08 Richard Henderson <rth@redhat.com> 26010 26011 * reorg.c (get_branch_condition): Use reversed_comparison_code. 26012 260132002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr> 26014 26015 * config/m68hc11/larith.asm (__map_data_section): Fix condition 26016 and optimize for size. 26017 (__do_global_ctors): Fix pointer comparison. 26018 (__do_global_dtors): Likewise. 26019 260202002-04-09 David S. Miller <davem@redhat.com> 26021 26022 * config/sparc/sparc.c (sparc_extra_constraint_check): New 26023 function, implementing EXTRA_CONSTRAINTS. For memory constraints, 26024 allow reloading pseudos. 26025 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it. 26026 * config/sparc/sparc-protos.h: Declare it. 26027 26028 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs. 26029 unsigned comparison warning. 26030 (output_restore_regs): Mark leaf_function as unused. 26031 26032Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 26033 26034 * expr.c (is_aligning_offset): New function. 26035 (expand_expr, case COMPONENT_EXPR): Call it. 26036 260372002-04-08 David S. Miller <davem@redhat.com> 26038 26039 PR target/6082 26040 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW 26041 26042 Make init_priority work on SPARC when using GNU ld. 26043 * config/sparc/linux.h, config/sparc/linux64.h, 26044 config/sparc/netbsd-elf.h, config/sparc/freebsd.h 26045 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine. 26046 * config/sparc/sol2-gld.h: New file to do the same. 26047 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add 26048 sparc/sol2-gld.h to tm_file. 26049 26050 PR optimization/4328 26051 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'. 26052 * doc/md.texi: Document it. 26053 * config/sparc/sparc.md (movdi_insn_sp64_novis, 26054 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis, 26055 movdf_insn_v9only_vis, movdf_insn_sp64_novis, 26056 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers. 26057 * config/sparc/sparc.c (mem_min_alignment): Fix comment. 26058 260592002-04-08 Andreas Jaeger <aj@suse.de> 26060 26061 * stmt.c (expand_asm_operands): Revert last patch from Richard 26062 Henderson. 26063 260642002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 26065 26066 * doc/contrib.texi (Contributors): Add John David Anglin and Loren 26067 J. Rittle (the latter also to Testers). Update David O'Brien's entry. 26068 260692002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 26070 26071 * doc/contrib.texi (Contributors): Add David O'Brien. 26072 260732002-04-08 Alan Modra <amodra@bigpond.net.au> 26074 26075 * configure.in (auto-build.h): Use target_alias and build_alias 26076 when running configure. 26077 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too. 26078 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too. 26079 * configure: Regenerate. 26080 260812002-04-07 David S. Miller <davem@redhat.com> 26082 26083 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file. 26084 260852002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca> 26086 26087 PR 5933 26088 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when 26089 generating 32-bit pic code. 26090 260912002-04-06 Jason Thorpe <thorpej@wasabisystems.com> 26092 26093 * cppinit.c (cpp_create_reader): Initialize 26094 discard_comments_in_macro_exp. 26095 (COMMAND_LINE_OPTIONS): Add "-CC" option. 26096 (cpp_handle_option): Handle "-CC" option. 26097 * cpplex.c (save_comment): If saving a C++ comment in 26098 a directive, convert it to a C comment. 26099 (_cpp_lex_direct): Pass second comment start character to 26100 save_comment to indicate comment type. 26101 * cpplib.c (_cpp_handle_directive): If processing 26102 a "#define" directive and discard_comments_in_macro_exp 26103 is false, re-enable saving of comments. 26104 (lex_macro_node): If discard_comments_in_macro_exp is false, 26105 discard any comments before the macro identifier. 26106 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp 26107 member. 26108 * cppmacro.c (cpp_get_token): If expanding a macro while 26109 processing a directive, discard any comments we might encounter. 26110 (parse_params): If discard_comments_in_macro_exp is false, 26111 ignore comments in the macro parameter list. 26112 * gcc.c (cpp_unique_options): Add "-CC" option. 26113 (option_map): Map "--comments-in-macros" to "-CC". 26114 * doc/cppopts.texi: Document "-CC" option. 26115 * f/lang-specs.h: Add "-CC" option. 26116 * testsuite/gcc.dg/cpp/maccom1.c: New test. 26117 * testsuite/gcc.dg/cpp/maccom2.c: New test. 26118 * testsuite/gcc.dg/cpp/maccom3.c: New test. 26119 * testsuite/gcc.dg/cpp/maccom4.c: New test. 26120 * testsuite/gcc.dg/cpp/maccom5.c: New test. 26121 * testsuite/gcc.dg/cpp/maccom6.c: New test. 26122 261232002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca> 26124 26125 PR middle-end/6180 26126 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes. 26127 261282002-04-06 Mark Mitchell <mark@codesourcery.com> 26129 26130 PR c++/5571 26131 * stor-layout.c (layout_decl): Reset the RTL for the decl. 26132 26133 PR opt/5120 26134 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear 26135 RTX_UNCHANGING_P for the functions arguments when a tail call 26136 is made. 26137 261382002-04-06 Jason Merrill <jason@redhat.com> 26139 26140 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2. 26141 (parse_options_and_default_flags): Set them appropriately. 26142 * c-common.c (c_common_post_options): Don't set flag_really_no_inline. 26143 261442002-04-06 Hans-Peter Nilsson <hp@bitrange.com> 26145 26146 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc 26147 here. 26148 26149 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious 26150 semicolon. 26151 26152 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size 26153 types come in by-reference. Fix typo in comment. 26154 261552002-04-05 David S. Miller <davem@redhat.com> 26156 26157 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits. 26158 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos, 26159 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*, 26160 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file. 26161 261622002-04-05 David S. Miller <davem@redhat.com> 26163 26164 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we 26165 are not going to emit return instructions, emit at least a nop 26166 for the sake of sane backtraces. 26167 261682002-04-05 Richard Henderson <rth@redhat.com> 26169 26170 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)). 26171 261722002-04-05 Jakub Jeilnek <jakub@redhat.com> 26173 26174 * mklibgcc.in: Use $tmpmapfile, not tmp-$@. 26175 261762002-04-05 Alexandre Oliva <aoliva@redhat.com> 26177 26178 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, 26179 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB, 26180 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16. 26181 261822002-04-05 Andreas Schwab <schwab@suse.de> 26183 26184 * c-convert.c: Include c-common.h. 26185 * Makefile.in (c-convert.o): Updated. 26186 261872002-04-05 Jakub Jelinek <jakub@redhat.com> 26188 26189 * mklibgcc.in: Use separate libgcc.map for each multilib. 26190 * Makefile.in (distclean): Don't remove libgcc.map here. 26191 261922002-04-05 Jakub Jelinek <jakub@redhat.com> 26193 26194 * Makefile.in (s-mlib): Handle --disable-multilib by separate 26195 genmultilib invocation. 26196 261972002-04-04 Richard Sandiford <rsandifo@redhat.com> 26198 26199 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs 26200 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs 26201 to num_gprs for symmetry. 26202 * config/mips/mips.c: Adjust accordingly. 26203 262042002-04-04 Neil Booth <neil@daikokuya.demon.co.uk> 26205 26206 * c-common.c (truthvalue_conversion): Rename, update. 26207 * c-common.h (c_common_truthvalue_conversion): New. 26208 * c-convert.c (convert): Update. 26209 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine. 26210 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update. 26211 * c-typeck.c (build_binary_op, build_unary_op, 26212 build_conditional_expr): Update. 26213 * fold-const.c (constant_boolean_node, fold): Use langhook. 26214 * langhooks-def.h (LANGHOOK_INITIALIZER): Update. 26215 * langhooks.h (struct lang_hooks): New hook. 26216 * stmt.c (expand_decl_cleanup): Use langhook. 26217 * tree.h (truthvalue_conversion): Remove. 26218objc: 26219 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine. 26220 262212002-04-05 Alan Modra <amodra@bigpond.net.au> 26222 26223 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o 26224 Add rules to make null object file. 26225 262262002-04-04 Jim Blandy <jimb@redhat.com> 26227 26228 * cppmacro.c (cpp_macro_definition): Do not emit spaces after 26229 macro formal parameter names. 26230 262312002-04-04 David S. Miller <davem@redhat.com> 26232 26233 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg. 26234 262352002-04-04 Richard Henderson <rth@redhat.com> 26236 26237 PR middle-end/5099 26238 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok. 26239 Support copies into and out of memory. Don't accept allows_reg 26240 and allows_mem as gospel. 26241 262422002-04-04 Richard Henderson <rth@redhat.com> 26243 26244 PR opt/6165 26245 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict. 26246 (write_dependence_p): Likewise. 26247 262482002-04-04 Richard Henderson <rth@redhat.com> 26249 26250 * predict.c (estimate_bb_frequencies): Do frequency calculation 26251 with a volatile temporary. 26252 262532002-04-04 Ulrich Weigand <uweigand@de.ibm.com> 26254 26255 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define. 26256 262572002-04-04 Jakub Jelinek <jakub@redhat.com> 26258 26259 PR c++/6119 26260 * final.c (final_start_function): Don't bump profile_label_no here... 26261 (final_end_function): ...but here. 26262 262632002-04-04 Jakub Jelinek <jakub@redhat.com> 26264 26265 * config/sparc/sparc.md (pic): New attribute. 26266 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9 26267 into stack slots. 26268 (split after do_builtin_setjmp_setup): New. 26269 262702002-04-04 Jakub Jelinek <jakub@redhat.com> 26271 26272 PR fortran/6106 26273 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01 26274 change. 26275 262762002-04-04 Jakub Jelinek <jakub@redhat.com> 26277 26278 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by 26279 UNITS_PER_WORD for zero sized aggregates. 26280 262812002-04-03 David S. Miller <davem@redhat.com> 26282 26283 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new 26284 one-character spec for this, just use %(link_gcc_c_sequence). 26285 262862002-04-03 David S. Miller <davem@redhat.com> 26287 26288 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian 26289 handling. 26290 262912002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca> 26292 26293 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move. 26294 (DWARF_FRAME_RETURN_COLUMN): Move. 26295 (ASM_PREFERRED_EH_DATA_FORMAT): Define. 26296 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define. 26297 * pa.c (except.h, predict.h): Include. 26298 (FRP): Delete. 26299 (store_reg_modify, set_reg_plus_d): Revise prototypes. 26300 (output_ascii): Add cast. 26301 (store_reg_modify): Revise to add frame notes. 26302 (set_reg_plus_d): Likewise. 26303 (compute_frame_size): Include space for eh data registers in frame if 26304 the current function calls eh_return. 26305 (hppa_expand_prologue): Ensure register %r2 is saved if the current 26306 function calls eh_return. Save eh data registers if the current 26307 function calls eh_return. Fix code to add frame notes. Emit 26308 blockage to prevent insns with frame notes being scheduled in the 26309 delay slot of calls. 26310 (hppa_expand_epilogue): Restore eh data registers and do final stack 26311 adjustment if the current function calls eh_return. Don't add frame 26312 notes. 26313 (output_call): Revise for change in length of call insn. Don't do 26314 return pointer adjustment for an unconditional jump in the delay slot 26315 of a call when using frame notes. 26316 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility. 26317 (EH_RETURN_HANDLER_RTX): Use saved value on stack. 26318 (ARG_POINTER_CFA_OFFSET): Define. 26319 * pa.md (return_external_pic): New pattern. 26320 (prologue): Correct formatting. Use return_external_pic if current 26321 function calls eh_return. 26322 (call_internal_symref, call_value_internal_symref, 26323 sibcall_internal_symref, sibcall_value_internal_symref): Change default 26324 lengths of short, long non-pic, and long pic calls to 8, 68, and 84, 26325 respectively. 26326 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register. 26327 26328 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to 26329 list of targets to check using "nop" insn. 26330 * configure: Rebuilt. 26331 263322002-04-04 Alan Modra <amodra@bigpond.net.au> 26333 26334 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define. 26335 263362002-04-03 David S. Miller <davem@redhat.com> 26337 26338 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c 26339 library sequence passed to the linker. 26340 (LINK_COMMAND_SPEC): Use it. 26341 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as 26342 a macro a target can use to avoid overriding LINK_COMMAND_SPEC. 26343 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define. 26344 263452002-04-03 Jason Merrill <jason@redhat.com> 26346 26347 * except.c (struct eh_status): Remove protect_list. 26348 (begin_protect_partials, end_protect_partials): Remove. 26349 (add_partial_entry): Remove. 26350 * except.h: Remove prototypes. 26351 26352 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use 26353 expand_decl_cleanup_eh. 26354 26355 PR c++/5636 26356 * tree.h (CLEANUP_EH_ONLY): New macro. 26357 * stmt.c (expand_decl_cleanup_eh): New fn. 26358 (expand_cleanups): Check CLEANUP_EH_ONLY. 26359 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT. 26360 Use expand_decl_cleanup_eh. 26361 (expand_stmt): Adjust. 26362 * c-common.h: Adjust prototype. 26363 263642002-04-04 Hans-Peter Nilsson <hp@axis.com> 26365 26366 * config/cris/cris.c (cris_target_asm_function_prologue): Cast 26367 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings. 26368 (cris_target_asm_function_epilogue): Ditto. 26369 (cris_initial_frame_pointer_offset): Ditto. 26370 (cris_simple_epilogue): Ditto. 26371 (cris_expand_builtin_va_arg): Variable-size types come in 26372 by-reference. 26373 263742002-04-03 David S. Miller <davem@redhat.com> 26375 26376 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for 26377 little-endian. 26378 (set_fast_math): Correct 'fsr' type. 26379 263802002-04-03 Richard Henderson <rth@redhat.com> 26381 26382 PR opt/3569 26383 * langhooks.h (lang_hooks.decls.warn_unused_global): New. 26384 * toplev.c (check_global_declarations): Use it. 26385 * langhooks-def.h (lhd_warn_unused_global_decl): Declare. 26386 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New. 26387 (LANG_HOOKS_DECLS): Add it. 26388 * langhooks.c (lhd_warn_unused_global_decl): New. 26389 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New. 26390 * c-objc-common.c (c_warn_unused_global_decl): New. 26391 * c-tree.h (c_warn_unused_global_decl): Declare. 26392 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New. 26393 263942002-04-03 Neil Booth <neil@daikokuya.demon.co.uk> 26395 26396 * langhooks-def.h (lhd_set_decl_assembler_name, 26397 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New. 26398 (LANG_HOOKS_INITIALIZER): Update. 26399 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c 26400 * langhooks.h (struct lang_hooks): New hook. 26401 * tree.c (set_decl_assembler_name): Move to langhooks.c. 26402 (lang_set_decl_assembler_name): Remove. 26403 (init_obstacks): Don't set hook. 26404 (decl_assembler_name): New function. 26405 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call. 26406 (decl_assembler_name): New. 26407 (lang_set_decl_assembler_name): Remove. 26408 264092002-04-03 Jakub Jelinek <jakub@redhat.com> 26410 26411 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32() 26412 works properly with .hidden symbols. 26413 * configure: Rebuilt. 26414 * config.in: Rebuilt. 26415 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 26416 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work 26417 properly with .hidden symbols. 26418 264192002-04-03 Jakub Jelinek <jakub@redhat.com> 26420 26421 PR middle-end/6102 26422 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access 26423 USE argument. 26424 264252002-04-03 Richard Henderson <rth@redhat.com> 26426 26427 PR opt/4120 26428 * sched-rgn.c (sets_likely_spilled): New. 26429 (sets_likely_spilled_1): New. 26430 (add_branch_dependences): Use it. 26431 264322002-04-02 Richard Henderson <rth@redhat.com> 26433 26434 PR opt/4311 26435 * loop.h (LOOP_FIRST_PASS): New. 26436 * loop.c (strength_reduce): Mind it when deciding to unroll. 26437 * toplev.c (rest_of_compilation): Set it. 26438 264392002-04-02 David S. Miller <davem@redhat.com> 26440 26441 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to 26442 mems_ok_for_ldd_peep when the order of the loads being examined 26443 is reversed. 26444 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon 26445 existing comment to increase comprehension of this situation. 26446 264472002-04-02 Zack Weinberg <zack@codesourcery.com> 26448 26449 * config/sh/sh.md: Don't use union real_extract. 26450 264512002-04-02 Richard Henderson <rth@redhat.com> 26452 26453 * libgcc2.c (__bb_exit_func): Revert 03-31 change. 26454 264552002-04-02 David O'Brien <obrien@FreeBSD.org> 26456 26457 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems, 26458 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-, 26459 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1, 26460 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos, 26461 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd, 26462 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf, 26463 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix, 26464 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout, 26465 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32, 26466 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd, 26467 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems, 26468 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv, 26469 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta, 26470 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd): 26471 Include as many configury headers via tm_file as possible. This 26472 includes among others i386/unix.h, i386/bsd.h, i386/gas.h. 26473 * config/openbsd-oldgas.h: New file. 26474 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h, 26475 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h, 26476 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h, 26477 config/i386/i386-coff.h, config/i386/i386-interix.h, 26478 config/i386/iscdbx.h, config/i386/linux-aout.h, 26479 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h, 26480 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h, 26481 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h, 26482 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h, 26483 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h, 26484 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h, 26485 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h, 26486 config/i386/vxi386.h: Do not directly include configury headers. 26487 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h: 26488 Directly include configury headers that are no longer automatically 26489 included by the above headers. 26490 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define. 26491 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h, 26492 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h, 26493 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h, 26494 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h, 26495 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h, 26496 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h 26497 (TARGET_VERSION): Define. 26498 * config/i386/beos-elf.h, config/i386/freebsd.h, 26499 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h, 26500 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h, 26501 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h, 26502 config/i386/sco5.h, config/i386/sysv4.h 26503 (TARGET_VERSION): Do not need to protect. 26504 * config/i386/freebsd64.h (TARGET_VERSION): Fix style. 26505 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h, 26506 config/i386/freebsd-aout.h, config/i386/i386-aout.h, 26507 config/i386/i386-interix.h, config/i386/linux-aout.h, 26508 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h, 26509 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h 26510 (YES_UNDERSCORES): Do not define - not needed. 26511 * config/i386/bsd.h, config/i386/gas.h (LPREFIX, 26512 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL, 26513 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case. 26514 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h 26515 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL, 26516 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case) 26517 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h. 26518 * config/i386/isccoff.h, config/i386/v3gas.h: Remove. 26519 265202002-04-02 Eric Botcazou <ebotcazou@multimania.com> 26521 Richard Henderson <rth@redhat.com> 26522 26523 PR c/5484 26524 * function.c (assign_temp): Accept either type or decl argument. 26525 Detect variables whose size is too large to fit into an integer. 26526 * stmt.c (expand_decl): Pass the decl, not the type. 26527 265282002-04-02 David O'Brien <obrien@FreeBSD.org> 26529 26530 * protoize.c: Match include directory usage with cppdefault.c. 26531 265322002-04-03 Jeffrey A Law (law@redhat.com) 26533 Hans-Peter Nilsson <hp@bitrange.com> 26534 26535 * combine.c (simplify_comparison): Avoid narrowing a comparison 26536 with a paradoxical subreg when doing so would drop signficant bits. 26537 265382002-04-02 Steve Ellcey <sje@cup.hp.com> 26539 26540 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode 26541 if POINTERS_EXTEND_UNSIGNED is defined. 26542 265432002-04-02 Richard Henderson <rth@redhat.com> 26544 26545 PR opt/3967 26546 * local-alloc.c (contains_replace_regs): LO_SUM may contain 26547 replace regs. 26548 265492002-04-02 Richard Henderson <rth@redhat.com> 26550 26551 * doc/standards.texi: Document required freestanding libc entry points. 26552 265532002-04-02 Alan Modra <amodra@bigpond.net.au> 26554 26555 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and 26556 associated splitter. Remove MQ constraint. 26557 (ctrdi_internal4): Correct CCmode clobber. 26558 265592002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca> 26560 26561 * milli64.S ($$dyncall): New function. 26562 * t-linux (LIB1ASMFUNCS): Revise module list. 26563 (LIB1ASMSRC): Use pa/milli64.S. 26564 265652002-04-02 Richard Henderson <rth@redhat.com> 26566 26567 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and 26568 rename solaris_sys_varargs_h. 26569 26570Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 26571 26572 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array 26573 the same mode as its component. 26574 265752002-04-02 Richard Henderson <rth@redhat.com> 26576 26577 PR opt/190 26578 * final.c (this_is_asm_operands): Export. 26579 * output.h (this_is_asm_operands): Declare. 26580 * config/i386/i386.c (print_operand): Error odd asm operands. 26581 265822002-04-02 Richard Henderson <rth@redhat.com> 26583 26584 PR opt/420 26585 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra. 26586 265872002-04-01 Richard Henderson <rth@redhat.com> 26588 26589 PR target/1538 26590 * fixinc/inclhack.def (solaris_sys_varargs_h): New. 26591 * fixinc/fixincl.x: Rebuild. 26592 265932002-04-01 Richard Henderson <rth@redhat.com> 26594 26595 * config/ia64/unwind-ia64.c: Include ia64intrin.h. 26596 (atomic_alloc, atomic_free): New. 26597 (SIZE, MASK_FOR, PTR_IN): New. 26598 (emergency_reg_state, emergency_reg_state_free): New. 26599 (emergency_labeled_state, emergency_labeled_state_free): New. 26600 (reg_state_alloced, labeled_state_alloced): New. 26601 (alloc_reg_state, free_reg_state): New. 26602 (alloc_label_state, free_label_state, free_label_states): New. 26603 (push, pop, dup_state_stack, free_state_stack): Use them. 26604 (desc_label_state): Likewise. 26605 (uw_frame_state_for): Free label states and state stack. 26606 (uw_update_reg_address): Eliminate warnings. 26607 266082002-04-01 Vladimir Makarov <vmakarov@redhat.com> 26609 26610 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON, 26611 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them. 26612 266132002-04-01 Neil Booth <neil@daikokuya.demon.co.uk> 26614 26615 * c-decl.c (grokdeclarator): Update. 26616 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. 26617 * c-tree.h (c_mark_addressable): New. 26618 * c-typeck.c (default_function_array_conversion, build_unary_op, 26619 build_array_ref, convert_for_assignment): Update. 26620 (mark_addressable): Rename. 26621 * calls.c (try_to_integrate, expand_call): Use langhook. 26622 * expr.c (expand_expr): Use langhook. 26623 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update. 26624 * langhooks.h (struct lang_hooks): New hook. 26625 * stmt.c (expand_asm_operands): Use langhook. 26626 * tree.h (mark_addressable): Remove. 26627objc: 26628 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. 26629 266302002-04-01 Bob Wilson <bob.wilson@acm.org> 26631 26632 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning 26633 in previous change. 26634 266352002-04-01 Bob Wilson <bob.wilson@acm.org> 26636 26637 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments 26638 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types). 26639 266402002-04-01 Neil Booth <neil@daikokuya.demon.co.uk> 26641 26642 * c-common.c (unsigned_conversion_warning, convert_and_check, 26643 unsigned_type, signed_type, shorten_compare, 26644 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks. 26645 (unsigned_type, signed_type, signed_or_unsigned_type): Rename. 26646 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type): 26647 New. 26648 * c-decl.c (grokdeclarator): Update. 26649 * c-format.c (check_format_types): Update. 26650 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE, 26651 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New. 26652 * c-typeck.c (build_binary_op, convert_for_assignment): Update. 26653 * convert.c (convert_to_integer): Use new hooks. 26654 * expmed.c (make_tree): Use new hooks. 26655 * expr.c (store_expr): Use new hooks. 26656 * fold-const.c (operand_equal_for_comparison_p, build_range_check, 26657 all_ones_mask_p, unextend, fold): Use new hooks. 26658 * langhooks.h (struct lang_hooks_for_types): New hooks. 26659 * tree.h (signed_or_unsigned_type, signed_type, 26660 unsigned_type): Remove. 26661objc: 26662 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE, 26663 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New. 26664 266652002-03-31 Richard Henderson <rth@redhat.com> 26666 26667 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset. 26668 (desc_frgr_mem): Fix reference to f16-f31. 26669 266702002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 26671 26672 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2, 26673 RTVEC_ELT): Const-ify. 26674 * varray.h (VARRAY_CHECK): Const-ify. 26675 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree, 26676 ggc_mark_rtvec, ggc_mark): Const-ify. 26677 266782002-04-01 Neil Booth <neil@daikokuya.demon.co.uk> 26679 26680 * diagnostic.c: Include langhooks-def.h. 26681 * Makefile.in (diagnostic.o): Update. 26682 266832002-03-31 Neil Booth <neil@daikokuya.demon.co.uk> 26684 26685 * c-common.c (c_unsafe_for_reeval): Rename. 26686 * c-common.h (c_unsafe_for_reeval): Rename. 26687 * c-decl.c (finish_incomplete_decl): Rename. 26688 (c_init_decl_processing): Don't set langhook. 26689 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL, 26690 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine. 26691 * c-objc-common.c (c_objc_common_init): Don't set langhook. 26692 * c-tree.h (finish_incomplete_decl): Rename. 26693 * langhooks-def.h (lhd_unsafe_for_reeval): New. 26694 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New. 26695 (LANG_HOOKS_INITIALIZER): Update. 26696 * langhooks.c (lhd_unsafe_For_reeval): New. 26697 * langhooks.h (struct langhooks): New hooks. 26698 * toplev.c (incomplete_decl_finalize_hook): Remove. 26699 (wrapup_global_declarations): Update. 26700 * tree.c (lang_unsafe_for_reeval): Remove. 26701 (unsafe_for_reeval): Update. 26702 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook): 26703 Remove. 26704objc: 26705 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL, 26706 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine. 26707 267082002-03-31 Neil Booth <neil@daikokuya.demon.co.uk> 26709 26710 * diagnostic.c (print_error_function): Remove. 26711 (default_print_error_function): Rename. 26712 (report_error_function): Update. 26713 * diagnostic.h (print_error_function): Remove. 26714 (default_print_error_function): Remove. 26715 * langhooks-def.h (struct diagnostic_context): Predeclare. 26716 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New. 26717 (LANG_HOOKS_INITIALIZER): Update. 26718 * langhooks.h (struct diagnostic context): Predeclare. 26719 (struct lang_hooks): New hook. 26720 267212002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 26722 26723 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New. 26724 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if 26725 !flag_pic. 26726 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly. 26727 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead 26728 of PIC_OFFSET_TABLE_REGNUM thruout. 26729 * config/rs6000/rs6000.md: Likewise. 26730 * config/rs6000/darwin.h: Likewise. 26731 26732Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 26733 26734 * emit-rtl.c (adjust_address_1, offset_address): Cast value to 26735 unsigned HOST_WIDE_INT, not unsigned int. 26736 267372002-03-31 Jakub Jelinek <jakub@redhat.com> 26738 26739 PR middle-end/6096, middle-end/6098, middle-end/6099 26740 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for 26741 CODE_LABELs. 26742 (fill_slots_from_thread): Likewise. 26743 267442002-03-31 Jakub Jelinek <jakub@redhat.com> 26745 26746 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex 26747 floating fields in float regs. 26748 (function_arg_record_value_2): Likewise. 26749 267502002-03-31 Hans-Peter Nilsson <hp@bitrange.com> 26751 26752 * config/mmix/mmix.md (define_constants): Remove misleading 26753 FIXME. Add MMIX_fp_rO_OFFSET. 26754 ("nonlocal_goto_receiver"): Don't have stack-frame address of 26755 saved rO as part of the pattern. Remove FIXME. 26756 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address 26757 here, at output-time. 26758 267592002-03-31 Jakub Jelinek <jakub@redhat.com> 26760 26761 PR middle-end/6100 26762 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not 26763 REG_BR_PRED. 26764 (output_v9branch): Likewise. 26765 267662002-03-31 Alexandre Oliva <aoliva@redhat.com> 26767 26768 * gcc.c: Revert previous patch for now. 26769 * config/i386/djgpp.h: Likewise. 26770 267712002-03-31 Hans-Peter Nilsson <hp@bitrange.com> 26772 26773 * config/mmix/crti.asm (_init): Register _fini with atexit. 26774 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0". 26775 267762002-03-31 Richard Henderson <rth@redhat.com> 26777 26778 PR target/3997 26779 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy. 26780 (ASM_OUTPUT_DEF_FROM_DECLS): New. 26781 267822002-03-31 Richard Henderson <rth@redhat.com> 26783 26784 * libgcc2.c (__bb_exit_func): Make static. 26785 26786 * config/alpha/alpha.md (trap): New. 26787 267882002-03-31 Richard Henderson <rth@redhat.com> 26789 26790 * builtins.c (expand_builtin_va_arg): Give warnings not errors for 26791 promoted argument types; build trap. 26792 (expand_builtin_trap): New. 26793 (expand_builtin): Use it. 26794 * stmt.c (expand_nl_goto_receivers): Likewise. 26795 * expr.h (expand_builtin_trap): Declare. 26796 * libfuncs.h (LTI_abort, abort_libfunc): New. 26797 * optabs.c (init_optabs): Init abort_libfunc. 26798 267992002-03-31 Alexandre Oliva <aoliva@redhat.com> 26800 26801 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here... 26802 (LINK_COMMAND_SPEC): ... from here. 26803 (init_gcc_specs): Duplicate it here too, omitting 26804 shared_name in the second copy. 26805 (init_spec): Test for duplicate 26806 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'. 26807 268082002-03-30 David S. Miller <davem@redhat.com> 26809 26810 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. 26811 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise. 26812 268132002-03-30 Roger Sayle <roger@eyesopen.com> 26814 Richard Henderson <rth@redhat.com> 26815 26816 * regmove.c (combine_stack_adjustments_for_block): Avoid 26817 emitting a stack adjustment of zero bytes. Let delete_insn 26818 update bb->head. 26819 268202002-03-30 Richard Henderson <rth@redhat.com> 26821 26822 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE. 26823 (sparc_emitting_epilogue): New. 26824 (leaf_label, output_return, sparc_return_peephole_ok): Remove. 26825 * config/sparc/sparc-protos.h: Update. 26826 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove. 26827 (TARGET_SWITCHES): Update. 26828 * config/sparc/sparc.md (return): Remove. 26829 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE. 26830 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h, 26831 config/sparc/liteelf.h, config/sparc/netbsd-elf.h, 26832 config/sparc/sol2-sld-64.h, config/sparc/sol2.h, 26833 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h, 26834 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h, 26835 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT): 26836 Remove MASK_EPILOGUE. 26837 * doc/invoke.texi: Update. 26838 268392002-03-30 Daniel Berlin <dan@dberlin.org> 26840 26841 * dwarf2out.c (dwarf2out_define): Remove start_source_file call, 26842 CPP will start the file for us. 26843 268442002-03-30 Richard Henderson <rth@redhat.com> 26845 26846 PR target/5446 26847 * config/ia64/ia64.c (group_barrier_needed_p): Special case 26848 prologue_allocate_stack. 26849 (ia64_single_set): Use insn codes for recognition of special 26850 cases, not rtl matching. 26851 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out. 26852 26853Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz> 26854 26855 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks. 26856 268572002-03-30 Richard Henderson <rth@redhat.com> 26858 26859 PR target/6032 26860 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic 26861 or -fomit-frame-pointer with profiling. 26862 (SUBTARGET_OVERRIDE_OPTIONS): Remove. 26863 (FUNCTION_PROFILER): Do nothing. 26864 (PROFILE_HOOK): New. 26865 * config/sparc/sparc.c (sparc_override_options): Don't check 26866 code models for profiling. 26867 (sparc_function_profiler): Remove. 26868 (sparc_profile_hook): New. 26869 * config/sparc/sparc-protos.h: Update. 26870 268712002-03-30 Jakub Jelinek <jakub@redhat.com> 26872 26873 PR optimization/6086 26874 * combine.c (combine_simplify_rtx): If simplify_rtx failed because 26875 of SUBREG of volatile MEM or because the MEM was mode dependent, 26876 return CLOBBER instead of unmodified SUBREG. 26877 26878Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz> 26879 26880 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs 26881 when not optimizing. 26882 26883 * toplev.c (rest_of_compilation): Cann mark_constant_function 26884 only when optimizing. 26885 26886 * flow.c (calculate_global_regs_live): Ensure that all AUX fields 26887 are NULL. 26888 26889 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK. 26890 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it. 26891 (try_optimize_cfg): clear all AUX fields. 26892 26893 * i386.c (aligned_operand): Be prepared for SUBREGed registers. 26894 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG. 26895 (ix86_address_cost): Be prepared for SUBREGed registers. 26896 (legitimate_address_p): Accept SUBREGed registers. 26897 268982002-03-29 Richard Henderson <rth@redhat.com> 26899 26900 PR target/5672 26901 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place. 26902 269032002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 26904 26905 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count 26906 for aggregate and TFmode types. 26907 269082002-03-29 Hans-Peter Nilsson <hp@bitrange.com> 26909 26910 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i]. 26911 269122002-03-29 Richard Henderson <rth@redhat.com> 26913 26914 PR target/5886 26915 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64. 26916 * config/ia64/hpux.h, config/ia64/linux.h: Likewise. 26917 269182002-03-29 Richard Henderson <rth@redhat.com> 26919 26920 PR target/6041 26921 * config/i386/i386.c (x86_arch_always_fancy_math_387): New. 26922 (override_options): Disable NO_FANCY_MATH_387 if the arch allows. 26923 * config/i386/i386.h (x86_arch_always_fancy_math_387): New. 26924 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix 26925 conditional. 26926 * docs/invoke.texi: Update -mno-fancy-math-387 docs. 26927 269282002-03-29 Dale Johannesen <dalej@apple.com> 26929 26930 * loop.c (combine_movables): Do allow combination of pseudos. 26931 269322002-03-29 Loren J. Rittle <ljrittle@acm.org> 26933 26934 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so. 26935 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it. 26936 No functional change except ... 26937 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file. 26938 * doc/install.texi (*-*-freebsd*): Document port configuration. 26939 269402002-03-29 Neil Booth <neil@daikokuya.demon.co.uk> 26941 26942 * Makefile.in (convert.o, calls.o, expmed.o): Update. 26943 * attribs.c (handle_mode_attribute, handle_vector_size_attribute): 26944 Use new hooks. 26945 * builtin-types.def (BT_PTRMODE): Update. 26946 * c-common.c (type_for_size): Rename c_common_type_for_size. 26947 (type_for_mode): Similarly. 26948 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins): 26949 Use new hook. 26950 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New. 26951 * c-decl.c (finish_enum, build_enumerator): Use new hooks. 26952 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE): 26953 Redefine. 26954 * c-typeck.c (common_type, comptypes, default_conversion): 26955 Use new hooks. 26956 * calls.c: Include langhooks.h. 26957 (emit_library_call_value_1): Use new hooks. Avoid redundant 26958 calls. 26959 * convert.c: Include langhooks.h 26960 (convert_to_pointer, convert_to_integer): Use new hooks. 26961 * except.c (init_eh): Similarly. 26962 * expmed.c: Include langhooks.h. 26963 (expand_mult_add): Use new hooks. 26964 * expr.c (store_expr, store_constructor, expand_expr, do_jump, 26965 try_casesi): Similarly. 26966 * fold-const.c (optimize_bit_field_compare, make_range, 26967 decode_field_reference, fold_truthop, fold): Similarly. 26968 * function.c (assign_stack_local_1, assign_stack_temp_for_type, 26969 put_var_into_stack): Similarly. 26970 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE, 26971 LANG_HOOKS_TYPE_FOR_SIZE): New. 26972 (LANG_HOOKS_TYPES_INITIALIZER): Update. 26973 * langhooks.h (lang_hooks_for_types): New hooks. 26974 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks. 26975 * tree.c (get_unwidened, get_narrower): Similarly. 26976 * tree.h (type_for_mode, type_for_size): Remove. 26977 * varasm.c (force_const_mem): Use new hooks. 26978 * utils2.c (nonbinary_modular_operation): Update. 26979objc: 26980 * objc-act.c (handle_impent): Update. 26981 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE): 26982 Redefine. 26983 269842002-03-29 Steve Ellcey <sje@cup.hp.com> 26985 26986 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New. 26987 * config/ia64/ia64.c (basereg_operand): New. 26988 * config/ia64/ia64-protos.h (basereg_operand): Declare. 26989 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand. 26990 269912002-03-29 Hans-Peter Nilsson <hp@bitrange.com> 26992 26993 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct 26994 unwind information when frame_pointer_needed. 26995 (mmix_assemble_integer): Tweak wording in comment. 26996 269972002-03-29 Neil Booth <neil@daikokuya.demon.co.uk> 26998 26999 * Makefile.in (except.o): Update. 27000 * except.c: Include langhooks.h. 27001 (init_eh): Use langhook. 27002 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE, 27003 LANG_HOOKS_FOR_TYPES_INITIALIZER): New. 27004 (LANG_HOOKS_INITIALIZER): Update. 27005 * langhooks.h (lang_hooks_for_types): New. 27006 (struct lang_hooks): Add it. 27007 * tree.c (make_lang_type_fn, make_lang_type): Remove. 27008 * tree.h (make_lang_type_fn, make_lang_type): Remove. 27009config: 27010 * alpha/alpha.c: Include langhooks.h. 27011 (alpha_build_va_list): Use langhook. 27012 * d30v/d30v.c: Include langhooks.h. 27013 (d30v_build_va_list): Use langhook. 27014 * i386/i386.c: Include langhooks.h. 27015 (ix86_build_va_list): Use langhook. 27016 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook. 27017 * s390/s390.c: Include langhooks.h. 27018 (s390_build_va_list): Use langhook. 27019 * stormy16/stormy16.c: Include langhooks.h. 27020 (stormy16_build_va_list): Use langhook. 27021 270222002-03-29 Jakub Jelinek <jakub@redhat.com> 27023 27024 PR c++/5964 27025 * config/sparc/sparc.md (empty_delay_slot, branch_type): New 27026 attributes. 27027 (length): Compute variable length for branches/calls/jumps here. 27028 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch, 27029 normal_fpe_branch, inverted_fpe_branch): Remove length attribute, 27030 define branch_type attribute. 27031 (divsi3_sp32): Maximum length is 6 not 7. 27032 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32, 27033 call_address_untyped_struct_value_sp32, 27034 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2. 27035 * config/sparc/sparc.c (empty_delay_slot): New function. 27036 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove. 27037 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype. 27038 270392002-03-29 Jakub Jelinek <jakub@redhat.com> 27040 27041 * combine.c (set_nonzero_bits_and_sign_copies): Don't call 27042 nonzero_bits if not needed. 27043 (nonzero_bits) [XOR]: Likewise. 27044 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if 27045 reg_last_set_mode and mode are both MODE_INT, but not equal. 27046 (record_value_for_reg): Compute reg_last_set_nonzero_bits 27047 in nonzero_bits_mode for MODE_INT modes. 27048 270492002-03-28 Richard Henderson <rth@redhat.com> 27050 27051 PR target/5715 27052 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options 27053 to GAS. Correct drift between alternatives. 27054 270552002-03-28 Richard Henderson <rth@redhat.com> 27056 27057 PR target/6087 27058 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence. 27059 270602002-03-28 Alexandre Oliva <aoliva@redhat.com> 27061 27062 * config/i386/freebsd.h (LINK_SPEC): Don't pass default 27063 emulation to the linker. 27064 270652002-03-28 Loren J. Rittle <ljrittle@acm.org> 27066 27067 * config/alpha/freebsd.h (LINK_SPEC): Likewise. 27068 * config/sparc/freebsd.h (LINK_SPEC): Likewise. 27069 27070Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com) 27071 27072 * combine.c (simplify_and_const_int): Make sure to apply mask 27073 when force_to_mode returns a constant integer. PR3311. 27074 270752002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca> 27076 27077 * pa-linux.h (LOCAL_LABEL_PREFIX): Define. 27078 270792002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 27080 27081 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options 27082 and Objective-C Dialect Options. 27083 270842002-03-28 Richard Henderson <rth@redhat.com> 27085 27086 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE 27087 comparison should be done vs !=0 not >0 return code. Tidy cases. 27088 270892002-03-28 Richard Henderson <rth@redhat.com> 27090 27091 * c-decl.c (finish_function): New arg can_defer_p. Pass it 27092 on to c_expand_body. 27093 * c-tree.h (finish_function): Update decl. 27094 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls. 27095 27096Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz> 27097 27098 * ifcvt.c (if_convert): Clear aux_for_blocks early enough. 27099 27100Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz> 27101 27102 * rtlanal.c: Include flags.h 27103 (may_trap_p): Do not mark FP operations if trapping 27104 if !flag_trapping_math 27105 * Makefile.in (rtlanal.o): Add dependency on flag.h 27106 * ifcvt.c (noce_operand_ok): Avoid the lameness. 27107 271082002-03-27 Zack Weinberg <zack@codesourcery.com> 27109 27110 * mips.md: Use dconst1, not 1.0, as first argument of 27111 REAL_VALUE_LDEXP. Don't use union real_extract. 27112 271132002-03-28 Alan Modra <amodra@bigpond.net.au> 27114 27115 * configure.in (gcc_cv_as): Use $target_alias in directory searchs 27116 rather than $target. Heed program_prefix and 27117 program_transform_name. Search for gas in cross-compiler case too. 27118 "test -x" rather than "test -f". 27119 (gcc_cv_ld): Likewise. 27120 (gcc_cv_nm): Heed program_prefix and program_transform_name. 27121 (gcc_cv_objdump): Likewise. 27122 * configure: Regenerate. 27123 271242002-03-27 Neil Booth <neil@daikokuya.demon.co.uk> 27125 27126 * Makefile.in (attribs.o): Update. 27127 * attribs.c: Include langhooks.h. 27128 (decl_attributes): Use langhook. 27129 * c-decl.c (insert_default_attributes): Rename. 27130 * c-tree.h (c_insert_default_attributes): New. 27131 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New. 27132 (LANG_HOOKS_INITIALIZER): Update. 27133 * langhooks.h (struct lang_hooks): New hook. 27134 * tree.h (insert_default_attributes): Remove. 27135objc: 27136 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine. 27137 271382002-03-27 Andreas Schwab <schwab@suse.de> 27139 27140 * config/i386/i386.c (classify_argument): Also check for 27141 QUAL_UNION_TYPE. 27142 271432002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 27144 27145 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj 27146 any more. 27147 27148Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz> 27149 27150 * i960.md (ret): Set PC. 27151 (nonlocal_goto): Fix expander. 27152 * builtins.c (epxand_builin_longjmp): Check that we've emitted 27153 some jump or call. 27154 27155Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz> 27156 27157 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting 27158 of libcall regions. 27159 27160Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> 27161 27162 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of 27163 assigning to BLOCK_FOR_INSN directly. 27164 27165Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz> 27166 27167 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround. 27168 271692002-03-27 Neil Booth <neil@daikokuya.demon.co.uk> 27170 27171 * c-common.c (c_expand_expr): Fix prototype. 27172 * c-common.h (c_expand_expr): Always declare, update. 27173 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine. 27174 * c-objc-common.c (c_objc_common_init): No global hook. 27175 * expr.c (expand_expr): Use langhook. 27176 * expr.h (enum expand_modifier): Conditionally declare. 27177 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New. 27178 (LANG_HOOKS_INITIALIZER): Update. 27179 * langhooks.c (lhd_expand_expr): New. 27180 * langhooks.h (struct lang_hooks): New hook. 27181 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete. 27182 (lang_independent_init): Don't default hook. 27183objc: 27184 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine. 27185 271862002-03-27 Richard Henderson <rth@redhat.com> 27187 27188 PR target/6054 27189 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for 27190 TARGET_CONST_GP. Simplify conditions. 27191 271922002-03-27 Richard Henderson <rth@redhat.com> 27193 27194 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h, 27195 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h, 27196 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define. 27197 271982002-03-27 Danny Smith <dannysmith@users.sourceforge.net> 27199 27200 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32, 27201 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches. 27202 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS): 27203 Remove unnecessary masks. 27204 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit. 27205 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin, 27206 -mwindows, -mdll switches and their negations. 27207 272082002-03-27 Neil Booth <neil@daikokuya.demon.co.uk> 27209 27210 * gcc-common.c (lang_mark_false_label_stack): Remove. 27211 * ggc.h (lang_mark_false_label_stack): Similarly. 27212 272132002-03-26 Vladimir Makarov <vmakarov@redhat.com> 27214 27215 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__. 27216 27217 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__ 27218 or __rtems_ is defined. 27219 272202002-03-26 Richard Henderson <rth@redhat.com> 27221 27222 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note 27223 if a non-trivial load was emitted. 27224 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko 27225 in high+extra+low case. 27226 272272002-03-26 Richard Henderson <rth@redhat.com> 27228 27229 * config.gcc (sparc*-solaris): Use float_format=sparc. 27230 272312002-03-26 Richard Henderson <rth@redhat.com> 27232 27233 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define. 27234 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef. 27235 * config/sparc/linux.h, config/sparc/linux64.h: Likewise. 27236 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine. 27237 (WINT_TYPE_SIZE): Fix at 32. 27238 272392002-03-26 Richard Henderson <rth@redhat.com> 27240 27241 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets 27242 until after eh landing pad generation. 27243 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof. 27244 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs. 27245 272462002-03-26 Richard Henderson <rth@redhat.com> 27247 27248 * expr.h (ADD_PARM_SIZE): One more convert for INC. 27249 272502002-03-26 Phil Edwards <pme@gcc.gnu.org> 27251 27252 * gcc.c (cpp_options): Preserve relative ordering of -pedantic 27253 and warning switches. 27254 (cc1_options): Likewise. 27255 272562002-03-26 Hans Boehm <Hans_Boehm@hp.com> 27257 27258 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): 27259 Restore more of the signal context. Set no_reg_stack_frame. 27260 * config/ia64/unwind-ia64.c (unw_state_record): 27261 Add no_reg_stack_frame, comments. 27262 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER. 27263 (uw_update_context): Adjust bsp when unwinding from leaf, 27264 but not signal frame. 27265 272662002-03-26 David Edelsohn <edelsohn@gnu.org> 27267 27268 * config/rs6000/aix51.h (WCHAR_TYPE): Define. 27269 272702002-03-26 Bob Wilson <bob.wilson@acm.org> 27271 27272 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types. 27273 272742002-03-26 Richard Earnshaw <rearnsha@arm.com> 27275 27276 PR target/5621 27277 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999: 27278 "Add a pool_range attribute", which was lost during the ARM/Thumb 27279 merge. 27280 272812002-03-26 Bob Wilson <bob.wilson@acm.org> 27282 27283 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from 27284 a register into the MAC16 accumulator. 27285 272862002-03-26 Andrew Cagney <ac131313@redhat.com> 27287 27288 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum. 27289 (Warning Options): Document -Wswitch-enum. 27290 * toplev.c (W_options): Add -Wswitch-enum. Update comment on 27291 -Wswitch. 27292 (warn_switch_enum): Define variables. 27293 * flags.h (warn_switch_enum): Declare variables. 27294 * stmt.c (expand_end_case_type): When warn_switch_enum / 27295 -Wswitch-enum, perform switch checks. 27296 Fix PR c/5044. 27297 272982002-03-26 Richard Earnshaw <rearnsha@arm.com> 27299 27300 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi) 27301 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0) 27302 (reload_muladdsi_compare0_scratch): Delete. 27303 273042002-03-26 Loren J. Rittle <ljrittle@acm.org> 27305 27306 * doc/install.texi (*-*-freebsd*): Update. 27307 273082002-03-26 Richard Henderson <rth@redhat.com> 27309 27310 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype. 27311 (SUB_PARM_SIZE): Cast DEC to ssizetype. 27312 27313 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK 27314 types from the normal argument frame. 27315 27316 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass 27317 variable sized objects by reference. 27318 (sparc_va_arg): Receive them by reference too. 27319 273202002-03-26 Hartmut Penner <hpenner@de.ibm.com> 27321 27322 * config/s390/s390.c (s390_emit_epilogue): Change epilogue 27323 code to not restoring global registers. 27324 273252002-03-26 Neil Booth <neil@daikokuya.demon.co.uk> 27326 27327 * Makefile.in (ggc-common.o): Update. 27328 * c-decl.c (lang_mark_tree): Rename c_mark_tree. 27329 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine. 27330 * c-tree.h (c_mark_tree): New. 27331 * ggc-common.c: Include langhooks.h. 27332 (gcc_mark_trees): Use new langhook. 27333 * ggc-callbacks.c: Delete file. 27334 * ggc.h (lang_mark_tree): Remove. 27335 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New. 27336 (LANG_HOOKS_INITIALIZER): Update. 27337 * langhooks.h (struct lang_hooks): New hook. 27338objc: 27339 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine. 27340 273412002-03-25 Zack Weinberg <zack@codesourcery.com> 27342 27343 * doc/cpp.texi: Exclude entire Top node from printed manual. 27344 Move option index after directive index. Insert page breaks 27345 before GFDL and concept index. Index environment variables 27346 with command line options. 27347 * doc/cppenv.texi: Use @vtable for environment variable list. 27348 Add paragraph explaining semantics of empty elements in path 27349 variables. Exclude a cross-reference to Fishkill from the 27350 manpage. Remove an unnecessary cross-reference of the entry 27351 right above the referer. Don't use @anchor in text that goes 27352 into manpage. 27353 * doc/cppopts.texi: Cross-reference the environment variables 27354 section, not the specific environment variable, for consistency. 27355 273562002-03-25 Richard Henderson <rth@redhat.com> 27357 27358 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes 27359 anywhere in the block. Don't refer to insns that have been 27360 removed from the chain. Iterate backward through the new insns. 27361 Don't refer to edges that have been removed. 27362 273632002-03-26 Alan Modra <amodra@bigpond.net.au> 27364 27365 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct 27366 test for overflow of constant. 27367 273682002-03-25 Richard Earnshaw <rearnsha@arm.com> 27369 27370 PR target/2623 27371 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc) 27372 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use 27373 these patterns on arm_archv4. 27374 273752002-03-25 Danny Smith <dannysmith@sourceforge.users.net> 27376 27377 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned 27378 int". 27379 273802002-03-25 Zack Weinberg <zack@codesourcery.com> 27381 27382 * toplev.c: Don't include setjmp.h. Kill float_handler_set, 27383 float_handled, float_handler, float_signal, set_float_handler, 27384 and do_float_handler. Set handler for SIGFPE to crash_signal. 27385 * toplev.h: Don't prototype do_float_handler. 27386 27387 * c-lex.c: Fold parse_float into lex_number. Make warning 27388 about portability of hex float constants more informative, and 27389 don't issue it on top of a syntax error. 27390 * fold-const.c: Fold const_binop_1 and fold_convert_1 into 27391 their callers. 27392 * real.h: Define REAL_VALUE_ABS here... 27393 * simplify-rtx.c: ... not here. Fold check_fold_consts, 27394 simplify_unary_real, simplify_binary_real, and 27395 simplify_binary_is2orm1 into their callers. 27396 * tree.c: Fold build_real_from_int_cst_1 into caller. 27397 27398 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE. 27399 27400 * tsystem.h: Include float.h here... 27401 * libgcc2.c: ... not here. 27402 274032002-03-25 Nick Clifton <nickc@cambridge.redhat.com> 27404 27405 Fixes for: PR bootstrap/3591, target/5676 27406 * config/mcore/mcore.h (CC1_SPEC): Define only if not already 27407 defined. Do not disable exceptions or rtti. 27408 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including 27409 mcore.h. Disable exceptions and rtti, since they are not 27410 supported by EPOC. 27411 274122002-03-25 Neil Booth <neil@daikokuya.demon.co.uk> 27413 27414 * c-decl.c (maybe_build_cleanup): Remove. 27415 * expr.c (expand_expr): Use langhook. 27416 * langhooks-def.h (lhd_return_null_tree, 27417 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New. 27418 (LANGHOOKS_INITIALIZER): Update. 27419 * langhooks.c (lhd_return_null_tree): New. 27420 * langhooks.h (struct lang_hooks): New hook. 27421 * tree-inline.c (initialize_inlined_parameters): Use langhook. 27422 * tree.h (maybe_build_cleanup): Remove. 27423 274242002-03-25 Jakub Jelinek <jakub@redhat.com> 27425 27426 * regrename.c (build_def_use): Move recog_memoized 27427 before extract_insn. 27428 274292002-03-25 Jakub Jelinek <jakub@redhat.com> 27430 27431 PR target/6043 27432 * expr.c (emit_group_store): Handle storing into CONCAT. 27433 274342002-03-25 Jakub Jelinek <jakub@redhat.com> 27435 27436 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and 27437 corresponding MATCH_DUP. 27438 274392002-03-24 Richard Henderson <rth@redhat.com> 27440 27441 * unroll.c (unroll_loop): Zero label_map. 27442 27443 * gcse.c: Include except.h. 27444 * Makefile.in (gcse.o): Update. 27445 274462002-03-24 Richard Henderson <rth@redhat.com> 27447 27448 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change. 27449 Do resolve_unique_section before shared data clause. 27450 274512002-03-24 Richard Henderson <rth@redhat.com> 27452 27453 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static. 27454 274552002-03-24 Richard Henderson <rth@redhat.com> 27456 27457 * recog.c (peephole2_optimize): Split blocks when EH insns are 27458 generated in the middle of a block. Do global life update if 27459 zapped EH edges. 27460 274612002-03-24 Richard Henderson <rth@redhat.com> 27462 27463 * mips.c (mips_function_value): Only promote_mode for non-libcalls. 27464 274652002-03-24 Neil Booth <neil@daikokuya.demon.co.uk> 27466 27467 preprocessor/3951 27468 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF. 27469 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD. 27470 (init_dependency_output): Don't make no_output decision here. 27471 274722002-03-24 Andrew Cagney <ac131313@redhat.com> 27473 27474 * stmt.c (check_for_full_enumeration_handling): Remove tests of 27475 warn_switch. Update description. 27476 (expand_end_case_type): Call check_for_full_enumeration_handling 27477 when warn_switch. 27478 274792002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr> 27480 27481 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function. 27482 (m68hc11_split_move): Call it to see if the source and destination 27483 operands use the same direction auto inc/dec mode, otherwise make the 27484 source an offsetable memory operand and generate an add. 27485 274862002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr> 27487 27488 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address 27489 register for operand 2. 27490 ("*subsi3_zero_extendqi"): Likewise. 27491 ("*iorhi3_gen"): Do the operation on the upper bits and then lower 27492 bits so that it is compatible with a pop. 27493 ("*andhi3_gen"): Likewise. 27494 ("xorhi3"): Likewise. 27495 274962002-03-24 Neil Booth <neil@daikokuya.demon.co.uk> 27497 27498 * cppinit.c (cpp_handle_option): Set warn_endif_labels if 27499 -pedantic here... 27500 (cpp_post_options): ... not here. 27501 275022002-03-24 Neil Booth <neil@daikokuya.demon.co.uk> 27503 Aldy Hernandez <aldyh@redhat.com> 27504 27505 Removal of separate preprocessor cpp0. 27506 27507 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS, 27508 cpp0, install-common): Update. 27509 * c-common.c (flag_preprocess_only): New. 27510 (c_common_init): Preprocess for -E. 27511 * c-common.h (flag_preprocess_only): New. 27512 * c-decl.c (c_decode_option): Handle -E and -std=c++98. 27513 * c-objc-common.c (c_init_decl_processing): Exit quickly 27514 for NULL return from c_common_init. 27515 * cpplib.h (cpp_preprocess_file): New. 27516 * cppmain.c (main, general_init, pfile, progname): Remove. 27517 (do_preprocessing): Rename cpp_preprocess_file, don't call 27518 cpp_finish. Don't close stdout here. 27519 (setup_callbacks): Update prototype. 27520 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers): 27521 Update. 27522 * tradcpp.c (main): Ignore -quiet. 27523objc: 27524 * lang-specs.h (default_compilers): Preprocess with cc1obj. 27525 275262002-03-24 Richard Henderson <rth@redhat.com> 27527 27528 PR optimization/5742 27529 * machmode.def: Add inner mode field to complex modes. 27530 * config/mips/mips.c (mips_function_value): Always define. Add 27531 new argument to handle libcalls. 27532 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value. 27533 (FUNCTION_VALUE): Likewise. 27534 * config/mips/abi64.h (FUNCTION_VALUE): Remove. 27535 * config/mips/mips-protos.h: Update. 27536 275372002-03-23 Richard Henderson <rth@redhat.com> 27538 27539 * config/sparc/sparc.c (sparc_emit_floatunsdi): New. 27540 * config/sparc/sparc-protos.h: Update. 27541 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New. 27542 275432002-03-23 Richard Henderson <rth@redhat.com> 27544 27545 * config/sparc/gmon-sol2.c (internal_mcount): Assume either 27546 _start or _init begins the text segment. 27547 275482002-03-23 David Edelsohn <edelsohn@gnu.org> 27549 27550 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT 27551 not HOST_WIDEST_INT. 27552 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes. 27553 275542002-03-23 Richard Earnshaw <rearnsha@arm.com> 27555 27556 PR java/5489 27557 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the 27558 operand argument to output_return_instruction. 27559 * arm.c (arm_print_operand, case 'd'): If the operand is 27560 const_true_rtx then just return. 27561 (arm_print_operand, case 'D'): If the operand is const_true_rtx 27562 then abort. 27563 275642002-03-23 Andrew Cagney <ac131313@redhat.com> 27565 27566 * doc/invoke.texi (Option Summary): Mention -Wswitch-default. 27567 (Warning Options): Document -Wswitch-default. 27568 * toplev.c (W_options): Add -Wswitch-default. Update comment on 27569 -Wswitch. 27570 (warn_switch_default): Define variable. 27571 (warn_switch): Update comment. 27572 * flags.h (warn_switch_default): Declare variable. 27573 (warn_switch): Update comment. 27574 * stmt.c (expand_end_case): Check for and, when 27575 warn_switch_no_default, warn of a missing default case. 27576 275772002-03-23 Alan Modra <amodra@bigpond.net.au> 27578 27579 * real.h (N): Special case 128 bit doubles. 27580 27581 * combine.c (simplify_comparison): When widening modes, ignore 27582 sign extension on CONST_INTs. 27583 275842002-03-22 Bob Wilson <bob.wilson@acm.org> 27585 27586 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode 27587 passed to adjust_address. Fix comment formatting. 27588 27589 275902002-03-22 Zack Weinberg <zack@codesourcery.com> 27591 27592 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE. 27593 Always make REAL_VALUE_TYPE a struct containing an array of 27594 HOST_WIDE_INT, not a double. Tidy up the code deciding how 27595 big it is. Don't declare or use union real_extract. 27596 27597 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1, 27598 decode_rtx_const, output_constant_pool), config/a29k/a29k.c 27599 (print_operand), config/arm/arm.c (output_move_double), 27600 config/arm/arm.md (consttable_4, consttable_8), 27601 config/romp/romp.c (output_fpops), config/s390/s390.h 27602 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c 27603 (xtensa_output_literal): Don't use union real_extract. 27604 27605 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c 27606 (sfmode_constant_to_ulong), config/ns32k/merlin.h 27607 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand), 27608 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h 27609 (PRINT_OPERAND): Don't use local version of union 27610 real_extract. 27611 27612 * config/convex/convex.c (check_float_value), config/vax/vax.c 27613 (vax_float_literal), config/m88k/m88k.md (divdf3), 27614 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2), 27615 config/pdp11/pdp11.c (output_move_quad): Don't do host 27616 arithmetic on target floating point quantities. 27617 27618 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c 27619 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT. 27620 27621 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real): 27622 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY. 27623 27624 * real.c (earith): Test INFINITY rather than REAL_INFINITY; 27625 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef 27626 INFINITY. 27627 * print-rtl.c (print_rtx): Disable code which needs 27628 floating-point emulator. 27629 * libgcc2.c: Include float.h and use DBL_MANT_DIG, 27630 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than 27631 depending on HOST_FLOAT_FORMAT to be defined properly. 27632 27633 * config/1750a/1750a.c (get_double, float_label): Delete. 27634 (print_operand): Delete huge commented-out chunk. Use 27635 REAL_VALUE_TO_DECIMAL. 27636 * config/1750a/1750a-protos.h: Delete prototypes of deleted 27637 functions. 27638 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to 27639 IEEE_FLOAT_FORMAT. 27640 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]): 27641 Use REAL_VALUE_TO_DECIMAL as ELF version does. 27642 * config/m88k/m88k.c (real_power_of_2_operand, 27643 legitimize_operand): Take the REAL_VALUE_TYPE and/or union 27644 real_extract out of the union; run the input through 27645 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords 27646 from that into the union. 27647 * config/pdp11/pdp11.c (output_move_double): Rearrange 27648 parentheses to make automatic indenter happy. 27649 27650 * doc/tm.texi (Cross-compilation): Rename node to "Floating 27651 Point" and rewrite to describe current situation. Also adjust 27652 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to 27653 match code. 27654 * doc/rtl.texi: Adjust cross reference. 27655 276562002-03-22 Bob Wilson <bob.wilson@acm.org> 27657 27658 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove. 27659 (xtensa_valid_move, xtensa_preferred_reload_class): Define. 27660 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove. 27661 (xtensa_valid_move, xtensa_preferred_reload_class): Define to 27662 prevent use of sp as a reload register. 27663 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of 27664 non_acc_reg_operand. 27665 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand. 27666 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class. 27667 * config/xtensa/xtensa.md (movsi_internal, movhi_internal, 27668 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand. 27669 276702002-03-22 Neil Booth <neil@daikokuya.demon.co.uk> 27671 27672 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col. 27673 * cpplex.c (unterminated): Delete. 27674 (parse_string): No string literal may extend over multiple 27675 lines. Suppress the error when preprocessing assembly. 27676 * cppmain.c (scan_translation_unit): Strings are single-line. 27677 27678 * doc/cpp.texi: Update to match. 27679 276802002-03-22 Jakub Jelinek <jakub@redhat.com> 27681 27682 PR optimization/5854 27683 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0. 27684 Shut up warnings. 27685 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0. 27686 (EXTRA_CONSTRAINT): Use S for non-push memory operand. 27687 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from 27688 const0 if scratch register was not allocated. 27689 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart, 27690 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...) 27691 with GEN_INT (...). 27692 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs. 27693 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...) 27694 with GEN_INT (...) everywhere. Remove constraints in define_split 27695 patterns. 27696 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't 27697 require scratch register for setting 0 into regs/non-pushable memory. 27698 276992002-03-22 Alexandre Oliva <aoliva@redhat.com> 27700 27701 * config/mips/mips.h (MASK_RETURN_ADDR): Define. 27702 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define. 27703 277042002-03-22 Phil Edwards <pme@gcc.gnu.org> 27705 27706 * cpplib.h (struct cpp_options): New member, warn_endif_labels. 27707 * cppinit.c (cpp_create_reader): On by default. 27708 (cpp_handle_option): Handle -W[no-]endif-labels. 27709 (cpp_post_options): Also enable if -pedantic. 27710 * cpplib.c (do_else): Use it. 27711 (do_endif): Likewise. 27712 * doc/cppopts.texi: Document new option. 27713 * doc/invoke.texi: Document new option. 27714 277152002-03-22 Lars Brinkhoff <lars@nocrew.org> 27716 27717 * config/i386/i386.c, config/i386/i386.md: Change all occurences 27718 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...). 27719 277202002-03-22 Alexandre Oliva <aoliva@redhat.com> 27721 27722 * flow.c (calculate_global_regs_live): Clear aux fields of 27723 ENTRY and EXIT. 27724 277252002-03-22 Jakub Jelinek <jakub@redhat.com> 27726 27727 * config/v850/v850.c (v850_reorg): Only call alter_subreg on 27728 REG or MEM subregs, pass rtx * instead of rtx to it. 27729 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass 27730 rtx * instead of rtx to alter_subreg. 27731 * config/m32r/m32r.c (gen_split_move_double): Likewise. 27732 * config/pj/pj.c (pj_output_rval): Likewise. 27733 277342002-03-22 Richard Henderson <rth@redhat.com> 27735 27736 PR target/3177 27737 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs. 27738 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update. 27739 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs. 27740 (ia64_expand_prologue): Look at int_regs, not words, for number 27741 of incoming int regs. 27742 277432002-03-22 Andrew MacLeod <amacleod@redhat.com> 27744 27745 * expr.c (expand_expr): A RESULT_DECL is part of a call. 27746 27747Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz> 27748 27749 * toplev.c (flag_loop_optimize, flag_crossjumping): 27750 New static variables. 27751 (rest_of_compilation): Conditionalize crossjumping and 27752 loop optimizer. 27753 (parse_options_and_default_flags): Default loop_optimize and 27754 crossjumping. 27755 (lang_independent_options): Add -fcrossjumping and -floop-optimize 27756 * invoke.texi (crossjumping, loop-optimize): Document. 27757 277582002-03-22 Richard Sandiford <rsandifo@redhat.com> 27759 27760 * real.c (eiisneg): Move outside #ifdef NANS. 27761 27762Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz> 27763 27764 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax 27765 frequencies match; avoid match on different loop depths. 27766 (try_crossjump_to_bb): Kill tests that no longer brings time 27767 savings. 27768 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth 27769 updating code. 27770 (split_edge): Likewise. 27771 27772 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized 27773 variable. 27774 27775 * Makefile.in (cfgrtl): Add insn-config.h depenendency. 27776 * cfgrtl.c: Include insn-config.h 27777 (split_block) Dirtify block in presence of conditional execution 27778 277792002-03-22 Richard Sandiford <rsandifo@redhat.com> 27780 27781 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine. 27782 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare. 27783 (function_arg): Constify CUMULATIVE_ARGS. 27784 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise. 27785 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT. 27786 (UNITS_PER_DOUBLE): New macro. 27787 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs. 27788 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and 27789 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs, 27790 fp_regs and stack_words. 27791 (EABI_FLOAT_VARARGS_P): New macro. 27792 * config/mips/mips.c (struct mips_arg_info): New. 27793 (mips_arg_info): New function. 27794 (function_arg_advance): Use it. Add adjustment instructions here 27795 rather than in function_arg. 27796 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check 27797 for VOIDmode at the beginning of the function. 27798 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info. 27799 (function_arg_pass_by_reference): Likewise. 27800 (mips_setup_incoming_varags): New, largely based on old abi64.h code. 27801 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P. 27802 (mips_va_start): Likewise. Use the new stack_words field of 27803 CUMULATIVE_ARGS to set up overflow area. Reformat. 27804 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of 27805 doubles and other types, aligning the overflow pointer for non-doubles 27806 too. Remove some code duplication. Replace hard-coded constants. 27807 278082002-03-22 Richard Sandiford <rsandifo@redhat.com> 27809 27810 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify. 27811 (CLASS_UNITS): Undefine. 27812 (CLASS_MAX_NREGS): Use FP_INC. 27813 * config/mips/mips.c (compute_frame_size): Likewise. 27814 (override_options): Use FP_INC and UNITS_PER_FPVALUE. 27815 278162002-03-22 Neil Booth <neil@daikokuya.demon.co.uk> 27817 27818 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust 27819 prototype, and handle lexing numbers and identifiers. 27820 (parse_identifier): Update to new form of parse_slow. 27821 (parse_number): Fast path only, use parse_slow otherwise. 27822 (_cpp_lex_direct): Update calls to parse_number. 27823 278242002-03-21 DJ Delorie <dj@redhat.com> 27825 27826 * bb-reorder.c (make_reorder_chain_1): Protect against 27827 when redundant edges are omitted. 27828 * predict.c (dump_prediction): Likewise. 27829 278302002-03-21 Richard Henderson <rth@redhat.com> 27831 27832 PR target/5996 27833 * fixinc/inclhack.def (solaris_stdio_tag): New. 27834 * fixinc/fixincl.x: Regenerate. 27835 278362002-03-21 Eric Botcazou <ebotcazou@multimania.com> 27837 27838 PR c/5597 27839 * c-typeck.c (process_init_element): Flag non-static 27840 initialization of a flexible array member as illegal. 27841 278422002-03-22 Alan Modra <amodra@bigpond.net.au> 27843 27844 * config/rs6000/t-linux64: New. 27845 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and 27846 t-ppccomm. Use t-rs6000 and t-linux64. 27847 (powerpc64-*-gnu* <tmake_file>): Likewise. 27848 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable. 27849 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo. 27850 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc. 27851 278522002-03-21 Aldy Hernandez <aldyh@redhat.com> 27853 27854 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check 27855 flag_really_no_inline instead of optimize == 0. 27856 27857 * c-objc-common.c (c_cannot_inline_tree_fn): Same. 27858 27859 * cp/tree.c (cp_cannot_inline_tree_fn): Same. 27860 27861 * flags.h (flag_really_no_inline): New. 27862 27863 * c-common.c (c_common_post_options): Initialize 27864 flag_really_no_inline. 27865 27866 * toplev.c (flag_really_no_inline): New. 27867 278682002-03-21 Jakub Jelinek <jakub@redhat.com> 27869 27870 * config/avr/avr.md (length): Fix length computation for 27871 conditional branches. 27872 278732002-03-21 Neil Booth <neil@daikokuya.demon.co.uk> 27874 27875 * Makefile.in (fold-const.o, stor-layout.o, stmt.o, 27876 sdbout.o, profile.o): Update. 27877 * c-common.c (c_common_nodes_and_builtins): Use pushdecl 27878 langhook. 27879 * c-common.h (gettags): Move here from tree.h. 27880 * c-tree.h (pushdecl, pushlevel, poplevel, set_block, 27881 insert_block, getdecls, kept_level_p, global_bindings_p): New. 27882 * dbxout.c (dbxout_init): Use getdecls langhook. 27883 * expr.c (expand_expr): Use insert_block langhook. 27884 * fold-const.c: Include langhooks.h. 27885 (fold_range_test, fold_binary_op_with_conditional_arg, 27886 fold): Use global_bindings_p langhook. 27887 * integrate.c (expand_inline_function): Use insert_block langhook. 27888 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL, 27889 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P, 27890 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL, 27891 LANG_HOOKS_GETDECLS): New. 27892 (LANG_HOOKS_INITIALIZER): Update. 27893 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p 27894 langhook. 27895 * langhooks.h (struct lang_hooks_for_decls): New. 27896 (struct lang_hooks): Update. 27897 * profile.c: Include langhooks.h. 27898 (output_func_start_profiler): Use new langhooks. 27899 * sdbout.c: Include langhooks.h. 27900 (sdbout_init, sdbout_finish): Use getdecls langhook. 27901 * stmt.c: Include langhooks.h. 27902 (expand_fixup, fixup_gotos): Use new langhooks. 27903 * stor-layout.c: Include langhooks.h. 27904 (variable_size): Use global_bindings_p langhook. 27905 * toplev.c (compile_file): Use getdecls langhook. 27906 * tree-inline.c (remap_block): Use insert_block langhook. 27907 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags, 27908 insert_block, getdecls, kept_level_p, global_bindings_p): Remove. 27909 279102002-03-21 Richard Henderson <rth@redhat.com> 27911 27912 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic 27913 constants in .data when -fpic. 27914 279152002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 27916 27917 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux 27918 where appropriate. 27919 279202002-03-21 Tom Tromey <tromey@redhat.com> 27921 27922 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948. 27923 27924Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 27925 27926 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse. 27927 27928 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT. 27929 279302002-03-21 Eric Botcazou <ebotcazou@multimania.com> 27931 Richard Henderson <rth@redhat.com> 27932 27933 PR c/5354 27934 * c-common.c (c_expand_expr): Preserve result of a statement 27935 expression if needed. 27936 279372002-03-21 Jakub Jelinek <jakub@redhat.com> 27938 27939 PR bootstrap/4195 27940 * genrecog.c (maybe_both_true_mode): Remove. 27941 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes. 27942 * machmode.def (Pmode): Likewise. 27943 27944Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com) 27945 27946 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx. 27947 (nonlocal_mentioned_p_1): New function. 27948 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise. 27949 (nonlocal_set_p, nonlocal_set_p_1): Likewise. 27950 (mark_constant_function): Recognize pure functions. 27951 * rtl.h (global_reg_mentioned_p): New prototype. 27952 * rtlanal.c (global_reg_mentioned_p, 27953 global_reg_mentioned_p_1): New function. 27954 279552002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 27956 27957 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64 27958 UNIX assert.h. 27959 * fixinc/fixincl.x: Regenerate. 27960 279612002-03-20 Jason Merrill <jason@redhat.com> 27962 27963 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0. 27964 279652002-03-20 Michael Meissner <meissner@redhat.com> 27966 27967 * doc/invoke.texi (Optimize Options): Document that -O2 sets 27968 -fstrict-aliasing. 27969 279702002-03-20 Bob Wilson <bob.wilson@acm.org> 27971 27972 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a 27973 ".literal_position" directive before the constant pool. 27974 279752002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 27976 27977 * doc/contrib.texi (Contributors): Update Geoffrey Keating. 27978 Add Craig Rodrigues. 27979 Add Brad Lucier to testers. 27980 279812002-03-20 Jakub Jelinek <jakub@redhat.com> 27982 27983 PR target/4792 27984 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode 27985 to if_then_else. 27986 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise. 27987 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached 27988 instead of insn_extract. 27989 279902002-03-20 Jakub Jelinek <jakub@redhat.com> 27991 27992 PR bootstrap/4192 27993 * config/fr30/fr30.md (jump): Remove clobber of fixed register. 27994 27995 * genemit.c (output_added_clobbers_hard_reg_p): Only output return 27996 stmt if some case has been output. 27997 279982002-03-20 Jakub Jelinek <jakub@redhat.com> 27999 28000 PR c/5972 28001 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc, 28002 movsfcc_1, movdfcc_1): Add %O2. 28003 * config/i386/i386.c (print_operand): Handle %ON. 28004 Print . before float condition codes in Sun as cmov syntax. 28005 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as. 28006 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is 28007 no longer true. 28008 280092002-03-20 Philip Blundell <pb@nexus.co.uk> 28010 28011 * config/arm/arm.c (arm_output_epilogue): Don't generate separate 28012 return instruction if PC was popped. 28013 280142002-03-20 Bob Wilson <bob.wilson@acm.org> 28015 28016 * config/xtensa/xtensa.md: Remove unused type attributes. 28017 (adddi_carry, subddi_carry): Change type attribute to "multi". 28018 280192002-03-19 Dale Johannesen <dalej@apple.com> 28020 28021 PR optimization/5999, middle-end/5731 28022 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into 28023 multiplications by reciprocals. 28024 280252002-03-20 Neil Booth <neil@daikokuya.demon.co.uk> 28026 28027 * Makefile.in: Update. 28028 * c-common.c: Include langhooks.h. 28029 (inline_forbidden_p): Use new hook. 28030 * diagnostic.c: Include langhooks.h. 28031 (format_with_decl, announce_function, 28032 default_print_error_function): Use new hook. 28033 * dwarf2out.c (dwarf2_name): Use new hook. 28034 * function.c: Include langhooks.h. 28035 (init_function_start): Use new hook. 28036 * langhooks-def.h (lhd_decl_printable_name): New. 28037 (LANGHOOKS_DECL_PRINTABLE_NAME): New. 28038 (LANGHOOKS_INITIALIZER): Update. 28039 * langhooks.c (lhd_decl_printable_name): New. 28040 * langhooks.h (struct lang_hooks): New hook. 28041 * toplev.c (decl_name, decl_printable_name): Remove. 28042 (open_dump_file): Use new hook. 28043 (process_options): Remove old hook. 28044 * tree.h (decl_printable_name): Remove. 28045objc: 28046 * objc-act.c (objc_init): Remove old hook. 28047 (objc_printable_name): Export. 28048 * objc-act.h (objc_printable_name): New. 28049 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine. 28050 280512002-03-19 Jim Blandy <jimb@redhat.com> 28052 28053 * c-lex.c (cb_file_change): Pass the #inclusion's line number to 28054 the start_source_file debug hook, not the current line number. 28055 280562002-03-19 Richard Henderson <rth@redhat.com> 28057 28058 * flow.c (EH_USES): Provide default. 28059 (calculate_global_regs_live): Use it for EH edges and noreturn calls. 28060 * doc/tm.texi (EH_USES): New. 28061 28062 * config/ia64/ia64.c (ia64_eh_uses): New. 28063 * config/ia64/ia64-protos.h: Update. 28064 * config/ia64/ia64.h (EH_USES): New. 28065 280662002-03-19 Richard Henderson <rth@redhat.com> 28067 28068 * varasm.c (output_constant_def): Fix stupid typo. 28069 280702002-03-19 Richard Henderson <rth@redhat.com> 28071 28072 PR 5879 28073 * except.c (current_function_has_exception_handlers): New. 28074 * except.h: Declare it. 28075 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it. 28076 Combine tests that disable all sibcalls for the function. 28077 280782002-03-19 Olivier Hainque <hainque@act-europe.fr> 28079 28080 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO 28081 for INTEGER_CST. 28082 280832002-03-19 Richard Henderson <rth@redhat.com> 28084 28085 PR 5977, 5991 28086 * config/ia64/ia64.c: Revert 2002-03-01 patch. 28087 * config/ia64/ia64.h (INIT_EXPANDERS): New. 28088 280892002-03-19 Jim Blandy <jimb@redhat.com> 28090 28091 * cppmacro.c (cpp_macro_definition): Emit a space after the macro 28092 name, even if the replacement list contains no tokens, as required 28093 by Dwarf. 28094 280952002-03-19 Jason Merrill <jason@redhat.com> 28096 28097 * varasm.c (globalize_decl): Get the name from the RTL, not 28098 DECL_ASSEMBLER_NAME. 28099 28100 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g. 28101 281022002-03-19 Bob Wilson <bob.wilson@acm.org> 28103 28104 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3, 28105 subdi_carry): Define. 28106 281072002-03-19 David Edelsohn <edelsohn@gnu.org> 28108 28109 * config/rs6000/rs6000.c (rs6000_override_options): Only warn 28110 about -fpic/-fPIC if extra_warnings set. 28111 281122002-03-19 David Edelsohn <edelsohn@gnu.org> 28113 28114 * expr.c (expand_expr): Sign-extend CONST_INT generated from 28115 TREE_STRING_POINTER. 28116 * fold-const.c (fold): Delete #if 0 ARRAY_REF case. 28117 28118Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 28119 28120 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP 28121 in favor of SP if FRAME_POINTER_REQUIRED is false. 28122 281232002-03-19 Lars Brinkhoff <lars@nocrew.org> 28124 28125 * emit-rtl.c (gen_int_mode): New function. 28126 * rtl.h: Prototype for it. 28127 * combine.c (make_extraction, simplify_comparison), expmed.c 28128 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c 28129 (convert_modes, store_field), optabs.c (expand_fix), 28130 simplify-rtx.c (neg_const_int, simplify_unary_real), 28131 28132 * config/rs6000/rs6000.c, config/rs6000/rs6000.md: 28133 Use it instead of GEN_INT (trunc_int_for_mode (...)). 28134 281352002-03-19 Jakub Jelinek <jakub@redhat.com> 28136 28137 PR c/5656 28138 * langhooks.h (struct lang_hooks_for_tree_inlining): Add 28139 convert_parm_for_inlining. 28140 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): 28141 Define. 28142 * langhooks-def.h: Likewise. 28143 * objc/objc-lang.c: Likewise. 28144 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New 28145 function. 28146 * tree-inline.c (initialize_inlined_parameters): 28147 Call convert_parm_for_inlining lang hook if needed. 28148 * c-typeck.c (c_convert_parm_for_inlining): New function. 28149 * c-tree.h (c_convert_parm_for_inlining): Add prototype. 28150 281512002-03-18 Mark Mitchell <mark@codesourcery.com> 28152 28153 * calls.c (precompute_arguments): Do not assume that temporaries 28154 can be destroyed after expanding the argument. 28155 (expand_call): Likewise. 28156 281572002-03-15 Eric Christopher <echristo@redhat.com> 28158 28159 * config/mips/mips.md (movdf_internal2): Add two new move constraints. 28160 Fix register preference on last change. 28161 * config/mips/mips.c (mips_return_in_memory): New function. 28162 * config/mips/mips.h (RETURN_IN_MEMORY): Use. 28163 * config/mips/mips-protos.h: Declare. 28164 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above. 28165 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults. 28166 281672002-03-18 Alexandre Oliva <aoliva@redhat.com> 28168 28169 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to 28170 a register too. 28171 (anddi3, iorsi3): Likewise. 28172 28173 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't 28174 use %gprel for symbols that are going to be placed in linkonce 28175 sections. 28176 28177 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate 28178 RETURN_ADDRESS_POINTER_REGNUM to $ra. 28179 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is 28180 not needed. Disregard leaf_function_p(). 28181 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to 28182 mips16 frame pointer. 28183 * config/mips/mips.md (store ra): Only to small SP offsets. 28184 2001-08-22 Graham Stott <grahams@redhat.com> 28185 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function 28186 return a REG rtx for the return address register. 28187 281882002-03-18 Bob Wilson <bob.wilson@acm.org> 28189 28190 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat 28191 constant-pool addresses as "mode-dependent". 28192 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments. 28193 281942002-03-18 Jakub Jelinek <jakub@redhat.com> 28195 28196 PR target/5740 28197 * expr.c (emit_group_load): Use extract_bit_field if 28198 needed for CONCAT arguments. 28199 282002002-03-18 Richard Earnshaw <rearnsha@arm.com> 28201 28202 PR target/4863 28203 * arm.md (tablejump): Make this a define_expand. For PIC add the 28204 offset to the base of the table. 28205 (thumb_tablejump): Matcher for Thumb tablejump insn. 28206 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries 28207 as the difference of two labels. 28208 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. 28209 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump 28210 tables in the code. 28211 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise. 28212 * arm.c (get_jump_table_size): If the table is not in the text 28213 section, return zero. 28214 282152002-03-18 Bernd Schmidt <bernds@redhat.com> 28216 28217 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead 28218 of gen_rtx_SUBREG. 28219 (arm_reload_out_hi): Use gen_lowpart instead of 28220 gen_rtx_SUBREG to access QImode components. 28221 * config/arm/arm.md: Disable zero_extend split for QImode 28222 subregs in BIG_ENDIAN mode. 28223 (storehi_bigend): Match use of least significant byte. 28224 (storeinthi): Remove extraneous SUBREG. 28225 Add missing construction of operands[2]. 28226 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG. 28227 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG. 28228 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG. 28229 282302002-03-18 Aldy Hernandez <aldyh@redhat.com> 28231 28232 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to 28233 any_operand. 28234 282352002-03-17 Richard Henderson <rth@redhat.com> 28236 28237 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns 28238 explicitly. 28239 282402002-03-17 Hans-Peter Nilsson <hp@bitrange.com> 28241 28242 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI 28243 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)). 28244 282452002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 28246 28247 * ifcvt.c (dead_or_predicable): Fix uninitialized variable. 28248 28249 * predict.c (estimate_bb_frequencies): Delete unused variables. 28250 282512002-03-17 Richard Henderson <rth@redhat.com> 28252 28253 * config/ia64/ia64.c (ia64_attribute_table): Move before 28254 targetm definition. Make static. 28255 282562002-03-17 Neil Booth <neil@daikokuya.demon.co.uk> 28257 28258 * c-common.h (yyparse, c_common_parse_file): New. 28259 * c-lang.c: Include c-common.h. 28260 (LANG_HOOKS_PARSE_FILE): Redefine. 28261 * c-lex.c: Include c-common.h. 28262 (yyparse): Rename c_common_parse_file. Call yyparse. 28263 * c-parse.in (yyparse): Remove macro. 28264 * c-tree.h (yyparse_1): Remove. 28265 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New. 28266 (LANG_HOOKS_INITIALIZER): Update. 28267 * langhooks.h (struct lang_hoooks): New hook parse_file. 28268 * toplev.c (compile_file): Use parse_file hook. 28269 * tree.h (yyparse): Remove. 28270 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine. 28271 282722002-03-17 Hans-Peter Nilsson <hp@bitrange.com> 28273 28274 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is 28275 float_truncate, not fix. 28276 ("*truncdfsf2_real"): Ditto. 28277 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting. 28278 28279 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define. 28280 282812002-03-16 Alexandre Oliva <aoliva@redhat.com> 28282 28283 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp 28284 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses 28285 where appropriate. Make the second reference to 28286 leaf_function_p a function call, as intended. Reindented. 28287 28288 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16. 28289 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'. 28290 28291 * config/mips/mips.md (addsi3, adddi3): Use scratch register to 28292 add register to non-constant into sp. 28293 28294 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New. 28295 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose. 28296 (mips16_gp_pseudo_rtx): Lose. 28297 (INIT_EXPANDERS): Deleted. 28298 * config/mips/mips.c (mips_init_machine_status): New. 28299 (mips_free_machine_status): New. 28300 (mips_mark_machine_status): New. 28301 (override_options): Set them. 28302 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to... 28303 (struct machine_function): ... new. Replaced all references. 28304 (mips_add_gc_roots): Don't mark them. 28305 (embedded_pic_fnaddr_reg): New, extracted from... 28306 (embedded_pic_offset): ... here. 28307 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg. 28308 (movsi): Likewise. 28309 283102002-03-16 Neil Booth <neil@daikokuya.demon.co.uk> 28311 28312 * cppinit.c: Revert -MD removal. 28313 283142002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28315 28316 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use 28317 soft registers by default for 68HC12. 28318 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12 28319 when compiling with -fomit-frame-pointer. 28320 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12. 28321 (expand_epilogue): Likewise. 28322 (m68hc11_gen_rotate): Use exg when rotating by 8. 28323 283242002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28325 28326 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare. 28327 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources. 28328 (splits): Remove unused add splits. 28329 ("*addhi3_68hc12"): Tune constraints. 28330 ("addhi_sp"): Try to use X instead of Y in all cases and if the 28331 constant fits in 8-bits and D is dead use abx/aby instructions. 28332 ("*addhi3"): Remove extern declaration of ix_reg. 28333 ("*subsi3"): Optimize and provide new split. 28334 ("subhi3"): Cleanup. 28335 ("*subhi3_sp"): Avoid saving X if we know it is dead. 28336 (arith splits): For 68hc12 save the address register on the stack 28337 and do the arithmetic operation with a pop. 28338 283392002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28340 28341 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid 28342 allocating QImode in address registers. 28343 ("*movqi_m68hc11"): Likewise. 28344 28345Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz> 28346 28347 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness. 28348 283492002-03-16 Neil Booth <neil@daikokuya.demon.co.uk> 28350 28351 * cppinit.c (print_help): Display -MD and -MMD. 28352 Don't display usage string. Update assertion syntax and 28353 typo. 28354 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD. 28355 (cpp_handle_option): Update. 28356 283572002-03-15 Chris Demetriou <cgd@broadcom.com> 28358 28359 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an 28360 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC, 28361 and define it so that regardless of target CPU size, 28362 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms 28363 of "int" rather than "long." 28364 283652002-03-15 Richard Henderson <rth@redhat.com> 28366 28367 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type 28368 size as a tree. 28369 283702002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28371 28372 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst. 28373 ("tstqi" split): Avoid using memory for tstqi on address register. 28374 (splits): Remove constraints. 28375 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12. 28376 ("cmpdf", "cmpsf"): Remove since not used. 28377 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2. 28378 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing. 28379 283802002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28381 28382 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case. 28383 ("neghi2"): Tighten constraints. 28384 ("one_cmplsi2"): Optimize and simplify split. 28385 * config/m68hc11/larith.asm (__negsi2): Likewise for library. 28386 283872002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28388 28389 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints 28390 and split of AND operation to clear the upper bits. 28391 ("*logicalsi3_zextqi"): Likewise. 28392 ("*logicallhi3_zexthi_ashift8"): Likewise. 28393 ("*logicalsi3_silshr16"): Likewise. 28394 ("logicalsi3_silshl16"): Likewise. 28395 ("anddi3", "iordi3", "xordi3" splits): Remove constraints. 28396 283972002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28398 28399 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function. 28400 (m68hc11_indirect_p): New function. 28401 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12. 28402 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of 28403 TARGET_M6812. 28404 (asm_print_register): Likewise. 28405 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare. 28406 (m68hc11_indirect_p): Declare. 28407 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'. 28408 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New. 28409 (TARGET_SWITCHES): New option -mrelax. 28410 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for 28411 destination. 28412 ("iorsi3", "xorsi3"): Likewise. 28413 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand. 28414 ("*andhi3_mem"): New to handle destination in memory with bclr 28415 and a scratch register. 28416 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise. 28417 ("*andhi3_const"): New when operand2 is constant. 28418 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise. 28419 ("*andhi3_gen"): Cleanup of the old "andhi3". 28420 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise. 28421 ("xorqi3"): Update constraints. 28422 284232002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28424 28425 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look 28426 for reg_equiv_memory_loc when the operand is a register that does 28427 not get a hard register (stack location). 28428 (tst_operand): After reload, accept all memory operand. 28429 (symbolic_memory_operand): Fix detection of symbolic references. 28430 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12 28431 accept symbols and any constant. 28432 284332002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28434 28435 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC 28436 note on the insn that sets the soft frame register. 28437 (must_parenthesize): ix and iy are also reserved names. 28438 (print_operand_address): One more place where parenthesis are required 28439 to avoid confusion with register names. 28440 (m68hc11_gen_movhi): Allow push of stack pointer. 28441 (m68hc11_check_z_replacement): Fix handling of parallel with a 28442 clobber. 28443 (m68hc11_z_replacement): Must update the REG_INC notes to tell what 28444 the replacement register is. 28445 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS 28446 and D8_REGS classes. 28447 (MODES_TIEABLE_P): All modes are tieable except QImode. 28448 284492002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28450 28451 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result. 28452 (___subdi3): Likewise. 28453 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location. 28454 (__map_data_section): Optimize 68hc11 case. 28455 284562002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr> 28457 28458 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher 28459 than a shift to avoid adding a register with itself. 28460 (m68hc11_memory_move_cost): Take into account NO_REGS. 28461 (m68hc11_register_move_cost): Update and use memory move cost 28462 for soft registers. 28463 (m68hc11_address_cost): Make cost of valid offset not 0 so that 28464 it gives more opportunities to cse to optimize. 28465 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode. 28466 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update. 28467 284682002-03-15 Mark Mitchell <mark@codesourcery.com> 28469 28470 * c-common.c (statement_code_p): Handle CLEANUP_STMT. 28471 * c-common.def (CLEANUP_STMT): New tree node. 28472 * c-common.h (CLEANUP_DECL): New macro. 28473 (CLEANUP_EXPR): Likewise. 28474 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT. 28475 * expr.c (expand_expr): Tidy. 28476 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT. 28477 * tree-inline.c (initialize_inlined_parameters): Clean up 28478 new local variables. 28479 284802002-03-15 Jakub Jelinek <jakub@redhat.com> 28481 28482 PR bootstrap/4128 28483 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test 28484 before movrXX only, use reg_overlap_mentioned_p. 28485 Only special case NE if just one insn can be generated. 28486 284872002-03-15 Jason Merrill <jason@redhat.com> 28488 28489 * varasm.c (assemble_variable): Call resolve_unique_section before 28490 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL 28491 of error_mark_node. 28492 284932002-03-15 Richard Earnshaw <rearnsha@arm.com> 28494 28495 PR target/5170 28496 * arm.md (split pattern for thumb shiftable immediates): Add comment 28497 explaining non-obvious test. 28498 284992002-03-15 Richard Earnshaw <rearnsha@arm.com> 28500 28501 PR target/5712 28502 * arm.md (movaddr, movaddr_insn): Delete. 28503 285042002-03-15 Jason Merrill <jason@redhat.com> 28505 28506 * toplev.c (wrapup_global_declarations): Clarify variable handling. 28507 -fkeep-static-consts doesn't apply to comdats. 28508 285092002-03-14 Richard Henderson <rth@redhat.com> 28510 28511 * c-decl.c: Include c-pragma.h. 28512 (start_decl, start_function): Invoke maybe_apply_pragma_weak. 28513 (finish_function): Tidy. 28514 * c-pragma.c: Include c-common.h. 28515 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New. 28516 (handle_pragma_weak): Use them. 28517 (init_pragma): Register pending_weaks. 28518 * c-pragma.h (maybe_apply_pragma_weak): Declare. 28519 * print-tree.c (print_node): Print DECL_WEAK. 28520 * varasm.c (mark_weak_decls): Remove. 28521 (remove_from_pending_weak_list): Remove. 28522 (add_weak): Remove. 28523 (asm_emit_uninitialised): Call globalize_decl for weak commons. 28524 (weak_decls): Make a tree_list. 28525 (declare_weak): Cons weak_decls directly. 28526 (globalize_decl): Remove weak_decls elements directly. 28527 (weak_finish): Simplify weak_decls walk. Don't weaken unused 28528 symbols. Don't pretend to handle aliases. 28529 (init_varasm_once): Update weak_decls registry. 28530 * Makefile.in: Update dependencies. 28531 285322002-03-14 Richard Henderson <rth@redhat.com> 28533 28534 PR target/5312 28535 * config/ia64/ia64.c: Include tm_p.h last. 28536 (gen_nop_type): Remove duplicate definition. 28537 (cycle_end_fill_slots): Set sched_data for second L slot. 28538 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots. 28539 (nop_cycles_until): Fix typos. 28540 285412002-03-15 Jakub Jelinek <jakub@redhat.com> 28542 28543 PR optimization/5891 28544 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag. 28545 285462002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com> 28547 28548 * config/ia64/unwind-ia64.c: Handle copy_state and label_state 28549 descriptors correctly. 28550 285512002-03-14 Michael Meissner <meissner@redhat.com> 28552 28553 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to 28554 100, allowing MAX_UNROLLED_INSNS to be overridden. 28555 28556 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by 28557 --param. 28558 28559 * unroll.c (params.h): Include. 28560 (MAX_UNROLLED_INSNS): Delete, now in params.h. 28561 28562 * doc/invoke.texi (--param max-unroll-insns): Document. 28563 28564 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency. 28565 285662002-03-14 Richard Earnshaw <rearnsha@arm.com> 28567 28568 * arm.md: Fix warnings about constraints in peepholes and splits. 28569 285702002-03-14 Zack Weinberg <zack@codesourcery.com> 28571 28572 * cpphash.h (struct lexer_state): Remove line_extension member. 28573 * cpplib.c (dequote_string, do_linemarker): New functions. 28574 (linemarker_dir): New data object. 28575 (DIRECTIVE_TABLE): No longer need to interpret #line in 28576 preprocessed source. Delete obsolete comment about return 28577 values of handlers. 28578 (end_directive, directive_diagnostics, _cpp_handle_directive): 28579 Don't muck with line_extension. 28580 (directive_diagnostics): No need to issue warnings for 28581 linemarkers here. 28582 (_cpp_handle_directive): Issue warnings for linemarkers here, 28583 when appropriate. Dispatch linemarkers to do_linemarker, not 28584 do_line. 28585 (do_line): Code to handle linemarkers split out to do_linemarker. 28586 Convert escape sequences in filename argument, both places. 28587 28588 * cppmacro.c (quote_string): Rename cpp_quote_string and 28589 export. All callers changed. 28590 * cpplib.h (cpp_quote_string): Prototype. 28591 * cppmain.c (print_line): Call cpp_quote_string on to_file 28592 before printing it. 28593 28594 * doc/cpp.texi: Document that escapes are now interpreted in 28595 #line and in linemarkers, and that non-printing characters are 28596 converted to octal escapes when linemarkers are generated. 28597 28598Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz> 28599 28600 * emit-rtl.c (try_split): Use delete_insns. 28601 * recog.c (split_all_insns): Fix terminating condition. 28602 286032002-03-14 Richard Earnshaw <rearnsha@arm.com> 28604 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> 28605 28606 PR target/5828 28607 * arm.c (arm_output_epilogue): Fix floating-point register save 28608 adjustment when using a frame pointer. 28609 286102002-03-14 Richard Sandiford <rsandifo@redhat.com> 28611 28612 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros. 28613 * config/mips/mips.c (compute_frame_size): Retrofit them here. 28614 (save_restore_insns, mips_expand_epilogue): And here. 28615 (build_mips16_call_stub): And here. 28616 (mips_function_value): Use the new macros to decide whether a single 28617 or complex float can be returned in floating-point registers. Return 28618 a parallel rtx in the complex case. 28619 28620Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz> 28621 28622 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup 28623 call after liveness analysis. 28624 28625 * recog.c (split_insn): Use delete_insn_and_edges. 28626 28627 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump 28628 instructions to have branch prediction notes. 28629 * ia64reorg.c (ia64_reorg): Do not rebuild CFG. 28630 286312002-03-14 Geoffrey Keating <geoffk@redhat.com> 28632 28633 * configure.in: Don't pass -Wno-long-long to a ADA compiler 28634 that doesn't support it. 28635 * configure: Regenerate. 28636 286372002-03-13 Jakub Jelinek <jakub@redhat.com> 28638 28639 PR target/5626 28640 * config/sparc/sparc.md (normal_branch, inverted_branch, 28641 normal_fp_branch, inverted_fp_branch, normal_fpe_branch, 28642 inverted_fp_branch): Adjust calls to output_cbranch. 28643 Set length attribute. 28644 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to 28645 output_v9branch. Set length attribute. 28646 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New 28647 predicates. 28648 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode. 28649 (output_cbranch): Likewise. Handle far branches. 28650 (output_v9branch): Handle far branches. 28651 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch): 28652 Adjust prototypes. 28653 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and 28654 noov_compare64_op predicates. 28655 286562002-03-13 Jason Merrill <jason@redhat.com> 28657 28658 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr 28659 into the function and constify it. 28660 * gthr-dce.h, gthr-solaris.h: Likewise. 28661 286622002-03-13 David Edelsohn <edelsohn@gnu.org> 28663 28664 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define. 28665 * config/rs6000/rs6000.c (rs6000_va_arg): Use 28666 std_expand_builtin_va_arg if not ABI_V4. 28667 286682002-03-13 Jason Merrill <jason@redhat.com> 28669 28670 * varasm.c (globalize_decl): New fn. 28671 (assemble_start_function): Use it. 28672 (asm_emit_uninitialized): Use it. 28673 (assemble_alias): Use it. 28674 (assemble_variable): Use it. 28675 286762002-03-13 Hans-Peter Nilsson <hp@axis.com> 28677 28678 * config/cris/cris.c (cris_target_asm_function_prologue): Revert 28679 2002-03-12 internal visibility change. 28680 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding 28681 visibility into SYMBOL_REF_FLAG. 28682 286832002-03-13 Ulrich Weigand <uweigand@de.ibm.com> 28684 28685 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with 28686 VOIDmode operand. Add compile-time optimization for constant results. 28687 286882002-03-12 Jason Merrill <jason@redhat.com> 28689 28690 * c-typeck.c (convert_for_assignment): Don't allow conversions 28691 between pointers and references. Only allow lvalues to convert to 28692 reference. 28693 286942002-03-13 Hartmut Penner <hpenner@de.ibm.com> 28695 28696 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code 28697 before prologue, to avoid scheduling problems. 28698 286992002-03-13 Jakub Jelinek <jakub@redhat.com> 28700 28701 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove. 28702 (ELIMINABLE_REGS): Add sfp->sp. 28703 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too. 28704 287052002-03-13 Jakub Jelinek <jakub@redhat.com> 28706 28707 PR optimization/5892 28708 * config/ia64/ia64.c (rotate_one_bundle): Update current packet. 28709 287102002-03-13 Jakub Jelinek <jakub@redhat.com> 28711 28712 * loop.c (basic_induction_var): Don't call convert_modes if mode 28713 classes are different. 28714 287152002-03-12 Richard Henderson <rth@redhat.com> 28716 28717 PR optimization/5901 28718 * function.c (reposition_prologue_and_epilogue_notes): Position 28719 the markers after/before the last/first insn not deleted. 28720 287212002-03-12 Richard Henderson <rth@redhat.com> 28722 28723 PR optimization/5878 28724 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h, 28725 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h 28726 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic. 28727 28728 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h, 28729 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set 28730 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic. 28731 28732 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New. 28733 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM. 28734 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK 28735 also. Don't set it if not flag_pic. 28736 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM 28737 to be INVALID_REGNUM when not used. 28738 287392002-03-13 Aldy Hernandez <aldyh@redhat.com> 28740 28741 * expmed.c (store_bit_field): Reset alias set for memory. 28742 (extract_bit_field): Same. 28743 287442002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 28745 28746 * c-common.c (c_tree_code_type, c_tree_code_length, 28747 c_tree_code_name, add_c_tree_codes): Delete. 28748 * c-common.h (add_c_tree_codes): Delete. 28749 * c-lang.c (tree_code_type, tree_code_length, tree_code_name): 28750 Define. 28751 * c-objc-common.c (c_objc_common_init): Don't call 28752 add_c_tree_codes, instead set lang_unsafe_for_reeval. 28753 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length, 28754 objc_tree_code_name, add_objc_tree_codes): Delete. 28755 (objc_init): Don't call add_objc_tree_codes. 28756 * objc/objc-lang.c (tree_code_type, tree_code_length, 28757 tree_code_name): Define. 28758 * toplev.c (lang_independent_init): Don't set 28759 tree_code_length[IDENTIFIER_NODE]. 28760 * tree.c (tree_code_type, tree_code_length, tree_code_name): 28761 Delete definitions, moved to language front-ends. 28762 * tree.def (IDENTIFIER_NODE): Hardwire the length. 28763 * tree.h (tree_code_type, tree_code_length, tree_code_name): 28764 Const-ify. 28765 (tree_code_length): Change type to unsigned char. 28766 287672002-03-12 Richard Henderson <rth@redhat.com> 28768 28769 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03 28770 internal visibility change. 28771 287722002-03-12 Bob Wilson <bob.wilson@acm.org> 28773 28774 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use 28775 validize_mem() instead of change_address to avoid clobbering 28776 memory attributes. 28777 287782002-03-12 Neil Booth <neil@daikokuya.demon.co.uk> 28779 28780 * c-lex.h (position_after_whitespace): Remove. 28781 287822002-03-12 Jakub Jelinek <jakub@redhat.com> 28783 28784 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast. 28785 (lex_string): Use unsigned char pointers. 28786 287872002-03-12 Ulrich Weigand <uweigand@de.ibm.com> 28788 28789 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent 28790 is not a valid memory_operand. 28791 287922002-03-12 Bob Wilson <bob.wilson@acm.org> 28793 28794 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS. 28795 * config/xtensa/lib1funcs.asm: Fix copyright to include 28796 special case for libgcc files. 28797 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0. 28798 (__divsi3): Likewise. 28799 (__umodsi3): Likewise. 28800 (__modsi3): Likewise. 28801 * config/xtensa/lib2funcs.S: Fix copyright to include 28802 special case for libgcc files. 28803 288042002-03-12 Tom Rix <trix@redhat.com> 28805 28806 * collect2.c (resolve_lib_name): Move outside of 28807 OBJECT_FORMAT_COFF ifdef. 28808 (ignore_library): Same. 28809 288102002-03-12 Bob Wilson <bob.wilson@acm.org> 28811 28812 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define. 28813 288142002-03-12 Bob Wilson <bob.wilson@acm.org> 28815 28816 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch 28817 to function_section before writing out the constant pool. 28818 288192002-03-12 David Edelsohn <edelsohn@gnu.org> 28820 28821 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and 28822 zero_constant. 28823 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting. 28824 288252002-03-12 Alan Modra <amodra@bigpond.net.au> 28826 28827 * config/rs6000/rs6000.md (addsi3): Optimize sign extension. 28828 (adddi3): Likewise. 28829 (movdf): Likewise. 28830 (movdi): Likewise. 28831 (cmpsi splitter): Likewise. 28832 (modsi3): Fail if <= 0. 28833 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove 28834 redundant test when HOST_BITS_PER_WIDE_INT != 32. 28835 (reg_or_sub_cint64_operand): Likewise. 28836 (num_insns_constant_wide): Optimize sign extension. 28837 (rs6000_legitimize_address): Likewise. 28838 288392002-03-12 Andrew MacLeod <amacleod@redhat.com> 28840 28841 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. 28842 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. 28843 288442002-03-12 Andrew MacLeod <amacleod@redhat.com> 28845 28846 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in 28847 address calculation. 28848 288492002-03-12 Ulrich Weigand <uweigand@de.ibm.com> 28850 28851 * config/s390/s390.md (reload_insi, reload_indi): Change mode of 28852 scratch register to DImode / TImode. 28853 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch 28854 register used does not overlap the target. 28855 288562002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 28857 28858 * Makefile.in (debug.o): Depend on debug.h. 28859 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify. 28860 * debug.c (do_nothing_debug_hooks): Likewise. 28861 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks, 28862 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks, 28863 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise. 28864 * dwarf2out.c (dwarf2_debug_hooks): Likewise. 28865 * dwarfout.c (dwarf_debug_hooks): Likewise. 28866 * integrate.c (output_inline_function): Likewise. 28867 * objc/objc-act.c (synth_module_prologue): Likewise. 28868 * sdbout.c (sdb_debug_hooks): Likewise. 28869 * toplev.c (debug_hooks): Likewise. 28870 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. 28871 288722002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 28873 28874 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h, 28875 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h, 28876 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h, 28877 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h, 28878 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete. 28879 * defaults.h (POINTER_SIZE): Define. 28880 * doc/tm.texi (POINTER_SIZE): Document default. 28881 288822002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 28883 28884 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type. 28885 288862002-03-11 Richard Henderson <rth@redhat.com> 28887 28888 * toplev.c (rest_of_compilation): Call purge_all_dead_edges 28889 if rebuild_label_notes_after_reload. 28890 288912002-03-12 Hans-Peter Nilsson <hp@axis.com> 28892 28893 * config/cris/cris.c (cris_target_asm_function_prologue): Do not 28894 emit pic register load if "internal" visibility. 28895 (cris_print_operand): Avoid traditional-warning for 0xffffffff. 28896 (cris_expand_builtin_va_arg): Do all computations on trees. 28897 288982002-03-11 Richard Henderson <rth@redhat.com> 28899 28900 * rtlanal.c: Include recog.h. 28901 (keep_with_call_p): Fix thinko. 28902 * Makefile.in (rtlanal.o): Update dependencies. 28903 289042002-03-11 Chris Meyer <cmeyer@gatan.com> 28905 28906 * genflags.c (gen_insn): Use IS_VSPACE. 28907 * genoutput.c (output_insn_data): Likewise. 28908 (process_template): Likewise. 28909 289102002-03-11 Richard Henderson <rth@redhat.com> 28911 28912 * toplev.c (rest_of_compilation): Don't compile if we've had errors. 28913 289142002-03-11 Neil Booth <neil@daikokuya.demon.co.uk> 28915 28916 * Makefile.in: Update. 28917 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi. 28918 Update documentation. 28919 * doc/gcc.texi: Include cppopts.texi and cppenv.texi. 28920 * doc/cpp.texi: Include cppopts.texi and cppenv.texi. 28921 289222002-03-11 Zack Weinberg <zack@codesourcery.com> 28923 28924 * Makefile.in: Give texi2pod its input file as a command line 28925 argument, not on stdin. 28926 289272002-03-11 Dan Nicolaescu <dann@ics.uci.edu> 28928 Daniel Berlin <dan@dberlin.org> 28929 28930 C++ alias analysis improvement. 28931 * alias.c (record_component_aliases): Record aliases for base 28932 classes too. 28933 289342002-03-11 Ulrich Weigand <uweigand@de.ibm.com> 28935 28936 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register. 28937 289382002-03-11 Douglas B Rupp <rupp@gnat.com> 28939 28940 * toplev.c (vms_fopen): Remove, not needed. 28941 28942 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT. 28943 28944 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define. 28945 28946 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space 28947 for FP, already done later. 28948 28949 * toplev.c (debug_args): Add entry for VMS_DEBUG. 28950 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc. 28951 289522002-03-11 Richard Sandiford <rsandifo@redhat.com> 28953 28954 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New. 28955 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if 28956 LARGEST_EXPONENT_IS_NORMAL for the given mode. 28957 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO. 28958 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO. 28959 (ediv, emul, eldexp, esqrt): Likewise. 28960 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise. 28961 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL. 28962 (saturate): New function. 28963 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL. 28964 (make_nan): Use a saturation value instead of a NaN if 28965 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens. 28966 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing 28967 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as 28968 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO. 28969 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL. 28970 (_fpmul_parts, _fpdiv_parts): Only round to nearest if 28971 !ROUND_TOWARDS_ZERO. 28972 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document. 28973 (ROUND_TOWARDS_ZERO): Document. 28974 289752002-03-11 Andreas Jaeger <aj@suse.de> 28976 28977 * cfg.c (dump_flow_info): Remove unused variable. 28978 289792002-03-11 Hans-Peter Nilsson <hp@bitrange.com> 28980 28981 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all 28982 computations on trees. 28983 289842002-03-10 Richard Henderson <rth@redhat.com> 28985 28986 PR 5693: 28987 * reload.c (copy_replacements_1): New. 28988 (copy_replacements): Use it to recurse through the rtx. 28989 289902002-03-10 Richard Henderson <rth@redhat.com> 28991 28992 * loop.c (strength_reduce): Compute number of iterations as 28993 unsigned HOST_WIDE_INT. 28994 289952002-03-10 Richard Henderson <rth@redhat.com> 28996 28997 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw 28998 to move away from the end of the block. 28999 290002002-03-10 Neil Booth <neil@daikokuya.demon.co.uk> 29001 29002 PR preprocessor/5899 29003 * cppinit.c (init_dependency_output): Don't ignore -dM etc. 29004 290052002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29006 29007 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify. 29008 29009 * attribs.c (decl_attributes): Fix signed/unsigned warning. 29010 290112002-03-10 Hans-Peter Nilsson <hp@bitrange.com> 29012 29013 * config/mmix/mmix.c: Improve comments. 29014 (mmix_target_asm_function_prologue): Drop variable 29015 empty_stack_frame. Don't allocate unused slot above fp. 29016 (mmix_target_asm_function_epilogue): Mirror prologue changes. 29017 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have 29018 brace in first column. 29019 (enum reg_class): Ditto. 29020 (FIRST_PARM_OFFSET): Now 0. 29021 (USER_LABEL_PREFIX): Remove #if 0:d definition. 29022 290232002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29024 29025 * combine.c (make_extraction): Fix error in last change. 29026 290272002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29028 29029 * c4x.c (c4x_fp_reglist): Const-ify. 29030 * cris.c (cris_print_operand): Likewise. 29031 * i386.c (ix86_va_arg): Likewise. 29032 * ia64/unwind-ia64.c (unw_decode_table): Likewise. 29033 * m32r.c (m32r_hard_regno_mode_ok): Likewise. 29034 * m32r.h (m32r_hard_regno_mode_ok): Likewise. 29035 * mcore.c (regno_reg_class, mcore_unique_section): Likewise. 29036 * mcore.h (regno_reg_class): Likewise. 29037 * mips.c (gen_int_relational): Likewise. 29038 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise. 29039 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise. 29040 * pdp11.c (move_costs): Likewise. 29041 * pj.h (INITIALIZE_TRAMPOLINE): Likewise. 29042 * s390.c (s390_branch_condition_mnemonic, regclass_map): 29043 Likewise. 29044 * s390.h (regclass_map): Likewise. 29045 * sh.c (shift_amounts): Likewise. 29046 * sh.md (rotlsi3): Likewise. 29047 290482002-03-09 Geoffrey Keating <geoffk@redhat.com> 29049 29050 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER. 29051 (ne0+5): Use new clobber to generate proper shift pattern. 29052 Patch by Michael Matz <matz@kde.org>. 29053 290542002-03-09 Andreas Schwab <schwab@suse.de> 29055 29056 * gcc.c (validate_all_switches): Also handle `%W{...}'. 29057 290582002-03-09 Geoffrey Keating <geoffk@redhat.com> 29059 29060 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define. 29061 290622002-03-09 Jakub Jelinek <jakub@redhat.com> 29063 29064 PR middle-end/5877 29065 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW 29066 even for non-representable constants. 29067 29068Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 29069 29070 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share. 29071 * function.c (fixup_var_refs): Add MAY_SHARE parameter. 29072 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise. 29073 (fixup_var_refs_insn, fixup_var_refs_1): Likewise. 29074 (pop_function_context): Compute MAY_SHARE parameter for 29075 fixup_var_refs. 29076 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR. 29077 (gen_mem_addressof): Call fixup_var_refs with new parm. 29078 29079 * combine.c (make_extraction): Don't make extension of CONST_INT. 29080 290812002-03-09 Alexandre Oliva <aoliva@redhat.com> 29082 29083 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0 29084 in o32 and o64 ABIs. 29085 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h, 29086 but getting fixed-size structs passed in registers regardless of 29087 padding in o32 and o64 ABIs. 29088 29089 * config/mips/mips.c (mips_va_arg): Apply big-endianness address 29090 offset before loading address of argument passed by transparent 29091 reference. 29092 290932002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca> 29094 29095 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete. 29096 290972002-03-09 Alexandre Oliva <aoliva@redhat.com> 29098 29099 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg 29100 marker such that registers after it are saved. 29101 291022002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29103 29104 * sparc.c (arith_4096_operand): Fix error in last change. 29105 291062002-03-08 Alexandre Oliva <aoliva@redhat.com> 29107 29108 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate 29109 defaults for MEABI. 29110 291112002-03-08 Aldy Hernandez <aldyh@redhat.com> 29112 29113 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for 29114 vectors. 29115 291162002-03-08 Aldy Hernandez <aldyh@redhat.com> 29117 29118 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec. 29119 29120Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz> 29121 29122 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been 29123 removed; fix return value. 29124 * combine.c (combine_instructions): Dirtify blocks where we failed to 29125 update liveness; purge dead edges; use update_life_info_in_dirty_blocks. 29126 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine. 29127 291282002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29129 29130 * gcse.c (insert_insn_end_bb): Fix typo in last change. 29131 29132Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz> 29133 29134 * recog.c (peephole2_optimize): Re-distribute EH edges. 29135 291362002-03-08 Neil Booth <neil@daikokuya.demon.co.uk> 29137 29138 * expr.c (expand_expr): Use unsave lang hook. 29139 * langhooks-def.h (LANG_HOOKS_UNSAVE): New. 29140 (LANG_HOOKS_INITIALIZER): Update. 29141 * langhooks.h (struct lang_hooks): New hook unsave. 29142 * tree.c (lang_unsave, lang_unsave_expr_now): Remove. 29143 (unsave_expr_1): Remove unused lang_unsave_expr_now. 29144 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input. 29145 (unsave_expr_now): Remove. 29146 * tree.h (unsave_expr_now, lang_unsave, 29147 lang_unsave_expr_now): Remove. 29148 (lhd_unsave): New. 29149 291502002-03-08 Andreas Jaeger <aj@suse.de> 29151 29152 * flow.c (propagate_block_delete_insn): Remove unused variable. 29153 291542002-03-08 Kazu Hirata <kazu@hxi.com> 29155 29156 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten 29157 insn length for memory load/store. 29158 291592002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org> 29160 29161 * doc/install.texi (--with-libiconv-prefix): Document. 29162 291632002-03-08 Michael Y. Brukman <myb2@cornell.edu> 29164 29165 * doc/sourcebuild.texi: Fix typo. 29166 291672002-03-08 Jakub Jelinek <jakub@redhat.com> 29168 29169 PR c/3711 29170 * builtins.c (std_expand_builtin_va_arg): Do all computations on 29171 trees. 29172 29173Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 29174 29175 * rtl.c (copy_most_rtx): Move from here ... 29176 * emit-rtl.c (copy_most_rtx): ... to here. 29177 291782002-03-08 Alexandre Oliva <aoliva@redhat.com> 29179 29180 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with 29181 SUBTARGET_CPP_SIZE_SPEC. 29182 * config/mips/abi64.h (LONG_MAX_SPEC): Delete. 29183 29184 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify. 29185 291862002-03-07 Matt Hiller <hiller@redhat.com> 29187 29188 * gensupport.c (first_dir_md_include): Renamed from include; 29189 change all references. 29190 (last_dir_md_include): Renamed from last_include; change all 29191 references. 29192 (init_md_reader): Unconditionally initialize base_dir whether or 29193 not filename is a relative path. 29194 291952002-03-07 Alexandre Oliva <aoliva@redhat.com> 29196 29197 * config/fp-bit.c (_unord_f2): Compile it in even if 29198 US_SOFTWARE_GOFAST is enabled. 29199 29200 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as 29201 NULL_RTX. Set all HFmode operations as NULL_RTX. 29202 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is 29203 NULL_RTX, try reversing the comparison and the operands. 29204 292052002-03-06 Ulrich Weigand <uweigand@de.ibm.com> 29206 29207 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP. 29208 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP 29209 and MATCH_OP_DUP. 29210 29211Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz> 29212 29213 * reload1.c (reload_cse_delete_noop_set): Purge dead edges. 29214 29215Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz> 29216 29217 * basic-block.h (fixup_abnormal_edges): Declare. 29218 * reload1.c (fixup_abnormal_edges): New function. 29219 * reg-stack.c (convert_regs): Use it. 29220 29221 * gcse.c (insert_insn_end_bb): Handle trapping insns. 29222 29223 * gcse.c (hash_scan_set): Refuse instructions with EH edges. 29224 292252002-03-07 Richard Sandiford <rsandifo@redhat.com> 29226 29227 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New. 29228 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New. 29229 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New. 29230 (HONOR_SIGN_DEPENDENT_ROUNDING): New. 29231 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS. 29232 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y 29233 unless x and y could be infinite. 29234 (expand_unordered_cmp): New, mostly split from expand_tree_builtin. 29235 Check that the common type of both arguments is a real, even for 29236 targets without unordered comparisons. Allow an integer argument 29237 to be compared against a real. 29238 (expand_tree_builtin): Use expand_unordered_cmp. 29239 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros. 29240 * cse.c (fold_rtx): Likewise. Fix indentation. 29241 * fold-const.c (fold_real_zero_addition_p): New. 29242 (fold): Use it, and the new HONOR_... macros. 29243 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros. 29244 * jump.c (reversed_comparison_code_parts): After searching for 29245 the true comparison mode, use HONOR_NANS to decide whether it 29246 can be safely reversed. 29247 (reverse_condition_maybe_unordered): Remove IEEE check. 29248 * simplify-rtx.c (simplify_binary_operation): Use the new macros 29249 to decide which simplifications are valid. Allow the following 29250 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b), 29251 and (a - -b) to (a + b). 29252 (simplify_relational_operation): Use HONOR_NANS. 29253 * doc/tm.texi: Document the MODE_HAS_... macros. 29254 292552002-03-07 Richard Earnshaw <rearnsha@arm.com> 29256 29257 * combine.c (simplify_comparison): If simplifying a logical shift 29258 right and compare with constant, force the comparison to unsigned. 29259 292602002-03-07 Aldy Hernandez <aldyh@redhat.com> 29261 29262 * doc/invoke.texi: Add documentation for -mabi=no-altivec. 29263 29264 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add 29265 -mabi=no-altivec 29266 (alt_reg_names): Remove % for vrsave. 29267 292682002-03-06 Richard Henderson <rth@redhat.com> 29269 29270 PR optimization/5844 29271 * genemit.c (gen_exp): New argument used. Invoke copy_rtx 29272 if used indicates we've already emitted one copy of an operand. 29273 (gen_insn, gen_expand, output_add_clobbers): Supply a null used. 29274 (gen_split): Supply a non-null used. 29275 292762002-03-06 Ulrich Weigand <uweigand@de.ibm.com> 29277 29278 * reload1.c (reload): Unshare all rtl after reload is done. 29279 29280 * simplify-rtx.c (simplify_plus_minus): Do not abort, 29281 but simply fail if the expression is too complex to simplify. 29282 (simplify_gen_binary): Handle simplify_plus_minus failures. 29283 29284Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz> 29285 29286 * toplev.c (rest_of_compilation): Do jump threading before SSA path; 29287 consistently call delete_trivially_dead_insns after CSE and GCSE; 29288 fix DFI_life dumping; do jump threading after liveness; do crossjumping 29289 after liveness2; update comment in last crossjumping. 29290 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block. 29291 29292Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com) 29293 29294 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains 29295 after completing fast dead code elimination. 29296 29297 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a 29298 COMPARE operator. 29299 293002002-03-06 Phil Edwards <pme@gcc.gnu.org> 29301 29302 * version.c: Fix misplaced leading blanks on first line. 29303 29304Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz> 29305 29306 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source. 29307 29308Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz> 29309 29310 * cfgcleanup.c (mentions_nonequal_regs): New function. 29311 (thread_jump): Use it. 29312 * toplev.c (rest_of_compilation): Run jump threading after 29313 liveness. 29314 293152002-03-06 Jakub Jelinek <jakub@redhat.com> 29316 29317 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05 29318 patch. 29319 29320Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz> 29321 29322 * predict.c (estimate_bb_frequencies): Do not reload the 29323 frequencies from notes. 29324 29325Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz> 29326 29327 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New. 29328 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare 29329 29330 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks, 29331 delete_noop_moves): Return indeger. 29332 * flow.c (ndead): New variable. 29333 (propagate_block_delete_insn): Use delete_insn_and_edges; remove 29334 BB argument; update callers. 29335 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges. 29336 (life_analysis): Do not call purge_all_dead_edges. 29337 (update_life_info): Return number of deleted insns; print statistics. 29338 (update_life_info_in_dirty_blocks): likewise. 29339 (delete_noop_moves): Use delete_insn_and_edges; print statistics; 29340 return number of insns deleted. 29341 29342 * cse.c: Include timevar.h 29343 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument; 29344 iterate until stabilizes; print statistics; return number of killed 29345 insns. 29346 * Makefile.in: (cse.o): Add timevar.h dependency 29347 * rtl.h (delete_trivially_dead_insns): New. 29348 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer. 29349 * toplev.c (rest_of_compilation): Update callers. 29350 29351 * cfgcleanup.c (try_optimize_cfg): Kill blocks. 29352 (try_optimize_cfg): Do not update liveness. 29353 (cleanup-cfg): Loop until try_optimize_cfg and dead code 29354 removal stabilizes; use delete_trivially_dead_insns. 29355 29356 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges. 29357 293582002-03-05 Zack Weinberg <zack@codesourcery.com> 29359 29360 * cppmain.c (setup_callbacks): Disable #pragma and #ident 29361 callbacks when processing assembly language. 29362 293632002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca> 29364 29365 * pa.h (ASM_FILE_END): Define. 29366 * som.h (ASM_FILE_END): Delete. 29367 29368 * pa.c (function_arg): Don't pass floats in general registers in 29369 indirect calls if TARGET_ELF32. 29370 293712002-03-05 Richard Henderson <rth@redhat.com> 29372 29373 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float. 29374 293752002-03-05 Danny Smith <dannysmith@users.sourceforge.net> 29376 29377 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define. 29378 293792002-03-05 Jakub Jelinek <jakub@redhat.com> 29380 29381 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc 29382 -r command line. Don't hide any symbols if not building 29383 shared libgcc. 29384 29385Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz> 29386 29387 * cfg.c (dump_flow_info): Warn about profile mismatches. 29388 * cfgrtl.c (verify_flow_info): Few aditional sanity checks. 29389 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps. 29390 293912002-03-05 Jakub Jelinek <jakub@redhat.com> 29392 29393 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2 29394 wide volatile memory by parts. 29395 293962002-03-05 Jakub Jelinek <jakub@redhat.com> 29397 29398 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def 29399 is NULL. 29400 294012002-03-05 Richard Henderson <rth@redhat.com> 29402 29403 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error. 29404 294052002-03-04 Geoffrey Keating <geoffk@redhat.com> 29406 29407 * toplev.c (documented_lang_options): Document more 29408 language-specific options. 29409 * doc/invoke.texi (Warning Options): Correct documentation for 29410 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers. 29411 * c-decl.c (c_decode_option): Use a table to handle warning options. 29412 294132002-03-05 Hans-Peter Nilsson <hp@bitrange.com> 29414 29415 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second 29416 parameter to mmix_encode_section_info. 29417 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking 29418 relocatably. Always produce ELF, not mmo if linking relocatably. 29419 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter 29420 first is nonzero, don't add symbol prefix. 29421 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak 29422 prototype accordingly. 29423 294242002-03-04 Krister Walfridsson <cato@df.lth.se> 29425 29426 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file. 29427 294282002-03-05 Joseph S. Myers <jsm28@cam.ac.uk> 29429 29430 * configure.in: Increase required makeinfo version to 4.1. 29431 * configure: Regenerate. 29432 294332002-03-04 Geoffrey Keating <geoffk@redhat.com> 29434 29435 * .cvsignore: Remove *.info* and genrtl*; these files are generated 29436 elsewhere now. 29437 294382002-03-04 Joseph S. Myers <jsm28@cam.ac.uk> 29439 29440 * doc/include/texinfo.tex: Update to version 2002-03-01.06. 29441 * doc/invoke.texi: Fix @math uses. 29442 29443Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz> 29444 29445 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables 29446 removal 29447 294482002-03-03 Aldy Hernandez <aldyh@redhat.com> 29449 29450 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian. 29451 (powerpc-*-eabisimaltivec*): Same. 29452 29453 * config/rs6000/t-ppcendian: New. 29454 294552002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 29456 29457 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions 29458 nonimmediate_src_operand and nonimmediate_lsrc_operand to 29459 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE. 29460 294612002-03-03 Richard Henderson <rth@redhat.com> 29462 29463 * toplev.c (rest_of_decl_compilation): Revert last two changes. 29464 294652002-03-03 Zack Weinberg <zack@codesourcery.com> 29466 29467 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c, 29468 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c, 29469 tree.c, config/m68k/m68k.c: 29470 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef 29471 REAL_ARITHMETIC blocks unconditional. Delete some further 29472 #ifdef blocks predicated on REAL_ARITHMETIC. 29473 * flags.h, toplev.c: Delete remaining references to 29474 flag_pretend_float. 29475 29476 * doc/invoke.texi: Remove documentation of -fpretend-float. 29477 * doc/tm.texi: Describe the various REAL_* macros as provided by 29478 real.h, not by the target configuration files. 29479 29480 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h, 29481 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h, 29482 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, 29483 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h, 29484 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h, 29485 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h, 29486 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h, 29487 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h, 29488 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, 29489 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h, 29490 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h, 29491 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h, 29492 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h, 29493 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h, 29494 config/xtensa/xtensa.h: 29495 Do not define, undefine, or mention in comments any of 29496 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF, 29497 REAL_VALUE_ISNAN, REAL_VALUE_ISINF, 29498 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE, 29499 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL, 29500 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS, 29501 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX, 29502 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT, 29503 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE, 29504 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT. 29505 295062002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29507 29508 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h, 29509 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h, 29510 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, 29511 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, 29512 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, 29513 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD): 29514 Delete. 29515 * defaults.h (BITS_PER_WORD): Define. 29516 * doc/tm.texi (BITS_PER_WORD): Document default value. 29517 29518 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h, 29519 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c, 29520 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete. 29521 295222002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29523 29524 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in 29525 lieu of explicit sizeof/sizeof. 29526 * i386.c (override_options, ix86_init_mmx_sse_builtins, 29527 ix86_expand_builtin): Likewise. 29528 * mips.c (mips_add_gc_roots): Likewise. 29529 * mmix.c (mmix_output_condition): Likewise. 29530 * rs6000.c (rs6000_override_options, altivec_expand_builtin, 29531 altivec_init_builtins): Likewise. 29532 * sparc.c (mark_ultrasparc_pipeline_state): Likewise. 29533 * cppexp.c (Nsuff, parse_number): Likewise. 29534 * cppinit.c (builtin_array_end): Likewise. 29535 * gcc.c (n_default_compilers, process_command): Likewise. 29536 * genpreds.c (output_predicate_decls): Likewise. 29537 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise. 29538 * lcm.c (N_ENTITIES): Likewise. 29539 * stor-layout.c (set_sizetype): Likewise. 29540 295412002-03-03 Richard Henderson <rth@redhat.com> 29542 29543 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl 29544 for types or labels. 29545 295462002-03-03 Richard Henderson <rth@redhat.com> 29547 29548 * c-decl.c (start_decl): Initialized variables are not common. 29549 295502002-03-02 Per Bothner <per@bothner.com> 29551 29552 * gcc.c (option_map): Suport new --bootclasspath option. 29553 --CLASSPATH is now just an alias for --classpath. 29554 295552002-03-02 Richard Henderson <rth@redhat.com> 29556 29557 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register 29558 load if "internal" visibility. 29559 * doc/extend.texi: Document visibility meanings. 29560 295612002-03-02 Richard Henderson <rth@redhat.com> 29562 29563 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies 29564 to functions as well. 29565 295662002-03-02 Richard Henderson <rth@redhat.com> 29567 29568 * attribs.c (handle_alias_attribute): Don't call assemble_alias. 29569 (handle_visibility_attribute): Don't call assemble_visibility. 29570 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even 29571 without asmspec. Invoke assemble_alias when needed. 29572 * varasm.c (maybe_assemble_visibility): New. 29573 (assemble_start_function, assemble_variable, assemble_alias): Use it. 29574 295752002-03-02 Richard Henderson <rth@redhat.com> 29576 29577 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P; 29578 invoke ENCODE_SECTION_INFO with first call flag. 29579 29580 * config/darwin-protos.h, config/darwin.c, config/darwin.h, 29581 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c, 29582 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h, 29583 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h, 29584 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h, 29585 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h, 29586 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h, 29587 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h, 29588 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h, 29589 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c, 29590 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, 29591 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h, 29592 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c, 29593 config/m68hc11/m68hc11.h, config/m88k/m88k.h, 29594 config/mcore/mcore-protos.h, config/mcore/mcore.c, 29595 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h, 29596 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h, 29597 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, 29598 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h, 29599 config/sh/sh.h, config/sparc/sparc.h, 29600 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c, 29601 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h, 29602 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes 29603 FIRST argument. As needed, examine it and do nothing. 29604 29605 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h, 29606 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h, 29607 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P. 29608 29609 * config/arm/t-pe (pe.o): Add dependencies. 29610 296112002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29612 29613 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h, 29614 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, 29615 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, 29616 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h, 29617 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h, 29618 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete. 29619 * defaults.h (BITS_PER_UNIT): Define. 29620 * doc/tm.texi (BITS_PER_UNIT): Document default value. 29621 296222002-03-02 Kazu Hirata <kazu@hxi.com> 29623 29624 * config/h8300/h8300-protos.h: Add a prototype for 29625 compute_a_shift_length. 29626 * config/h8300/h8300.c (h8300_asm_insn_count): New. 29627 (compute_a_shift_length): Likewise. 29628 (h8300_adjust_insn_length): Do not adjust insn length of shift 29629 insns. 29630 * config/h8300/h8300.md (anonymous shift patterns): Use 29631 compute_a_shift_length. 29632 29633Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 29634 29635 * config/sparc/sparc.c (sparc_initialize_trampoline): Use 29636 trunc_int_for_mode. 29637 29638 * emit-rtl.c (offset_address): Call update_temp_slot_address. 29639 296402002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 29641 29642 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss. 29643 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document. 29644 * flags.h (flag_zero_initialized_in_bss): Declare. 29645 * toplev.c (flag_zero_initialized_in_bss): New flag. 29646 (lang_independent_options): Add flag_zero_initialized_in_bss. 29647 * tree.c (initializer_zerop): New function. 29648 * tree.h (initializer_zerop): Declare. 29649 * varasm.c (assemble_variable): If we can emit bss, put zero 29650 initializers in the bss section. 29651 296522002-03-02 Alan Modra <amodra@bigpond.net.au> 29653 29654 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't 29655 like more than one symbol per .weak directive. 29656 296572002-03-01 Richard Henderson <rth@redhat.com> 29658 29659 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not 29660 adjust argument_pointer by pretend_args_size. 29661 (ia64_va_start): Adjust va_start address by -pretend_args_size. 29662 296632002-03-01 Kazu Hirata <kazu@hxi.com> 29664 29665 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up. 29666 29667Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz> 29668 29669 * toplev.c (rest_of_compilation): Delete dead jumptables before 29670 loop. 29671 * flow.c (delete_dead_jumptables): Make global. 29672 * rtl.h (delete_dead_jumptables): Declare. 29673 296742002-03-01 David Edelsohn <edelsohn@gnu.org> 29675 29676 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete. 29677 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define. 29678 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete. 29679 296802002-03-01 Kazu Hirata <kazu@hxi.com> 29681 29682 * config/h8300/h8300-protos.h: Fix formatting. 29683 * config/h8300/h8300.c: Likewise. 29684 * config/h8300/h8300.h: Likewise. 29685 296862002-03-01 Kazu Hirata <kazu@hxi.com> 29687 29688 * config/h8300/h8300.c (print_operand): Support 16-bit 29689 constant addresses. 29690 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New. 29691 296922002-02-28 Richard Henderson <rth@redhat.com> 29693 29694 * expmed.c (store_bit_field): Prevent generation of CONCATs; 29695 pun complex values as integers; use gen_lowpart instead of 29696 gen_rtx_SUBREG. 29697 (extract_bit_field): Likewise. 29698 296992002-03-01 Alan Modra <amodra@bigpond.net.au> 29700 David Edelsohn <edelsohn@gnu.org> 29701 29702 * doc/tm.texi (ASM_WEAKEN_DECL): Document. 29703 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL. 29704 (SUPPORTS_WEAK): Likewise. 29705 * output.h (add_weak): Add tree param. 29706 * varasm.c (add_weak): Likewise. Save decl. 29707 (struct weak_syms): Add decl field. 29708 (mark_weak_decls): New function. 29709 (init_varasm_once): ggc_add_root mark_weak_decls. 29710 (assemble_start_function): Use ASM_WEAKEN_DECL. 29711 (assemble_variable): Likewise. 29712 (assemble_alias): Likewise. 29713 (declare_weak): Pass decl to add_weak. 29714 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl. 29715 (remove_from_pending_weak_list): Declare and define for 29716 ASM_WEAKEN_DECL. 29717 * c-pragma.c (handle_pragma_weak): Adjust add_weak call. 29718 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too. 29719 * defaults.h (SUPPORTS_WEAK): Likewise. 29720 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit 29721 .weak for code sym. Do emit .size for descriptor sym. 29722 (ASM_DECLARE_FUNCTION_SIZE): Define. 29723 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define. 29724 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output 29725 .lglobl unless TARGET_XCOFF. Formatting fixes. 29726 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit 29727 .weak for code sym. 29728 (HANDLE_PRAGMA_WEAK): Remove. 29729 (ASM_WEAKEN_LABEL): Remove. 29730 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define. 29731 297322002-03-01 Jason Merrill <jason@redhat.com> 29733 29734 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros. 29735 (TARGET_EXPR_CLEANUP): New macro. 29736 297372002-02-28 Steve Ellcey <sje@cup.hp.com> 29738 29739 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition 29740 to take ptr_extend into account as third type of extension. 29741 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit 29742 fields used by SUBREG_PROMOTED_UNSIGNED_P. 29743 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro. 29744 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1. 29745 * calls.c (precompute_arguments): Use new macro. 29746 (expand_call): Ditto. 29747 * combine.c (nonzero_bits): Ditto. 29748 (record_promoted_value): Ditto. 29749 * expr.c (store_expr): Ditto. 29750 (expand_expr): Ditto. 29751 * function.c (assign_parms): Ditto. 29752 297532002-02-28 Alexandre Oliva <aoliva@redhat.com> 29754 29755 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to 29756 override -shared and -shared-libgcc. 29757 297582002-02-28 David O'Brien <obrien@FreeBSD.org> 29759 29760 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification 29761 of "ultrasparc". 29762 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears 29763 to be broken. 29764 297652002-02-28 Richard Henderson <rth@redhat.com> 29766 29767 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have 29768 4 cycle latency from MM producers. 29769 (ia64_internal_sched_reorder): Likewise with pipeline flush. 29770 297712002-02-28 Jakub Jelinek <jakub@redhat.com> 29772 29773 * mklibgcc.in: Don't use GNU make extension. 29774 297752002-02-28 Neil Booth <neil@daikokuya.demon.co.uk> 29776 29777 * c-parse.in (STATIC): New terminal. 29778 (scspec): New non-terminal. Update productions accordingly. 29779 (program): Remove bogus ifc / end ifc. 29780 (array_declarator): Simplify production using STATIC. 29781 297822002-02-28 Jim Meyering <meyering@lucent.com> 29783 29784 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code: 29785 \a still means TARGET_BELL. 29786 297872002-02-28 Richard Henderson <rth@redhat.com> 29788 29789 * haifa-sched.c (sched_emit_insn): New. 29790 (schedule_block): Use last_scheduled_insn to track last insn. 29791 * sched-int.h (sched_emit_insn): Prototype. 29792 * config/ia64/ia64.c (last_issued): Remove. 29793 (ia64_variable_issue): Don't set it. 29794 (nop_cycles_until): Use sched_emit_insn. 29795 297962002-02-28 Andrew MacLeod <amacleod@redhat.com> 29797 29798 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign 29799 extended constants. 29800 298012002-02-28 Kazu Hirata <kazu@hxi.com> 29802 29803 * config/h8300/h8300.c: Fix formatting. 29804 * config/h8300/h8300.h: Likewise. 29805 298062002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl> 29807 29808 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29 29809 which may overwrite the high byte of the frame pointer. 29810 298112002-02-28 Bo Thorsen <bo@suse.de> 29812 29813 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation. 29814 (STARTFILE_SPEC): Add 64 bit files. 29815 (ENDFILE_SPEC): Likewise. 29816 298172002-02-28 Jason Merrill <jason@redhat.com> 29818 29819 * c-decl.c (finish_function): Only warn about missing return 29820 statement with -Wreturn-type. 29821 29822Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz> 29823 29824 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges. 29825 29826 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to 29827 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM 29828 29829Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz> 29830 29831 * basic-block.h (BB_REACHABLE): Renumber. 29832 (BB_DIRTY, BB_NEW): New flags. 29833 (clear_bb_flags): Declare. 29834 (update_life_info_in_dirty_blocks): Declare. 29835 * cfg.c (clear_bb_flags): New function. 29836 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW. 29837 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn, 29838 reorder_insns, emit_insn_after): Mark block as dirty. 29839 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS. 29840 (update_life_info_in_dirty_blocks): New function. 29841 * recog.c (apply_change_group): Dirtify block. 29842 29843 * cse.c (cse_insn): Reorder emitting of jump insn to keep 29844 cfg consistent. 29845 * gcse.c (delete_null_pointer_checks): Likewise. 29846 29847 * toplev.c (dump_file_index): Move cse2 after bp, 29848 add DFI_null 29849 (dump_file_info): Similary. 29850 (rest_of_compilation): Avoid most of CFG rebuilds; 29851 do first if converision after null pointer checks, do cse2 29852 after branch prediction; avoid full liveness rebuild after 29853 initializing subregs. 29854 * invoke.texi (-d options): Document -du, renumber. 29855 29856 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE. 29857 (notice_new_block): Do not set BB_UPDATE_LIFE. 29858 (try_forward_edges, merge_blocks_move_predecessor_nojumps, 29859 merge_blocks_move_successor_nojumps, merge_blocks, 29860 try_crossjump_to_edge): Likewise. 29861 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks. 29862 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a. 29863 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill. 29864 (merge_of_block): Do not use life_data_ok. 29865 (find_if_case_1): Do not use SET_UPDATE_LIFE. 29866 (if_convert): Use BB_DIRTY mechanizm to update life. 29867 * lcm.c (optimize_mode_switching): Update 29868 update_life_info_in_dirty_blocks 29869 298702002-02-28 Neil Booth <neil@daikokuya.demon.co.uk> 29871 29872 * Makefile.in (integrate.o): Update. 29873 * c-decl.c (copy_lang_decl): Rename. 29874 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine. 29875 * integrate.c: Include langhooks.h. 29876 (copy_decl_for_inlining): Update to use langhook. 29877 * langhooks-def.h (lhd_do_nothing_t, 29878 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New. 29879 (LANG_HOOKS_INITIALIZER): Update. 29880 * langhooks.c (lhd_do_nothing_t): New. 29881 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl. 29882 * tree.h (copy_lang_decl): Remove. 29883objc: 29884 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine. 29885 298862002-02-27 Andrew MacLeod <amacleod@redhat.com> 29887 29888 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC, 29889 POST_DEC, and POST_MODIFY. 29890 298912002-02-27 Zack Weinberg <zack@codesourcery.com> 29892 29893 * c-typeck.c (digest_init): Remove unused parameter; all 29894 callers changed. 29895 298962002-02-27 Geoffrey Keating <geoffk@redhat.com> 29897 29898 * expmed.c (expand_shift): Correctly test for low part of a 29899 subreg. 29900 299012002-02-27 Ulrich Weigand <uweigand@de.ibm.com> 29902 29903 * config/s390/s390.c (s390_chunkify_pool): Do not confuse 29904 insn UIDs with insn addresses. 29905 299062002-02-27 Zack Weinberg <zack@codesourcery.com> 29907 29908 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in, 29909 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h, 29910 cppmacro.c, objc/lang-specs.h, objc/objc-act.c, 29911 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c, 29912 gcc.c, toplev.c: Delete code implementing -traditional mode. 29913 29914 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi, 29915 doc/invoke.texi, doc/standards.texi, doc/trouble.texi: 29916 Document removal of -traditional mode for compilation, and 29917 remove documentation only relevant to that mode. 29918 29919 * config/nextstep.h, config/ptx4.h, config/svr4.h, 29920 config/convex/convex.h, config/d30v/d30v.h, 29921 config/i386/dgux.h, config/i386/osf1elf.h, 29922 config/i386/osfelf.h, config/i386/osfrose.h, 29923 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h, 29924 config/m68k/hp310.h, config/m88k/dgux.h, 29925 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c, 29926 config/m88k/m88k.h, config/m88k/openbsd.h, 29927 config/mips/abi64.h, config/mips/osfrose.h, 29928 config/mips/svr4-5.h, config/mips/svr4-t.h, 29929 config/sparc/sol2-sld-64.h, config/sparc/sol2.h, 29930 config/stormy16/stormy16.h: Remove all references to 29931 -traditional from target specs. Delete all mention of the 29932 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also 29933 delete a couple of commented-out definitions of 29934 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring 29935 to -traditional. 29936 29937 * system.h: Poison TRADITIONAL_RETURN_FLOAT. 29938 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro. 29939 299402002-02-27 Zack Weinberg <zack@codesourcery.com> 29941 29942 * mklibgcc.in: Don't use \n in a line subject to 29943 interpretation by echo. 29944 299452002-02-27 Graham Stott <grahams@redhat.com> 29946 29947 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC): 29948 Constify NAME. 29949 29950 * loop.c (prescan_loop): Handle PARALLEL. 29951 29952 * unroll.c (loop_iterations): Return 0 if the add_val for 29953 a BIV is REG. 29954 29955 * final.c (output_operand_lossage): Constify PFX_STR. 29956 29957 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE. 29958 29959Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz> 29960 29961 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove. 29962 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define. 29963 29964Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz> 29965 29966 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define. 29967 299682002-02-27 Neil Booth <neil@daikokuya.demon.co.uk> 29969 29970 * cpplex.c (_cpp_lex_token): Handle directives in macro 29971 arguments. 29972 * cpplib.c (_cpp_handle_directive): Save and restore state 29973 if parsing macro args when entering a directive. 29974 * cppmacro.c (collect_args): No need to handle directives 29975 in macro arguments. 29976 (enter_macro_context, replace_args): Use the original macro 29977 definition in case it was redefined whilst collecting arguments. 29978doc: 29979 * cpp.texi: Update. 29980 299812002-02-26 David Edelsohn <edelsohn@gnu.org> 29982 29983 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete. 29984 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete. 29985 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient 29986 method on AIX. 29987 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand. 29988 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same. 29989 (load_toc_v4_PIC_2): Same. 29990 299912002-02-26 Alan Modra <amodra@bigpond.net.au> 29992 29993 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE. 29994 299952002-02-26 Richard Henderson <rth@redhat.com> 29996 29997 * config/alpha/alpha.md (ashldi_se): Re-enable. 29998 299992002-02-26 Richard Henderson <rth@redhat.com> 30000 30001 * config/alpha/alpha.c (alpha_encode_section_info): Examine 30002 MODULE_LOCAL_P; improve commentary. 30003 300042002-02-26 Zack Weinberg <zack@codesourcery.com> 30005 30006 * doc/cpp.texi: Clarify documentation of relationship between 30007 #line and #include. 30008 300092002-02-26 Kazu Hirata <kazu@hxi.com> 30010 30011 * config/h8300/h8300-protos.h: Update the prototype for 30012 compute_logical_op_length. Add the prototype for 30013 compute_logical_op_cc. 30014 * config/h8300/h8300.c (compute_logical_op_length): Figure out 30015 code from operands. 30016 (compute_logical_op_cc): New. 30017 * config/h8300/h8300.md: Combine all the logical op patterns 30018 in HImode and SImode. Use compute_logical_op_cc. 30019 300202002-02-26 Kelley Cook <kelleycook@comcast.net> 30021 30022 * config/i386/i386.c (print_operand): Don't append ATT-style 30023 length suffixs to x87 opcodes when in Intel mode. 30024 300252002-02-26 Ryan T. Sammartino <ryants@shaw.ca> 30026 30027 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument. 30028 (init_emit_once): Update calls. 30029 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove. 30030 (init_syntax_once): Prototype. 30031 300322002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca> 30033 30034 * pa-linux.h (LIB_SPEC): Update definition. 30035 * pa32-linux.h (LINK_COMMAND_SPEC): Delete. 30036 300372002-02-26 Richard Henderson <rth@redhat.com> 30038 30039 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers 30040 if we emitted a stop bit. 30041 300422002-02-26 Jakub Jelinek <jakub@redhat.com> 30043 30044 * configure.in (libgcc_visibility): Substitute. 30045 * configure: Rebuilt. 30046 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global 30047 defined symbols .hidden. 30048 300492002-02-26 Jakub Jelinek <jakub@redhat.com> 30050 30051 * attribs.c (c_common_attribute_table): Add visibility. 30052 (handle_visibility_attribute): New function. 30053 * varasm.c (assemble_visibility): New function. 30054 * output.h (assemble_visibility): Add prototype. 30055 * tree.h (MODULE_LOCAL_P): Define. 30056 * crtstuff.c (__dso_handle): Use visibility attribute. 30057 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG 30058 for MODULE_LOCAL_P symbols too. 30059 * config/ia64/ia64.c (ia64_encode_section_info): Handle 30060 MODULE_LOCAL_P symbols the same way as local symbols. 30061 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced 30062 into .sdata/.sbss by the user. 30063 * doc/extend.texi (Function Attributes): Document visibility 30064 attribute. 30065 300662002-02-26 Jakub Jelinek <jakub@redhat.com> 30067 30068 PR debug/5770 30069 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for 30070 STRING_CST initializer spanning the whole variable without 30071 embedded zeros. 30072 If expand_expr returned MEM, don't use it. 30073 300742002-02-26 Alexandre Oliva <aoliva@redhat.com> 30075 30076 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract, 30077 generate a die for the lexical block. 30078 300792002-02-26 Kazu Hirata <kazu@hxi.com> 30080 30081 * config/h8300/h8300-protos.h: Add a prototype for 30082 compute_logical_op_length. 30083 * config/h8300/h8300.c (compute_logical_op_length): New. 30084 * config/h8300/h8300.md (anonymous logical patterns): Use 30085 compute_logical_op_length for length. 30086 300872002-02-26 Aldy Hernandez <aldyh@redhat.com> 30088 30089 * dwarf2out.c (modified_type_die): Do not call type_main_variant 30090 for vectors. 30091 (gen_type_die): Same. 30092 30093 * attribs.c (handle_vector_size_attribute): Set debug information. 30094 300952002-02-26 Daniel Egger <degger@fhm.edu> 30096 30097 * config/rs6000/rs6000.md: Swap define_insn attributes to 30098 fix incorrect generation of merge high instructions instead 30099 of merge low. 30100 301012002-02-26 Aldy Hernandez <aldyh@redhat.com> 30102 30103 * c-typeck.c (really_start_incremental_init): Use 30104 bitsize_zero_node for vectors. 30105 301062002-02-26 Aldy Hernandez <aldyh@redhat.com> 30107 30108 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo. 30109 ("*set_vrsave_internal"): Same. 30110 301112002-02-25 Richard Henderson <rth@redhat.com> 30112 30113 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law 30114 in EXPAND_SUM case. Use host_integerp/tree_low_cst. 30115 301162002-02-25 Jakub Jelinek <jakub@redhat.com> 30117 30118 PR target/5755 30119 * config/i386/i386.c (ix86_return_pops_args): Only pop 30120 fake structure return argument if it was passed on the stack. 30121 301222002-02-25 Jason Merrill <jason@redhat.com> 30123 30124 * attribs.c (decl_attributes): Also re-layout PARM_DECL and 30125 RESULT_DECL. 30126 301272002-02-25 Alexandre Oliva <aoliva@redhat.com> 30128 30129 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to 30130 link with shared_name only. 30131 * doc/invoke.texi (Link Options): Document new behavior. 30132 301332002-02-25 Aldy Hernandez <aldyh@redhat.com> 30134 30135 * c-typeck.c (push_init_level): Handle vectors. 30136 301372002-02-25 Alexandre Oliva <aoliva@redhat.com> 30138 30139 * config/sparc/sparc.c (const64_high_operand): Zero-extend 30140 operands of SPARC_SETHI_P. 30141 (input_operand): Likewise. 30142 (sparc_emit_set_const32): Likewise. 30143 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64. 30144 (SPARC_SETHI32_P): Zero-extend operand from 32 bits. 30145 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI. 30146 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'. 30147 (movdi_insn_sp64_vis): Likewise. 30148 (movdi split, movdf split): Use SETHI32. 30149 * doc/md.texi: Document SPARC constraints L, M and N. 30150 301512002-02-25 Aldy Hernandez <aldyh@redhat.com> 30152 30153 * config/rs6000/rs6000.md ("get_vrsave_internal"): New. 30154 ("*set_vrsave_internal"): use mfspr for Darwin. 30155 30156 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call 30157 gen_get_vrsave_internal. 30158 30159Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 30160 30161 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND. 30162 301632002-02-24 Neil Booth <neil@daikokuya.demon.co.uk> 30164 30165 * cpplex.c (cpp_interpret_charconst): Get signedness or 30166 otherwise of wide character constants correct. 30167 * cppexp.c (lex): Get signedness of wide charconsts correct. 30168 30169Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 30170 30171 * optabs.c (widen_operand): Only call convert_modes for 30172 promoted SUBREG if signedness matches. 30173 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns. 30174 301752002-02-23 Neil Booth <neil@daikokuya.demon.co.uk> 30176 30177 * cpplib.c (glue_header_name): Use local buffer to build up 30178 header name. 30179 301802002-02-23 Neil Booth <neil@daikokuya.demon.co.uk> 30181 30182 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM. 30183 301842002-02-23 Kazu Hirata <kazu@hxi.com> 30185 30186 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and 30187 H8/300[HS] separately. 30188 * config/h8300/h8300.md: Remove the early clobber constraint 30189 from bit field patterns. 30190 301912002-02-23 Kazu Hirata <kazu@hxi.com> 30192 30193 * config/h8300/h8300.md (mulqihi3): Tighten predicates to 30194 register_operand. 30195 (mulhisi3): Likewise. 30196 (umulqisi3): Likewise. 30197 (umulhisi3): Likewise. 30198 301992002-02-23 Neil Booth <neil@daikokuya.demon.co.uk> 30200 30201 * cppinit.c (output_deps): Correct test for stdout output. 30202 (init_dependency_output): Cure warning. 30203 30204Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 30205 30206 * expr.c (store_expr): When converting expression to promoted 30207 equivalent type, allow using SUBREG_REG of TARGET as the target 30208 of the expansion of EXP. 30209 * loop.c (basic_induction_var, case SUBREG): Always look inside. 30210 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl. 30211 (alpha_emit_set_const): Handle SImode when can't make new pseudos. 30212 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos. 30213 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing. 30214 302152002-02-23 Joseph S. Myers <jsm28@cam.ac.uk> 30216 30217 * doc/contribute.texi, doc/extend.texi, doc/install.texi, 30218 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi, 30219 doc/standards.texi, doc/tm.texi: Remove trailing whitespace. 30220 302212002-02-23 Jakub Jelinek <jakub@redhat.com> 30222 30223 PR optimization/5747 30224 * loop.c (scan_loop): Update reg info if move_movables created new 30225 pseudos. 30226 302272002-02-23 David Edelsohn <edelsohn@gnu.org> 30228 30229 * gcc.c (init_gcc_spec): Revert last change. 30230 302312002-02-23 David Edelsohn <edelsohn@gnu.org> 30232 30233 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use 30234 gpc_reg_operand constraint. 30235 302362002-02-23 Alan Modra <amodra@bigpond.net.au> 30237 30238 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting. 30239 Simplify comparison of `low'. 30240 (add_operand): Fix formatting. 30241 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P. 30242 (mask_operand): Disallow mask to wrap in 64-bit mode. 30243 (rs6000_stack_info): Remove redundant test setting push_p. 30244 (output_toc): Fix formatting. 30245 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use 30246 cc_reg_not_cr0_operand constraint. 30247 (booldi3, boolcdi3 splitters): Same. 30248 302492002-02-23 Aldy Hernandez <aldyh@redhat.com> 30250 30251 * config/rs6000/altivec.h: Add extra level of parentheses on casts. 30252 302532002-02-22 David Edelsohn <edelsohn@gnu.org> 30254 30255 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if 30256 gcc invoked with -shared-libgcc. 30257 302582002-02-22 Jakub Jelinek <jakub@redhat.com> 30259 30260 PR c++/5748 30261 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union 30262 decl if any of elements was TREE_USED. 30263 302642002-02-22 Alexandre Oliva <aoliva@redhat.com> 30265 30266 * config/sparc/sol2.h: Don't include sys/mman.h. 30267 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32. 30268 (arith_4096_operand): Don't throw high bits away. 30269 (const64_operand): Take sign extension of CONST_INTs into account. 30270 (const64_high_operand, sparc_emit_set_const32): Likewise. 30271 (GEN_HIGHINT64): Likewise. 30272 (sparc_emit_set_const64_quick1): Likewise. 30273 (const64_is_2insns): Likewise. 30274 (print_operand): Use trunc_int_for_mode for sign extension. 30275 * config/sparc/sparc.h (SMALL_INT32): Likewise. 30276 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE 30277 chars. Assume CONST_INT is already properly sign-extended. 30278 (movdi split): Sign-extend each SImode part. 30279 (andsi3 split): Don't mask high bits off, so that result 30280 remains properly sign-extend. 30281 (iorsi3 split): Likewise. 30282 (xorsi3 split): Likewise. 30283 302842002-02-22 Richard Sandiford <rsandifo@redhat.com> 30285 30286 * fold-const.c (fold): Fix typo in comments. 30287 302882002-02-21 Diego Novillo <dnovillo@redhat.com> 30289 30290 * Makefile.in (langhooks.o): Update dependencies. 30291 302922002-02-21 Diego Novillo <dnovillo@redhat.com> 30293 30294 * langhooks.c: Include flags.h. 30295 302962002-02-21 Aldy Hernandez <aldyh@redhat.com> 30297 30298 * testsuite/gcc.dg/attr-alwaysinline.c: New. 30299 30300 * c-common.c (c_common_post_options): Set inline trees by 30301 default. 30302 30303 * doc/extend.texi (Function Attributes): Document always_inline 30304 attribute. 30305 Update documentation about inlining when not optimizing. 30306 30307 * cp/decl.c (duplicate_decls): Merge always_inline attribute. 30308 30309 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0 30310 unless DECL_ALWAYS_INLINE. 30311 30312 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0 30313 unless DECL_ALWAYS_INLINE. 30314 (c_disregard_inline_limits): Disregard if always_inline set. 30315 30316 * langhooks.c (lhd_tree_inlining_disregard_inline_limits): 30317 Disregard if always_inline set. 30318 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0 30319 unless DECL_ALWAYS_INLINE. 30320 30321 * attribs.c (handle_always_inline_attribute): New. 30322 (c_common_attribute_table): Add always_inline. 30323 30324 * config/rs6000/altivec.h: Add prototypes for builtins 30325 requiring the always_inline attribute. 30326 303272002-02-21 Eric Christopher <echristo@redhat.com> 30328 30329 * expmed.c (store_bit_field): Try to simplify the subreg 30330 before generating a new one when when the mode size of 30331 value is less than maxmode. 30332 303332002-02-21 Richard Henderson <rth@redhat.com> 30334 30335 * emit-rtl.c (offset_address): Use simplify_gen_binary rather 30336 than gen_rtx_PLUS to form the sum. 30337 * explow.c (force_reg): Rearrange to not allocate new pseudo 30338 when force_operand returns a register. 30339 * expr.c (expand_assignment): Allow offset_rtx expansion to 30340 return a sum. Do not force addresses into registers. 30341 (expand_expr): Likewise. 30342 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus 30343 to canonicalize arithmetic that didn't simpify. 30344 (simplify_plus_minus): New argument force; update 30345 all callers. Don't split CONST unless we can do something with it, 30346 and wouldn't lose the constness of the operands. 30347 30348 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs 30349 that we generated earlier. 30350 303512002-02-21 Tom Tromey <tromey@redhat.com> 30352 30353 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed. 30354 (output_line_info): Use constant `1', with a long explanatory 30355 comment. 30356 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison. 30357 30358Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com> 30359 30360 * jump.c (redirect_jump): If old label has no UID, don't try to 30361 delete it. 30362 30363Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com> 30364 30365 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG. 30366 If input is constant, do shifts at compile time. 30367 303682002-02-21 Joseph S. Myers <jsm28@cam.ac.uk> 30369 30370 * doc/extend.texi: Fix some more overfull hboxes. 30371 303722002-02-21 Jakub Jelinek <jakub@redhat.com> 30373 30374 PR optimization/4994 30375 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX 30376 register moves. 30377 303782002-02-21 Jakub Jelinek <jakub@redhat.com> 30379 30380 PR c++/4574 30381 * expr.h (expand_and): Add mode argument. 30382 * expmed.c (expand_and): Add mode argument. 30383 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers. 30384 * expr.c (store_field, expand_expr, do_store_flag): Likewise. 30385 * except.c (expand_builtin_extract_return_addr): Likewise. 30386 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise. 30387 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise. 30388 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise. 30389 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x). 30390 * config/c4x/c4x.md: Use GEN_INT (x) instead of 30391 gen_rtx (CONST_INT, VOIDmode, x). 30392 303932002-02-21 Jakub Jelinek <jakub@redhat.com> 30394 30395 PR c/4697: 30396 * stmt.c (warn_if_unused_value): Move side effects test once more. 30397 303982002-02-20 Torbjorn Granlund <tege@swox.com> 30399 30400 * config/avr/avr.md: Add more patterns for mized-mode add and subtract 30401 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend). 30402 30403Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com> 30404 30405 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of 30406 SUBREG or ZERO_EXTEND. 30407 30408Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com> 30409 30410 * sh.h (current_function_anonymous_args): Remove. 30411 (SETUP_INCOMING_VARARGS): Don't set it - just check that one 30412 of current_function_varargs and current_function_stdarg is set. 30413 * sh.c (sh_expand_prologue): Check current_function_varargs / 30414 current_function_stdarg / TARGET_SH5 instead of 30415 current_function_anonymous_args. 30416 30417 * sh64.h (TARGET_VERSION): Define. 30418 304192002-02-20 David Edelsohn <edelsohn@gnu.org> 30420 30421 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize 30422 VRSAVE_REGNO on TARGET_ALTIVEC. 30423 304242002-02-20 Alan Modra <amodra@bigpond.net.au> 30425 30426 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant 30427 bits of SImode const_int. 30428 (includes_rshift_p): Likewise. 30429 (print_operand): Call mask_operand and mask64_operand with correct 30430 mode. 30431 (rs6000_output_function_epilogue): Pad traceback table to word. 30432 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment. 30433 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and 30434 mask64_operand with correct mode. 30435 (FUNCTION_ARG_REGNO_P): Correct parentheses. 30436 304372002-02-20 Jakub Jelinek <jakub@redhat.com> 30438 30439 PR debug/4461 30440 * varasm.c (get_pool_constant_mark): New. 30441 * rtl.h (get_pool_constant_mark): Add prototype. 30442 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot 30443 be represented if it has not been output. 30444 304452002-02-20 Alexandre Oliva <aoliva@redhat.com> 30446 30447 * combine.c (do_SUBST): Sanity check substitutions of 30448 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs. 30449 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a 30450 CONST_INT into its operand. 30451 (known_cond): Likewise, for ZERO_EXTEND. 30452 * simplify-rtx.c (simplify_unary_operation): Fix condition to 30453 allow for simplification of wide modes. Reject CONST_INTs in 30454 ZERO_EXTEND when their actual mode is not given. 30455 304562002-02-20 Alexandre Oliva <aoliva@redhat.com> 30457 30458 * c-decl.c (pushdecl): If no global declaration is found for an 30459 extern declaration in block scope, try a limbo one. 30460 304612002-02-20 Jakub Jelinek <jakub@redhat.com> 30462 30463 PR c++/4401 30464 * c-common.c (pointer_int_sum): Moved from... 30465 * c-typeck.c (pointer_int_sum): ...here. 30466 * c-common.h (pointer_int_sum): Add prototype. 30467 304682002-02-20 Jakub Jelinek <jakub@redhat.com> 30469 30470 PR c++/5713 30471 * c-decl.c (duplicate_decls): Return 0 if issued error about 30472 redeclaration. 30473 304742002-02-20 Roger Sayle <roger@eyesopen.com> 30475 Jakub Jelinek <jakub@redhat.com> 30476 30477 PR c/4389 30478 * tree.c (host_integerp): Ensure that the constant integer is 30479 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT 30480 when pos is zero or nonzero respectively. Clarify comment. 30481 * c-format.c (check_format_info_recurse): Fix host_integerp 30482 usage; the pos argument should be zero when assigning to a 30483 signed HOST_WIDE_INT. 30484 304852002-02-20 Richard Henderson <rth@redhat.com> 30486 30487 * config/i386/i386.c (ix86_expand_vector_move): Use the mode 30488 of the operand, rather than assuming TImode. 30489 (ix86_expand_binop_builtin): Cope with commutative patterns 30490 using nonimmediate_operand for both operands. 30491 (ix86_expand_timode_binop_builtin): Likewise. 30492 (ix86_expand_store_builtin): Validate operand 1. 30493 (ix86_expand_unop1_builtin): Likewise. 30494 304952002-02-20 Philip Blundell <philb@gnu.org> 30496 30497 PR 5705 30498 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro. 30499 305002002-02-20 Richard Henderson <rth@redhat.com> 30501 30502 PR c/5615 30503 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype. 30504 305052002-02-20 Tom Tromey <tromey@redhat.com> 30506 30507 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed. 30508 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed. 30509 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed. 30510 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed. 30511 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define 30512 unconditionally. 30513 30514Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com> 30515 30516 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look 30517 for (const_int 0) in X not just INTVAL. 30518 305192002-02-20 Joseph S. Myers <jsm28@cam.ac.uk> 30520 30521 * doc/extend.texi: Avoid or reduce overfull hboxes. 30522 305232002-02-20 Diego Novillo <dnovillo@redhat.com> 30524 30525 * expmed.c (store_bit_field): Do not store bit fields using SUBREG 30526 operations if the field does not start at a mode boundary. 30527 305282002-02-20 Joel Sherrill <joel@OARcorp.com> 30529 30530 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h, 30531 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem(). 30532 Also done for -Acpu and -Amachine. 30533 305342002-02-20 Neil Booth <neil@daikokuya.demon.co.uk> 30535 30536 * cppinit.c (init_dependency_output): Take deps output file 30537 from -o if none given with -MF. Suppress normal output. 30538 * gcc.c (cpp_unique_options): Have -M and -MM imply -E. 30539 * doc/cpp.texi, doc/invoke.texi: Update. 30540 305412002-02-19 Zack Weinberg <zack@codesourcery.com> 30542 30543 * toplev.c (output_quoted_string): Write unprintable 30544 characters with octal escapes. 30545 305462002-02-19 David Edelsohn <edelsohn@gnu.org> 30547 30548 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set 30549 really_call_used[VRSAVE_REGNO] if not Altivec. 30550 305512002-02-19 Alan Modra <amodra@bigpond.net.au> 30552 30553 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with 30554 MODE_MASK. 30555 (constant_pool_expr_1): Fix formatting. 30556 (rs6000_legitimize_reload_address): Likewise. 30557 30558Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 30559 30560 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx 30561 now that we have one. 30562 305632002-02-19 Zack Weinberg <zack@codesourcery.com> 30564 30565 * tree.h (struct tree_common): Remove aux. Add unused_0 at 30566 end of first block of bitfields (which was only seven bits); 30567 rename dummy to unused_1; remove comment which is no longer true. 30568 305692002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk> 30570 30571 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo. 30572 305732002-02-19 Philip Blundell <pb@nexus.co.uk> 30574 30575 PR 5399 30576 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything 30577 if generating PIC. 30578 30579 PR 5054 30580 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use 30581 arm_is_longcall_p rather than inspecting call-type cookie 30582 directly. 30583 (call_value_insn) [TARGET_THUMB]: Likewise. 30584 305852002-02-19 Graham Stott <grahams@redhat.com> 30586 30587 * config/i386/i386.c (ix86_expand_builtin): Fix typo. 30588 305892002-02-19 David Edelsohn <edelsohn@gnu.org> 30590 30591 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64. 30592 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define. 30593 (FP_SAVE_INLINE): Delete. 30594 30595 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o. 30596 * config/rs6000/eabi.asm: Remove ABI save restore routines. 30597 * config/rs6000/t-ppccomm: Build crtsavres.o. 30598 * config/rs6000/crtsavres.asm: New file. 30599 306002002-02-19 Philip Blundell <philb@gnu.org> 30601 30602 * config/arm/arm.c (use_return_insn): Don't reject interrupt 30603 functions. 30604 (arm_compute_save_reg_mask): Save LR for interrupt functions too. 30605 (output_return_instruction): Allow interrupt functions to return with 30606 ldmfd sp!, {... pc}^. Use LDR to restore any single register. 30607 (arm_expand_prologue): Subtract 4 before stacking LR in an 30608 interrupt function. 30609 306102002-02-19 Philip Blundell <pb@nexus.co.uk> 30611 30612 * config/arm/arm.c (arm_encode_call_attribute): Operate on any 30613 decl, not just FUNCTION_DECL. 30614 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF. 30615 (arm_assemble_integer): Likewise. 30616 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be 30617 marked local. 30618 306192002-02-19 matthew green <mrg@eterna.com.au> 30620 30621 * config.gcc (sparc-*-netbsdelf*): Enable target. 30622 (sparc64-*-netbsd*): New target. 30623 * config/sparc/netbsd-elf.h: New file. 30624 * config/sparc/t-netbsd64: New file. 30625 306262002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk> 30627 30628 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo. 30629 306302002-02-19 Ryan T. Sammartino <ryants@shaw.ca> 30631 30632 * doc/invoke.texi: explicitly list the style guidelines that 30633 -Weffc++ checks for. 30634 30635Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz> 30636 30637 * regmove.c (regmove_optimize): Avoid increasing of register pressure. 30638 306392002-02-19 Neil Booth <neil@daikokuya.demon.co.uk> 30640 30641 PR other/5718 30642 * gcc.c (cpp_unique_options): Treat -o as indicating object file 30643 only if not -E. If -E, pass -o through to the preprocessor. 30644 306452002-02-19 Kazu Hirata <kazu@hxi.com> 30646 30647 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal 30648 register number with an appropriate macro. 30649 306502002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz> 30651 30652 * doc/rtl.texi (Constants): Close @code tag. 30653 306542002-02-19 Aldy Hernandez <aldyh@redhat.com> 30655 30656 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector. 30657 ("mmx_uavgv4hi3"): Same. 30658 ("pmulhrwv4hi3"): Same. 30659 30660 * tree-inline.c (walk_tree): Handle vectors. 30661 30662 * c-common.c (constant_expression_warning): Handle vectors. 30663 (overflow_warning): Same. 30664 30665 * sched-deps.c (sched_analyze_2): Handle vectors. 30666 30667 * rtlanal.c (rtx_unstable_p): Handle vectors. 30668 (rtx_varies_p): Same. 30669 (count_occurrences): Same. 30670 (regs_set_between_p): Same. 30671 (modified_between_p): Same. 30672 (modified_in_p): Same. 30673 (volatile_insn_p): Same. 30674 (volatile_refs_p): Same. 30675 (side_effects_p): Same. 30676 (may_trap_p): Same. 30677 (inequality_comparisons_p): Same. 30678 (replace_regs): Same. 30679 (computed_jump_p_1): Same. 30680 30681 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th 30682 argument. 30683 (inner_mode_array): New. 30684 (copy_rtx): Handle vectors. 30685 (copy_most_rtx): Same. 30686 (rtx_equal_p): Same. 30687 (get_mode_alignment): Adjust for vectors. 30688 30689 * resource.c (mark_referenced_resources): Handle vectors. 30690 (mark_set_resources): Same. 30691 30692 * reload1.c (eliminate_regs): Handle vectors. 30693 (elimination_effects): Same. 30694 (scan_paradoxical_subregs): Same. 30695 30696 * reload.c (subst_reg_equivs): Handle vectors. 30697 30698 * regrename.c (scan_rtx): Handle vectors. 30699 30700 * regclass.c (reg_scan_mark_refs): Handle vectors. 30701 30702 * recog.c (find_single_use_1): Handle vectors. 30703 30704 * local-alloc.c (equiv_init_varies_p): Handle vectors. 30705 (contains_replace_regs): Same. 30706 (memref_referenced_p): Same. 30707 30708 * integrate.c (copy_rtx_and_substitute): Handle vectors. 30709 (subst_constants): Same. 30710 30711 * genattrtab.c (attr_copy_rtx): Handle vectors. 30712 (encode_units_mask): Same. 30713 (clear_struct_flag): Same. 30714 (count_sub_rtxs): Same. 30715 30716 * gcse.c (want_to_gcse_p): Handle vectors. 30717 (oprs_unchanged_p): Same. 30718 (hash_expr_1): Same. 30719 (oprs_not_set_p): Same. 30720 (expr_killed_p): Same. 30721 (compute_transp): Same. 30722 (store_ops_ok): Same. 30723 30724 * function.c (purge_addressof_1): Do not allow paradoxical subregs 30725 of vectors. 30726 (fixup_var_refs_1): Same. 30727 (instantiate_virtual_regs_1): Same. 30728 30729 * fold-const.c (operand_equal_p): Handle vectors. 30730 (fold): Same. 30731 (rtl_expr_nonnegative_p): Same. 30732 30733 * flow.c (mark_used_regs): Handle vectors. 30734 30735 * df.c (df_uses_record): Handle vectors. 30736 30737 * cselib.c (cselib_subst_to_values): Handle vectors. 30738 (cselib_mem_conflict_p): Same. 30739 (hash_rtx): Same. 30740 30741 * cse.c (canon_reg): Handle vectors. 30742 (fold_rt): Same. 30743 (cse_process_notes): Same. 30744 (count_reg_usage): Same. 30745 (canon_hash): Same. 30746 30747 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR. 30748 30749 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR. 30750 30751 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors. 30752 (gen_rtx): Handle CONST_VECTOR. 30753 (gen_const_vector_0): New. 30754 (copy_rtx_if_shared): CONST_VECTORs can be shared. 30755 (reset_used_flags): Same. 30756 (copy_insn_1): Same. 30757 (initializer_constant_valid_p): Handle VECTOR_CST. 30758 30759 * doc/c-tree.texi (Expression trees): Document VECTOR_CST. 30760 30761 * doc/rtl.texi (Constants): Document const_vector. 30762 (CONST0_RTX): Update for vectors. 30763 (RTL sharing): Same. 30764 30765 * print-tree.c (print_node): Add case for VECTOR_CST. 30766 30767 * tree.h (TREE_VECTOR_CST_ELTS): New. 30768 (struct tree_vector): New. 30769 (union tree_node): Add vector node. 30770 (build_vector): Add prototype. 30771 30772 * tree.def (VECTOR_CST): New. 30773 30774 * tree.c (build_vector): New. 30775 30776 * expmed.c (make_tree): Handle CONST_VECTOR. 30777 30778 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too. 30779 (CONST_VECTOR_ELT): New. 30780 (CONST_VECTOR_NUNITS): New. 30781 30782 * machmode.h (GET_MODE_INNER): New. 30783 (DEF_MACHMODE): Accept 8th arg. 30784 30785 * machmode.def: Add 8th argument for vector inner mode. 30786 Add inner vector modes for vectors. 30787 30788 * rtl.def (VEC_CONST): Remove. 30789 (CONST_VECTOR): New. 30790 30791 * expr.c (clear_storage): Allow vectors. 30792 (is_zeros_p): Handle VECTOR_CST. 30793 30794 * varasm.c (output_constant_pool): Handle vectors. 30795 (rtx_const): Add veclo and vechi fields. 30796 (kind): Add RTX_VECTOR. 30797 (decode_rtx_const): Add case for vector. 30798 30799 * config/rs6000/rs6000-protos.h: Add zero_constant. 30800 30801 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector 30802 constants. Force easy vector constants into memory. 30803 (easy_vector_constant): New. 30804 (emit_easy_vector_constant): New. 30805 (rs6000_legitimize_reload_address): Do not generate bad reloads on 30806 darwin. 30807 30808 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what 30809 instruction does. 30810 ("altivec_lvxl"): Same. 30811 (altivec_lvebx): Same. 30812 (altivec_lvehx): Same. 30813 (altivec_lvewx): Same. 30814 ("*movv4si_const0"): New. 30815 ("*movv4sf_const0"): New. 30816 ("*movv8hi_const0"): New. 30817 ("*movv16qi_const0"): New. 30818 308192002-02-18 Kazu Hirata <kazu@hxi.com> 30820 30821 * config/h8300/h8300.c (notice_update_cc): Use 30822 cc_status.value2. 30823 308242002-02-18 Kazu Hirata <kazu@hxi.com> 30825 30826 * config/h8300/h8300.md (divmod patterns): Change the 30827 constraints for operands[1] to register_operand. 30828 308292002-02-18 Kazu Hirata <kazu@hxi.com> 30830 30831 * config/h8300/h8300-protos.h: Remove the prototype for 30832 p_operand. 30833 * config/h8300/h8300.c (p_operand): Remove. 30834 * config/h8300/h8300.md: Replace p_operand with 30835 const_int_operand. 30836 308372002-02-18 Philip Blundell <pb@nexus.co.uk> 30838 30839 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in 30840 comment. 30841 (output_return_instruction): Allow use of LDR to unstack 30842 return addresss even for interrupt handlers or when 30843 interworking. If compiling for ARMv5, use interworking-safe 30844 return instructions by default. Remove duplicated code and 30845 lengthy "strcat" sequences. 30846 308472002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 30848 30849 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static. 30850 (LINK_EH_SPEC): Define. 30851 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o. 30852 308532002-02-18 Ulrich Weigand <uweigand@de.ibm.com> 30854 30855 * config/s390/s390.c (s390_emit_prologue): Do not set the 30856 frame_related flag for call-clobbered registers. 30857 30858Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz> 30859 30860 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode. 30861 (construct_container): Fix handling of SSE operands. 30862 (ix86_expand_builtin): Fix handling of 64bit pointers. 30863 (mmx_maskmovq_rex): New pattern. 30864 30865Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz> 30866 30867 * regrename.c (kill_set_value): Handle subregs properly. 30868 308692002-02-18 David Billinghurst <David.Billinghurst@riotinto.com> 30870 30871 * objc/objc-act.c (handle_impent): Remove leading '*' 30872 from objc_class_name. 30873 308742002-02-17 Richard Henderson <rth@redhat.com> 30875 30876 * config/alpha/alpha.c (some_small_symbolic_operand, 30877 some_small_symbolic_operand_1, split_small_symbolic_operand, 30878 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*. 30879 Handle small SYMBOL_REFs anywhere, not just inside memories. 30880 * config/alpha/alpha-protos.h: Update. 30881 * config/alpha/alpha.h (PREDICATE_CODES): Update. 30882 * config/alpha/alpha.md (small symbolic operand splitter): Update. 30883 308842002-02-17 Roland McGrath <roland@frob.com> 30885 30886 * config.gcc (powerpc-*-gnu-gnualtivec*, 30887 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations. 30888 * config/rs6000/gnu.h: New file. 30889 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): 30890 Grok "gnu" in rs6000_abi_name. 30891 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, 30892 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): 30893 Grok -mcall-gnu analogous to -mcall-linux et al. 30894 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC, 30895 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros. 30896 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them. 30897 308982002-02-17 Jakub Jelinek <jakub@redhat.com> 30899 30900 PR c/3444: 30901 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit 30902 shortening. 30903 309042002-02-17 Philipp Thomas <pthomas@suse.de> 30905 30906 * config/cris/cris.h: Undefine STARTFILE_SPEC and 30907 ENDFILE_SPEC before (re)defining them. 30908 309092002-02-17 Kazu Hirata <kazu@hxi.com> 30910 30911 * config/h8300/h8300.c: Fix formatting. 30912 * config/h8300/h8300.h: Likewise. 30913 309142002-02-17 Philipp Thomas <pthomas@suse.de> 30915 30916 * doc/tm.texi: Explain why empty strings should not be 30917 marked for translation. 30918 309192002-02-17 Philipp Thomas <pthomas@suse.de> 30920 30921 * final.c (output_operand_lossage): Changed to accept 30922 printf style arguments. Change calls where necessary. 30923 * output.h (output_operand_lossage): Change declaration 30924 accordingly. Update copyright. 30925 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c 30926 config/m88k/m88k.c : Adapt all calls to output_operand_lossage. 30927 Update copyright date where necessary. 30928 30929 * config/i386/i386.c (print_operand): Likewise. Remove use of 30930 sprintf. 30931 30932 * config/cris/cris.c (cris_operand_lossage): Likewise. 30933 Rename parameter so that exgettext recognizes it as 30934 translatable message. 30935 (LOSE_AND_RETURN): Rename parameter to msgid. 30936 309372002-02-17 Kazu Hirata <kazu@hxi.com> 30938 30939 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a 30940 hard coded register number with an appropriate macro. 30941 (HARD_REGNO_MODE_OK): Likewise. 30942 (ARG_POINTER_REGNUM): Likewise. 30943 (STATIC_CHAIN_REGNUM): Likewise. 30944 (RETURN_ADDRESS_POINTER_REGNUM): Likewise. 30945 * config/h8300/h8300.md (define_constants): Define more 30946 register numbers. 30947 309482002-02-17 Philipp Thomas <pthomas@suse.de> 30949 30950 * config/i386/i386.h: Don't mark empty strings for translation. 30951 309522002-02-16 H.J. Lu <hjl@gnu.org> 30953 30954 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New. 30955 309562002-02-16 Zack Weinberg <zack@codesourcery.com> 30957 30958 * cppinit.c (merge_include_chains): Check for brack being 30959 NULL before attempting to merge it with qtail. 30960 309612002-02-16 Andrew Cagney <ac131313@redhat.com> 30962 30963 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to 30964 DBX_DEBUG. 30965 309662002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca> 30967 30968 * pa/t-pa, pa/t-pro, som.h: Revert last patch. 30969 309702002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca> 30971 30972 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm. 30973 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise. 30974 * som.h (DO_GLOBAL_DTORS_BODY): Delete define. 30975 30976Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 30977 30978 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms; 30979 now only if !TARGET_FIX. 30980 (*movsi_nt_vms_fix): New pattern. 30981 309822002-02-16 Douglas B Rupp <rupp@gnat.com> 30983 30984 * config/alpha/alpha.c: Implement null frame procedure types on VMS. 30985 (alpha_procedure_type): Replaces alpha_is_stack_procedure. 30986 (alpha_sa_mask, alpha_sa_size): Reflect above change. 30987 (alpha_pv_save_size, alpha_expand_prologue): Likewise. 30988 (alpha_start_function, alpha_expand_epilogue): Likewise. 30989 (unicosmk_gen_dsib): Likewise. 30990 30991Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 30992 30993 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE. 30994 309952002-02-16 Ulrich Weigand <uweigand@de.ibm.com> 30996 30997 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away, 30998 check_and_change_labels, s390_final_chunkify): Delete. 30999 (s390_split_branches, s390_chunkify_pool): New functions. 31000 (s390_function_prologue): Call them. 31001 31002 * config/s390/s390.h (S390_REL_MAX): Delete. 31003 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values. 31004 31005 * config/s390/s390.md (cjump, icjump, jump): Fix length 31006 attribute calculation. 31007 31008 310092002-02-15 David Edelsohn <edelsohn@gnu.org> 31010 31011 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete. 31012 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64. 31013 310142002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca> 31015 31016 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15. 31017 * config/pa/pa-linux.h (LIB_SPEC): Likewise. 31018 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise. 31019 310202002-02-15 Richard Sandiford <rsandifo@redhat.com> 31021 31022 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls. 31023 310242002-02-15 Richard Sandiford <rsandifo@redhat.com> 31025 31026 * reload.c (find_dummy_reload): Check that an output register 31027 is valid for its mode. 31028 310292002-02-14 Alexandre Oliva <aoliva@redhat.com> 31030 31031 * combine.c (known_cond): After replacing the REG of a SUBREG, try 31032 to simplify it. 31033 31034 * function.c (assign_parms): Demote promoted argument passed by 31035 transparent reference. 31036 310372002-02-14 Joel Sherrill <joel@OARcorp.com> 31038 31039 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant 31040 -Acpu() and -Amachine() to eliminate warnings. 31041 310422002-02-14 Ulrich Weigand <uweigand@de.ibm.com> 31043 31044 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New. 31045 310462002-02-14 Kazu Hirata <kazu@hxi.com> 31047 31048 * config/h8300/h8300-protos.h: Update the prototype for 31049 const_costs. 31050 * config/h8300/h8300.c (const_costs): Treat SET as a little 31051 more expensive operation. 31052 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the 31053 reference to const_costs. 31054 310552002-02-14 Hans-Peter Nilsson <hp@axis.com> 31056 31057 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting. 31058 310592002-02-14 Jakub Jelinek <jakub@redhat.com> 31060 31061 PR c/5503: 31062 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL, 31063 use arguments from newtype. 31064 310652002-02-13 Eric Christopher <echristo@redhat.com> 31066 31067 * config/mips/mips.c (override_options): Add check for march/mipsX 31068 on the same command line. Fix error message in cpu processing. 31069 Remove architecture and ISA checks. 31070 310712002-02-14 Aldy Hernandez <aldyh@redhat.com> 31072 31073 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors. 31074 31075 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX. 31076 310772002-02-14 Aldy Hernandez <aldyh@redhat.com> 31078 31079 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r 31080 alternatives. 31081 ("*movv8hi_internal1"): Same. 31082 ("*movv16qi_internal1"): Same. 31083 ("*movv4sf_internal1"): Same. 31084 31085 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do 31086 not push_reload for altivec modes. 31087 310882002-02-13 Joel Sherrill <joel@OARcorp.com> 31089 31090 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across 31091 all RTEMS targets including removal of #includes from config/*/rtems*.h 31092 file and adding them to tm_file setting. Added xm_defines=POSIX to 31093 many targets. 31094 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto. 31095 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto. 31096 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto. 31097 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto. 31098 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h, 31099 config/m68k/rtemself.h: Ditto. 31100 * config.gcc (mips*-*-rtems*), config/mips/rtems.h, 31101 config/mips/rtems64.h: Ditto. 31102 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto. 31103 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h: 31104 Ditto. 31105 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h, 31106 config/sparc/rtemself.h: Ditto. 31107 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto. 31108 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved 31109 arm-rtems stanza closer to other arm-elf targets and made arm-rtems 31110 more like arm-elf. 31111 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h, 31112 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself 31113 target made more similar to i386-elf. 31114 * config/i386/t-rtems-i386: Added soft float support and multilibs. 31115 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to 31116 be similar to config/m68k/t-m68kelf. 31117 * gthr-rtems.h: Encapsulate with extern "C" for C++. 31118 31119Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz> 31120 31121 * regmove.c (kill_value): Handle subregs. 31122 31123Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz> 31124 31125 * i386.md (mul patterns): Allow memory operand to be first; 31126 add expanders where needed; fix constraints. 31127 (min?f_nonieee, max?f_nonieee, SSE TImode patterns): 31128 Allow memory operand to be the first. 31129 31130 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping 31131 operands. 31132 311332002-02-13 Jakub Jelinek <jakub@redhat.com> 31134 31135 PR c/5681: 31136 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of 31137 GET_MODE (x). 31138 311392002-02-13 Jakub Jelinek <jakub@redhat.com> 31140 31141 PR optimization/5547: 31142 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify 31143 all valid IA-32 address modes involving non-scaled %ebx and 31144 GOT/GOTOFF as displacement. 31145 311462002-02-13 Ulrich Weigand <uweigand@de.ibm.com> 31147 31148 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches 31149 after emitting ltorg insns. 31150 31151 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0, 31152 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3, 31153 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2, 31154 *abssf2): Fix "op_type" attribute. 31155 311562002-02-13 Douglas B Rupp <rupp@gnat.com> 31157 31158 * mkconfig.sh: Avoid using a subshell redirect. 31159 ($output.T): Change to $(output)T. 31160 (ENABLE_NLS): Remove unneeded undef. 31161 31162 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define. 31163 * config/alpha/x-vms (libsubdir): Define. 31164 31165 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle 31166 register frame procedures. Optimize retrieving context. 31167 31168 * config/alpha/t-vms (MULTILIB_OPTIONS): Define. 31169 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise. 31170 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive. 31171 31172Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 31173 31174 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND): 31175 Make same change as for find_base_value. 31176 311772002-02-13 Kazu Hirata <kazu@hxi.com> 31178 31179 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination 31180 of QImode and SImode. 31181 311822002-02-13 Kazu Hirata <kazu@hxi.com> 31183 31184 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the 31185 length computation of movsi. 31186 * config/h8300/h8300.md (movsi_h8300hs): Correct the length. 31187 311882002-02-13 Kazu Hirata <kazu@hxi.com> 31189 31190 * config/h8300/h8300.md (subqi3): Tighten the predicate for 31191 operands[2] to register_operand. 31192 31193Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz> 31194 31195 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand. 31196 311972002-02-12 Aldy Hernandez <aldyh@redhat.com> 31198 31199 * config/rs6000/rs6000.md: Use predicate altivec_register_operand 31200 for altivec_lvx* and altivec_stvx*. 31201 ("*movv4si_internal"): Add constraint for loading from GPRs. 31202 ("*movv8hi_internal1"): Same. 31203 ("*movv16qi_internal1"): Same. 31204 ("*movv4sf_internal1"): Same. 31205 31206 * config/rs6000/rs6000.c (altivec_register_operand): New. 31207 31208 * config/rs6000/rs6000.h (PREDICATE_CODES): Add 31209 altivec_register_operand. 31210 312112002-02-13 Hans-Peter Nilsson <hp@bitrange.com> 31212 31213 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't 31214 handle SYMBOL_REF. 31215 312162002-02-13 Stan Shebs <shebs@apple.com> 31217 31218 * c-typeck.c (digest_init): Handle vectors. 31219 (really_start_incremental_init): Same. 31220 (pop_init_level): Same. 31221 (process_init_element): Same. 31222 31223 * varasm.c (output_constant): Same. 31224 31225 * expr.c (clear_storage): Same. 31226 (store_constructor): Same. 31227 312282002-02-12 Eric Christopher <echristo@redhat.com> 31229 31230 * explow.c (hard_function_value): Add comment explaining 31231 signed/unsigned comparison. 31232 312332002-02-12 Jakub Jelinek <jakub@redhat.com> 31234 31235 * jump.c (never_reached_warning): Add finish argument. 31236 If finish is NULL, stop on CODE_LABEL, otherwise stop before first 31237 real insn after end. 31238 * rtl.h (never_reached_warning): Adjust prototype. 31239 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning. 31240 * cfgrtl.c (flow_delete_block): Pass b->end as finish to 31241 never_reached_warning. 31242 312432002-02-12 Graham Stott <grahams@redhat.com> 31244 31245 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos. 31246 312472002-02-12 Kazu Hirata <kazu@hxi.com> 31248 31249 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit 31250 logical shifts on H8/300. 31251 (shift_alg_si): Improve several shifts on H8/300. 31252 (get_shift_alg): Likewise. 31253 312542002-02-12 Graham Stott <grahams@redhat.com> 31255 31256 * config/pa/pa.c (compute_movstrsi_length): Fix typos. 31257 31258Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 31259 31260 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND): 31261 Handle #ifdef POINTERS_EXTEND_UNSIGNED. 31262 312632002-02-11 Hans-Peter Nilsson <hp@bitrange.com> 31264 31265 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle 31266 non-CONST_INT through default_assemble_integer. 31267 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF. 31268 <case 8>: Abort for CONST_DOUBLE. 31269 312702002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca> 31271 31272 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared" 31273 is specified. 31274 * config/pa/pa-linux.h (LIB_SPEC): Delete. 31275 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete. 31276 312772002-02-11 Andrew Haley <aph@cambridge.redhat.com> 31278 31279 * config/stormy16/stormy16.md (zero_extendqihi2): New. 31280 312812002-02-11 Alexandre Oliva <aoliva@redhat.com> 31282 31283 * regrename.c (regrename_optimize): Don't accept a 31284 part-clobbered register if the replaced register is not part 31285 clobbered. 31286 31287 * calls.c (store_one_arg): In the non-BLKmode non-partial case, 31288 take padding into account when computing the argument value. 31289 31290 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error. 31291 31292 * combine.c (try_combine): Apply substitutions in 31293 CALL_INSN_FUNCTION_USAGE too. 31294 312952002-02-11 Aldy Hernandez <aldyh@redhat.com> 31296 31297 * config/rs6000/rs6000.c (altivec_init_builtins): Handle 31298 __builtin_altivec_abs*. 31299 (bdesc_abs): New. 31300 31301 * config/rs6000/rs6000.h (rs6000_builtins): Add 31302 ALTIVEC_BUILTIN_ABS*. 31303 31304 * config/rs6000/altivec.h: Use const char for builtins expecting 31305 literals. 31306 (vec_abs): New versions for C and C++. 31307 (vec_abss): Same. 31308 313092002-02-10 Kazu Hirata <kazu@hxi.com> 31310 31311 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by 31312 using Pmode. 31313 313142002-02-10 Kazu Hirata <kazu@hxi.com> 31315 31316 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the 31317 constant definition from h8300.md. 31318 (FRAME_POINTER_REGNUM): Likewise. 31319 * config/h8300/h8300.md (define_constants): Add FP_REG. 31320 313212002-02-10 Kazu Hirata <kazu@hxi.com> 31322 31323 * config/h8300/h8300.c (print_operand): Remove redundant code. 31324 313252002-02-10 Kazu Hirata <kazu@hxi.com> 31326 31327 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg. 31328 * config/h8300/h8300.c (byte_reg): Make it static. 31329 313302002-02-10 Richard Henderson <rth@redhat.com> 31331 31332 PR c/5623 31333 * c-typeck.c (incomplete_type_error): Handle flexible array members. 31334 313352002-02-10 Richard Henderson <rth@redhat.com> 31336 31337 PR c++/5624 31338 * tree.c (append_random_chars): Don't abort if main_input_filename 31339 does not exist. 31340 313412002-02-10 Hans-Peter Nilsson <hp@bitrange.com> 31342 31343 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable. 31344 313452002-02-10 Kazu Hirata <kazu@hxi.com> 31346 31347 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used. 31348 (pushhi1): Likewise. 31349 313502002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca> 31351 31352 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand. 31353 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand. 31354 313552002-02-09 David O'Brien <obrien@FreeBSD.org> 31356 31357 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and 31358 remove MASK_VIS. 31359 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine. 31360 313612002-02-09 Kazu Hirata <kazu@hxi.com> 31362 31363 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear 31364 a half of an SImode register on H8/300. 31365 31366Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz> 31367 31368 * i386.md (movdi_2): Add missing '!'. 31369 313702002-02-09 Kazu Hirata <kazu@hxi.com> 31371 31372 * config/h8300/h8300.h: Fix formatting. Remove commented-out 31373 definitions. 31374 313752002-02-09 Kazu Hirata <kazu@hxi.com> 31376 31377 * config/h8300/h8300.md (length): Correct the distance valid 31378 for the short branch. 31379 313802002-02-09 Kazu Hirata <kazu@hxi.com> 31381 31382 * config/h8300/h8300.md (iorhi3): Tighten the predicates. 31383 313842002-02-09 Alexandre Oliva <aoliva@redhat.com> 31385 31386 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered 31387 registers in SImode. 31388 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as 31389 part-clobbered. 31390 31391 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's 31392 patch. 31393 31394 Contribute sh64-elf. 31395 2002-02-09 Alexandre Oliva <aoliva@redhat.com> 31396 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to... 31397 (sh_cannot_modify_jumps_p): New function. 31398 2002-02-05 Alexandre Oliva <aoliva@redhat.com> 31399 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to... 31400 (sh_ms_bitfield_layout_p): New function. 31401 2002-02-04 Alexandre Oliva <aoliva@redhat.com> 31402 Zack Weinberg <zack@codesourcery.com> 31403 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use 31404 expand_simple_binop instead of expand_binop. 31405 2002-02-03 Alexandre Oliva <aoliva@redhat.com> 31406 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable 31407 use of .quad and .uaquad. 31408 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP, 31409 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above. 31410 2002-01-24 Alexandre Oliva <aoliva@redhat.com> 31411 * config/sh/sh.md (movdi_const, movdi_const_32bit, 31412 movdi_const_16bit): Make sure all CONSTs have modes. 31413 (sym2PIC): Ditto, but by adjusting all callers. 31414 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live 31415 if the prologue calls the SHmedia argument decoder or register 31416 saver. 31417 2002-01-24 Alexandre Oliva <aoliva@redhat.com> 31418 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define. 31419 (TARGET_ASM_ALIGNED_DI_OP): Likewise. 31420 (sh_expand_epilogue): Don't emit USE of return target register. 31421 (prepare_move_operands): Legitimize DImode PIC addresses. 31422 (sh_media_register_for_return): Skip tr0, used to initialize the 31423 PIC register. 31424 (sh_expand_prologue): Remove explicit USE of return register. 31425 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in 31426 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC. 31427 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete. 31428 (OVERRIDE_OPTIONS): Don't disable PIC on SH5. 31429 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of 31430 EXTRA_CONSTRAINT_T. 31431 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New. 31432 (MOVI_SHORI_BASE_OPERAND_P): New. 31433 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New. 31434 (EXTRA_CONSTRAINT_T): Define in terms of them. 31435 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT. 31436 * config/sh/sh.md (movsi_media, movsi_media_nofpu, 31437 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to 31438 alternatives supporting TARGET_REGS. 31439 (UNSPEC_GOTPLT): New constant. 31440 (movdi split): Move incrementing of LABEL_NUSES... 31441 (movdi_const, movdi_const_32bit): Here. Use 31442 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T. 31443 (movdi_const_16bit): New. 31444 (call, call_value) [flag_pic]: Use GOTPLT. 31445 (call_pop, call_value_pop): New expands. 31446 (call_pop_compact, call_pop_rettramp): New insns. 31447 (call_value_pop_compact, call_value_pop_rettramp): New insns. 31448 (sibcall) [flag_pic]: Use GOT. 31449 (builtint_setjmp_receiver): Remove bogus, unused expand. 31450 (GOTaddr2picreg): Implement for SHcompact and SHmedia. 31451 (*pt, *ptb, ptrel): New insns. 31452 (sym2GOT): Handle DImode GOT. 31453 (sym2GOTPLT, symGOTPLT2reg): New expands. 31454 (sym2PIC): New expand. 31455 (shcompact_return_tramp): Use GOTPLT to return trampoline. 31456 (shcompact_return_tramp_i): Use return register explicitly. 31457 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't 31458 disable flag_reorder_blocks. 31459 2002-01-19 Alexandre Oliva <aoliva@redhat.com> 31460 * config/sh/sh.md (sibcall_compact): Reorder return, uses and 31461 clobbers, for clarity. 31462 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and 31463 restoring of r0 in macl as MAYBE_DEAD. 31464 2002-01-18 Alexandre Oliva <aoliva@redhat.com> 31465 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define. 31466 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of 31467 alter_subreg all over. 31468 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after 31469 reload, instead of emitting instructions that would require 31470 reloading. 31471 (casesi_load_media): Add missing modes. 31472 2001-11-09 Alexandre Oliva <aoliva@redhat.com> 31473 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register 31474 as used if the argument decoder is called. 31475 2001-08-28 Alexandre Oliva <aoliva@redhat.com> 31476 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in 31477 Pmode, then extend it to DImode if necessary. 31478 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com> 31479 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode 31480 constants in FPU-enabled SHmedia, let them be loaded from memory. 31481 2001-08-28 Alexandre Oliva <aoliva@redhat.com> 31482 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): 31483 Adjust whitespace in assembly output templates. 31484 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com> 31485 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust 31486 mode of if_then_else. 31487 2001-08-04 Alexandre Oliva <aoliva@redhat.com> 31488 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in 31489 sh.h. 31490 2001-07-26 Andrew Haley <aph@cambridge.redhat.com> 31491 Joern Rennecke <amylaar@redhat.com> 31492 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New. 31493 (SUBTARGET_CPP_PTR_SPEC): New. 31494 (SUBTARGET_CPP_SPEC): Remove. 31495 2001-07-06 Chandrakala Chavva <cchavva@redhat.com> 31496 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1): 31497 Fix typo in previous checkin. 31498 2001-07-11 Chandrakala Chavva <cchavva@redhat.com> 31499 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations. 31500 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com> 31501 Alexandre Oliva <aoliva@redhat.com> 31502 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than 31503 what single FP register can hold for SHmedia target. 31504 2001-07-06 Chandrakala Chavva <cchavva@redhat.com> 31505 Alexandre Oliva <aoliva@redhat.com> 31506 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1): 31507 Do not split into SUBREG. 31508 2001-06-14 Alexandre Oliva <aoliva@redhat.com> 31509 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures 31510 and added new functions as specified in SH5 ABI r9. 31511 2001-06-04 Alexandre Oliva <aoliva@redhat.com> 31512 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an 31513 8-byte boundary. 31514 2001-06-03 Alexandre Oliva <aoliva@redhat.com> 31515 * config/sh/sh.c (dump_table): Add const0_rtx in calls of 31516 gen_consttable_4 and gen_consttable_8. Emit multiple labels 31517 and consttable_window_ends. 31518 2001-06-03 Graham Stott <grahams@redhat,com> 31519 * config/sh/sh.md (movdi split): Remove unused variable last_insn. 31520 2001-05-16 Alexandre Oliva <aoliva@redhat.com> 31521 * config/sh/sh.c (print_operand): Handle floating-point pair, 31522 vector and matrix registers. 31523 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer 31524 vector modes into account. 31525 * config/sh/sh.md (movv2sf): Split move between registers into 31526 movdf. 31527 (movv4sf, movv16sf): Introduce insns that get split only after 31528 reload. 31529 * config/sh/shmedia.h: Fix Copyright dates. 31530 * config/sh/ushmedia.h: Likewise. Move loop counter 31531 declarations into conditionals that uses them. 31532 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in 31533 loop boundary. 31534 * config/sh/sshmedia.h: Fix Copyright dates. 31535 (sh_media_PUTCFG): Fix constraints. 31536 2001-05-12 Alexandre Oliva <aoliva@redhat.com> 31537 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to 31538 ptrmemfunc_vbit_in_delta for SH5. 31539 2001-05-08 Alexandre Oliva <aoliva@redhat.com> 31540 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*. 31541 * invoke.texi: Likewise. 31542 2001-04-14 Alexandre Oliva <aoliva@redhat.com> 31543 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs, 31544 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs, 31545 GCC_pop_shmedia_regs_nofpu): New global symbols. 31546 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them. 31547 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro. 31548 * config/sh/sh.c (calc_live_regs): Account for PR's saving in 31549 compact function with nonlocal labels. 31550 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed. 31551 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate. 31552 (initial_elimination_offset): Account for their stack space. 31553 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn. 31554 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media, 31555 movhi_media, movdi_media, movdi_media_nofpu, movdf_media, 31556 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at 31557 least one of the operands to be a register. 31558 (movv2sf): Likewise. Renamed to movv2sf_i. 31559 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf): 31560 prepare_move_operands() before emitting SHmedia insns. 31561 2001-04-03 Alexandre Oliva <aoliva@redhat.com> 31562 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]: 31563 Don't save nor initialize r12. Don't mis-align the stack. 31564 Pad the code with a nop. 31565 * config/sh/crti.asm: Don't restore r12. Don't mis-align the 31566 stack. 31567 2001-03-13 Alexandre Oliva <aoliva@redhat.com> 31568 * gcc/longlong.h (__umulsidi3, count_leading_zeros) 31569 [__SHMEDIA__]: Implement. 31570 2001-03-11 Alexandre Oliva <aoliva@redhat.com> 31571 * config/sh/sh.md: Set latency of `pt' closer to reality. 31572 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu, 31573 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu): 31574 Set move, load and store type attributes. 31575 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3. 31576 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable 31577 profiling. 31578 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode. 31579 * config/sh/sh-protos.h (sh_media_register_for_return): Declare. 31580 * config/sh/sh.c (sh_media_register_for_return): New function. 31581 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available 31582 branch-target register. 31583 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it. 31584 * config/sh/sh.md (return_media_i): Use any call-clobbered 31585 branch-target register. 31586 (return_media): If r18 wasn't copied in the prologue, copy it 31587 here. 31588 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]: 31589 Clear class FP0_REGS. 31590 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied 31591 from elf.h. 31592 2001-03-08 DJ Delorie <dj@redhat.com> 31593 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA. 31594 2001-02-09 Alexandre Oliva <aoliva@redhat.com> 31595 * config/sh/sh.md (sibcall_compact): Set fp_mode to single. 31596 2001-02-07 Alexandre Oliva <aoliva@redhat.com> 31597 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'. 31598 2001-02-03 Alexandre Oliva <aoliva@redhat.com> 31599 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode 31600 return value correctly for call_cookie. 31601 2001-02-01 Alexandre Oliva <aoliva@redhat.com> 31602 * config/sh/crt1.asm (start): Modified so as to call 31603 ___setup_argv_and_call_main. 31604 2001-01-26 Alexandre Oliva <aoliva@redhat.com> 31605 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in 31606 SHmedia mode. 31607 2001-01-20 Alexandre Oliva <aoliva@redhat.com> 31608 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro. 31609 (STRIP_NAME_ENCODING): Use it. 31610 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name(). 31611 2001-01-19 Alexandre Oliva <aoliva@redhat.com> 31612 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of 31613 prepare_scc_operands(). 31614 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"... 31615 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here. 31616 2001-01-17 Alexandre Oliva <aoliva@redhat.com> 31617 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'. 31618 2001-01-13 Alexandre Oliva <aoliva@redhat.com> 31619 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG. 31620 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants, 31621 used in shcompact_incoming_args. 31622 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous 31623 change. 31624 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision 31625 mode. 31626 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr): 31627 Adjust accordingly. 31628 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue): 31629 Simplify. Adjust. Add sanity check. 31630 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set 31631 FPU_SINGLE_BIT. 31632 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match 31633 TARGET_SHCOMPACT. 31634 (udivsi3, divsi3): Use them. 31635 (force_mode_for_call): New insn. 31636 (call, call_value, sibcall_value): Emit it before SHcompact 31637 calls. 31638 2001-01-11 Alexandre Oliva <aoliva@redhat.com> 31639 * config/sh/sh.md (call, call_value, sibcall): Make sure the 31640 call cookie is non-NULL before taking its value. 31641 2001-01-10 Alexandre Oliva <aoliva@redhat.com> 31642 * config.gcc (sh64): Set target_requires_64bit_host_wide_int. 31643 2001-01-09 Alexandre Oliva <aoliva@redhat.com> 31644 * config/sh/sh.md (shcompact_incoming_args): Set argument memory 31645 block. 31646 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1. 31647 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as 31648 temporary for stack adjusts. Use MACL and MACH to pass 31649 arguments to shcompact_incoming_args. 31650 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't 31651 clobber r1. 31652 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise. 31653 (nested_trampoline): Load static chain address into r1. 31654 * config/sh/sh.md (movdi_media splits): Fix sign-extension. 31655 2001-01-07 Alexandre Oliva <aoliva@redhat.com 31656 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call 31657 fp_arith_reg_operand(). 31658 2001-01-06 Alexandre Oliva <aoliva@redhat.com> 31659 * config/sh/sh.md (casesi): Sign-extend the first two operands, 31660 and use signed compares for them. 31661 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after 31662 4-byte ones. Instead, inter-leave them, maintaining the 8-byte 31663 ones properly aligned. 31664 (find_barrier): Account for extra alignment needed for 8-byte wide 31665 constants. 31666 (machine_dependent_reorg): Require a label for the second 4-byte 31667 constant after an 8-byte one. 31668 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's 31669 change. 31670 2001-01-05 Alexandre Oliva <aoliva@redhat.com> 31671 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset 31672 last_float when switching float modes. 31673 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer 31674 auto-increment for general-purpose registers. 31675 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the 31676 result. 31677 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary 31678 for stack adjust. 31679 * config/sh/sh.c (sh_builtin_saveregs): Support using all 31680 registers for varargs. 31681 2001-01-01 Alexandre Oliva <aoliva@redhat.com> 31682 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify. 31683 * config/sh/sh.h (CALL_COOKIE_STACKSEQ, 31684 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros. 31685 (CALL_COOKIE_INT_REG_SHIFT): Adjust. 31686 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust 31687 call_cookie accordingly. 31688 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK. 31689 (SHCOMPACT_BYREF): Likewise. 31690 (SHCOMPACT_FORCE_ON_STACK): New macro. 31691 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format. 31692 (sh_builtin_saveregs): Likewise. 31693 * config/sh/lib1funcs.asm (shcompact_call_trampoline, 31694 shcompact_incoming_args): Use new shift values. Support 31695 sequences of consecutive and non-consecutive pushes/pops. 31696 * config/sh/sh.md (return): Don't explicitly use PR_REG. 31697 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com> 31698 * config/sh/sh.h (TEXT_SECTION): Define. 31699 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP. 31700 2001-01-05 Alexandre Oliva <aoliva@redhat.com> 31701 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro. 31702 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for 31703 return values on FPU-enabled SHmedia. 31704 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on 31705 FPU-enabled SHmedia. 31706 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if 31707 value is returned in a non-FP reg and is not returned by 31708 reference. 31709 * config/sh/sh.md (shcompact_return_tramp_i): Change type to 31710 jump_ind. 31711 2000-01-04 Alexandre Oliva <aoliva@redhat.com> 31712 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New. 31713 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be 31714 quad-aligned to be passed by callee-copy reference. 31715 2001-01-03 Alexandre Oliva <aoliva@redhat.com> 31716 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define. 31717 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine. 31718 2001-01-02 Alexandre Oliva <aoliva@redhat.com> 31719 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in 31720 copying low-numbered FP regs to r7 and r8. 31721 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of 31722 FP regs to general-purpose regs only if the copy was passed on the 31723 stack. 31724 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in 31725 copying FP reg to r9. 31726 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to 31727 copy FP regs to general-purpose regs only in outgoing calls. 31728 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect 31729 change from 2000-10-30. Adjust for 64-bit (or 32-bit) 31730 HOST_WIDE_INT. 31731 * config/sh/sh.h (struct sh_args): Document all fields. 31732 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments 31733 passed partially on the stack should not consider making 31734 sibcalls. 31735 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to 31736 stack_regs only for incoming calls. When passing FP args, 31737 make sure there are FP regs available before modifying 31738 call_cookie. 31739 (SHCOMPACT_BYREF): Pass double args in general-purpose 31740 registers by reference. 31741 2000-12-30 Alexandre Oliva <aoliva@redhat.com> 31742 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't 31743 attempt to generate sibcalls if the caller got any arguments 31744 by reference. 31745 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double. 31746 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode 31747 to 8-byte boundaries. 31748 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn. 31749 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro. 31750 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be 31751 stored in the stack. 31752 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange 31753 for the offsets to have the ISA bit set. 31754 (shcompact_call_trampoline): Document. Swap r0 and r1, to match 31755 invocation. Use beq instead of bgt to mark end of sequence of 31756 loads. 31757 (shcompact_incoming_args): Fix store of r2. Use beq instead of 31758 bgt to mark end of sequence of stores. 31759 * config/sh/sh.c (arith_operand): Don't check whether 31760 CONST_OK_FOR_J for now. 31761 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT 31762 instead of long for conversion. 31763 2000-12-29 Alexandre Oliva <aoliva@redhat.com> 31764 * config/sh/sh.c (print_operand_address): Convert INTVAL to int 31765 before passing it to fprintf. 31766 2000-12-28 Alexandre Oliva <aoliva@redhat.com> 31767 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit. 31768 Call set_fpscr before reading/writing SR. 31769 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR. 31770 Call set_fpscr. 31771 * config/sh/lib1funcs.asm: Add `.align 2' directives before 31772 SHmedia code. 31773 (FMOVD_WORKS): Define on SH5 with FPU. 31774 (set_fpscr): Define on SH5. Remove separate _fpscr_values 31775 setting. 31776 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of 31777 _fpscr_values. 31778 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com> 31779 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even 31780 address. 31781 (ia_main_table): Ditto. 31782 2000-12-27 Alexandre Oliva <aoliva@redhat.com> 31783 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define. 31784 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate 31785 the definitions from sh.h. 31786 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on 31787 TARGET_SH5. 31788 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined. 31789 * config/sh/elf.h (PTRDIFF_TYPE): Likewise. 31790 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise. 31791 2000-12-26 Alexandre Oliva <aoliva@redhat.com> 31792 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes. 31793 Increment LABEL_NUSES. 31794 31795 * config/sh/sh.h (SIZE_TYPE): Define as conditional on 31796 TARGET_SH5. 31797 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always 31798 defined. 31799 * config/sh/elf.h (SIZE_TYPE): Likewise. 31800 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise. 31801 * config/sh/lib1funcs.asm (shcompact_call_trampoline, 31802 shcompact_incoming_args): Load switch table addresses using 31803 datalabel. 31804 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__. 31805 (NO_BUILTIN_SIZE_TYPE): Define. 31806 (SIZE_TYPE): Don't define. 31807 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__. 31808 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the 31809 definition of __SH5__=32 for -m5-compact-nofpu. 31810 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after 31811 ADDR_DIFF_VEC. 31812 2000-12-24 Alexandre Oliva <aoliva@redhat.com> 31813 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed. 31814 2000-12-23 Alexandre Oliva <aoliva@redhat.com> 31815 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5. 31816 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia. 31817 (INSN_LENGTH_ALIGNMENT): Likewise. 31818 2000-12-22 Alexandre Oliva <aoliva@redhat.com> 31819 * config/sh/sh.md (call, call_value, sibcall): Simplify 31820 copying of non-branch-target register. 31821 2000-12-22 Alexandre Oliva <aoliva@redhat.com> 31822 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch. 31823 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia. 31824 2000-12-22 Alexandre Oliva <aoliva@redhat.com> 31825 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex 31826 floating-point values as structs. 31827 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG. 31828 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before 31829 general-purpose register. 31830 (SH5_PROTOTYPED_FLOAT_ARG): New macro. 31831 2000-12-20 Alexandre Oliva <aoliva@redhat.com> 31832 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia. 31833 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too. 31834 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST. 31835 (ENCODE_SECTION_INFO): Enclose variables and constants in 31836 DATALABEL unspecs. 31837 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define. 31838 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off. 31839 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define. 31840 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL 31841 only for LABEL_REFs. For SYMBOL_REFs, prepend 31842 SH_DATALABEL_ENCODING to the symbol name. 31843 * config/sh/sh.md (indirect_jump): Use SUBREG instead of 31844 convert_mode(). 31845 2000-12-20 Alexandre Oliva <aoliva@redhat.com> 31846 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in 31847 UNSPEC_DATALABEL. 31848 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs. 31849 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise. 31850 (DATALABEL_REF_P): Don't require CONST. 31851 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before 31852 REL label. 31853 2000-12-19 Alexandre Oliva <aoliva@redhat.com> 31854 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift 31855 right. 31856 2000-12-18 Alexandre Oliva <aoliva@redhat.com> 31857 * config/sh/sh.md (movsi_media, call, call_value, sibcall): 31858 Use shallow_copy_rtx and PUT_MODE to change the mode of 31859 SYMBOL_REFs, LABEL_REFs, CONSTs, etc. 31860 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs 31861 on SHmedia using GENERAL_REGs. 31862 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i, 31863 bltu_media_i): Fix reversion of conditions. 31864 2000-12-18 Alexandre Oliva <aoliva@redhat.com> 31865 * config/sh/sh.md (zero_extendhidi2): Use logical shift right. 31866 * config/sh/sh.c (output_far_jump): Save r13 in macl. 31867 2000-12-17 Alexandre Oliva <aoliva@redhat.com> 31868 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC. 31869 2000-12-16 Alexandre Oliva <aoliva@redhat.com> 31870 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5. 31871 (GCC_nested_trampoline): Likewise. 31872 * config/sh/sh-protos.h (gen_datalabel_ref): Declare. 31873 * config/sh/sh.c (gen_datalabel_ref): Define. 31874 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5. 31875 (INITIALIZE_TRAMPOLINE): Likewise. 31876 (TRAMPOLINE_ADJUST_ADDRESS): Define. 31877 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define. 31878 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs. 31879 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs. 31880 * config/sh/sh.md (UNSPEC_DATALABEL): New constant. 31881 (ic_invalidate): Adjust for SH5. 31882 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns. 31883 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and 31884 _nested_trampoline. 31885 2000-12-15 Alexandre Oliva <aoliva@redhat.com> 31886 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere. 31887 (MOVE_MAX_PIECES): Set to 8 on SHmedia too. 31888 2000-12-14 Alexandre Oliva <aoliva@redhat.com> 31889 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb. 31890 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise. 31891 2000-12-14 Alexandre Oliva <aoliva@redhat.com> 31892 * config/sh/sh.c (target_reg_operand): Match only target-branch 31893 registers and pseudos that aren't virtual registers. 31894 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]: 31895 Copy operands that don't match target_reg_operand to pseudos. 31896 (call_media, call_value_media, sibcall_media): Use 31897 target_reg_operand instead of target_operand. 31898 2000-12-13 Alexandre Oliva <aoliva@redhat.com> 31899 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits. 31900 * config/sh/sh.c (target_reg_operand): Match hardware registers 31901 other than branch-target registers. 31902 * config/sh/sh.md (zero_extendqidi2): Input operand is %1. 31903 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global. 31904 (fpscr_values) [SH5 == 32]: Define. 31905 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values. 31906 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]: 31907 Handle function addresses coming in SUBREGs. 31908 2000-12-12 Alexandre Oliva <aoliva@redhat.com> 31909 * config/sh/lib1funcs.asm (shcompact_call_trampoline, 31910 shcompact_return_trampoline): Use datalabel where appropriate. 31911 2000-12-09 Alexandre Oliva <aoliva@redhat.com> 31912 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a 31913 general-purpose register to copy one branch-target register to 31914 another. 31915 2000-12-06 Alexandre Oliva <aoliva@redhat.com> 31916 * config/sh/sh.c (target_operand): Accept LABEL_REFs and 31917 SYMBOL_REFs with VOIDmode. 31918 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i, 31919 bltu_media_i): New insns. 31920 2000-12-06 Alexandre Oliva <aoliva@redhat.com> 31921 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI. 31922 (INIT_CUMULATIVE_ARGS): Likewise. 31923 2000-12-01 Alexandre Oliva <aoliva@redhat.com> 31924 * machmode.def (V16SFmode): New mode. 31925 * c-common.c (type_for_mode): Support V2SF and V16SF. 31926 * tree.c (build_common_tree_nodes_2): Likewise. 31927 * tree.h (tree_index): Likewise. 31928 * calls.c (emit_call_1): Take args_so_far. Adjust all 31929 callers. Introduce CALL_POPS_ARGS. 31930 * tm.texi (CALL_POPS_ARGS): Document. 31931 * config/sh/crt1.asm: Implement in SHmedia mode. 31932 * config/sh/crti.asm, config/sh/crtn.asm: Likewise 31933 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags. 31934 (DBX_REGISTER_NUMBER): Renumber registers for SH5. 31935 * config/sh/lib1funcs.asm: Disable functions unused in SH5. 31936 Implement divsi and udivsi in SHmedia mode. Introduce 31937 SHcompact trampolines. 31938 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode 31939 only in SHmedia64. 31940 (regno_reg_class): Rewrite. 31941 (fp_reg_names): Remove. 31942 (sh_register_names, sh_additional_register_names): New. 31943 (print_operand): Added `u'. Support SUBREGs in addresses. 31944 Add parentheses around shifted CONSTs. 31945 (output_file_start): Output .mode and .abi directives. 31946 (shiftcosts, addsubcosts, multcosts): Adjust. 31947 (output_stack_adjust): Compute alignment. Sanity-check SIZE. 31948 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers. 31949 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count 31950 bytes, not registers. Take into account the need for the 31951 SHcompact incoming args trampoline. Adjust all callers. 31952 (sh_expand_prologue): Take stack_regs into account. Call 31953 incoming args trampoline. Keep stack aligned as per SH5 ABI. 31954 (sh_expand_epilogue): Take stack_regs into accoutn. Keep 31955 stack aligned as per SH5 ABI. 31956 (sh_builtin_saveregs): Support SH5 ABI. 31957 (sh_build_va_list, sh_va_start): Likewise. 31958 (initial_elimination_offset): Take alignment into account. 31959 Compute location of PR according to the SH5 stack frame. 31960 (arith_reg_operand): Reject branch-target registers. 31961 (shmedia_6bit_operand): New. 31962 (logical_operand): Use CONST_OK_FOR_P on SHmedia. 31963 (target_reg_operand): Match DImode only. Accept SUBREGs. 31964 (target_operand): New. 31965 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags. 31966 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize 31967 SIBCALL_REGS for SHmedia. 31968 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too. 31969 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New. 31970 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New. 31971 (TARGET_SWITCHES): New SH5 flags. 31972 (OVERRIDE_OPTIONS): Set SH5-specific options. Use 31973 VALID_REGISTER_P to disable unsupported registers. 31974 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set. 31975 (POINTER_SIZE, PARM_BOUNDARY): Adjust. 31976 (FUNCTION_ARG_PADDING): Define. 31977 (FASTEST_ALIGNMENT): Adjust. 31978 (SH_REGISTER_NAMES_INITIALIZER): New. 31979 (sh_register_names): Declare. 31980 (DEBUG_REGISTER_NAMES): Define. 31981 (REGISTER_NAMES): Define based on sh_register_names. 31982 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New. 31983 (sh_additional_register_names): Declare. 31984 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia. 31985 (FIRST_TARGET_REG, LAST_TARGET_REG): Define. 31986 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define. 31987 (REGISTER_NATURAL_MODE): Define. 31988 (FIRST_PSEUDO_REGISTER): Adjust. 31989 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust. 31990 (HARD_REGNO_CALL_PART_CLOBBERED): Define. 31991 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust. 31992 (VECTOR_MODE_SUPPORTED_P): Define. 31993 (REG_CLASS_CONTENTS): Adjust. 31994 (SMALL_REGISTER_CLASSES): Adjust. 31995 (REG_ALLOC_ORDER): Adjust. 31996 (INDEX_REG_CLASS): Adjust. 31997 (CONST_OK_FOR_O, CONST_OK_FOR_P): New. 31998 (CONST_OK_FOR_LETTER_P): Adjust. 31999 (PREFERRED_RELOAD_CLASS): Adjust. 32000 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust. 32001 (SECONDARY_INPUT_RELOAD_CLASS): Adjust. 32002 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust. 32003 (FIRST_FP_PARM_REG): Adjust. 32004 (CALL_POPS_ARGS): Define. 32005 (FUNCTION_ARG_REGNO_P): Adjust. 32006 (struct sh_args): New fields. 32007 (GET_SH_ARG_CLASS): Adjust. 32008 (INIT_CUMULATIVE_ARGS): Adjust. 32009 (INIT_CUMULATIVE_INCOMING_ARGS): Define. 32010 (FUNCTION_ARG_ADVANCE): Adjust. 32011 (FUNCTION_ARG): Adjust. 32012 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define. 32013 (FUNCTION_ARG_CALLEE_COPIES): Define. 32014 (SH5_PROTOTYPELESS_FLOAT_ARG): Define. 32015 (STRICT_ARGUMENT_NAMING): Define. 32016 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust. 32017 (FUNCTION_ARG_PARTIAL_NREGS): Adjust. 32018 (SH5_WOULD_BE_PARTIAL_NREGS): Define. 32019 (SETUP_INCOMING_VARARGS): Adjust. 32020 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust. 32021 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust. 32022 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust. 32023 (SUBREG_OK_FOR_INDEX_P): Adjust. 32024 (EXTRA_CONSTRAINT_S): Update. 32025 (EXTRA_CONSTRAINT_T): New. 32026 (EXTRA_CONSTRAINT): Adjust. 32027 (GO_IF_LEGITIMATE_INDEX): Adjust. 32028 (GO_IF_LEGITIMATE_ADDRESS): Adjust. 32029 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust. 32030 (MOVE_MAX): Adjust. 32031 (MAX_MOVE_MAX): Define. 32032 (Pmode): Adjust. 32033 (CONST_COSTS): Adjust. 32034 (REGISTER_MOVE_COST): Adjust. 32035 (BRANCH_COST): Adjust. 32036 (TEXT_SECTION_ASM_OP): Adjust. 32037 (DBX_REGISTER_NUMBER): Adjust. 32038 (ASM_OUTPUT_DOUBLE_INT): New. 32039 (UNALIGNED_DOUBLE_INT_ASM_OP): New. 32040 (PREDICATE_CODES): Adjust. 32041 (PROMOTE_MODE): Adjust. 32042 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia. 32043 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber. 32044 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber. 32045 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New. 32046 (DR0_REG, DR2_REG, DR4_REG): Renumber. 32047 (TR0_REG, TR1_REG, TR2_REG): New. 32048 (XD0_REG): Renumber. 32049 (UNSPEC_COMPACT_ARGS): New. 32050 (type): Added pt and ptabs. 32051 (length): Default to 4 on SHmedia. Default pt length to 12 32052 and 20 on SHmedia32 and SHmedia64, respectively. 32053 (pt): New function unit. 32054 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES. 32055 Add whitespace between operands of SHmedia instructions. 32056 (movdicc): Fix. 32057 (adddi3_media, addsi3_media): Adjust constraints. 32058 (subsi3) [SHmedia]: Force operand 1 into a register. 32059 (udivsi3_i1_media, udivsi3_i4_media): New. 32060 (udivsi3): Support SHmedia. 32061 (divsi3_i1_media, divsi3_i4_media): New. 32062 (divsi3): Support SHmedia. 32063 (anddi3, iordi3, xordi3): Adjust constraints. 32064 (zero_extendhidi2, zero_extendqidi2): New. 32065 (extendsidi2, extendhidi2, extendqidi2): New. 32066 (push, pop, push_e, push_fpul, push_4): Disable on SH5. 32067 (pop_e, pop_fpul, pop_4): Likewise. 32068 (movsi_media): Support FP and BT registers. 32069 (movsi_media_nofpu): New. Adjust splits to DImode. 32070 (lduw, ldub): Renamed to zero_extend* above. 32071 (movqi_media): Fix typo. 32072 (movdi_media): Support FP and BT registers. 32073 (movdi_media_nofpu): New. Adjust splits for SHmedia32. 32074 (movdi_const_32bit): New. 32075 (shori_media): Require immediate operand. Use `u' for output. 32076 (movdf_media, movsf_media): Simplified. 32077 (movdf_media_nofpu, movsf_media_nofpu): New. 32078 (movdf, movsf): Adjust 32079 (movv2sf, movv2sf, movv16sf): New. 32080 (beq_media, beq_media_i): Adjust constraints. Don't use 32081 scratch BT register. 32082 (bne_media, bne_media_i): Likewise. 32083 (bgt_media, bgt_media_i): Likewise. 32084 (bge_media, bge_media_i): Likewise. 32085 (bgtu_media, bgtu_media_i): Likewise. 32086 (bgeu_media, bgeu_media_i): Likewise. 32087 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu, 32088 bunordered): Emit jump insn. Force operands to registers when 32089 needed. 32090 (jump_media, jump): Simplify. 32091 (call_compact, call_compact_rettramp): New. 32092 (call_value_compact, call_value_compact_rettramp): New. 32093 (call_media, call_value_media): Simplify. 32094 (sibcall_compact, sibcall_media): New. 32095 (call, call_value): Adjust for SHmedia and SHcompact. 32096 (sibcall, sibcall_value, untyped_call): Likewise. 32097 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact. 32098 (indirect_jump): Adjust for SHmedia. 32099 (casesi_jump_media): New. 32100 (nop): Re-enable for SHmedia. 32101 (call_site): Restrict to SH1. 32102 (casesi): Adjust for SHmedia. 32103 (casesi_shift_media, casesi_load_media): New. 32104 (return): Explicitly use PR register. Call return trampoline 32105 on SHcompact. 32106 (return_i): Explicitly use PR register. 32107 (shcompact_return_tramp, shcompact_return_tramp_i): New. 32108 (return_media): Adjust. 32109 (shcompact_incoming_args): New. 32110 (epilogue): Adjust. 32111 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust. 32112 (movstrsi): Disable on SH5. 32113 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4. 32114 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU. 32115 (subsf3, subsf3_media): Likewise. 32116 (mulsf3, mulsf3_media, mac_media): Likewise. 32117 (divsf3, divsf3_media): Likewise. 32118 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints. 32119 (floatsisf2, fux_truncsfsi2): Likewise. 32120 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust 32121 constraints. 32122 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise. 32123 (cmpunsf_media, cmpsf): Likewise. 32124 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise. 32125 (abssf2, abssf2_media): Likewise. 32126 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise. 32127 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise. 32128 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints. 32129 (floatsidf2, fix_truncdfsi2): Likewise. 32130 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust 32131 constraints. 32132 (cmpeqdf_media, cmpgtdf_media): Likewise. 32133 (cmpgedf_media, cmpundf_media, cmpdf): Likewise. 32134 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise. 32135 (absdf2, absdf2_media): Likewise. 32136 (extendsfdf2, extendsfdf2_media): Likewise. 32137 (truncsfdf2, truncsfdf2_media): Likewise. 32138 * config/sh/sh64.h: New file. 32139 * config/sh/t-sh64: New file. 32140 * config/sh/shmedia.h: New file. 32141 * config/sh/ushmedia.h: New file. 32142 * config/sh/sshmedia.h: New file. 32143 * configure.in: Added sh64-*-elf. 32144 * configure: Rebuilt. 32145 2000-10-10 Alexandre Oliva <aoliva@redhat.com> 32146 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros. 32147 (reg_class_from_letter): Use `b' for TARGET_REGS. 32148 (print_operand): Support `%M', `%m', `AND' and 32149 `ASHIFTRT'. Do not precede constants with `#' on SHmedia. 32150 (andcosts): Adjust for SHmedia. 32151 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue): 32152 Likewise. 32153 (target_reg_operand): New function. 32154 * config/sh/sh-protos.h (target_reg_operand): Declare. 32155 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable 32156 FP registers on SH5. 32157 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable 32158 on SH4. 32159 (TARGET_REGISTER_P): New macro. 32160 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS. 32161 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia. 32162 (EXTRA_CONSTRAINT_S): New macro. 32163 (EXTRA_CONSTRAINT): Adjust. 32164 (FLOAT_TYPE_SIZE): Define to 32. 32165 (Pmode): DImode on SHmedia. 32166 (CONST_COSTS): Adjust for SHmedia literals. 32167 (PREDICATE_CODES): Added target_reg_operand. 32168 (PROMOTE_MODE): Promote signed types to DImode on SHmedia. 32169 * config/sh/sh.md: Remove all attrs from SHmedia insns. 32170 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns. 32171 (cmpdi): Accept SHmedia. 32172 (movdicc_false, movdicc_true): New insns. 32173 (movdicc): New expand. 32174 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if 32175 no_new_pseudos. 32176 (addsi3_media): Match `S' constraint. 32177 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns. 32178 (negdi2): Expand for SHmedia. 32179 (one_cmpldi2): New expand. 32180 (zero_extendsidi2): Change from expand to insn. 32181 (extendsidi2): Add constraints. 32182 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for 32183 LD/ST address. Fix SI immediate loading split. 32184 (movhi_media, movqi_media, lduw, ldub): New insns. 32185 (movhi, movqi): Accept SHmedia. 32186 (shori_media, movdi_media): Relax input constraints. Split 32187 symbolic constants. 32188 (movdf_media, movsf_media): New insn. New split to movdi. 32189 (movdf, movsf): Match on SHmedia. 32190 (beq_media, bne_media, bgt_media, bge_media, bgtu_media, 32191 bgeu_media): New insns and splits. New insns with `_i' suffix. 32192 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust. 32193 (bunordered): New expand. 32194 (jump_compact): Renamed from `jump'. 32195 (jump_media): New insn. 32196 (jump): New expand. 32197 (call_media, call_value_media): New insns. 32198 (call, call_value): Adjust. 32199 (indirect_jump_compact): Renamed from `indirect_jump'. 32200 (indirect_jump_media): New insn. 32201 (indirect_jump): New expand. 32202 (untyped_call, return): Accept SHmedia. 32203 (return_media): New insn. 32204 (prologue, epilogue, blockage): Accept SHmedia. 32205 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust. 32206 (sunordered): New expand. 32207 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2, 32208 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia. 32209 (addsf3_media, subsf3_media, mulsf3_media, mac_media, 32210 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2, 32211 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media, 32212 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media, 32213 abssf2_media): New insns. 32214 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2, 32215 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia. 32216 (adddf3_media, subdf3_media, muldf3_media, divdf3_media, 32217 floatdidf2, floatsidf2_media, fix_truncdfdi2, 32218 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media, 32219 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media, 32220 absdf2_media): New insns. 32221 (extendsfdf2, truncdfsf2): Adjust for SHmedia. 32222 (extendsfdf2_media, truncdfsf2_media): New insns. 32223 2000-09-14 Alexandre Oliva <aoliva@redhat.com> 32224 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now. 32225 * config/sh/sh.h (CONST_OK_FOR_J): Document. 32226 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia. 32227 * config/sh/sh.md (adddi3): New expand. 32228 (adddi3_media, adddi3z_media): New insns. 32229 (adddi3_compact): Renamed from adddi3. 32230 (addsi3_media): Use add.l r63 to add constant zero. 32231 (subdi3): New expand. 32232 (subdi3_media): New insn. 32233 (subdi3_compact): Renamed from subdi3. 32234 (mulsidi3): New expand. 32235 (mulsidi3_media): New insn. 32236 (mulsidi3_compact): Renamed from mulsidi3. 32237 (umulsidi3): New expand. 32238 (umulsidi3_media): New insn. 32239 (umulsidi3_compact): Renamed from umulsidi3. 32240 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns. 32241 (ashlsi3, ashrsi3, lshrsi3): Use them. 32242 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns. 32243 (ashldi3, ashrdi3, lshrdi3): Use them. 32244 (zero_extendsidi2): New expand. 32245 (extendsidi2): New insn. 32246 (movsi_media): New insn. Split to movdi to load constants. 32247 (movsi): Enable for shmedia. 32248 (movdi_media): New insn. Use shori_media to load wide constants. 32249 (short_media): New insn. 32250 (movdi): Enable for shmedia. 32251 2000-09-08 Alexandre Oliva <aoliva@redhat.com> 32252 * config/sh/sh.h (CPP_SPEC): Added `m5'. 32253 (SUBTARGET_CPP_SPEC): Added `!m5'. 32254 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros. 32255 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT 32256 to all other SH variants. 32257 (TARGET_DEFAULT): Set to SH1_BIT. 32258 (OVERRIDE_OPTIONS): Recognize sh5 CPU. 32259 (BITS_PER_WORD): Raise to 64 on shmedia. 32260 (MAX_BITS_PER_WORD): Change to 64. 32261 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD. 32262 (INT_TYPE_SIZE): Keep as 32. 32263 (UNITS_PER_WORD): Raise to 8 on shmedia. 32264 (MIN_UNITS_PER_WORD): Keep as 4. 32265 (POINTER_SIZE): Raise to 64 on shmedia. 32266 (CONST_OK_FOR_J): New macro. 32267 (CONST_OK_FOR_LETTER_P): Use it. 32268 (processor_type): Add PROCESSOR_SH5. 32269 * config/sh/sh.md: Conditionalize all expands, insns and 32270 splits to TARGET_SH1. 32271 (cpu): Added sh5. 32272 (addsi3_compact): Renamed from... 32273 (addsi3): Now an expand. 32274 (addsi3_media, subsi3_media): New insns. 32275 (subsi3): Don't negate constants with SHmedia. 32276 32277 * hooks.c: New file. 32278 * hooks.h: New file. 32279 * Makefile.in (HOOKS_H): New. 32280 (TARGET_DEF_H): Added $(HOOKS_H). 32281 (OBJS): Added hooks.o. 32282 (cfgcleanup.o, bb-reorder.o): Added target.h. 32283 (hooks.o): Added dependencies. 32284 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to... 32285 (TARGET_INITIALIZER): this. 32286 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document. 32287 * target.h (struct gcc_target): Added cannot_modify_jumps_p. 32288 * bb-reorder.c: Include target.h. 32289 (reorder_basic_blocks): Skip if cannot modify jumps. 32290 * cfgcleanup.c: Include target.h. 32291 (try_optimize_cfg): Skip merge blocking if cannot modify jumps. 32292 322932002-02-08 Chris Demetriou <cgd@broadcom.com> 32294 32295 * config/mips/mips.md (casesi_internal, casesi_internal_di): 32296 Protect jump delay slot instructions with .set noreorder and 32297 .set nomacro. 32298 322992002-02-08 Chris Demetriou <cgd@broadcom.com> 32300 32301 * config/mips/mips.md (casesi_internal_di): Calculate 32302 the index into the target offset table correctly. 32303 323042002-02-08 Richard Henderson <rth@redhat.com> 32305 32306 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also. 32307 * final.c (output_addr_const): Accept and discard SUBREG. 32308 * varasm.c (decode_addr_const): Don't abort on unknown expressions -- 32309 mark them unknown instead. 32310 (simplify_subtraction): Handle RTX_UNKNOWN. 32311 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode. 32312 323132002-02-08 David Edelsohn <edelsohn@gnu.org> 32314 32315 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo. 32316 323172002-02-08 Richard Henderson <rth@redhat.com> 32318 32319 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New. 32320 323212002-02-08 Andreas Jaeger <aj@suse.de> 32322 32323 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment. 32324 * config/i386/t-linux64: New file. 32325 323262002-02-08 Jakub Jelinek <jakub@redhat.com> 32327 32328 * c-common.c (c_expand_expr): Revert 2002-02-06 patch. 32329 * c-parse.in (compstmt): Clear last_expr_type. 32330 323312002-02-07 Richard Henderson <rth@redhat.com> 32332 32333 * loop.c (strength_reduce): Sink final_value when not 32334 eliminating a biv. 32335 323362002-02-07 David O'Brien <obrien@FreeBSD.org> 32337 32338 * config/sparc/freebsd.h: Fix mismatched spec {. 32339 323402002-02-07 Richard Henderson <rth@redhat.com> 32341 32342 * cfgrtl.c: Include recog.h and insn-config.h. 32343 (keep_with_call_p): Fix general_operand invocation. 32344 * Makefile.in (cfgrtl.o): Update dependencies. 32345 323462002-02-07 Kazu Hirata <kazu@hxi.com> 32347 32348 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a 32349 comment. Accept HImode only if TARGET_H8300. 32350 323512002-02-07 Eric Christopher <echristo@redhat.com> 32352 32353 * config/mips/crtn.asm: Cleanup #ifdefs. 32354 323552002-02-07 Eric Christopher <echristo@redhat.com> 32356 32357 * config/mips/crti.asm: Add changes for mips16. mips16 uses 32358 register 7 as RA instead of $31. 32359 * config/mips/crtn.asm: Ditto. 32360 * config/mips/mips.c (mips_move_2words): Add case for 32361 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64. 32362 (compute_frame_size): Fix typo. 32363 (save_restore_insns): Ditto. Make documentation about using 32364 register $7 as return register more precise. 32365 (mips_expand_epilogue): Fix comment. Add code to work around not 32366 being able to add to the stack pointer directly. 32367 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number 32368 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the 32369 epilogue. 32370 323712002-02-07 Tom Rix <trix@redhat.com> 32372 32373 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For 32374 immediates in ldu and stdu DS opcode field. 32375 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use. 32376 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand. 32377 * config/rs6000/rs6000.h (PREDICATE_CODES): Same. 32378 323792002-02-07 Jeff Sturm <jsturm@one-point.com> 32380 32381 * config/sparc/sparc.c (compute_frame_size): Don't correct frame 32382 offset for stack bias. 32383 323842002-02-07 H.J. Lu <hjl@gnu.org> 32385 32386 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined. 32387 323882002-02-07 Ulrich Weigand <uweigand@de.ibm.com> 32389 32390 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option. 32391 32392Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz> 32393 32394 * i386-protos.h (x86_order_regs_for_local_alloc): Declare 32395 * i386.c (x86_order_regs_for_local_alloc): New global function. 32396 * i386.h (REG_ALLOC_ORDER): CLeanup. 32397 (ORDER_REGS_FOR_LOCAL_ALLOC): New. 32398 323992002-02-07 Richard Henderson <rth@redhat.com> 32400 32401 PR optimization/2463 32402 * alias.c (find_base_value): Recall base values for fixed hard regs. 32403 * loop.c (loop_regs_update): Don't use single_set on non-insns. 32404 324052002-02-07 Alexandre Oliva <aoliva@redhat.com> 32406 32407 * config/mips/mips.md (define_delay) [mips16]: Adjust required 32408 length. 32409 324102002-02-06 Richard Henderson <rth@redhat.com> 32411 32412 PR c/5609 32413 * stmt.c (resolve_operand_name_1): Take more care with mixed 32414 named and unnamed operands. 32415 324162002-02-06 Janis Johnson <janis187@us.ibm.com> 32417 Jan Hubicka <jh@suse.cz> 32418 32419 * loop.c (remove_constant_addition): Avoid clobbering a shared 32420 CONST expression. 32421 324222002-02-06 Ulrich Weigand <uweigand@de.ibm.com> 32423 32424 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment. 32425 * config/s390/t-linux64: New file. 32426 * config/s390/libgcc-glibc.ver: New file. 32427 324282002-02-06 Ulrich Weigand <uweigand@de.ibm.com> 32429 32430 * config/s390/linux64.h: Delete file. 32431 * config/s390/s390x.h: New file. 32432 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h 32433 as target header file. 32434 * config/s390/linux.h (TARGET_VERSION): Define depending on 32435 DEFAULT_TARGET_64BIT. 32436 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise. 32437 (SIZE_TYPE, PTRDIFF_TYPE): Likewise. 32438 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define. 32439 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines. 32440 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines. 32441 (EXTRA_SPEC): New define. 32442 * config/s390/s390.h (TARGET_VERSION): Define depending on 32443 DEFAULT_TARGET_64BIT. 32444 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT. 32445 324462002-02-06 Jason Merrill <jason@redhat.com> 32447 32448 * c-decl.c (finish_function): Warn about a non-void function with 32449 no return statement and no abnormal exit. 32450 (current_function_returns_abnormally): New variable. 32451 (start_function): Clear it. 32452 (struct c_language_function): Add returns_abnormally. 32453 (push_c_function_context): Save it. 32454 (pop_c_function_context): Restore it. 32455 (builtin_function): Set TREE_THIS_VOLATILE on return fns. 32456 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without 32457 an explicit return type. 32458 * c-tree.h: Declare current_function_returns_abnormally. 32459 (C_FUNCTION_IMPLICIT_INT): New macro. 32460 * c-typeck.c (build_function_call): Set it. 32461 (c_expand_return): Set current_function_returns_value even if the 32462 value is erroneous. 32463 324642002-02-06 Jakub Jelinek <jakub@redhat.com> 32465 32466 PR c/5420: 32467 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR 32468 unsafe for reevaluation. 32469 324702002-02-06 Jakub Jelinek <jakub@redhat.com> 32471 32472 PR c/5482: 32473 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not 32474 EXPR_STMT, but COMPOUND_STMT, recurse into it. 32475 324762002-02-06 Richard Henderson <rth@redhat.com> 32477 32478 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must 32479 be a general_operand. Dest for function value must be a pseudo. 32480 324812002-02-06 Nick Clifton <nickc@cambridge.redhat.com> 32482 32483 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well 32484 as SYMBOL_REFs from the constant pool. 32485 324862002-02-06 Alexandre Oliva <aoliva@redhat.com> 32487 32488 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters 32489 passed by invisible reference. 32490 324912002-02-05 Richard Henderson <rth@redhat.com> 32492 32493 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias. 32494 324952002-02-06 Hans-Peter Nilsson <hp@bitrange.com> 32496 32497 Implement using "base addresses" in insn operands as default. 32498 * config/mmix/mmix.c (mmix_conditional_register_usage): if 32499 -mabi=gnu, modify fixed_regs to fit the GNU ABI. 32500 (mmix_extra_constraint): Use 'R' to indicate that GETA should be 32501 used to read the rtx value. 32502 (mmix_target_asm_function_epilogue): Fix spacing. 32503 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES. 32504 (mmix_legitimate_address): Ditto. 32505 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that 32506 should be loaded with a GETA insn. Don't allocate needless extra 32507 char for nul termination and fix misleading comment. 32508 (mmix_print_operand_address): Handle constants if 32509 TARGET_BASE_ADDRESSES. 32510 (mmix_output_register_setting): Use base addressing if 32511 TARGET_BASE_ADDRESSES and the number of insns is 3. 32512 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New. 32513 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA 32514 to use R as constraint, add LDA to match s. 32515 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New. 32516 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES. 32517 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses. 32518 (FIXED_REGISTERS): Make registers $231..$246 fixed by default. 32519 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in 32520 order with other fixed registers. 32521 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with 32522 other parameter/call-clobbered registers. 32523 * doc/invoke.texi (Option Summary) <MMIX Options>: Add 32524 -mbase-addresses, -mno-base-addresses. 32525 (MMIX Options): Ditto. 32526 325272002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca> 32528 32529 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand. 32530 325312002-02-06 Aldy Hernandez <aldyh@redhat.com> 32532 32533 * config/rs6000/altivec.h: Change elem to _S_elem. 32534 325352002-02-05 Jason Thorpe <thorpej@wasabisystems.com> 32536 32537 * config/netbsd.h (WCHAR_TYPE): Define. 32538 (WCHAR_TYPE_SIZE): Ditto. 32539 (WINT_TYPE): Ditto. 32540 * config/alpha/netbsd.h (WCHAR_TYPE): Remove. 32541 (WCHAR_UNSIGNED): Ditto. 32542 (WCHAR_TYPE_SIZE): Ditto. 32543 (WINT_TYPE): Ditto. 32544 * config/arm/netbsd.h: Likewise. 32545 * config/i386/netbsd-elf.h: Likewise. 32546 * config/i386/netbsd.h: Likewise. 32547 * config/m68k/netbsd-elf.h: Likewise. 32548 * config/m68k/netbsd.h: Likewise. 32549 * config/ns32k/netbsd.h: Likewise. 32550 * config/sparc/netbsd.h: Likewise. 32551 * config/vax/netbsd.: Likewise. 32552 325532002-02-05 Alexandre Oliva <aoliva@redhat.com> 32554 32555 * target.h (struct gcc_target): Added ms_bitfield_layout_p. 32556 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to... 32557 (TARGET_INITIALIZER): this. 32558 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document. 32559 (BITFIELD_NBYTES_LIMITED): Markup fix. 32560 * tree.h (default_ms_bitfield_layout_p): Declare. 32561 (record_layout_info): Added prev_field. 32562 * tree.c (default_ms_bitfield_layout_p): New fn. 32563 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and 32564 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout. 32565 * stor-layout.c: Include target.h. 32566 (start_record_layout): Initialize prev_field. 32567 (place_field): Handle MS bit-field layout, and disregard 32568 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and 32569 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field. 32570 * Makefile.in (stor-layout.o): Adjust dependencies. 32571 325722002-02-05 Jason Merrill <jason@redhat.com> 32573 32574 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle. 32575 325762002-02-05 Andreas Jaeger <aj@suse.de> 32577 32578 * crtstuff.c: Fix comments. 32579 325802002-02-05 Richard Henderson <rth@redhat.com> 32581 32582 PR fortran/3393 32583 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well. 32584 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. 32585 32586 PR fortran/3392 32587 * config/mips/mips.c (function_arg): Handle TImode. 32588 (function_arg_advance): Likewise. 32589 325902002-02-05 Aldy Hernandez <aldyh@redhat.com> 32591 32592 * config/rs6000/altivec.h (vec_step_help): Rename to 32593 __vec_step_help. 32594 325952002-02-05 Aldy Hernandez <aldyh@redhat.com> 32596 32597 * config/rs6000/altivec.h: Fix typos. 32598 325992002-02-05 Jason Thorpe <thorpej@wasabisystems.com> 32600 32601 * config/arm/netbsd.h: Correct a comment. 32602 326032002-02-05 Aldy Hernandez <aldyh@redhat.com> 32604 32605 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo 32606 building void typed builtins. 32607 32608 * config/rs6000/altivec.h (vec_ld*): Fix typos. 32609 (vec_step): Implement for C++. 32610 32611Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 32612 32613 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND. 32614 326152002-02-04 Richard Henderson <rth@redhat.com> 32616 32617 * combine.c (nonzero_bits): Re-introduce special case for 32618 sp/fp/ap wrt REGNO_POINTER_ALIGN. 32619 326202002-02-05 Aldy Hernandez <aldyh@redhat.com> 32621 32622 * doc/extend.texi: Warn about unsupported usage of altivec 32623 builtins. 32624 32625 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove. 32626 (altivec_predicate_*): New. 32627 32628 * config/rs6000/altivec.h: Rewrite predicates to use new builtins. 32629 Add C++ version of vec_*() functions. 32630 32631 * config/rs6000/rs6000.c (bdesc_altivec_preds): New. 32632 (bdesc_2arg): Remove altivec predicates. 32633 (altivec_expand_builtin): Handle predicates. 32634 (altivec_init_builtins): Handle predicates. 32635 (altivec_expand_predicate_builtin): New. 32636 326372002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 32638 32639 * pa.c (DO_FRAME_NOTES): Move forward. 32640 (store_reg): Revise handling of frame notes. 32641 (load_reg): Likewise. 32642 (set_reg_plus_d): Likewise. 32643 (hppa_expand_prologue): Likewise. 32644 (hppa_expand_epilogue): Likewise. 32645 326462002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 32647 32648 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined. 32649 326502002-02-04 Jakub Jelinek <jakub@redhat.com> 32651 32652 PR c/4475, c++/3780: 32653 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand. 32654 * c-common.h (SWITCH_TYPE): Define. 32655 * c-typeck.c (c_start_case): Set SWITCH_TYPE. 32656 * stmt.c (all_cases_count): Set lastval to thisval at end of loop. 32657 Rename spareness variable to sparseness. 32658 (expand_end_case_type): Renamed from expand_end_case, use orig_type 32659 if non-NULL instead of TREE_TYPE (orig_index). 32660 * tree.h (expand_end_case_type): Renamed from expand_end_case. 32661 (expand_end_case): Define using expand_end_case_type. 32662 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE 32663 to expand_end_case_type. 32664 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE. 32665 326662002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 32667 32668 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding. 32669 (BIGGEST_ALIGNMENT): Change to 128. 32670 326712002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 32672 32673 * pa32-linux.h (LINK_COMMAND_SPEC): Define. 32674 326752002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca> 32676 32677 * pa.md (call_internal_reg_64bit): Remove unused variable. 32678 326792002-02-04 Nick Clifton <nickc@cambridge.redhat.com> 32680 32681 * config/arm/arm.h (machine_function): Add uses_anonymous_args 32682 field. 32683 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args. 32684 * config/arm/arm.c (current_function_anonymous_args): Delete, 32685 replace uses with cfun->machine->uses_anonymous_args. 32686 (arm_reorg): Do not reset uses_anonymous_args. 32687 32688 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in 32689 any geenral register. 32690 326912002-02-04 Bernd Schmidt <bernds@redhat.com>s 32692 32693 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect 32694 the entry block. 32695 326962002-02-04 Richard Henderson <rth@redhat.com> 32697 32698 * combine.c (force_to_mode): Remove STACK_BIAS code. 32699 (nonzero_bits): Likewise. Replace sp/fp special case with 32700 REGNO_POINTER_ALIGN. 32701 32702 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP. 32703 (HARD_FRAME_POINTER_REGNUM): New. 32704 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update. 32705 (FIXED_REGS, CALL_USED_REGS): Update. 32706 (REG_ALLOC_ORDER, REGISTER_NAMES): Update. 32707 (CONDITIONAL_REGISTER_USAGE): Update for HFP. 32708 (HARD_REGNO_NREGS): Update for SFP. 32709 (STACK_POINTER_OFFSET): Include bias here ... 32710 (FIRST_PARM_OFFSET): ... not here. 32711 (STACK_BIAS): Remove. 32712 (INIT_EXPANDERS): New. 32713 (STARTING_FRAME_OFFSET): Do not include bias. 32714 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New. 32715 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP. 32716 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise. 32717 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP. 32718 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise. 32719 * config/sparc/sparc.c (mem_min_alignment): Update for HFP. 32720 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise. 32721 (MUST_SAVE_REGISTER): Likewise. 32722 (sparc_flat_function_prologue): Likewise. 32723 (sparc_flat_function_epilogue): Likewise. 32724 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK. 32725 (sparc_init_modes): SFP is GENERAL_REGS. 32726 (sparc_builtin_saveregs): SFP does not have bias applied. 32727 327282002-02-04 Richard Henderson <rth@redhat.com> 32729 32730 * config/alpha/alpha.c (current_function_is_thunk): Don't check 32731 current_function_is_thunk. 32732 (alpha_sa_mask): Distinguish between current_function_is_thunk 32733 called from ASM_OUTPUT_MI_THUNK and not. 32734 (alpha_does_function_need_gp): Thunks always need gp. 32735 (alpha_start_function, alpha_output_function_end_prologue): Likewise. 32736 (alpha_output_mi_thunk_osf): New. 32737 * config/alpha/alpha-protos.h: Update. 32738 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New. 32739 327402002-02-04 Richard Sandiford <rsandifo@redhat.com> 32741 32742 * c-typeck.c (build_c_cast): Warn when qualifiers are added to 32743 function types, not when they're taken away. 32744 32745Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com) 32746 32747 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated 32748 CODE_LABEL and jump table when replacing a table jump with a 32749 simple jump. 32750 327512002-02-04 Ulrich Weigand <uweigand@de.ibm.com> 32752 32753 * config/s390/s390-protos.h (legitimize_la_operand, 32754 s390_secondary_input_reload_class, s390_plus_operand, 32755 s390_expand_plus_operand): Add prototypes. 32756 32757 config/s390/s390.c (s390_secondary_input_reload_class, 32758 s390_plus_operand, s390_expand_plus_operand): New functions. 32759 32760 (struct s390_address): New member 'pointer'. 32761 (s390_decompose_address): Compute it. 32762 (legitimate_la_operand_p): Use it. 32763 (legitimize_la_operand): New function. 32764 (movti, movdi, movdf splitters): Call it. 32765 32766 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define. 32767 (PREDICATE_CODES): Add s390_plus_operand. 32768 32769 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete. 32770 (la_ccclobber): Allow GENERAL_REGS as output operand. 32771 32772 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0, 32773 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ... 32774 (*la_64, *la_31, reload_indi, reload_insi): ... these. 32775 327762002-02-04 Ulrich Weigand <uweigand@de.ibm.com> 32777 32778 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed 32779 register names for regular asm () construct. 32780 327812002-02-04 Jakub Jelinek <jakub@redhat.com> 32782 32783 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX 32784 registers. 32785 327862002-02-04 Jakub Jelinek <jakub@redhat.com> 32787 32788 * combine.c (recog_for_combine): Create a dummy insn with PATTERN 32789 pat for recog. 32790 327912002-02-04 Hartmut Penner <hpenner@de.ibm.com> 32792 32793 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in 32794 constant pool to be identical by string address and index. 32795 327962002-02-04 Anthony Green <green@redhat.com> 32797 32798 * output.h (SECTION_OVERRIDE): Define. 32799 * varasm.c (named_section): Obey SECTION_OVERRIDE. 32800 328012002-02-03 Jason Thorpe <thorpej@wasabisystems.com> 32802 32803 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match 32804 by existing arm*-*-netbsd* (a.out) target. 32805 (ns32k-*-netbsdelf*): Likewise. 32806 (sparc-*-netbsdelf*): Likewise. 32807 (vax-*-netbsdelf*): Likewise. 32808 328092002-02-03 Danny Smith <dannysmith@users.sourceforge.net> 32810 32811 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows 32812 headers and libobjc headers. 32813 328142002-02-03 Mumit Khan <khan@nanotech.wisc.edu> 32815 32816 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++. 32817 (_mingw.h): Remove duplicate include. 32818 328192002-02-03 Jason Thorpe <thorpej@wasabisystems.com> 32820 32821 * config.gcc: Set cpu_type to m68k for 68010, as well. 32822 (m68010-*-netbsdelf*): New... 32823 (m68k*-*-netbsdelf*): ...targets. 32824 * config/m68k/netbsd-elf.h: New file. 32825 328262002-02-02 Kazu Hirata <kazu@hxi.com> 32827 32828 * config/h8300/h8300.c (hand_list): Move inside function_arg. 32829 328302002-02-02 Kazu Hirata <kazu@hxi.com> 32831 32832 * config/h8300/h8300.c (h8_push_ops): Move inside 32833 h8300_init_once. 32834 (h8_pop_ops): Likewise. 32835 (h8_move_ops): Likewise. 32836 328372002-02-02 Kazu Hirata <kazu@hxi.com> 32838 32839 * config/h8300/h8300.c (os_task): Make it static. 32840 (monitor): Likewise. 32841 (pragma_saveall): Likewise. 32842 328432002-02-02 Alexandre Oliva <aoliva@redhat.com> 32844 32845 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate 32846 constant is a valid sign-extension for Pmode. 32847 328482002-02-02 Kazu Hirata <kazu@hxi.com> 32849 32850 * config/h8300/h8300.c: Fix formatting. 32851 328522002-02-02 Kazu Hirata <kazu@hxi.com> 32853 32854 * config/h8300/h8300.md: Fix formatting. 32855 328562002-02-02 Kazu Hirata <kazu@hxi.com> 32857 32858 * config/h8300/h8300.md (one_cmpl patterns): Tighten the 32859 predicates of operands[1]. Split the patterns for each 32860 processor variant. 32861 328622002-02-02 Kazu Hirata <kazu@hxi.com> 32863 32864 * config/h8300/h8300.md (xor patterns): Tighten the predicates 32865 of operands[1] to register_operand. 32866 328672002-02-02 Neil Booth <neil@daikokuya.demon.co.uk> 32868 32869 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__. 32870 * cpphash.c (_cpp_init_hashtable): Similarly. 32871 * cppinit.c (cpp_create_reader): Default the signed_char flag. 32872 (init_builtins): Define __CHAR_UNSIGNED__ appropriately. 32873 (COMMAND_LINE_OPTIONS): Recognize -f{un,}signed-char. 32874 (cpp_handle_option): Handle the new options. 32875 * cpplex.c (cpp_interpret_charconst): Use new flag. 32876 * cpplib.h (struct cpp_options): New member signed_char. 32877 * gcc.c (cpp_unique_options): Remove %c spec and documentation. 32878 (cpp_options): Handle -fsigned-char and -funsigned-char. 32879 (static_specs): Remove signed_char_spec. 32880 (do_spec1): Don't handle %c. 32881 * system.h: Poison SIGNED_CHAR_SPEC. 32882 * tradcif.y (yylex): Use flag_signed_char. 32883 * tradcpp.h (flag_signed_char): New. 32884 * tradcpp.c (flag_signed_char): New. 32885 (main): Handle new command-line options. 32886 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate. 32887config: 32888 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove. 32889 * avr/avr.h: Remove old comments. 32890 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*. 32891 (CC1_SPEC): Pass -fsigned-char if -mic*. 32892 (SIGNED_CHAR_SPEC): Remove. 32893doc: 32894 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation. 32895 328962002-02-01 Eric Christopher <echristo@redhat.com> 32897 32898 From Daniel Jacobowitz <dmj+@andrew.cmu.edu> 32899 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling. 32900 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine. 32901 (ASM_OUTPUT_REG_POP): Ditto. 32902 329032002-02-02 Neil Booth <neil@daikokuya.demon.co.uk> 32904 32905 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield 32906 patch. 32907 329082002-02-02 Jakub Jelinek <jakub@redhat.com> 32909 32910 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators. 32911 329122002-02-02 Jakub Jelinek <jakub@redhat.com> 32913 32914 PR c/5304: 32915 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1 32916 unconditionally. 32917 329182002-02-01 Janis Johnson <janis187@us.ibm.com> 32919 32920 * cfganal.c: Include tm_p.h. 32921 (keep_with_call_p): Fix the test that determines if a register holds 32922 the return value of a call. 32923 329242002-02-01 DJ Delorie <dj@redhat.com> 32925 32926 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If 32927 we are given conflicting registers, switch to the other one we 32928 had allocated for us. 32929 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2] 32930 as TImode so we know when the "other" register is available. 32931 329322002-02-01 David O'Brien <obrien@FreeBSD.org> 32933 32934 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than 32935 sparc/sparc_bi.h. 32936 329372002-02-01 Janis Johnson <janis187@us.ibm.com> 32938 32939 * cfganal.c (keep_with_call_p): New function. 32940 (flow_call_edges_add): Prevent splitting a block between a call and 32941 a single-set instruction that should be kept in the same block. 32942 329432002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org> 32944 32945 * doc/install.texi (avr): Update outdated URL. 32946 329472002-01-30 Andrew Haley <aph@cambridge.redhat.com> 32948 32949 * config/stormy16/stormy16.md (pushqi): New. 32950 (popqi): New. 32951 (pushhi): New. 32952 (pophi): New. 32953 (movhi): Remove stack operands. 32954 (movqi): Likewise. 32955 * config/stormy16/stormy16.h (PREDICATE_CODES): Add 32956 nonimmediate_nonstack_operand. 32957 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand): 32958 New. 32959 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand) 32960 New. 32961 329622002-01-31 Jason Merrill <jason@redhat.com> 32963 32964 * Makefile.in (c-parse.c): Handle .output file. 32965 * objc/Make-lang.in (objc-parse.c): Likewise. 32966 329672002-02-01 Alexandre Oliva <aoliva@redhat.com> 32968 32969 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if 32970 the -me[lb] option is given. Don't output the default flag 32971 twice. 32972 329732002-01-31 Zack Weinberg <zack@codesourcery.com> 32974 32975 * c-lex.c (yyparse): Call debug_hooks->start_source_file for 32976 the primary source file; this has not been done yet. 32977 * c-decl.c (c_expand_body): Reset input_filename from 32978 DECL_SOURCE_FILE (fndecl) before calling init_function_start. 32979 329802002-01-31 Kazu Hirata <kazu@hxi.com> 32981 32982 * rtlanal.c (subreg_regno_offset): Do not use 32983 SUBREG_REGNO_OFFSET. 32984 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list. 32985 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove. 32986 329872002-01-31 Joseph S. Myers <jsm28@cam.ac.uk> 32988 32989 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC 32990 version rather than GNATS version in --version output. 32991 329922002-01-31 Richard Sandiford <rsandifo@redhat.com> 32993 32994 * ifcvt.c (noce_process_if_block): Make a copy of the destination 32995 when copying back from a temporary. 32996 329972002-01-30 Richard Henderson <rth@redhat.com> 32998 32999 * ifcvt.c (dead_or_predicable): Handling merging when other_bb 33000 and new_dest are the same. 33001 330022002-01-30 Richard Henderson <rth@redhat.com> 33003 33004 PR opt/5076 33005 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New. 33006 * rtl.c (note_insn_name): Update. 33007 * emit-rtl.c (remove_unnecessary_notes): Kill it. 33008 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND 33009 to perform loop rotation. 33010 (expand_exit_loop_top_cond): New. 33011 * tree.h (expand_exit_loop_top_cond): Declare it. 33012 * c-semantics.c (genrtl_while_stmt): Use it. 33013 (genrtl_for_stmt): Likewise. 33014 330152002-01-30 Alexandre Oliva <aoliva@redhat.com> 33016 33017 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of 33018 arguments to 64-bit boundaries on 64-bit ABIs. 33019 330202002-01-30 Steve Ellcey <sje@cup.hp.com> 33021 33022 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx. 33023 330242002-01-31 Joseph S. Myers <jsm28@cam.ac.uk> 33025 33026 * c-decl.c (grokdeclarator): Handle type being a typedef for an 33027 invalid type. 33028 330292002-01-30 David O'Brien <obrien@FreeBSD.org> 33030 33031 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h. 33032 * config/sparc/sparc_bi.h: Remove file. 33033 * config/sparc/biarch64.h: New file (rename of sparc_bi.h). 33034 330352002-01-30 Richard Henderson <rth@redhat.com> 33036 33037 * sched-deps.c (sched_analyze): Make a call read the frame pointer. 33038 330392002-01-30 Zack Weinberg <zack@codesourcery.com> 33040 33041 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1. 33042 330432002-01-30 Jason Merrill <jason@redhat.com> 33044 33045 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes. 33046 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended. 33047 (reg_save): Use DW_CFA_offset_extended_sf instead. 33048 33049 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors. 33050 330512002-01-29 Jakub Jelinek <jakub@redhat.com> 33052 33053 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result 33054 in cselib_lookup. 33055 330562002-01-29 Aldy Hernandez <aldyh@redhat.com> 33057 33058 * rs6000.md ("*call_value_local32"): Remove constraints. 33059 ("*call_value_local64"): Same. 33060 ("*call_value_indirect_nonlocal_aix32"): Same. 33061 ("*call_value_nonlocal_aix32"): Same. 33062 ("*call_value_indirect_nonlocal_aix64"): Same. 33063 ("*call_value_nonlocal_aix64"): Same. 33064 ("*call_value_nonlocal_sysv"): Same. 33065 330662002-01-29 Richard Henderson <rth@redhat.com> 33067 33068 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef. 33069 330702002-01-29 Richard Henderson <rth@redhat.com> 33071 33072 * expr.c (force_operand): Ignore flag_pic for detecting pic 33073 address loads. 33074 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic 33075 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered. 33076 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call 33077 instead of open-coded loop. 33078 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must 33079 be fixed when in use. 33080 330812002-01-29 Richard Henderson <rth@redhat.com> 33082 33083 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length. 33084 * sched-rgn.c (propagate_deps): Update them. 33085 * sched-deps.c (sched_analyze_insn): Update them. Flush the 33086 clobbers list when either gets too long. 33087 330882002-01-29 Jakub Jelinek <jakub@redhat.com> 33089 33090 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS 33091 and INDEX_REGS the same as GENERAL_REGS. 33092 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. 33093 330942002-01-29 Neil Booth <neil@daikokuya.demon.co.uk> 33095 33096 * tree.c (build_nonstandard_integer_type): Correct prototype. 33097 330982002-01-29 Ulrich Weigand <uweigand@de.ibm.com> 33099 33100 * config/s390/s390.md (movstrsico, movstrdix_64, 33101 movstrsix_31): Remove, replace by ... 33102 (movstrdi_short, movstrsi_short, movstrdi_long, 33103 movstrsi_long): ... these. New. 33104 (movstrdi, movstrsi): Adapt. 33105 33106 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64, 33107 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3): 33108 Remove unnecessary CC clobber. 33109 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64, 33110 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New. 33111 33112 (divmoddi4): Don't partially initialize TImode register. 33113 331142002-01-29 Geoffrey Keating <geoffk@redhat.com> 33115 33116 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory. 33117 331182002-01-29 Richard Henderson <rth@redhat.com> 33119 33120 * flow.c (print_rtl_and_abort): Remove. 33121 (print_rtl_and_abort_fcn): Remove. 33122 (verify_local_live_at_start): Use dump_bb instead. 33123 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints. 33124 (verify_wide_reg_1): Return 2 on mode test failure. 33125 331262002-01-29 Neil Booth <neil@daikokuya.demon.co.uk> 33127 33128 PR c/3325, c/3326, c/2511, c/3347 33129 * c-decl.c (enum_decl_context): Remove BITFIELD. 33130 (grokdeclarator): Take bitfield width as an input. 33131 Ensure bitfields are given the correct type. Perform 33132 bitfield width validation with build_bitfield_integer_type 33133 rather than waiting for finish_struct. 33134 (grok_typename, grok_typename_in_parm_context, start_decl, 33135 push_parmdecl, grokfield, start_function): Update calls to 33136 grokdeclarator. 33137 (build_bitfield_integer_type): New function. 33138 (finish_struct): Move bitfield validation to grokdeclarator 33139 and build_bitfield_integer_type. 33140 * tree.c (build_nonstandard_integer_type): New function. 33141 * tree.h (build_nonstandard_integer_type): New prototype. 33142objc: 33143 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge. 33144 331452002-01-29 Jakub Jelinek <jakub@redhat.com> 33146 33147 PR other/1502: 33148 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero, 33149 don't ignore unrecognized -W* options. 33150 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option. 33151 * cpplib.h (cpp_handle_option): Adjust prototype. 33152 * c-decl.c (c_decode_options): Pass 0 as last argument to 33153 cpp_handle_option. 33154 33155 PR c/2896: 33156 * gcc.c (cpp_unique_options): Split from cpp_options. 33157 (cpp_options): Source cpp_unique_options. 33158 (default_compilers): Use cpp_unique_options instead of cpp_options 33159 when used together with cc1_options. 33160 (static_specs): Add cpp_unique_options. 33161 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options 33162 when used together with cc1_options. 33163 331642002-01-29 Kazu Hirata <kazu@hxi.com> 33165 33166 * config/h8300/h8300-protos.h: Update the prototype of 33167 output_a_shift. 33168 * config/h8300/h8300.c (output_a_shift): Remove an unused 33169 argument 'insn'. Remove redundant code. 33170 * config/h8300/h8300.md: Adust to the new prototype of 33171 output_a_shift. 33172 331732002-01-29 Kazu Hirata <kazu@hxi.com> 33174 33175 * config/h8300/h8300-protos.h: Update the prototypes of 33176 emit_a_rotate and expand_a_rotate. 33177 * config/h8300/h8300.c (emit_a_rotate): Change the type of the 33178 first argument to 'enum rtx_code'. 33179 (expand_a_rotate): Likewise. 33180 331812002-01-28 Kazu Hirata <kazu@hxi.com> 33182 33183 * config/h8300/h8300-protos.h: Update the prototype of 33184 output_simode_bld. 33185 * config/h8300/h8300.c (output_simode_bld): Remove an argumen 33186 'log2'. 33187 * config/h8300/h8300.md: Adjust to the new prototype. 33188 331892002-01-28 Kazu Hirata <kazu@hxi.com> 33190 33191 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove 33192 redundant code. 33193 331942002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca> 33195 33196 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM 33197 is a fixed register before returning pic_offset_table_rtx. 33198 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx 33199 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined. 33200 332012002-01-28 Jason Merrill <jason@redhat.com> 33202 33203 * dwarf2.h: Sync with src version. 33204 332052002-01-28 Paul Koning <pkoning@equallogic.com> 33206 33207 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace 33208 BT_FN_VOID_PTR_VAR. 33209 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const. 33210 * doc/extend.texi (__builtin_prefetch): Update documentation: 33211 first argument is now const void ptr. 33212 332132002-01-28 Kazu Hirata <kazu@hxi.com> 33214 33215 * config/h8300/h8300-protos.h: Remove an unused prototype. 33216 332172002-01-28 Roman Zippel <zippel@linux-m68k.org> 33218 33219 * toplev.c (lang_independent_init): Round up identifier size. 33220 332212002-01-28 Richard Earnshaw <rearnsha@arm.com> 33222 33223 * config.gcc: Revert previous change. 33224 332252002-01-28 Andris Pavenis <pavenis@latnet.lv> 33226 33227 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION 33228 332292002-01-28 Richard Earnshaw <rearnsha@arm.com> 33230 33231 * config.gcc (*-*-netbsdelf*): Set up generic parameters. 33232 (*-*-netbsd*): Always use collect2. Remove collect2 settings from 33233 other non-elf netbsd config frags. 33234 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since 33235 collect2 will does that. 33236 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that 33237 shared-lib frobbing will work. 33238 332392002-01-28 Kazu Hirata <kazu@hxi.com> 33240 33241 * config/h8300/h8300.h: Fix formatting. 33242 * config/h8300/h8300.md: Likewise. 33243 332442002-01-28 Loren J. Rittle <ljrittle@acm.org> 33245 33246 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on 33247 the old, removed AAA_standards fix. 33248 * fixinc/fixincl.x: Rebuilt. 33249 332502002-01-28 Hans-Peter Nilsson <hp@axis.com> 33251 33252 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit 33253 atexit call in crtbegin, hooked in after call to frame_dummy; 33254 register EH before registering __fini__start. 33255 332562002-01-28 Aldy Hernandez <aldyh@redhat.com> 33257 33258 * config/rs6000/altivec.h: Remove spurious semicolons. 33259 332602002-01-27 Kazu Hirata <kazu@hxi.com> 33261 33262 * config/h8300/h8300.md: Replace dead bit extraction patterns 33263 with ones that work. 33264 33265Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 33266 33267 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode 33268 if not STRICT_ALIGNMENT. 33269 * rtl.h (MEM_ALIGN): Likewise. 33270 332712002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org> 33272 33273 * doc/invoke.texi (-fdump-translation-unit): Revert this 33274 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org> 33275 332762002-01-27 Kazu Hirata <kazu@hxi.com> 33277 33278 * config/h8300/h8300.md (define_constants): New. 33279 (anonymous patterns) Use defined constants appropriately. 33280 332812002-01-27 Kazu Hirata <kazu@hxi.com> 33282 33283 * config/h8300/h8300.c (function_arg): Remove redundant code. 33284 332852002-01-26 Richard Henderson <rth@redhat.com> 33286 33287 * sched-deps.c (reg_pending_uses_head): New. 33288 (reg_pending_barrier): Rename from reg_pending_sets_all. 33289 (find_insn_list): Don't mark inline. 33290 (find_insn_mem_list): Remove. 33291 (add_dependence_list, add_dependence_list_and_free): New. 33292 (flush_pending_lists): Replace only_write param with separate 33293 for_read and for_write parameters. Update all callers. Use 33294 add_dependence_list_and_free. 33295 (sched_analyze_1): Do not add reg dependencies here; just set 33296 the pending bits. Use add_dependence_list. 33297 (sched_analyze_2): Likewise. 33298 (sched_analyze_insn): Replace schedule_barrier_found with 33299 reg_pending_barrier. Add all dependencies for pending reg 33300 uses, sets, and clobbers. 33301 (sched_analyze): Don't add reg dependencies for calls, just 33302 set pending bits. Use regs_invalidated_by_call. Treat 33303 sched_before_next_call as a normal list, not a fake insn. 33304 (init_deps): No funny init for sched_before_next_call. 33305 (free_deps): Free pending mems lists. Don't zero reg_last. 33306 (init_deps_global): Init reg_pending_uses. 33307 (finish_deps_global): Free it. 33308 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs. 33309 (find_insn_mem_list): Remove. 33310 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New. 33311 (propagate_deps): Use them. Zero temp mem lists. 33312 333132002-01-26 Richard Henderson <rth@redhat.com> 33314 33315 * Makefile.in (CRTSTUFF_CFLAGS): New. 33316 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it. 33317 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain 33318 crtstuff.c instead of alpha assembly version. 33319 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the 33320 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN 33321 not FORCE_{INIT,FINI}_SECTION_ALIGN. 33322 (__do_global_dtors_aux): Mark used. 33323 (frame_dummy, __do_global_ctors_aux): Mark used. 33324 (fini_dummy, init_dummy): Remove. 33325 33326 * config/alpha/crtbegin.asm: Remove file. 33327 * config/alpha/crtend.asm: Remove file. 33328 * config/alpha/t-crtbe: Remove file. 33329 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New. 33330 (LINK_EH_SPEC): New. 33331 33332 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old 33333 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before 33334 calling constructors. 33335 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef. 33336 33337 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New. 33338 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old 33339 CRT_END_INIT_DUMMY hack. 33340 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace 33341 FORCE_{INIT,FINI}_SECTION_ALIGN. 33342 33343 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace 33344 FORCE_{INIT,FINI}_SECTION_ALIGN. 33345 33346 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new 33347 invocation sequence. 33348 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise. 33349 33350 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update. 33351 (FORCE_CODE_SECTION_ALIGN): New. 33352 333532002-01-26 Richard Henderson <rth@redhat.com> 33354 33355 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT. 33356 333572002-01-26 Richard Henderson <rth@redhat.com> 33358 33359 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too. 33360 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs. 33361 333622002-01-26 Kazu Hirata <kazu@hxi.com> 33363 33364 * config/h8300/h8300.md: Remove bit extraction patterns that 33365 cannot be triggered. 33366 Restrict each bit extraction pattern to a variant on which the 33367 pattern is tested. 33368 333692002-01-26 Joseph S. Myers <jsm28@cam.ac.uk> 33370 33371 * doc/include/texinfo.tex: Update to version 2002-01-04.07. 33372 333732002-01-26 Kazu Hirata <kazu@hxi.com> 33374 33375 * config/h8300/h8300.md: Remove bit test patterns that cannot 33376 be triggered. 33377 Restrict each bit test pattern to a variant on which the 33378 pattern is tested. 33379 333802002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 33381 33382 * builtins.c (expand_builtin_strncat): Remove redundant check for 33383 INTEGER_CST. 33384 333852002-01-25 David O'Brien <obrien@FreeBSD.org> 33386 33387 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide 33388 default setting. 33389 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override 33390 existing setting. 33391 333922002-01-25 Geoffrey Keating <geoffk@redhat.com> 33393 33394 * dbxout.c (dbxout_init): Use assemble_name rather than just 33395 stripping off the first character. 33396 (dbxout_source_file): Likewise. 33397 333982002-01-25 DJ Delorie <dj@redhat.com> 33399 33400 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare 33401 using rtx_equal_p, not by comparing pointers. 33402 334032002-01-25 Steve Ellcey <sje@cup.hp.com> 33404 33405 * emit-rtl.c (gen_rtx_REG): Always return the same rtx 33406 for PIC_OFFSET_TABLE_REGNUM. 33407 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx. 33408 334092002-01-25 David O'Brien <obrien@FreeBSD.org> 33410 33411 * config.gcc (x86_64-*-freebsd*): New target. 33412 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its 33413 value. 33414 (i[34567]86-*-freebsd*): Don't include svr4.h. 33415 * config/i386/freebsd64.h: New file. 33416 334172002-01-25 Douglas B Rupp <rupp@gnat.com> 33418 33419 * config/alpha/x-vms (version): Make static. 33420 33421 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error 33422 in previous checkin. 33423 33424 * Makefile.in (install-headers-cp): New target. 33425 * config.gcc (alpha-dec-*vms*): Install headers with 33426 install-headers-cp 33427 33428Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz> 33429 33430 * unroll.c (unroll_loop): Lower final_value to nonmemory operand; 33431 avoid it's copies. 33432 33433Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 33434 33435 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead 33436 of compare_tree_int. 33437 (expand_builtin_strncat): Likewise. 33438 * c-decl.c (finish_struct): Use tree_low_cst. 33439 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT. 33440 * tree.c (compare_tree_int): Likewise. 33441 334422002-01-25 Ulrich Weigand <uweigand@de.ibm.com> 33443 33444 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer 33445 adjustments even if they are implemented by more than two insns. 33446 33447Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz> 33448 33449 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg. 33450 * df.h (struct ref): Kill B. 33451 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN. 33452 33453 * basic-block.h (PROP_EQUAL_NOTES): New flag. 33454 * flow.c (propagate_one_insn): Use it. 33455 (mark_used_regs): Handle NIL. 33456 334572002-01-25 Geoffrey Keating <geoffk@redhat.com> 33458 33459 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM 33460 to help folding. 33461 334622002-01-25 David Edelsohn <edelsohn@gnu.org> 33463 33464 * rs6000.md (prefetch): Make address V4SI mode so that the address 33465 is restricted to legitimate form for instruction. 33466 334672002-01-25 Bob Wilson <bob.wilson@acm.org> 33468 33469 * doc/install.texi (xtensa-*-elf): New target. 33470 (xtensa-*-linux*): New target. 33471 * doc/contrib.texi: Add myself. 33472 334732002-01-25 Nick Clifton <nickc@cambridge.redhat.com> 33474 33475 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general 33476 purpose register to hold an SImode (or smaller) value. 33477 334782002-01-25 Jakub Jelinek <jakub@redhat.com> 33479 33480 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame* 33481 registry only. 33482 * crtstuff.c: Likewise. 33483 334842002-01-25 Kazu Hirata <kazu@hxi.com> 33485 33486 * config/h8300/h8300.md (negation patterns): Tighten 33487 predicates to register_operand. 33488 334892002-01-24 Aldy Hernandez <aldyh@redhat.com> 33490 33491 * loop.c (emit_prefetch_instructions): Use the prefetch insn's 33492 mode, not Pmode. 33493 33494 * builtins.c (expand_builtin_prefetch): Same. 33495 334962002-01-24 Alexandre Oliva <aoliva@redhat.com> 33497 33498 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have 33499 modes. 33500 335012002-01-24 Kazu Hirata <kazu@hxi.com> 33502 33503 * config/h8300/h8300.c (print_operand): Remove support for 33504 operand character 'A'. 33505 * config/h8300/h8300.md (three anonymous patterns): Replace 33506 operand character 'A' with either 'T' or 'S'. 33507 335082002-01-24 Kazu Hirata <kazu@hxi.com> 33509 33510 * config/h8300/h8300.c (print_operand): Remove support for 33511 operand character 'U'. 33512 335132002-01-24 Andris Pavenis <pavenis@latnet.lv> 33514 33515 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR. 33516 335172002-01-24 Nick Clifton <nickc@cambridge.redhat.com> 33518 33519 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode 33520 values to be assigned to the stack pointer. 33521 335222002-01-14 Hartmut Penner <hpenner@de.ibm.com> 33523 33524 * emit_rtl.c (gen_lowpart_common): Conversion from const_int 33525 to const_double needs to be done right for big-endian systems. 33526 335272002-01-24 Jason Merrill <jason@redhat.com> 33528 33529 PR c++/2432 33530 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn 33531 to can_throw_internal. 33532 335332002-01-23 Richard Henderson <rth@redhat.com> 33534 33535 * fold-const.c (fold): Change UINT_MAX test to check vs precision 33536 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation. 33537 335382002-01-24 Alexandre Oliva <aoliva@redhat.com> 33539 33540 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands. 33541 (symGOT2reg): Use them, then set as GOT value as unchanging. 33542 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo 33543 as a temporary, if possible. 33544 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit 33545 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2). 33546 335472002-01-23 Kazu Hirata <kazu@hxi.com> 33548 33549 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will 33550 accept to accept 0x80 as operands[2]. 33551 335522002-01-24 Alexandre Oliva <aoliva@redhat.com> 33553 33554 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode. 33555 335562002-01-23 Richard Henderson <rth@redhat.com> 33557 33558 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo. 33559 335602002-01-23 Aldy Hernandez <aldyh@redhat.com> 33561 33562 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute. 33563 (parmlist_or_identifiers_1): Verify that only a parmlist follows 33564 an attribute. 33565 335662002-01-23 Richard Henderson <rth@redhat.com> 33567 33568 * expr.c (move_by_pieces_1): Extend size before negation. 33569 33570 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060. 33571 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases. 33572 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060. 33573 * config/m68k/t-m68kelf: Likewise. 33574 335752002-01-23 Bob Wilson <bob.wilson@acm.org> 33576 33577 * config/xtensa/elf.h: New file. 33578 * config/xtensa/lib1funcs.asm: New file. 33579 * config/xtensa/lib2funcs.S: New file. 33580 * config/xtensa/linux.h: New file. 33581 * config/xtensa/t-xtensa: New file. 33582 * config/xtensa/xtensa-config.h: New file. 33583 * config/xtensa/xtensa-protos.h: New file. 33584 * config/xtensa/xtensa.c: New file. 33585 * config/xtensa/xtensa.h: New file. 33586 * config/xtensa/xtensa.md: New file. 33587 * config.gcc (xtensa-*-elf*): New target. 33588 (xtensa-*-linux*): New target. 33589 * cse.c (canon_hash): Compare rtx pointers instead of register 33590 numbers. This is required for the Xtensa port. 33591 * integrate.c (copy_insn_list): Handle case where the static 33592 chain is in memory and the memory address has to be copied to 33593 a register. 33594 * doc/invoke.texi (Option Summary): Add Xtensa options. 33595 (Xtensa Options): New node. 33596 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints. 33597 335982002-01-23 Zack Weinberg <zack@codesourcery.com> 33599 33600 * diagnostic.c (internal_error): Do ICE suppression only 33601 when ENABLE_CHECKING is not defined. 33602 33603 * c-typeck.c (require_complete_type): Return error_mark_node 33604 if type is error_mark_node. 33605 336062002-01-23 Janis Johnson <janis187@us.ibm.com> 33607 33608 * toplev.c (process_options): Disable -fprefetch-loop-arrays with 33609 -Os and issue a warning. 33610 336112002-01-23 Zack Weinberg <zack@codesourcery.com> 33612 33613 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect 33614 current (lack of) need for host configuration by hand. 33615 33616 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross 33617 references. Documentation of some target macros moved from 33618 hostconfig.texi to tm.texi. 33619 336202002-01-23 Will Cohen <wcohen@redhat.com> 33621 33622 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently 33623 defined. 33624 336252002-01-23 Kazu Hirata <kazu@hxi.com> 33626 33627 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an 33628 operand[3]. 33629 336302002-01-23 Jason Merrill <jason@redhat.com> 33631 33632 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF. 33633 33634 * function.c (assign_parms): Don't put args of inline functions 33635 into registers when not optimizing. 33636 336372002-01-23 Nick Clifton <nickc@cambridge.redhat.com> 33638 33639 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant. 33640 (prologue_use): New pattern. 33641 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in 33642 preference to gen_rtx_USE. 33643 (thumb_expand_prologue): Use gen_prologue_use in preference to 33644 gen_rtx_USE. 33645 (thumb_expand_epilogue): Use gen_prologue_use in preference to 33646 gen_rtx_USE. 33647 336482002-01-23 Hans-Peter Nilsson <hp@bitrange.com> 33649 33650 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0. 33651 336522002-01-23 Neil Booth <neil@daikokuya.demon.co.uk> 33653 33654 PR c/3504 33655 * doc/extend.texi: Correct documentation of __alignof__. 33656 336572002-01-22 Zack Weinberg <zack@codesourcery.com> 33658 33659 * params.h: Rename arguments of DEFPARAM so that it will be 33660 recognized as a translation keyword. 33661 336622002-01-22 Aldy Hernandez <aldyh@redhat.com> 33663 33664 * extend.texi: Document altivec functions. 33665 Fix N-bit adjectives in X86 builtin documentation. 33666 336672002-01-22 Alexandre Oliva <aoliva@redhat.com> 33668 33669 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and 33670 auto_inc_dec values. 33671 336722002-01-22 Richard Earnshaw <rearnsha@arm.com> 33673 33674 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space 33675 after backslash. 33676 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line. 33677 336782002-01-22 Alexandre Oliva <aoliva@redhat.com> 33679 33680 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine. 33681 336822002-01-22 Richard Henderson <rth@redhat.com> 33683 33684 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use 33685 copy_insn not copy_rtx. 33686 336872002-01-23 Alan Modra <amodra@bigpond.net.au> 33688 33689 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode 33690 "nonzero" as that might add "1" bits. Ensure "constop" is 33691 properly sign extened. 33692 (force_to_mode): Tweak for sign extended constop. 33693 336942002-01-22 Richard Henderson <rth@redhat.com> 33695 33696 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use 33697 for_each_rtx instead of assuming we're already looking at the MEM. 33698 (split_small_symbolic_mem_operand): Likewise. 33699 * config/alpha/alpha.h (PREDICATE_CODES): Update. 33700 * config/alpha/alpha.md (small symbolic memory splitters): Update. 33701 337022002-01-22 Richard Henderson <rth@redhat.com> 33703 33704 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse 33705 sequence number for the literal. 33706 (divmoddi_internal_er): Likewise. 33707 337082002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org> 33709 33710 PR java/4972 33711 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv 33712 in LIBICONV variable. 33713 * configure: Regenerated. 33714 337152002-01-22 Krister Walfridsson <cato@df.lth.se> 33716 33717 * dependence.c (build_def_use): Remove array_idx. 33718 33719 * dwarfout.c (last_filename): Remove. 33720 (output_compile_unit_die): Remove last_filename. 33721 337222002-01-22 Roger Sayle <roger@eyesopen.com> 33723 Richard Henderson <rth@redhat.com> 33724 33725 PR opt/3640 33726 * fold-const.c (fold): Optimize unsigned comparisons against 33727 UINT_MAX (and similar unsigned constants). 33728 337292002-01-22 Janis Johnson <janis187@us.ibm.com> 33730 33731 * Makefile.in (loop.o): Depend on OPTABS_H. 33732 * loop.c (emit_prefetch_instructions): Check the prefetch operand 33733 against the predicate. 33734 33735 PR target/5379 33736 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint 33737 for the address operand. 33738 337392002-01-22 Richard Henderson <rth@redhat.com> 33740 33741 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove. 33742 337432002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org> 33744 33745 PR other/5450 33746 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU 33747 preprocessor flags. 33748 337492002-01-22 Jason Thorpe <thorpej@wasabisystems.com> 33750 33751 * config.gcc (x86_64-*-netbsd*): New target. 33752 * config/i386/netbsd64.h: New file. 33753 337542002-01-22 Aldy Hernandez <aldyh@redhat.com> 33755 33756 * regrename.c (kill_value): Fix typo. 33757 337582002-01-22 Aldy Hernandez <aldyh@redhat.com> 33759 33760 * doc/tm.texi: Remove STARTING_FRAME_PHASE. 33761 33762 * config/rs6000/rs6000.h: Same. 33763 33764 * function.c (instantiate_virtual_regs): Remove 33765 STARTING_FRAME_PHASE. 33766 (assign_stack_local_1): Same. 33767 Calculate frame phase. 33768 337692002-01-22 Nick Clifton <nickc@redhat.com> 33770 33771 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno' 33772 variable declaration to outer scope in order to simplify 33773 future extensions. 33774 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to 33775 arm_hard_regno_mode_ok. 33776 * config/arm/arm-protos.h: Add a prototype for 33777 arm_hard_regno_mode_ok. 33778 * config/arm/arm.c (soft_df_operand): Remove now redundant 33779 check for DImode values using IP_REGNUM. 33780 (nonimmediate_soft_df_operand): Remove now redundant check for 33781 DImode values using IP_REGNUM. 33782 (arm_hard_regno_mode_ok): New function. New check: make sure 33783 that DImode values are not stored in IP_REGNUM. 33784 33785 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD 33786 note with a USE. 33787 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE. 33788 337892002-01-22 Jason Merrill <jason@redhat.com> 33790 33791 * c-semantics.c (genrtl_compound_stmt): Only check nesting 33792 consistency if this COMPOUND_STMT is scoped. 33793 337942002-01-22 Kazu Hirata <kazu@hxi.com> 33795 33796 * predict.c: Fix formatting. 33797 * print-tree.c: Likewise. 33798 * protoize.c: Likewise. 33799 * real.h: Likewise. 33800 * rtl.h: Likewise. 33801 * sbitmap.h: Likewise. 33802 * scan.c: Likewise. 33803 * sched-deps.c: Likewise. 33804 * sched-vis.c: Likewise. 33805 * sdbout.c: Likewise. 33806 * sibcall.c: Likewise. 33807 * ssa.c: Likewise. 33808 * ssa-ccp.c: Likewise. 33809 * ssa-dce.c: Likewise. 33810 * stmt.c: Likewise. 33811 * stor-layout.c: Likewise. 33812 * system.h: Likewise. 33813 33814Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 33815 33816 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see 33817 if fits in bounds of base type. 33818 33819 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls. 33820 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New. 33821 (add_bound_info, default): If can't find a context, make a 33822 SAVE_EXPR. 33823 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for. 33824 338252002-01-22 Hans-Peter Nilsson <hp@axis.com> 33826 33827 * c-typeck.c (parser_build_binary_op): If result from 33828 build_binary_op is ERROR_MARK just return error_mark_node without 33829 further processing. 33830 338312002-01-21 Jason Thorpe <thorpej@wasabisystems.com> 33832 33833 * config/netbsd.h (TARGET_HAS_F_SETLKW): define. 33834 Split a.out-specific bits into... 33835 * config/netbsd-aout.h: ...this. 33836 * config/netbsd-elf.h: New file. 33837 * config/alpha/netbsd-elf.h: Remove. 33838 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target. 33839 * config/i386/netbsd-elf.h (LIB_SPEC): Remove. 33840 (STARTFILE_SPEC): Remove redundant definition. 33841 (ENDFILE_SPEC): Likewise. 33842 (LINK_SPEC): Likewise. 33843 (CPP_SPEC): Likewise. 33844 (ASM_SPEC): Likewise. 33845 (LIB_SPEC): Likewise. 33846 (SWITCH_TAKES_ARG): Likewise. 33847 (TARGET_MEM_FUNCTIONS): Likewise. 33848 (CPP_PREDEFINES): Redefine. 33849 (ASM_FINAL_SPEC): Remove redefinition. 33850 (ASM_COMMENT_START): Redefine. 33851 (FUNCTION_PROFILER): Define. 33852 (TARGET_VERSION): Redefine. 33853 Comment and formatting cleanup. 33854 * config/i386/netbsd.h: Include <netbsd-aout.h>. 33855 * config/m68k/netbsd.h: Include <netbsd-aout.h>. 33856 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target, 33857 big- or little-endian. 33858 * config/ns32k/netbsd.h: Include <netbsd-aout.h>. 33859 * config.gcc (*-*-netbsd*): Add definitions common to all 33860 NetBSD configs. 33861 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and 33862 gnu_ld definitions. Add netbsd-elf.h to and remove 33863 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from 33864 tmake_file, and don't lose previous tmake_file contents. 33865 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file. 33866 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and 33867 gnu_ld definitions. Add netbsd-elf.h to tm_file. 33868 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*. 33869 (mipsel-*-netbsd*): Rename this to... 33870 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add 33871 mips/little.h to tm_file for mips*el-*. 33872 (powerpc-*-netbsd*): Remove redundant xm_defines definition. 33873 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file. 33874 (vax-*-netbsd*): Add netbsd-aout.h to tm_file. 33875 338762002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca> 33877 33878 * pa-protos.h (reg_before_reload_operand): New function prototype. 33879 * pa.c (reg_before_reload_operand): New function implementation. 33880 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m" 33881 contraints to "*m". 33882 338832002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 33884 33885 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP. 33886 338872002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca> 33888 33889 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin". 33890 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/". 33891 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/". 33892 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections. 33893 (ENDFILE_SPEC): Undefine. 33894 (STARTFILE_SPEC): Redefine for PA. 33895 338962002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 33897 33898 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC. 33899 339002002-01-21 Daniel Jacobowitz <drow@mvista.com> 33901 33902 * config.gcc: Add entries to supported PowerPC --with-cpu 33903 types. 33904 339052002-01-21 Jakub Jelinek <jakub@redhat.com> 33906 33907 * config/i386/i386.c (ix86_function_arg_regno_p): Never return 33908 true for 64-bit mode only SSE registers in 32-bit mode. 33909 339102002-01-21 Kazu Hirata <kazu@hxi.com> 33911 33912 * unwind-dw2.c: Fix formatting. 33913 * unwind-dw2-fde.c: Likewise. 33914 * unwind-dw2-fde.h: Likewise. 33915 * unwind-pe.h: Likewise. 33916 * varasm.c: Likewise. 33917 * varray.h: Likewise. 33918 339192002-01-21 Hans-Peter Nilsson <hp@bitrange.com> 33920 33921 Remove workaround for register stack overwrite bug in mmix. 33922 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove 33923 support for TARGET_REG_STACK_FILL_BUG. 33924 * config/mmix/mmix.h: Remove member has_call_without_parameters. 33925 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG): 33926 Delete. 33927 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG. 33928 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and 33929 -mno-reg-stack-fill-bug-workaround. 33930 * config/mmix/mmix.md ("call", "call_value"): Don't set struct 33931 machine member has_call_without_parameters. 33932 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove 33933 -mreg-stack-fill-bug-workaround and 33934 -mno-reg-stack-fill-bug-workaround. 33935 (MMIX Options): Ditto. 33936 339372002-01-21 Kazu Hirata <kazu@hxi.com> 33938 33939 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX 33940 as appropriate. 33941 Remove redundant code. 33942 339432002-01-21 Joseph S. Myers <jsm28@cam.ac.uk> 33944 33945 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h, 33946 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, 33947 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h, 33948 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h, 33949 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented 33950 out target macro definitions and non-target-specific comments 33951 mostly taken from old versions of the manual. 33952 339532002-01-20 Kazu Hirata <kazu@hxi.com> 33954 33955 * config/h8300/h8300.h: Fix comment formatting. 33956 * config/ia64/aix.h: Likewise. 33957 * config/ia64/ia64-protos.h: Likewise. 33958 * config/ia64/ia64.c: Likewise. 33959 * config/ia64/ia64.h: Likewise. 33960 * config/ia64/ia64intrin.h: Likewise. 33961 * config/ia64/linux.h: Likewise. 33962 * config/ia64/unwind-aix.c: Likewise. 33963 * config/ia64/unwind-ia64.c: Likewise. 33964 339652002-01-20 Kazu Hirata <kazu@hxi.com> 33966 33967 * config/h8300/h8300.c: Revise comments about shift code. 33968 339692002-01-20 Kazu Hirata <kazu@hxi.com> 33970 33971 * config/h8300/h8300.c (function_arg): Update a comment. 33972 339732002-01-20 Kazu Hirata <kazu@hxi.com> 33974 33975 * config/h8300/h8300.md: Update the comments at the beginning 33976 of the file. 33977 339782002-01-20 Kazu Hirata <kazu@hxi.com> 33979 33980 * config/i370/i370.c: Fix comment formatting. 33981 * config/i370/i370.h: Likewise. 33982 * config/i370/i370.md: Likewise. 33983 * config/i370/linux.h: Likewise. 33984 33985Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 33986 33987 * reg-stack.c (subst_stack_regs): Properly check for deleted insn. 33988 33989 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases. 33990 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL 33991 in incomplete case. 33992 339932002-01-20 Graham Stott <grahams@redhat.com> 33994 33995 * cfgloop.c (flow_loop_preheader_scan): Fix typo. 33996 339972002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca> 33998 33999 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file. 34000 340012002-01-19 Tom Rix <trix@redhat.com> 34002 34003 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts. 34004 340052002-01-18 Aldy Hernandez <aldyh@redhat.com> 34006 34007 * doc/tm.texi (STARTING_FRAME_PHASE): Document. 34008 34009 * function.c (assign_stack_local_1): Adjust x_frame_offset with 34010 STARTING_FRAME_PHASE. 34011 (STARTING_FRAME_PHASE): New. 34012 (instantiate_virtual_regs): Check saneness of 34013 STARTING_FRAME_PHASE. 34014 34015 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New. 34016 340172002-01-19 Alexandre Oliva <aoliva@redhat.com> 34018 34019 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls. 34020 340212002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org> 34022 34023 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot 34024 be used for bootstrapping GCC 3.0. 34025 340262002-01-18 Kazu Hirata <kazu@hxi.com> 34027 34028 * config/h8300/h8300.md: Fix an insn length. 34029 340302002-01-18 Kazu Hirata <kazu@hxi.com> 34031 34032 * bitmap.h: Fix comment formatting. 34033 * combine.c: Likewise. 34034 * cppfiles.c: Likewise. 34035 * c-pragma.h: Likewise. 34036 * c-typeck.c: Likewise. 34037 * df.c: Likewise. 34038 * dwarf2out.c: Likewise. 34039 * function.c: Likewise. 34040 * gcc.c: Likewise. 34041 * genattrtab.c: Likewise. 34042 * gthr-win32.h: Likewise. 34043 * haifa-sched.c: Likewise. 34044 * predict.c: Likewise. 34045 * rtlanal.c: Likewise. 34046 * rtl.h: Likewise. 34047 * unwind-dw2-fde.h: Likewise. 34048 * unwind-pe.h: Likewise. 34049 * vmsdbgout.c: Likewise. 34050 34051Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 34052 34053 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE 34054 if type_required and passed decl. 34055 340562002-01-17 Aldy Hernandez <aldyh@redhat.com> 34057 34058 * config.gcc (cpu_type): Include altivec.h in powerpc 34059 extra_headers. 34060 Same for darwin. 34061 34062 * config/rs6000/altivec.h: New. 34063 340642002-01-17 David Edelsohn <edelsohn@gnu.org> 34065 34066 * doc/install.texi (*-ibm-aix*): Update assembler and exception 34067 handling information. 34068 * doc/trouble.texi (Interoperation): Add libstdc++ information 34069 for AIX. 34070 (Misunderstandings): Add template instantiation and static template 34071 member information for AIX. 34072 340732002-01-17 Jason Merrill <jason@redhat.com> 34074 34075 * dbxout.c (dbxout_type): Support const and volatile. 34076 34077 * except.c (add_partial_entry): Remove backwards compatibility code. 34078 (end_protect_partials): Likewise. 34079 340802002-01-17 Jakub Jelinek <jakub@redhat.com> 34081 34082 * config/ia64/ia64.md (prologue_use): New. 34083 * config/ia64/ia64.c (ia64_expand_prologue): Use 34084 gen_prologue_use instead of gen_rtx_USE. 34085 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way 34086 as CODE_FOR_pred_rel_mutex. 34087 (ia64_sched_reorder2): Likewise. 34088 340892002-01-16 Eric Christopher <echristo@redhat.com> 34090 34091 * config/mips/r3900.h: Reformat. 34092 (SUBTARGET_CPP_SIZE_SPEC): Remove. 34093 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto. 34094 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "". 34095 (SUBTARGET_CPP_SIZE_SPEC): Rewrite. 34096 * config/mips/t-elf: Remove mips3 multilib. 34097 340982002-01-16 H.J. Lu <hjl@gnu.org> 34099 34100 * config/mips/linux.h: Include "mips/abi64.h". 34101 341022002-01-16 H.J. Lu <hjl@gnu.org> 34103 34104 * config/mips/t-linux: New. 34105 34106 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*. 34107 34108 * config/mips/linux.h: Don't include "gofast.h". 34109 (INIT_SUBTARGET_OPTABS): Removed. 34110 341112002-01-16 Kazu Hirata <kazu@hxi.com> 34112 34113 * config/h8300/h8300-protos.h: Replace emit_a_shift with 34114 output_a_shift. 34115 * config/h8300/h8300.c: Likewise. 34116 * config/h8300/h8300.md: Likewise. 34117 341182002-01-16 Kazu Hirata <kazu@hxi.com> 34119 34120 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of 34121 spaces after an opcode name. 34122 (pushqi1_h8300hs): Likewise. 34123 (pushhi1_h8300hs): Likewise. 34124 341252002-01-16 Kazu Hirata <kazu@hxi.com> 34126 34127 * doc/extend.texi: Replace "option" with "attribute" 34128 appropriately. 34129 341302002-01-16 Jakub Jelinek <jakub@redhat.com> 34131 34132 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into 34133 (and:DI () (const_int -8)). 34134 (split_small_symbolic_mem_operand): Split 34135 (mem (and:DI () (const_int -8)). 34136 341372002-01-16 Jakub Jelinek <jakub@redhat.com> 34138 34139 PR target/5309: 34140 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the 34141 same way as TYPE_IMUL. 34142 (ultrasparc_sched_reorder): Likewise. 34143 * config/sparc/sparc.md (type): Add comment to update 34144 ultrasparc_sched_reorder when making changes. 34145 341462002-01-16 Kazu Hirata <kazu@hxi.com> 34147 34148 * doc/invoke.texi: Change the dump file name of block 34149 reordering pass from 28.bbro to 29.bbro. 34150 Mention -dk option. 34151 34152Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz> 34153 34154 * i386.md (minsf splitter): Fix pasto. 34155 341562002-01-16 Nick Clifton <nickc@cambridge.redhat.com> 34157 34158 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note 34159 to frame pointer initialisation instruction. 34160 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer 34161 initialisation instruction. 34162 (soft_df_operand): Do not accept the IP register. 34163 (nonimmediate_soft_df_operand): Do not accept the IP register. 34164 341652002-01-16 Jakub Jelinek <jakub@redhat.com> 34166 34167 PR target/5357: 34168 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and 34169 MASK_V8 being both set. 34170 341712002-01-16 Ulrich Weigand <uweigand@de.ibm.com> 34172 34173 * config/s390/s390.c (s390_emit_prologue): Do not emit USE 34174 insn for GOT register; add REG_MAYBE_DEAD notes instead. 34175 config/s390/s390.md (call, call_value): Add GOT register to 34176 CALL_INSN_FUNCTION_USAGE where needed. 34177 (call_exp, call_value_exp): New. 34178 341792002-01-16 Nick Clifton <nickc@cambridge.redhat.com> 34180 34181 * config/arm/arm.c: General formatting tidy up. 34182 341832002-01-16 Graham Stott <grahams@redhat.com> 34184 34185 * calls.c (try_to_integrate): Use "(size_t)" intermediate 34186 cast and when casting an integer literal to "rtx" pointer. 34187 (expand_call): Likewise. 34188 * flow.c (try_pre_increment): Likewise. 34189 (find_use_as_address): Likewise. 34190 * integrate.c (expand_iline_function): Likewise. 34191 * regmove.c (try_auto_increment): Likewise. 34192 341932002-01-16 Graham Stott <grahams@redhat.com> 34194 34195 * sched-rgn.c (passed): Use sbitmap_free. 34196 (header): Likewise. 34197 (inner): Likewise. 34198 (in_queue): Likewise. 34199 (in_stack): Likewise. 34200 342012002-01-15 Eric Christopher <echristo@redhat.com> 34202 34203 * flow.c (propagate_one_insn): Change to use fatal_insn. 34204 342052002-01-15 Kazu Hirata <kazu@hxi.com> 34206 34207 * expmed.c (extract_fixed_bit_field): Remove unused code. 34208 * system.h: Poison SLOW_ZERO_EXTEND. 34209 * doc/tm.texi: Remove. 34210 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove. 34211 * config/arm/arm.h: Likewise. 34212 * config/avr/avr.h: Likewise. 34213 * config/clipper/clipper.h: Likewise. 34214 * config/convex/convex.h: Likewise. 34215 * config/d30v/d30v.h: Likewise. 34216 * config/dsp16xx/dsp16xx.h: Likewise. 34217 * config/elxsi/elxsi.h: Likewise. 34218 * config/fr30/fr30.h: Likewise. 34219 * config/h8300/h8300.h: Likewise. 34220 * config/i370/i370.h: Likewise. 34221 * config/i386/i386.h: Likewise. 34222 * config/m68k/m68k.h: Likewise. 34223 * config/mips/mips.h: Likewise. 34224 * config/ns32k/ns32k.h: Likewise. 34225 * config/pdp11/pdp11.h: Likewise. 34226 * config/pj/pj.h: Likewise. 34227 * config/s390/s390.h: Likewise. 34228 * config/sh/sh.h: Likewise. 34229 * config/stormy16/stormy16.h: Likewise. 34230 * config/v850/v850.h: Likewise. 34231 * config/vax/vax.h: Likewise. 34232 * config/we32k/we32k.h: Likewise. 34233 342342002-01-15 Aldy Hernandez <aldyh@redhat.com> 34235 34236 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx. 34237 (altivec_lvsl): Change constraint to b. 34238 (altivec_lvsr): Same. 34239 (altivec_lvebx): Same. 34240 (altivec_lvehx): Same. 34241 (altivec_lvewx): Same. 34242 (altivec_lvxl): Same. 34243 (altivec_lvx): Same. 34244 (altivec_stvx): Add parallel. 34245 (altivec_stvxl): Same. 34246 (altivec_stvehx): Same. 34247 (altivec_stvebx): Same. 34248 (altivec_stvebx): Same. 34249 342502002-01-15 Aldy Hernandez <aldyh@redhat.com> 34251 34252 * config.gcc: Change altivec.h to altivec-defs.h. 34253 34254 * config/rs6000/altivec.h: Delete. 34255 34256 * config/rs6000/altivec-defs.h: Add. 34257 342582002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca> 34259 34260 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV 34261 and UMOD modes. 34262 34263 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size 34264 less than or equal to eight bytes. 34265 34266 * vax.md (andsi3): Remove constraints and change SET destination 34267 operand type to nonimmediate_operand. 34268 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1 34269 when it is a CONST_INT. 34270 342712002-01-15 Jason Merrill <jason@redhat.com> 34272 34273 * c-common.def (FILE_STMT): New code. 34274 * c-common.c (statement_code_p): It's a statement. 34275 * c-common.h (stmt_tree_s): Add x_last_filename. 34276 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros. 34277 (last_expr_filename): New macro. 34278 * c-semantics.c (begin_stmt_tree): Initialize it. 34279 (add_stmt): If the filename changed, also insert a 34280 FILE_STMT. 34281 (expand_stmt): Handle seeing one. 34282 342832002-01-15 Eric Christopher <echristo@redhat.com> 34284 34285 * flow.c (propagate_one_insn): Add error message and print out 34286 insn for debugging. 34287 342882002-01-15 Joseph S. Myers <jsm28@cam.ac.uk> 34289 34290 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN, 34291 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison. 34292 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to 34293 TRAMPOLINE_ALIGNMENT. 34294 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value 34295 to be in bits. 34296 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to 34297 PCC_BITFIELD_TYPE_MATTERS. 34298 * config/interix.h (STDC_VALUE): Remove. Use 34299 STDC_0_IN_SYSTEM_HEADERS. 34300 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h 34301 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC, 34302 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove. 34303 343042002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org> 34305 34306 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does 34307 not work on this platform currently. 34308 343092002-01-15 Joseph S. Myers <jsm28@cam.ac.uk> 34310 34311 * c-typeck.c (build_unary_op): Don't wrap msgid argument of 34312 readonly_warning in _(). 34313 343142002-01-15 Douglas B Rupp <rupp@gnat.com> 34315 34316 * gcc.c (delete_if_ordinary): Backout previous change. 34317 343182002-01-15 Kazu Hirata <kazu@hxi.com> 34319 34320 * config/h8300/h8300.c (print_operand): Remove support for 34321 unused operand characters. 34322 34323 * read-rtl.c: Fix formatting. 34324 * real.c: Likewise. 34325 * recog.c: Likewise. 34326 * regclass.c: Likewise. 34327 * regmove.c: Likewise. 34328 * reg-stack.c: Likewise. 34329 * reload1.c: Likewise. 34330 * rtlanal.c: Likewise. 34331 343322002-01-15 Kazu Hirata <kazu@hxi.com> 34333 34334 * config/i386/i386.c: Fix formatting. 34335 343362002-01-15 Jakub Jelinek <jakub@redhat.com> 34337 34338 * c-typeck.c (process_init_element): Don't save_expr 34339 COMPOUND_LITERAL_EXPR if just its initializer will be used. 34340 343412002-01-15 David Edelsohn <edelsohn@gnu.org> 34342 34343 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not 34344 emit optional traceback table if optimize_size or TARGET_ELF. 34345 * config/rs6000/rs6000.md (prefetch): New. 34346 343472002-01-15 Andreas Jaeger <aj@suse.de> 34348 34349 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h. 34350 343512002-01-15 Kazu Hirata <kazu@hxi.com> 34352 34353 * mips-tfile.c: Fix formatting. 34354 34355Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz> 34356 34357 * unroll.c (final_reg_note_copy): Fix previous commit. 34358 343592002-01-14 Kazu Hirata <kazu@hxi.com> 34360 34361 * config/h8300/h8300-protos.h: Remove the prototype for 34362 eq_operator. 34363 * config/h8300/h8300.c (eq_operator): Remove. 34364 343652002-01-14 Richard Henderson <rth@redhat.com> 34366 34367 * config/i386/i386.md (prefetch): Tidy. 34368 (prefetch_3dnow): Fix locality operand. 34369 343702002-01-14 Richard Henderson <rth@redhat.com> 34371 34372 * config/mips/mips.h (HI_AND_FP_REGS): New register class. 34373 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode. 34374 343752002-01-14 Hans-Peter Nilsson <hp@bitrange.com> 34376 34377 * reload1.c (reload_combine): Pass reg_sum replacement through 34378 copy_rtx in loop performing multiple changes. 34379 343802002-01-14 Jakub Jelinek <jakub@redhat.com> 34381 34382 * except.c (remove_unreachable_regions): New. 34383 (free_eh_status): Clear exception_handler_labels. 34384 (convert_from_eh_region_ranges): Call remove_unreachable_regions. 34385 (find_exception_handler_labels): Don't add the same label more than 34386 once. 34387 (remove_exception_handler_label): Don't die if 34388 find_exception_handler_labels hasn't been called for the current 34389 function yet. 34390 34391Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz> 34392 34393 * toplev.c (rest_of_compilation): Rebuild jump labels after 34394 gcse. 34395 343962002-01-14 Joseph S. Myers <jsm28@cam.ac.uk> 34397 34398 * doc/extend.texi: Move documentation of X86 built-in functions 34399 here. 34400 * doc/invoke.texi: From here. 34401 * doc/sourcebuild.texi: Document location of documentation for 34402 machine built-in functions. 34403 344042002-01-13 Christopher Faylor <cgf@redhat.com> 34405 34406 * cppfiles.c (TEST_THRESHOLD): New macro. 34407 (SHOULD_MMAP): Ditto. 34408 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should 34409 be used. 34410 34411Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz> 34412 34413 * unroll.c (final_reg_note_copy): Properly handle 34414 REG_LABEL 34415 (unroll_loops): Fix LOOP_CONDITION heuristics. 34416 344172002-01-14 Geoffrey Keating <geoffk@redhat.com> 34418 34419 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option. 34420 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate. 34421 34422Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz> 34423 34424 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite 34425 threaded loop. 34426 344272002-01-14 Tom Rix <trix@redhat.com> 34428 34429 * config/rs6000/rs6000.md: Fix typo with sradi. 34430 344312002-01-14 Ulrich Weigand <uweigand@de.ibm.com> 34432 34433 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64, 34434 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates. 34435 (clrstrdi, clrstrsi): Adapt callers. 34436 34437 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks. 34438 34439 (movti splitter): Never use register 0 as base register. 34440 344412002-01-14 Hartmut Penner <hpenner@de.ibm.com> 34442 34443 * combine.c (simplify_shift_const): Always generate new rtx 34444 for shift expression instead of reusing given expression. 34445 34446Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 34447 34448 * config/alpha/alpha.c (alpha_expand_mov): Don't call 34449 alpha_legitimize_address unless mode is Pmode. 34450 344512002-01-13 Geoffrey Keating <geoffk@redhat.com> 34452 34453 * doc/md.texi (Modifiers): Document the '*' constraint for the 34454 user. 34455 34456 * doc/md.texi (Machine Constraints): Add constraints for xstormy16. 34457 * doc/extend.texi (Function Attributes): 'interrupt' is valid 34458 for xstormy16 too. 34459 344602002-01-13 Richard Henderson <rth@redhat.com> 34461 34462 * reload.c (find_reloads): Use a hard reg destination as reload reg 34463 for an input reload of the source. 34464 344652002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 34466 34467 * doc/install.texi (Binaries): Make link to ftp.writtenword.com 34468 more generic. 34469 34470Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com> 34471 34472 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2. 34473 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2. 34474 34475 * config/alpha/x-vms (USE_COLLECT2): Set to empty. 34476 34477Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 34478 34479 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case. 34480 344812002-01-12 Tom Rix <trix@redhat.com> 34482 34483 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for 34484 TARGET_POWERPC64. 34485 344862002-01-12 Richard Henderson <rth@redhat.com> 34487 34488 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A. 34489 34490 * doc/invoke.texi: Update Alpha options. 34491 34492 * doc/invoke.texi: Update i386 built-in function lists. 34493 34494Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz> 34495 34496 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note 34497 referencing outside. 34498 34499Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 34500 34501 * diagnostic.c (warn_deprecated_use): Rework to lower indentation. 34502 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for 34503 offsets, and change line folding. 34504 * optabs.c (expand_binop): Remove warnings. 34505 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning. 34506 345072002-01-12 Graham Stott <grahams@redhat.com> 34508 34509 * attribs.c (handle_deprecated_attribute): constify WHAT. 34510 * diagnostic.c (warn_deprecated_use): Add braces, fixes 34511 dangling else warning and constify WHAT. 34512 * except.h (struct function, struct inline_remap): Move 34513 struct tag forward defs before all prototypes. 34514 (duplicate_eh_regions): Whitespace. 34515 345162002-01-12 Nick Clifton <nickc@cambridge.redhat.com> 34517 34518 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use 34519 MODE_BASE_REG_CLASS. 34520 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS. 34521 345222002-01-12 Richard Henderson <rth@redhat.com> 34523 34524 * config/i386/i386.c (override_options): If SSE, enable sse prefetch. 34525 (ix86_expand_vector_move): New. 34526 (bdesc_2arg): Remove andps, andnps, orps, xorps. 34527 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins. 34528 Remove old prefetch builtins. Special case the logicals removed above. 34529 (ix86_expand_builtin): Likewise. 34530 (safe_vector_operand): Use V4SFmode, not TImode. 34531 (ix86_expand_store_builtin): Remove shuffle arg. Update callers. 34532 (ix86_expand_timode_binop_builtin): New. 34533 * config/i386/i386-protos.h: Update. 34534 * config/i386/i386.h (enum ix86_builtins): Update. 34535 * config/i386/i386.md: Correct predicates on MMX/SSE patterns. 34536 Use ix86_expand_vector_move in vector move expanders. 34537 (movti_internal, movti_rex64): Add xorps alternative. 34538 (sse_clrv4sf): Rename and adjust from sse_clrti. 34539 (prefetch): Don't work so hard. 34540 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC. 34541 * config/i386/xmmintrin.h (__m128): Use V4SFmode. 34542 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name. 34543 345442002-01-11 Richard Henderson <rth@redhat.com> 34545 34546 * config/i386/mmintrin.h: New file. 34547 * config/i386/xmmintrin.h: New file. 34548 * config.gcc (i?86-*-*): Add extra_headers. 34549 * simplify-rtx.c (simplify_unary_operation): Handle saturating 34550 truncation codes. 34551 (simplify_binary_operation): Handle saturating arithmetic codes. 34552 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result, 34553 not the lowpart subreg. 34554 (ix86_expand_builtin): Return a TImode dummy register instead of 0 34555 on error. 34556 * config/i386/i386.md (mmx_clrdi): Override memory attribute. 34557 345582002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 34559 34560 * conflict.c (conflict_graph_compute): Free regsets when finished. 34561 * ssa.c (compute_coalesced_reg_partition): Likewise. 34562 345632002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 34564 34565 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED 34566 every where we allocate a register. 34567 345682002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 34569 34570 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free. 34571 * lcm.c (compute_earliest, compute_farthest): Likewise. 34572 345732002-01-11 Janis Johnson <janis187@us.ibm.com> 34574 34575 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET. 34576 345772002-01-11 Janis Johnson <janis187@us.ibm.com> 34578 34579 * doc/rtl.texi (Insns): Fix 2 typos. 34580 345812002-01-11 Joseph S. Myers <jsm28@cam.ac.uk> 34582 34583 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V 34584 options. Use @table @gcctabopt for MMIX options. Add index 34585 entries for MMIX options. Start new paragraph with first 34586 heading of the machine-dependent options. 34587 345882002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org> 34589 34590 PR other/5299 34591 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments. 34592 * combine.c (force_to_mode): Same. 34593 * reload1.c (clear_reload_reg_in_use): Same. 34594 345952002-01-11 Nick Clifton <nickc@cambridge.redhat.com> 34596 34597 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder' 34598 and 'subtargets'. 34599 346002002-01-11 Andreas Jaeger <aj@suse.de>, 34601 Brad Lucier <lucier@math.purdue.edu> 34602 34603 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong 34604 mcpu. 34605 34606Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com> 34607 34608 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors. 34609 Protect with IN_LIBGCC. 34610 (LINK_EH_SPEC): Add required trailing space. 34611 34612Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it> 34613 34614 * c-tree.h: Move function declarations so that they are listed 34615 under the filename which contains them. 34616 (check_identifier, finish_decl_top_level, 34617 lookup_name_current_level_global, shadow_record_fields): Remove. 34618 346192002-01-11 Andreas Jaeger <aj@suse.de> 34620 34621 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated 34622 march. 34623 346242002-01-10 Richard Henderson <rth@redhat.com> 34625 34626 * config/alpha/alpha.c (print_operand): Add 'J'. 34627 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a 34628 new operand with the sequence number for the lituse. When splitting 34629 the insns, use gen_movdi_er_high_g and generate a sequence number. 34630 (gen_movdi_er_high_g): Print the sequence number if nonzero. 34631 346322002-01-10 Aldy Hernandez <aldyh@redhat.com> 34633 34634 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for 34635 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx, 34636 stvxl. 34637 (altivec_expand_builtin): Same. 34638 (altivec_expand_stv_builtin): New. 34639 34640 * config/rs6000/rs6000.h (rs6000_builtins): Same. 34641 34642 * config/rs6000/rs6000.md ("altivec_lvebx"): New. 34643 ("altivec_lvehx"): New. 34644 ("altivec_lvewx"): New. 34645 ("altivec_lvxl"): New. 34646 ("altivec_lvx"): New. 34647 ("altivec_stvx"): New. 34648 ("altivec_stvebx"): New. 34649 ("altivec_stvehx"): New. 34650 ("altivec_stvewx"): New. 34651 ("altivec_stvxl"): New. 34652 346532002-01-10 Richard Henderson <rth@redhat.com> 34654 34655 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet. 34656 * reload1.c (delete_output_reload): Zap spill_reg_store. Take 34657 care not to delete instructions twice. 34658 346592002-01-10 Zack Weinberg <zack@codesourcery.com> 34660 34661 * toplev.c: Don't declare environ (it's not used anywhere). 34662 * configure.in: Don't check for declaration of environ. 34663 * config/i386/xm-mingw32.h: Don't #define environ. 34664 * config.in, configure: Regenerate. 34665 346662002-01-10 Zack Weinberg <zack@codesourcery.com> 34667 34668 * configure.in: Set stage1_cflags for powerpc-*-darwin*. 34669 * configure: Regenerate. 34670 34671 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and 34672 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h. 34673 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in 34674 alpha/xm-vms.h. 34675 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and 34676 LIMITS_H_TEST here, not in m68k/x-next. 34677 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and 34678 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h. 34679 34680 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL, 34681 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR. 34682 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments. 34683 34684 * config/i386/x-djgpp: Renamed i386/t-djgpp. 34685 * config/m88k/x-dolph: Renamed m88k/t-dolph. 34686 * config/m88k/x-texXD88: Renamed m88k/t-texXD88. 34687 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for 34688 replacement of quadlib.asm with quadlib.c. 34689 34690 * config/x-interix3, config/xm-interix.h, config/i386/x-beos, 34691 config/i386/xm-osf1elf.h, config/rs6000/x-darwin, 34692 config/rs6000/xm-beos.h: Delete file. 34693 34694 * config.gcc: Update to match above changes. 34695 346962002-01-10 Kazu Hirata <kazu@hxi.com> 34697 34698 * config/h8300/h8300.h: Fix comment typos. 34699 * config/h8300/h8300.md: Likewise. 34700 * config/h8300/lib1funcs.asm: Likewise. 34701 347022002-01-10 Dale Johannesen <dalej@apple.com> 34703 34704 PR optimization/5269 34705 * unroll.c (precondition_loop_p): Make *increment be the correct 34706 sign when n_iterations known, to avoid confusing caller. 34707 347082002-01-10 Kazu Hirata <kazu@hxi.com> 34709 34710 * doc/extend.texi (deprecated): Fix a typo. 34711 34712Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz> 34713 34714 * basic-block.h (update_br_prob_note): Declare. 34715 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note. 34716 (try_forward_edges): Care negative frequencies and update note. 34717 (outgoing_edges_match): Tweek conditional merging heuristics. 34718 (try_crossjump_to_edge): use update_br_prob_note. 34719 * cfglayout.c (fixup_reorder_chain): Likewise. 34720 * cfrtl.c (update_br_prob_note): New. 34721 * ifcvt.c (dead_or_predicable): Call update_br_prob_note. 34722 34723 * i386.c (ix86_decompose_address): Return -1 if address contains 34724 shift. 34725 (legitimate_address_p): Require ix86_decompose_address to return 1. 34726 34727 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P. 34728 (cprop_insn): Likewise. 34729 347302002-01-10 Kazu Hirata <kazu@hxi.com> 34731 34732 * toplev.c: Fix formatting. 34733 * tree.c: Likewise. 34734 * tree-dump.c: Likewise. 34735 * unroll.c: Likewise. 34736 * unwind-dw2.c: Likewise. 34737 * unwind-dw2-fde.c: Likewise. 34738 * unwind-dw2-fde-glibc.c: Likewise. 34739 * unwind-sjlj.c: Likewise. 34740 347412002-01-10 Joseph S. Myers <jsm28@cam.ac.uk> 34742 34743 * doc/invoke.texi: Document PDP-11 options. 34744 347452002-01-10 Kazu Hirata <kazu@hxi.com> 34746 34747 * config/h8300/h8300.h: Fix formatting. 34748 347492002-01-10 Ira Ruben <ira@apple.com> 34750 34751 Add __attribute__ ((deprecated)). 34752 * extend.texi: Document __attribute__ ((deprecated)). 34753 * invoke.texi: Document -Wno-deprecated-declarations. 34754 * testsuite/g++.dg/other/deprecated.C: New C++ test. 34755 * testsuite/gcc.dg/deprecated.c: New C test. 34756 * attribs.c (enum attrs): Declare handle_deprecated_attribute(). 34757 (c_common_attribute_table): Add "deprecated" entry. 34758 (handle_deprecated_attribute): New function. 34759 * c-decl.c (deprecated_states): New enum. 34760 deprecated_state: State of "deprecated" handling. 34761 (start_decl): Set deprecated_state based on attributes. 34762 (grokdeclarator): Test for deprecated uses, propagate attribute. 34763 * c-typeck.c (build_component_ref): Test for deprecated fields. 34764 (build_external_ref): Test for deprecated primaries. 34765 * diagnostic.c (warn_deprecated_use) New function to issue 34766 warnings about __attribute__ ((depricated)) references. 34767 * flags.h (warn_deprecated_decl): Extern declared for 34768 -W[no-]deprecated-declarations option. 34769 * print-tree.c (print_node): Show deprecated flag status. 34770 * toplev.c (warn_deprecated_decl): Defined. 34771 (W_options): Added "deprecated-declaration". 34772 * toplev.h (warn_deprecated_use): Extern declared. 34773 * tree.h (struct tree_common): Define deprecated_flag. 34774 (TREE_DEPRECATED): New macro to access flag. 34775 * cp/call.c (build_call): Test for deprecated calls. 34776 * cp/class.c (add_implicitly_declared_members): Set global 34777 flag to tell grokdeclarator to not issue deprecated warnings. 34778 * cp/cp-tree.h: Add extern for adding_implicit_members. 34779 * cp/decl.c (deprecated_states): New enum. 34780 (start_decl): Set deprecated_state based on attributes. 34781 (grokdeclarator): Test for deprecated uses, propagate attribute. 34782 * cp/lex.c (do_identifier): Test for deprecated primaries. 34783 * cp/typeck.c (build_component_ref): Test for deprecated fields. 34784 347852002-01-10 Ira Ruben <ira@apple.com> 34786 34787 Fix to assign attributes to inline member functions. 34788 * cp/decl.c (start_method): Handle attrlist. 34789 347902002-01-10 Kazu Hirata <kazu@hxi.com> 34791 34792 * combine.c (expand_field_assignment): Use subreg_lsb(). 34793 347942002-01-10 David Edelsohn <edelsohn@gnu.org> 34795 34796 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC, 34797 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY. 34798 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY. 34799 Recurse for any operand of AND as long as constant is nonzero. 34800 348012002-01-10 Kazu Hirata <kazu@hxi.com> 34802 34803 * config/h8300/h8300.md: Remove constraints from expanders. 34804 348052002-01-10 Kazu Hirata <kazu@hxi.com> 34806 34807 * varasm.c: Fix formatting. 34808 * varray.c: Likewise. 34809 * vmsdbgout.c: Likewise. 34810 * xcoffout.c: Likewise. 34811 34812Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz> 34813 34814 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges; 34815 update edge probabilities to match. 34816 348172002-01-10 Joseph S. Myers <jsm28@cam.ac.uk> 34818 34819 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional 34820 dependencies. 34821 * doc/languages.texi, doc/sourcebuild.texi: New files. 34822 * doc/configfiles.texi: Make a subsubsection. Update. 34823 * doc/configterms.texi: Add @node. Remove warning that this isn't 34824 instructions for building GCC. 34825 * doc/makefile.texi: Make a subsection. 34826 * doc/gccint.texi: Update. 34827 34828Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz> 34829 34830 * i386.md (sse_mov?fcc_const0_?): Fix constraints. 34831 34832Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it> 34833 34834 * doc/cpp.texi: Document the __OBJC__ preprocessor macro. 34835 34836Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz> 34837 34838 * optabs.c (expand_fix): Look for wider integer modes first. 34839 34840 * i386.md (mov?f): Avoid the fake const double trick for medium 34841 memory model. 34842 (min?f*/max?f*): Prohibit memory operands for i387 variant. 34843 (fop_df_4): Disable for SSE compilation. 34844 348452002-01-10 Graham Stott <grahams@redhat.com> 34846 34847 * dwarf2out.c (indirect_string_alloc, output_indirect_string): 34848 Move prototype into DWARF2_DEBUGGING_INFO conditional block. 34849 348502002-01-10 Richard Henderson <rth@redhat.com> 34851 34852 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative. 34853 348542002-01-10 Richard Henderson <rth@redhat.com> 34855 34856 * regrename.c (find_oldest_value_reg): Fix typo in mode change check. 34857 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok. 34858 348592002-01-10 Kazu Hirata <kazu@hxi.com> 34860 34861 * combine.c (can_combine_p): Fix a comment typo. 34862 348632002-01-09 Zack Weinberg <zack@codesourcery.com> 34864 34865 * Makefile.in (s-gencheck, s-options, s-specs): Handle an 34866 empty list correctly. Change loop index $t to $f for 34867 consistency with rest of Makefile. 34868 348692002-01-08 Aldy Hernandez <aldyh@redhat.com> 34870 34871 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall, 34872 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst. 34873 34874 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for 34875 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt. 34876 (altivec_init_builtins): Same. 34877 (altivec_expand_unop_builtin): Return NULL_RTX on error. 34878 (altivec_expand_binop_builtin): Same. 34879 (altivec_expand_ternop_builtin): Same. 34880 (bdesc_dst): New. 34881 34882 * config/rs6000/rs6000.md ("altivec_mtvscr"): New. 34883 ("altivec_vctuxs"): Fix typo. 34884 ("altivec_vnmsubfp"): Same. 34885 ("altivec_dssall"): New. 34886 ("altivec_mfvscr"): New. 34887 ("altivec_dss"): New. 34888 ("altivec_lvsl"): New. 34889 ("altivec_lvsr"): New. 34890 ("altivec_dstt"): New. 34891 ("altivec_dstst"): New. 34892 ("altivec_dststt"): New. 34893 ("altivec_dst"): New. 34894 34895 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall, 34896 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst. 34897 348982002-01-09 Richard Henderson <rth@redhat.com> 34899 34900 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc. 34901 349022002-01-10 Hans-Peter Nilsson <hp@bitrange.com> 34903 34904 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused 34905 function. 34906 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't 34907 prototype. 34908 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro. 34909 349102002-01-09 Kazu Hirata <kazu@hxi.com> 34911 34912 * read-rtl.c: Fix formatting. 34913 * real.c: Likewise. 34914 * regclass.c: Likewise. 34915 * regrename.c: Likewise. 34916 * reg-stack.c: Likewise. 34917 * reload1.c: Likewise. 34918 * reload.c: Likewise. 34919 * rtl.c: Likewise. 34920 349212002-01-09 Kazu Hirata <kazu@hxi.com> 34922 34923 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST 34924 to extract items in the expr_list chain. 34925 349262002-01-09 Richard Henderson <rth@redhat.com> 34927 34928 * config/vax/vax.c (vax_rtx_cost): Never abort. 34929 34930 * config/vax/vax.h (REAL_ARITHMETIC): Define. 34931 349322002-01-09 Jan Hubicka <jh@suse.cz> 34933 34934 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op. 34935 349362002-01-09 Richard Henderson <rth@redhat.com> 34937 34938 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode. 34939 Unify code from various alternatives. 34940 349412002-01-09 Richard Henderson <rth@redhat.com> 34942 34943 * regrename.c (copy_value): Ignore the copy if the source register 34944 is present in the value chain with a narrower mode. 34945 349462002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 34947 34948 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles 34949 for the c4x target. Also improve layout. 34950 349512002-01-09 Richard Henderson <rth@redhat.com> 34952 34953 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test. 34954 * config/m32r/m32r.md (and ior xor splitters): Swap operands 34955 to match insn patterns. 34956 349572002-01-09 Richard Henderson <rth@redhat.com> 34958 34959 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG. 34960 (copyprop_hardreg_forward_1): Likewise. 34961 349622002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca> 34963 34964 * pa.md (decrement_and_branch_until_zero): Change predicate for 34965 operand 0 from register_operand to reg_or_nonsymb_mem_operand. 34966 349672002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz> 34968 34969 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_ 34970 gets undefined. For Darwin. 34971 349722002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 34973 34974 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing. 34975 349762002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 34977 34978 * config/c4x/c4x/md: Remove extraneous constraints from define_splits. 34979 349802002-01-08 Richard Henderson <rth@redhat.com> 34981 34982 * regrename.c (copy_value): Ignore overlapping copies. 34983 349842002-01-08 Richard Henderson <rth@redhat.com> 34985 34986 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx 34987 as needed to avoid shared structure. 34988 349892002-01-08 Kazu Hirata <kazu@hxi.com> 34990 34991 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on 34992 H8/300H and H8S. 34993 349942002-01-08 Joseph S. Myers <jsm28@cam.ac.uk> 34995 34996 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR, 34997 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove 34998 documentation of obsolete macros. 34999 * system.h: Poison these macros. 35000 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h, 35001 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, 35002 config/c4x/c4x.h, config/clipper/clipper.h, 35003 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h, 35004 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h, 35005 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h, 35006 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h, 35007 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h, 35008 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h, 35009 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, 35010 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h, 35011 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h, 35012 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h, 35013 config/sparc/sparc.h, config/stormy16/stormy16.h, 35014 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove 35015 definitions and commented out definitions of obsolete macros. 35016 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms 35017 of MAX_INT_TYPE_SIZE. 35018 350192002-01-08 Ulrich Weigand <uweigand@de.ibm.com> 35020 35021 * config/s390/s390.c (s390_preferred_reload_class): Never 35022 return ADDR_REGS if it isn't a subset of the given class. 35023 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just 35024 FP_REGS, but all superclasses as well. 35025 35026 * config/s390/s390.c (s390_function_profiler): Fix thinko. 35027 35028 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem, 35029 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare 35030 must not be a const_int. 35031 350322002-01-08 Richard Henderson <rth@redhat.com> 35033 35034 * Makefile.in (toplev.o): Depend on options.h. 35035 (gcc.o): Depend on specs.h. 35036 350372002-01-08 Jakub Jelinek <jakub@redhat.com> 35038 35039 * expr.c (store_expr): Convert VOIDmode constants back to target's 35040 mode. 35041 350422002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 35043 35044 * doc/invoke.texi: Markup gcc as @command. Refer to 35045 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead 35046 of http://gcc.gnu.org/thanks.html. 35047 350482002-01-08 Dale Johannesen <dalej@apple.com> 35049 35050 * config/rs6000/rs6000.md: Add missing int register 35051 target case to movdf_low. 35052 350532002-01-08 Zack Weinberg <zack@codesourcery.com> 35054 35055 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or 35056 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS. 35057 (cppinit.o): Depend on except.h. 35058 (gencheck.h, options.h, specs.h, s-gencheck, s-options, 35059 s-specs): New rules. 35060 35061 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION. 35062 Don't create specs.h/options.h/gencheck.h here. Remove 35063 unnecessary variable settings from last argument of AC_OUTPUT. 35064 * config.in, configure: Regenerate. 35065 * intl.c: Hardcode package name as "gcc". 35066 35067 * cppinit.c: Include except.h. 35068 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when 35069 appropriate. 35070 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c: 35071 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if 35072 (!)USING_SJLJ_EXCEPTIONS. 35073 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__. 35074 350752002-01-08 Joseph S. Myers <jsm28@cam.ac.uk> 35076 35077 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END, 35078 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP, 35079 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove 35080 documentation of obsolete macros. 35081 * system.h: Poison these macros. 35082 * config/d30v/d30v.h, config/ns32k/encore.h, 35083 config/stormy16/stormy16.h: Remove definitions and commented out 35084 definitions of obsolete macros. 35085 35086Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk> 35087 35088 * objc/objc-act.c (handle_class_ref): Mark the declaration of 35089 %sobjc_class_ref_%s as used - to prevent unwanted compiler 35090 warnings. 35091 350922002-01-08 Ulrich Weigand <uweigand@de.ibm.com> 35093 35094 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove. 35095 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR 35096 to insn adjusting stack/frame pointer. 35097 * config/s390/s390.md (reload_la_64, reload_la_31): Do not 35098 accept operands that cause the insn to be non-splittable. 35099 351002002-01-08 Graham Stott <grahams@redhat.com> 35101 35102 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter. 35103 (C_TYPE_FIELDS_VOLATILE): Likewise. 35104 (C_TYPE_BEING_DEFINED): Likewise. 35105 (C_IS_RESERVED_WORD): Likewise. 35106 (C_TYPE_VARIABLE_SIZE): Likewise. 35107 (C_DECL_VARIABLE_SIZE): Likewise. 35108 (C_MISSING_PROTOTYPE_WARNED): Likewise. 35109 (C_SET_EXP_ORIGINAL_CODE): Likewise. 35110 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove 35111 parenthesis. 35112 (C_DECL_ANTICIPATED): Likewise. 35113 (c_build_type_variant): Add parenthesis. 35114 351152002-01-08 Joseph S. Myers <jsm28@cam.ac.uk> 35116 35117 * gcc.c (option_map): Remove --version. 35118 (process_command): Handle -fversion following the GNU Coding 35119 Standards. Partially addresses PR other/704. 35120 351212002-01-08 Graham Stott <grahams@redhat.com> 35122 35123 * combine.c (combine_instructions): Fix typo. 35124 351252002-01-08 Graham Stott <grahams@redhat.com> 35126 35127 * debug.h: Use "tree" and "rtx" throughout. 35128 35129 * debug.c: Likewise. 35130 351312002-01-08 Nick Clifton <nickc@cambridge.redhat.com> 35132 35133 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the 35134 constant pool, use the pool's version of the symbol instead. 35135 351362002-01-07 Richard Henderson <rth@redhat.com> 35137 35138 * regrename.c (find_oldest_value_reg): Ignore the value chain if 35139 the original register was copied in a mode with a fewer number of 35140 hard registers than the desired mode. 35141 (copyprop_hardreg_forward_1): Likewise. 35142 (debug_value_data): Fix loop test. 35143 * toplev.c (parse_options_and_default_flags): Reenable 35144 -fcprop-registers at -O1. 35145 351462002-01-07 Aldy Hernandez <aldyh@redhat.com> 35147 35148 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates. 35149 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi. 35150 35151 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec 35152 predicates. 35153 35154 * config/rs6000/rs6000.md: Add altivec predicate patterns. 35155 351562002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca> 35157 35158 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define. 35159 (pa_output_function_prologue): Output local label at the beginning of 35160 the prologue when profiling. 35161 (hppa_profile_hook): Use the local label rather than the function label. 35162 * pa.h (PROFILE_BEFORE_PROLOGUE): Define. 35163 351642002-01-07 Aldy Hernandez <aldyh@redhat.com> 35165 35166 * config/rs6000/rs6000.c (print_operand): Remove extra space. 35167 (altivec_expand_unop_builtin): Fix thinko. 35168 (altivec_expand_binop_builtin): Same. 35169 (altivec_expand_ternop_builtin): Same. 35170 (altivec_expand_builtin): Same. 35171 351722002-01-07 Richard Henderson <rth@redhat.com> 35173 35174 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag. 35175 351762002-01-07 Jason Merrill <jason@redhat.com> 35177 35178 * unwind-dw2.c (execute_cfa_program): Use < again. 35179 351802002-01-07 Jakub Jelinek <jakub@redhat.com> 35181 35182 * predict.c (combine_predictions_for_insn): Avoid division by zero. 35183 351842002-01-07 Jakub Jelinek <jakub@redhat.com> 35185 35186 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT. 35187 Don't allow -1 - x -> ~x simplifications in the first pass. 35188 351892002-01-07 Aldy Hernandez <aldyh@redhat.com> 35190 35191 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid 35192 arguments. 35193 (altivec_expand_binop_builtin): Same. 35194 (altivec_expand_unop_builtin): Same. 35195 (print_operand): Fix typo. 35196 (bdesc_1arg): Add vupk* variants. 35197 35198 * rs6000.h (rs6000_builtins): Add vupk* enums. 35199 35200 * rs6000.md: Add altivec_vupk* variants. 35201 352022002-01-07 Joseph S. Myers <jsm28@cam.ac.uk> 35203 35204 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi, 35205 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright 35206 and last update dates. 35207 352082002-01-07 Janis Johnson <janis187@us.ibm.com> 35209 35210 * doc/rtl.texi (Flags): Clean up documentation of RTL flags 35211 352122002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl> 35213 35214 * config/avr/avr.c (avr_mcu_types): Add new MCU types. 35215 * config/avr/avr.h (CPP_SPEC): Likewise. 35216 (LINK_SPEC): Likewise. 35217 (CRT_BINUTILS_SPECS): Likewise. 35218 * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 35219 * doc/invoke.texi (AVR Options): Document them. 35220 35221Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz> 35222 35223 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and 35224 LABEL_NUSES. 35225 352262002-01-07 Graham Stott <grahams@redhat.com> 35227 35228 * config/i386/i386.h: Update copyright date. 35229 (HALF_PIC_PTR): Add parenthesis. 35230 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap. 35231 (CONSTANT_ALIGNMENT): Add parenthesis. 35232 (DATA_ALIGNMENT): Likewise. 35233 (LOCAL_ALIGNMENT): Likewise. 35234 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap. 35235 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap. 35236 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0). 35237 (HARD_REGNO_NREGS): Add paranethesis. 35238 (VALID_SSE_REG_MODE): Whitespace. 35239 (VALID_MMX_REG_MODE): Whitespace. 35240 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace. 35241 (ix86_hard_regno_mode_ok): Add parenthesis. 35242 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace. 35243 (RETURN_IN_MEMORY): Whitespace. 35244 (N_REG_CLASSES): Add parenthesis. 35245 (INTEGER_CLASS_P): Add parenthesis and wrap. 35246 (FLOAT_CLASS_P): Likewise. 35247 (SSE_CLASS_P): Likewise. 35248 (MMX_CLASS_P): Likewise. 35249 (MAYBE_INTEGER_CLASS_P): Likewise. 35250 (MAYBE_FLOAT_CLASS_P): Likewise. 35251 (MAYBE_SSE_CLASS_P): Likewise. 35252 (MAYBE_MMX_CLASS_P): Likewise. 35253 (Q_CLASS_P): Likewise. 35254 (GENERAL_REGNO_P): Uppercase macro parameter. 35255 (REX_INT_REGNO_P): Uppercase macro parameter and wrap. 35256 (FP_REGNO_P): Likewise. 35257 (ANY_FP_REGNO_P): Uppercase macro parameter. 35258 (SSE_REGNO_P): Likewise. 35259 (SSE_REGNO): Likewise. 35260 (SSE_REG_P): Likewise. 35261 (SSE_FLOAT_MODE_P): Likewise. 35262 (MMX_REGNO_P): Likewise. 35263 (MMX_REG_P):Likewise. 35264 (STACK_REG_P): Likewise. 35265 (NON_STACK_REG_P): Likewise. 35266 (STACK_TOP_P): Likewise. 35267 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis. 35268 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace. 35269 (SECONDARY_MEMORY_NEEDED): Likewise. 35270 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace. 35271 (MD_ASM_CLOBBERS): Whitespace and wrap. 35272 (MUST_PASS_IN_STACK): Whitespace and wrap. 35273 (RETURN_POPS_ARGS): Add parenthesis. 35274 (INIT_CUMULATIVE_ARGS): Likewise. 35275 (FUNCTION_ARG): Likewise. 35276 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace. 35277 (SETUP_INCOMING_VARARGS): Likewise. 35278 (BUILD_VA_LIST_TYPE): Add parenthesis. 35279 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add 35280 parenthsis. 35281 (EXPAND_BUILTIN_VA_ARG): Likewise. 35282 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis. 35283 (INITIALIZE_TRAMPOLINE): Add parenthesis. 35284 (INITIAL_ELIMINATION_OFFSET): Likewise. 35285 (REGNO_OK_FOR_INDEX_P): Add parenthesis. 35286 (REGNO_OK_FOR_BASE_P): Likewise. 35287 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap. 35288 (REGNO_OK_FOR_DIREG_P): Likewise. 35289 (REG_OK_FOR_INDEX_P): Whitespace. 35290 (REG_OK_FOR_BASE_P): Whitespace. 35291 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add 35292 parenthesis. 35293 (FIND_BASE_TERM): Fix typo. 35294 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis. 35295 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace. 35296 (SYMBOLIC_CONST; Whitespace. 35297 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap. 35298 (ENCODE_SECTION_INFO): Whitespace. 35299 (FINALIZE_PIC): Remove do { ... } while (0). 35300 (PROMOTE_MODE): Wrap in do { ... } while (0). 35301 (CONST_COSTS): Whitespace. 35302 (RTX_COSTS): Add paramethesis, whitespace and wrap. 35303 (REGISTER_MOVE_COST): Add parenthesis. 35304 (MEMORY_MOVE_COST): Likewise. 35305 (EXTRA_CC_MODES): Whitespace. 35306 (SELECT_CC_MODE): Add parenthesis and whitespace. 35307 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis. 35308 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace. 35309 (ASM_OUTPUT_LABEL): Add paramethesis. 35310 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace. 35311 (ASM_OUTPUT_REG_POP): Likewise. 35312 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis. 35313 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. 35314 35315 * config/i386/i386.c: Update copyright. 35316 (CHECK_STACK_LIMIT): Add parenthesis. 35317 (AT_BP): Uppercase macro parameter. 35318 (x86_64_int_parameter_registers): Constify. 35319 (x86_64_int_return_registers): Likewise. 35320 (ix86_compare_op0): Use rtx. 35321 (construct_container): Constify INTREG parameter. 35322 (function_arg): Use rtx. 35323 35324 * diagnostic.h: Update copyright date. 35325 (output_buffer_state): Add parenthesis. 35326 (output_buffer_format_args): Likewise. 35327 35328 * combine.c (combine_instructions): Replace XEXP (links, 0) 35329 with link. 35330 353312002-01-06 H.J. Lu <hjl@gnu.org> 35332 35333 * cfgcleanup.c (thread_jump): Fix 2 typos. 35334 353352002-01-06 Aldy Hernandez <aldyh@redhat.com> 35336 35337 * config.gcc: Add support for --enable-altivec. 35338 353392002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org> 35340 35341 * emit-rtl.c (gen_highpart): Add check for NULL_RTX. 35342 353432002-01-06 Jakub Jelinek <jakub@redhat.com> 35344 35345 * objc/objc-act.c (handle_impent): Use assemble_variable to emit 35346 __objc_class_name_*. 35347 353482002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org> 35349 35350 * doc/install.texi (sparcv9-*-solaris2*): Add documentation. 35351 353522002-01-06 Richard Henderson <rth@redhat.com> 35353 35354 * reorg.c (emit_delay_sequence): Remove death notes, not merely 35355 nop them out. Increment label reference count for REG_LABEL. 35356 (fill_slots_from_thread): Frob label reference count around 35357 delete_related_insns. 35358 353592002-01-05 Richard Henderson <rth@redhat.com> 35360 35361 * cfgcleanup.c (try_forward_edges): Detect infinite loops while 35362 jump threading. 35363 353642002-01-05 Richard Henderson <rth@redhat.com> 35365 35366 * c-decl.c (c_expand_body): Don't call outlining_inline_function. 35367 * integrate.c (output_inline_function): Likewise. 35368 * toplev.c (rest_of_compilation): Do it here instead. Move call 35369 to remove_unnecessary_notes after emitting abstract instance. 35370 Force an emitted nested function to have its parent emited as well. 35371 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking 35372 for null. 35373 (rtl_for_decl_location): Do not look at reload data structures 35374 before reload has run. 35375 353762002-01-05 Kazu Hirata <kazu@hxi.com> 35377 35378 * cse.c: Fix formatting. 35379 * dwarf2asm.c: Likewise. 35380 * dwarf2out.c: Likewise. 35381 * explow.c: Likewise. 35382 * expmed.c: Likewise. 35383 * function.c: Likewise. 35384 * gcov.c: Likewise. 35385 * gencheck.c: Likewise. 35386 * genrecog.c: Likewise. 35387 * ggc-common.c: Likewise. 35388 * ggc-page.c: Likewise. 35389 * global.c: Likewise. 35390 353912002-01-05 Kazu Hirata <kazu@hxi.com> 35392 35393 * combine.c: Fix formatting. 35394 353952002-01-05 Craig Rodrigues <crodrigu@bbn.com> 35396 35397 PR middle-end/1557 35398 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove. 35399 354002002-01-05 David Edelsohn <edelsohn@gnu.org> 35401 35402 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define 35403 as 1 for __powerpc64__ as well. 35404 35405 * config/rs6000/t-aix43 (T_ADAFLAGS): Define. 35406 35407 * alias.c (find_base_value, PLUS/MINUS): If we found a base, 35408 return it. 35409 354102002-01-05 Daniel Berlin <dan@dberlin.org> 35411 35412 * lcm.c: Revert change, due to performance regression it causes on 35413 SPEC because it's slightly more conservative (sigh, I hate 35414 edge-based LCM). 35415 35416Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz> 35417 35418 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading. 35419 354202002-01-05 Neil Booth <neil@daikokuya.demon.co.uk> 35421 35422 * doc/cppinternals.texi: Update. 35423 354242002-01-05 Hans-Peter Nilsson <hp@bitrange.com> 35425 35426 * doc/invoke.texi (Option Summary) <MMIX Options>: Document 35427 -mbranch-predict, -mreg-stack-fill-bug-workaround and their 35428 negatives. 35429 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend. 35430 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework 35431 kludge for pre-october-14th mmix versions to handle new-found bug 35432 with PUSHJ/PUSHGO and the register stack. 35433 * config/mmix/mmix.h (struct machine_function): Rename member 35434 has_call_value_without_parameters to has_call_without_parameters. 35435 All referers changed. 35436 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT 35437 TARGET_MASK_BRANCH_PREDICT): New macros. 35438 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround, 35439 -mno-reg-stack-fill-bug-workaround. 35440 * config/mmix/mmix.md ("call"): Set struct machine member 35441 has_call_without_parameters. 35442 35443Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz> 35444 35445 * cfgcleanup.c (thread_jump): Fix handling of reversed branches. 35446 35447Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz> 35448 35449 * cfgcleanup.c: Include tm_p.h 35450 (mark_effect): Fix handling of hard register; fix handling of SET 35451 354522002-01-04 Kazu Hirata <kazu@hxi.com> 35453 35454 * config/h8300/h8300.md (anonymous patterns): Check that 35455 operands are registers before using REGNO on them. 35456 354572002-01-03 Roland McGrath <roland@frob.com> 35458 35459 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu. 35460 354612002-01-04 Jakub Jelinek <jakub@redhat.com> 35462 35463 * tree.h (expand_expr_stmt_value): Add maybe_last argument. 35464 * c-common.h (genrtl_expr_stmt_value): Likewise. 35465 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last. 35466 (expand_expr_stmt_value): Add maybe_last argument. 35467 Don't warn about statement with no effect if it is the last statement 35468 in expression statement. 35469 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last. 35470 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to 35471 expand_expr_stmt_value. 35472 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to 35473 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope. 35474 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1 35475 as maybe_last to expand_expr_stmt_value. 35476 35477Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com) 35478 35479 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to 35480 be passed in, do not build it. 35481 (c_begin_if_stmt): New function. 35482 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise. 35483 * c-common.h (c_expand_start_cond): Update prototype. 35484 (c_begin_if_stmt): Prototype new function. 35485 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise. 35486 * c-parse.in (if_prefix): Use c_begin_if_stmt, 35487 c_begin_while_stmt and c_finish_while_stmt_cond. 35488 354892002-01-04 William Cohen <wcohen@redhat.com> 35490 35491 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag. 35492 * config/pa/pa-linux.h (ASM_FILE_START): Likewise. 35493 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise. 35494 * config/pa/som.h (ASM_FILE_START): Likewise. 35495 354962002-01-04 Daniel Berlin <dan@cgsoftware.com> 35497 35498 * lcm.c: Include df.h. 35499 Add available_transfer_function prototype. 35500 (compute_available): Rework to use iterative dataflow framework. 35501 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict 35502 with bb_info in df.h 35503 (available_transfer_function): New function. 35504 35505 * Makefile.in (lcm.o): add df.h to dependencies. 35506 355072002-01-04 Richard Henderson <rth@redhat.com> 35508 35509 * config/alpha/alpha.c (some_operand): Accept HIGH. 35510 (input_operand): Likewise; accept simple references to globals. 35511 (alpha_const_ok_for_letter_p): New, outlined from alpha.h. 35512 (alpha_const_double_ok_for_letter_p): Likewise. 35513 (alpha_extra_constraint): Likewise. 35514 (alpha_preferred_reload_class): Likewise. Do not force 35515 symbolic constants to memory. 35516 (alpha_legitimate_address_p): Accept simple references 35517 to small_symbolic_operand. 35518 (alpha_legitimize_address): New arg scratch. Be prepared to be 35519 called when no_new_pseudos. Emit simple symbolic references. 35520 Split integers into low, high, and rest. 35521 (alpha_expand_mov): Use alpha_legitimize_address. 35522 (some_small_symbolic_mem_operand): New. 35523 (split_small_symbolic_mem_operand): New. 35524 * config/alpha/alpha-protos.h: Update. 35525 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line. 35526 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise. 35527 (EXTRA_CONSTRAINT): Likewise. 35528 (PREFERRED_RELOAD_CLASS): Likewise. 35529 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change. 35530 (PREDICATE_CODES): Update. 35531 * config/alpha/alpha.md: New post-reload splitters to convert 35532 simplfied symbolic operands to the form that references $29. 35533 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g. 35534 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand. 35535 355362002-01-03 Richard Henderson <rth@redhat.com> 35537 35538 * local-alloc.c (function_invariant_p): Update commentary. 35539 355402002-01-04 H.J. Lu <hjl@gnu.org> 35541 35542 * toplev.c (rest_of_compilation): Fix a typo when calling 35543 cleanup_cfg. 35544 355452002-01-03 Kazu Hirata <kazu@hxi.com> 35546 35547 * c-common.c: Fix formatting. 35548 * diagnostic.c: Likewise. 35549 * doloop.c: Likewise. 35550 * dwarf2out.c: Likewise. 35551 355522002-01-03 Kazu Hirata <kazu@hxi.com> 35553 35554 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead 35555 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000. 35556 355572002-01-03 Neil Booth <neil@daikokuya.demon.co.uk> 35558 35559 * cpperror.c: Update comments and copyright. 35560 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c, 35561 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly. 35562 355632002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca> 35564 35565 * collect2.c (main): Use strcmp when testing for "-shared". 35566 355672002-01-03 Neil Booth <neil@daikokuya.demon.co.uk> 35568 35569 * cppmacro.c: Don't include intl.h. Update comments. 35570 (new_number_token): Allocate enough buffer for 64-bit unsigned 35571 integers; update prototype. 35572 * cppmain.c: Update comments. 35573 355742002-01-03 William Cohen <wcohen@redhat.com> 35575 35576 * function.h (struct function): Add profile. 35577 (current_function_profile): New. 35578 doc/extend.texi: Update documentation. 35579 * final.c (final_start_function): Use current_function_profile 35580 instead of profile_flag. 35581 (profile_after_prologue): Likewise. 35582 * function.c (expand_function_start): Likewise. 35583 (expand_function_start): Likewise. 35584 * config/alpha/alpha.c (direct_call_operand): 35585 (alpha_does_function_need_gp): Likewise. 35586 (alpha_expand_prologue): Likewise. 35587 * config/arm/arm.c (arm_expand_prologue): Likewise. 35588 thumb_expand_prologue: Likewise. 35589 * config/d30v/d30v.c (d30v_stack_info): Likewise. 35590 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise. 35591 (fr30_expand_prologue): Likewise. 35592 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise. 35593 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise. 35594 * config/i386/i386.h (FINALIZE_PIC): Likewise. 35595 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise. 35596 * config/i960/i960.c (i960_output_function_prologue): Likewise. 35597 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise. 35598 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise. 35599 (m32r_expand_prologue): Likewise. 35600 * config/m88k/m88k.c (m88k_layout_frame): Likewise. 35601 (m88k_expand_prologue): Likewise. 35602 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise. 35603 * config/mips/mips.c (compute_frame_size): Likewise. 35604 (mips_expand_prologue): Likewise. 35605 (mips_can_use_return_insn): Likewise. 35606 * config/pa/elf.h (ASM_FILE_START): Likewise. 35607 * config/pa/pa-linux.h (ASM_FILE_START): Likewise. 35608 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise. 35609 * config/pa/som.h (ASM_FILE_START): Likewise. 35610 * config/romp/romp.c (romp_using_r14): Likewise. 35611 * config/rs6000/rs6000.c (first_reg_to_save): Likewise. 35612 (rs6000_stack_info): Likewise. 35613 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise. 35614 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise. 35615 * config/v850/v850.c (compute_register_save_size): Likewise. 35616 356172002-01-03 Jakub Jelinek <jakub@redhat.com> 35618 35619 * simplify-rtx.c (simplify_binary_operation) [DIV]: If 35620 gen_lowpart_common fails, use gen_lowpart_SUBREG. 35621 356222002-01-03 Turly O'Connor <turly@apple.com> 35623 35624 * darwin.c (machopic_output_possible_stub_label): Don't generate 35625 stub routines for pseudo-stubs which we've just defined. 35626 356272002-01-03 Kazu Hirata <kazu@hxi.com> 35628 35629 * builtins.c: Fix formatting. 35630 * c-typeck.c: Likewise. 35631 * combine.c: Likewise. 35632 * expr.c: Likewise. 35633 * loop.c: Likewise. 35634 356352002-01-03 Andreas Schwab <schwab@suse.de> 35636 35637 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool 35638 and return true if _cpp_push_next_buffer pushed a new include 35639 file. 35640 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if 35641 _cpp_pop_file_buffer did not push a new file. 35642 * cpphash.h (_cpp_pop_file_buffer): Update declaration. 35643 356442002-01-02 Eric Christopher <echristo@redhat.com> 35645 35646 * final.c (final_scan_insn): Change 0 -> NULL_RTX in 35647 FIND_REG_INC_NOTE call. Update copyright. 35648 * loop.c (canonicalize_condition): Ditto. 35649 * reorg.c (delete_scheduled_jump): Ditto. 35650 356512002-01-03 Kazu Hirata <kazu@hxi.com> 35652 35653 * gcse.c: Fix formatting. 35654 356552002-01-03 Graham Stott <grahams@redhat.com> 35656 35657 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h 35658 forward defs for struct tags rtx_def, union_tree, rtvec_def 35659 also output corresponding typedefs for rtx, tree, and rtvec. 35660 35661 * system.h: Move forward defs for struct tags rtx_def, union_tree, 35662 rtvec_def along with corresponding typedefs for rtx, tree, and 35663 rtvec to config.h, hconfig.h, tconfig.h. 35664 356652002-01-03 Graham Stott <grahams@redhat.com> 35666 35667 * tree.h: Update copyright date. 35668 (IS_EXPR_CODE_CLASS): Add parenthesis. 35669 (TREE_SET_CODE): Add whitespace. 35670 (TREE_CHECK): Add parenthesis. 35671 (TREE_CLASS_CODE): Add parenthesis and wrap long line. 35672 (CST_OR_CONSTRUCTOR_CHECK): 35673 (EXPR_CHECK): Add parenthis, whitespace and wrap line. 35674 (TREE_SYMBOL_REFERENCED): Whitespace. 35675 (INT_CST_LT): Likewise. 35676 (INT_CST_LT_UNSIGNED): Likewise. 35677 (tree_real_cst): Unwrap comment. 35678 (tree_string): Likewise. 35679 (tree_complex): Likewise. 35680 (IDENTIFIER_POINTER): correct cast. 35681 (SAVE_EXPR_CONTEXT): Whitespace. 35682 (EXPR_WFL_FILENAME_NODE): Likewise. 35683 (EXPR_WFL_FILENAME): Remove parenthesis. 35684 (DECL_ORIGIN): Add parenthesis. 35685 (DECL_FROM_INLINE): Use NULL_TREE. 35686 (build_int_2): Whitespace. 35687 (build_type_variant): Add parenthesis. 35688 35689 * gcc/jcf-parse.c: Update copyright date. 35690 (yyparse): Constify resource_filename. 35691 356922002-01-03 Graham Stott <grahams@redhat.com> 35693 35694 * rtl.h: Update copyright date. 35695 (RTL_CHECK1): Wrap long line. 35696 (RTL_CHECK2): Likewise. 35697 (RTL_CHECKC1): Wrap long line and whitespace. 35698 (RTL_CHECKC2): Likewise. 35699 (XWINT): Whitespace. 35700 (XINT): Likewise. 35701 (XSTR): Likewise. 35702 (XEXP): Likewise. 35703 (XVEC): Likewise. 35704 (XMODE): Likewise. 35705 (XBITMAP): Likewise. 35706 (XTREE): Likewise. 35707 (XBBDEF): Likewise. 35708 (XTMPL): Likewise. 35709 (X0WINT): Likewise. 35710 (X0INT):Likewise. 35711 (X0UINT): Likewise. 35712 (X0STR): Likewise. 35713 (X0EXP): Likewise. 35714 (X0VEC): Likewise. 35715 (X0MODE): Likewise. 35716 (X0BITMAP): Likewise. 35717 (X0TREE): Likewise. 35718 (X0BBDEF): Likewise. 35719 (X0ADVFLAGS): Likewise. 35720 (X0CSELIB): Likewise. 35721 (X0MEMATTR): Likewise. 35722 (XCWINT): Likewise. 35723 (XCINT): Likewise. 35724 (XCUINT): Likewise. 35725 (XCSTR): Likewise. 35726 (XCEXP): Likewise. 35727 (XCVEC): Likewise. 35728 (XCMODE): Likewise. 35729 (XCBITMAP): Likewise. 35730 (XCTREE): Likewise. 35731 (XCBBDEF): Likewise. 35732 (XCADVFLAGS): Likewise. 35733 (XCCSELIB): Likewise. 35734 (XC2EXP): Likewise. 35735 (INSN_UID): Likewise. 35736 (PREV_INSN): Likewise. 35737 (PATTERN): Likewise. 35738 (INSN_CODE): Likewise. 35739 (PUT_REG_NOTE_KIND): Likewise. 35740 (CODE_LABEL_NUMBER): Likewise. 35741 (NOTE_SOURCE_FILE): Likewise. 35742 (NOTE_BLOCK): Likewise. 35743 (NOTE_EH_HANDLER): Likewise. 35744 (NOTE_RANGE_INFO): Likewise. 35745 (NOTE_LIVE_INFO): Likewise. 35746 (NOTE_BASIC_BLOCK): Likewise. 35747 (NOTE_EXPECTED_VALUE): Likewise. 35748 (NOTE_LINE_NUMBER): Likewise. 35749 (LABEL_NAME): Likewise. 35750 (LABEL_NUSES): Likewise. 35751 (LABEL_ALTERNATE_NAME): Likewise. 35752 (ADDRESSOF_DECL): Likewise. 35753 (JUMP_LABEL): Likewise. 35754 (LABEL_NEXTREF): Likewise. 35755 (REGNO): Likewise. 35756 (ORIGINAL_REGNO: Likewise. 35757 (HARD_REGISTER_NUM_P): Add parenthesis. 35758 (SUBREG_REG): Whitespace. 35759 (SUBREG_BYTE): Likewise. 35760 (ASM_OPERANDS_TEMPLATE): Remove parenthesis. 35761 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise. 35762 (ASM_OPERANDS_OUTPUT_IDX): Likewise. 35763 (ASM_OPERANDS_INPUT_VEC): Likewise. 35764 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise. 35765 (ASM_OPERANDS_INPUT): Likewise. 35766 (ASM_OPERANDS_INPUT_LENGTH): Likewise. 35767 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise. 35768 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise. 35769 (ASM_OPERANDS_INPUT_MODE): Likewise. 35770 (ASM_OPERANDS_SOURCE_FILE): Likewise. 35771 (ASM_OPERANDS_SOURCE_LINE): Likewise. 35772 (MEM_SET_IN_STRUCT_P): Minor reformat. 35773 (TRAP_CONDITION): Whitespace. 35774 (TRAP_CODE): Likewise. 35775 (COND_EXEC_TEST): Likewise. 35776 (COND_EXEC_CODE): Likewise. 35777 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis. 35778 (PHI_NODE_P): Add parenthesis. 35779 (plus_constant): Whitespace and add parenthesis. 35780 357812002-01-03 Kazu Hirata <kazu@hxi.com> 35782 35783 * config/avr/avr.c: Fix comment typos. 35784 * config/c4x/c4x.md: Likewise. 35785 * config/dsp16xx/dsp16xx.h: Likewise. 35786 * config/dsp16xx/dsp16xx.md: Likewise. 35787 * config/i386/i386.md: Likewise. 35788 * config/ia64/ia64.c: Likewise. 35789 * config/m32r/m32r.h: Likewise. 35790 * config/m68hc11/m68hc11.md: Likewise. 35791 * config/mmix/mmix.c: Likewise. 35792 * config/mn10200/mn10200.c: Likewise. 35793 * config/romp/romp.c: Likewise. 35794 * config/sh/sh.c: Likewise. 35795 * config/stormy16/stormy16.c: Likewise. 35796 * config/stormy16/stormy16.h: Likewise. 35797 * config/stormy16/stormy16.md: Likewise. 35798 357992002-01-03 Graham Stott <grahams@redhat.com> 35800 35801 * loop.h: Update copyright date. 35802 (LOOP_MOVABLES): Fix typo. 35803 (LOOP_REGS): Likewise. 35804 (LOOP_IVS): Likewise. 35805 358062002-01-03 Graham Stott <grahams@redhat.com> 35807 35808 * cppinit.c: Update copyright date. 35809 Don't include output.h 35810 * Makefile.in: Update copyright date. 35811 Update dependency. 35812 358132002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org> 35814 35815 PR c/5226 35816 * invoke.texi (-mthreads): Remove from documented RS/6000 options. 35817 (-pthread) Add to RS/6000 options. 35818 358192002-01-02 Kazu Hirata <kazu@hxi.com> 35820 35821 * except.c: Fix comment typos. 35822 * loop.c: Likewise. 35823 * varasm.c: Likewise. 35824 * doc/tm.texi: Fix a typo. 35825 358262002-01-02 Jakub Jelinek <jakub@redhat.com> 35827 35828 * c-typeck.c (output_init_element): Allow initializing static storage 35829 duration objects with compound literals. 35830 358312002-01-02 Richard Henderson <rth@redhat.com> 35832 35833 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl 35834 after abusing it. 35835 358362002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 35837 35838 * gcc.c (default_compilers): Const-ify. 35839 * mips-tdump.c (stab_names): Likewise. 35840 * mips-tfile.c (map_coff_types, map_coff_storage, 35841 map_coff_sym_type, map_coff_derived_type, stabs_symbol, 35842 pseudo_ops_t, pseudo_ops): Likewise. 35843 * protoize.c (default_include): Likewise 35844 35845 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness. 35846 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify. 35847 Add array size in declaration. 35848 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi, 35849 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm, 35850 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe, 35851 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe, 35852 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc, 35853 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm, 35854 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens, 35855 emtens, make_nan): Const-ify. 35856 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan, 35857 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify. 35858 358592002-01-02 Joseph S. Myers <jsm28@cam.ac.uk> 35860 35861 * config.gcc (ia64-*-*): Set extra_headers. 35862 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf. 35863 * config/alpha/t-osf: Remove. 35864 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove. 35865 358662002-01-02 David Edelsohn <edelsohn@gnu.org> 35867 35868 * config/rs6000/t-aix43: Revert previous change. 35869 358702002-01-02 Jason Merrill <jason@redhat.com> 35871 35872 * c-decl.c (c_expand_body): Call outlining_inline_function when 35873 emitting an inline function out of line. 35874 358752002-01-02 Richard Henderson <rth@redhat.com> 35876 35877 * dwarf2out.c (limbo_die_node): Add created_for member. 35878 (new_die): New argument created_for. Update all callers. 35879 (mark_limbo_die_list): New. 35880 (dwarf2out_init): Register limbo_die_list as a root. 35881 (dwarf2out_finish): Force insert limbo dies into their function 35882 context. 35883 358842002-01-02 Nathan Sidwell <nathan@codesourcery.com> 35885 35886 PR c++/5089 35887 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts. 35888 358892002-01-02 Kazu Hirata <kazu@hxi.com> 35890 35891 * config/h8300/fixunssfsi.c: Update copyright. 35892 Fix comment typos. 35893 Fix formatting. 35894 * config/h8300/h8300.c: Update copyright. 35895 Eliminate warnings. 35896 358972002-01-02 Kazu Hirata <kazu@hxi.com> 35898 35899 * config/romp/romp.c: Fix comment formatting. 35900 * config/romp/romp.h: Likewise. 35901 * config/romp/romp.md: Likewise. 35902 * config/s390/s390.c: Likewise. 35903 * config/stormy16/stormy16.c: Likewise. 35904 * config/stormy16/stormy16.h: Likewise. 35905 359062002-01-02 Alexandre Oliva <aoliva@redhat.com> 35907 35908 * c-common.h (genrtl_expr_stmt_value): Declare. 35909 * c-semantics.c (genrtl_goto_stmt): Redirect to... 35910 (genrtl_goto_stmt_value): ... this new function. Pass new 35911 argument down to expand_expr_stmt_value, taking 35912 TREE_ADDRESSABLE into account. 35913 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a 35914 STMT_EXPR as addressable, i.e., one whose result we want. 35915 * expr.c (expand_expr): Don't save expression statement value 35916 of labeled_blocks or loop_exprs. 35917 * stmt.c (expand_expr_stmt): Redirect to... 35918 (expand_expr_stmt_value): ... this new function. Use new 35919 argument to tell whether to save expression value. 35920 (expand_end_stmt_expr): Reset last_expr_type and 35921 last_expr_value if we don't have either. 35922 * tree-inline.c (declare_return_variable): Mark its use 35923 statement as addressable. 35924 * tree.h: Document new use of TREE_ADDRESSABLE. 35925 (expand_expr_stmt_value): Declare. 35926 359272002-01-01 Tom Rix <trix@redhat.com> 35928 35929 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by 35930 rs6000_emit_allocate_stack. 35931 359322002-01-01 Joseph S. Myers <jsm28@cam.ac.uk> 35933 35934 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of 35935 ${srcdir}/ginclude/ to every entry in extra_headers. 35936 * configure: Regenerate. 35937 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h. 35938 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h. 35939 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h. 35940 * ginclude/proto.h: Rename to config/convex/proto.h. 35941 35942Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 35943 35944 * attribs.c (handle_vector_size_attribute): Use host_integerp 35945 and tree_int_cst; remove warnings. 35946 * caller-save.c (insert_restore): Add cast to get rid of warning. 35947 (insert_save): Likewise. 35948 * emit-rtl.c (adjust_address_1, offset_address): Likewise. 35949 * regmove.c (find_matches): Add temporary var to kill a warning. 35950 359512002-01-01 Douglas B Rupp <rupp@gnat.com> 35952 35953 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX, 35954 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define. 35955 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o 35956 (vms-dwarf2eh.o): Add Makefile rule. 35957 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o. 35958 * config/alpha/vms-dwarf2eh.asm: New file. 35959 35960 * gcc.c (delete_if_ordinary): Delete all versions. 35961 359622002-01-01 Hans-Peter Nilsson <hp@bitrange.com> 35963 35964 * config/mmix/mmix.md: Update FIXME to not mention 35965 define_constants. 35966 (MMIX_rJ_REGNUM): New define_constants constant. 35967 ("movqi", "movsi", "movdi", "*movdicc_real_foldable", 35968 "*movdicc_real"): Adjust contraints formatting. 35969 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME 35970 for branch prediction. 35971 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in 35972 output template. 35973 ("*call_real", "*call_value_real", "nonlocal_goto_receiver", 35974 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of 35975 number. Delete related FIXMEs. 35976 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change 35977 from number to MMIX_rJ_REGNUM. 35978 (TARGET_MASK_BRANCH_PREDICT): New. 35979 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT. 35980 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols 35981 value. Add -mbranch-predict and -mno-branch-predict. 35982 (TARGET_VERSION): Drop date. 35983 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number. 35984 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition 35985 for finding out global symbols. 35986 (mmix_asm_output_labelref): Revert condition for global symbol. 35987 (mmix_print_operand): <case '+'>: Emit P for a likely branch. 35988 (mmix_print_operand_punct_valid_p): A '+' is valid. 35989 35990 35991Copyright (C) 2002 Free Software Foundation, Inc. 35992 35993Copying and distribution of this file, with or without modification, 35994are permitted in any medium without royalty provided the copyright 35995notice and this notice are preserved. 35996