12001-08-23 Kurt Garloff <kurt@garloff.de> 2 3 * integrate.c (function_cannot_inline_p): Reduce max size for 4 inlining from 10000 to 2000, double this value (i.e. 4000) for 5 leaf functions. Fine tune INTEGRATE_THRESHOLD for -Os. 6 * toplev.c (rest_of_compilation): Set current_function_is_leaf 7 for function_cannot_inline_p 8 9Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com) 10 11 * gcc-2.95.3 Released. 12 132001-03-12 Kazu Hirata <kazu@hxi.com> 14 15 * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative 16 into two parts. 17 182001-03-12 Bernd Schmidt <bernds@redhat.co.uk> 19 20 * version.c: Bump. 21 22 * final.c (alter_subreg): Use plus_constant_for_output to match 23 what offsettable_address_p does. 24 252001-02-19 Bernd Schmidt <bernds@redhat.co.uk> 26 27 * version.c: Bump. 28 29 Back out sjlj eh fixes. 30 * varasm.c (force_const_mem): Revert previous change. 31 * except.c (receive_exception_label, start_dynamic_handler): 32 Likewise. 33 * expr.c (expand_builtin_setjmp, expand_builtin_setjmp_setup, 34 expand_builtin_setjmp_receiver, expand_builtin): Likewise. 35 * expr.h (expand_builtin_setjmp, expand_builtin_setjmp_receiver): 36 Likewise. 37 382001-01-25 Bernd Schmidt <bernds@redhat.co.uk> 39 40 * version.c: Bump. 41 42 * varasm.c (force_const_mem): When putting a LABEL_REF into the 43 constant pool, also put it on forced_labels list so that it won't 44 be deleted. 45 46 2000-05-25 Alexandre Oliva <aoliva@cygnus.com> 47 * emit-rtl.c (reset_used_decls): New function. 48 (unshare_all_rtl_again): Call it. 49 50 2000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br> 51 * emit-rtl.c (unshare_all_decls): New function. 52 (unshare_all_rtl): Call it. 53 54 2000-05-20 Alexandre Oliva <aoliva@cygnus.com> 55 * emit-rtl.c (unshare_all_rtl): Store the copied rtx. 56 57 2000-04-15 Richard Earnshaw (rearnsah@arm.com) 58 * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then 59 call unshare_all_rtl. 60 61 2000-01-27 Geoffrey Keating <geoffk@cygnus.com> 62 * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too. 63 Use unshare_all_rtl_1. 64 (unshare_all_rtl_again): New function. 65 (unshare_all_rtl_1): New function split out of unshare_all_rtl. 66 * function.c (purge_addressof_1): Use unshare_all_rtl_again 67 rather than resetting the 'used' flags ourself. 68 * toplev.c (rest_of_compilation): Add current_function_decl 69 to the unshare_all_rtl call. 70 * tree.h: Prototype unshare_all_rtl. 71 * rtl.h: Prototype unshare_all_rtl_again here. 72 732001-01-12 Bernd Schmidt <bernds@redhat.co.uk> 74 75 * version.c: Bump. 76 77 * expr.c (expand_builtin_setjmp_receiver): Emit a scheduling barrier 78 as last insn. 79 802001-01-11 Bernd Schmidt <bernds@redhat.co.uk> 81 82 * version.c: Bump. 83 84 2001-01-09 Mark Mitchell <mark@codesourcery.com> 85 Remove support for using UWIN as a host machine. 86 * configure.in: Issue an error message. 87 * configure: Regenerated. 88 * config.gcc: Remove xm_* UWIN configury. 89 * config/i386/xm-uwin.h: Remove. 90 91 * config/mips/vxworks.h: Don't terminate comment before its end. 92 93 * invoke.texi: Update -fvtable-thunks documentation. 94 95 * loop.c (scan_loop): Disable copy propagation if we find a REG_LABEL 96 note. 97 98 Revert this patch: 99 2000-12-18 David Edelsohn <edelsohn@gnu.org> 100 * rs6000.c (and64_operand): Use logical_u_operand. 101 102 Mon Oct 4 16:56:11 1999 Richard Henderson <rth@cygnus.com> 103 * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that 104 always have side-effects. 105 106 Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com> 107 * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that 108 always have side-effects. 109 1102001-01-01 Bernd Schmidt <bernds@redhat.co.uk> 111 112 * version.c: Bump. 113 114 * loop.c (instrument_loop_bct): Set JUMP_LABEL on new jump. 115 116 2000-12-27 Geoffrey Keating <geoffk@redhat.com> 117 * config/rs6000/rs6000.md (define_attr "length"): Correct 118 calculation. 119 1202001-01-01 Philipp Thomas <pthomas@suse.de> 121 122 * configure.in: Make the help for --enable-nls make it 123 clear that this is an experimental feature. 124 * configure: Regenerate. 125 * ABOUT-GCC-NLS: Explain why NLS support is buggy. 126 1272000-12-29 Bernd Schmidt <bernds@redhat.co.uk> 128 129 * version.c: Bump. 130 131 * combine.c (cant_combine_insn_p): Only restrict hard register 132 combinations for SMALL_REGISTER_CLASSES machines. 133 134 * config/sparc/sparc.c (pic_address_needs_scratch): LABEL_REFs are 135 not valid pic operands. 136 137 2000-12-26 Kazu Hirata <kazu@hxi.com> 138 * config/h8300/h8300.c (get_shift_alg): Fix a typo in the 139 assembly code for 12-bit ASHIFTRT in HImode. 140 141 2000-07-17 Kazu Hirata <kazu@hxi.com> 142 * h8300.md: Fix the format of mac. 143 (movsi_h8300hs): Output a tab after stmac instead of a space. 144 145 2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com> 146 * config/h8300/h8300.md: Remove the memory alternative and correct 147 the insn lengths in the templates for sign extention and zero 148 extention. 149 150 2000-12-23 Philip Blundell <philb@gnu.org> 151 * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `arm' or 152 `arm_elf'; do define `__arm__'. 153 154 2000-08-22 Richard Henderson <rth@cygnus.com> 155 * alias.c (init_alias_analysis): Do not register 156 struct_value_incoming_rtx or static_chain_rtx as pointing 157 to stack memory. 158 159 Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com) 160 * builtins.c (expand_builtin_setjmp_setup): Set 161 current_function_has_nonlocal_label. 162 163 2000-12-03 Richard Henderson <rth@redhat.com> 164 * builtins.c (expand_builtin_setjmp_setup): New. 165 (expand_builtin_setjmp_receiver): New. 166 (expand_builtin_setjmp): Split out _setup and _receiver functions. 167 Move argument parsing in from ... 168 (expand_builtin): ... here. 169 * except.c (receive_exception_label): Branch around receiver 170 unless new-style exceptions. Call expand_builtin_setjmp_receiver. 171 (start_dynamic_handler): Call expand_builtin_setjmp_setup. 172 * expr.h: Update builtin setjmp decls. 173 1742000-12-22 Bernd Schmidt <bernds@redhat.co.uk> 175 176 * calls.c (emit_call_1): Fall back to call_pop/call_value_pop if no 177 non-popping calls are available. 178 179 * flow.c (propagate_block): Use flow_delete_insn instead of 180 NOTEifying a dead ADDR_VEC. 181 182 Fri Sep 10 11:43:07 1999 Philip Blundell <pb@futuretv.com> 183 * configure.in, config/arm/linux-oldld.h, 184 config/arm/linux-elf26.h, config/arm/linux-elf.h: Backport latest 185 ARM GNU/Linux config from mainline. 186 * configure: Regenerate. 187 188 2000-02-08 Geoff Keating <geoffk@cygnus.com> 189 * dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant. 190 * dwarf2out.c (dwarf_cfi_name): Print name of new constant. 191 (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed. 192 (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended. 193 * frame.c (execute_cfa_insn): Handle 194 DW_CFA_GNU_negative_offset_extended. 195 196 2000-03-06 Mark Mitchell <mark@codesourcery.com> 197 * function.c (free_temps_for_rtl_expr): Don't free slots 198 that have been pushed into a higher level. 199 200 1999-12-16 David S. Miller <davem@redhat.com> 201 * expr.c (emit_move_insn_1): Only emit clobbers if one of 202 the outputs is a SUBREG. 203 204 Wed Sep 22 17:35:55 1999 Michael Meissner <meissner@cygnus.com> 205 * expr.c (emit_move_insn_1): If we are copying a complex that fits 206 in one word or less (complex char, complex short, or on 64 bit 207 systems complex float) to/from a hard register, copy it through 208 memory instead of dying in gen_{real,imag}part. If we have a 209 short complex type, prevent inlining since it allocates stack 210 memory. 211 212 Fri Dec 15 15:32:16 MET 2000 Jan Hubicka <jh@suse.cz> 213 * combine.c (cant_combine_insn_p): Get around SUBREGs when determining 214 hardreg<->reg moves. 215 216 2000-12-01 Bernd Schmidt <bernds@redhat.co.uk> 217 * combine.c (cant_combine_insn_p): Only disallow insns involving 218 hard regs if they are reg-reg moves. 219 220 2000-11-24 Bernd Schmidt <bernds@redhat.co.uk> 221 * combine.c (cant_combine_insn_p): New function. 222 (try_combine): Use it. 223 2242000-12-20 Bernd Schmidt <bernds@redhat.co.uk> 225 226 * version.c: Bump. 227 228 * reload1.c (free_for_value_p): Fix error in last change. 229 230 2000-03-22 Richard Henderson <rth@cygnus.com> 231 * stmt.c (expand_asm_operands): Don't promote the temporary. 232 233 Sun Sep 19 09:03:40 1999 Mark Mitchell <mark@codesourcery.com> 234 * rtl.h (insns_safe_to_move_p): New function. 235 * loop.c (find_and_verify_loops): Use it. 236 * rtlanal.c (insns_safe_to_move_p): Define it. 237 238 Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com> 239 * reload.c (find_equiv_reg): Test all hard registers for membership 240 in the requested class. 241 242 Sun Apr 23 16:24:35 2000 Denis Chertykov <denisc@overta.ru> 243 * reload.c (find_equiv_reg): Checks all valueno regs 244 as a reload_reg_p regs. 245 246 Fri Apr 21 14:58:29 2000 Denis Chertykov <denisc@overta.ru> 247 * reload.c (find_equiv_reg): Checks all valueno and regno regs 248 as a call-clobbered regs. 249 2502000-12-18 Bernd Schmidt <bernds@redhat.co.uk> 251 252 2000-09-15 Bernd Schmidt <bernds@redhat.co.uk> 253 * optabs.c (emit_libcall_block): If target is a user variable, 254 copy to a temporary first. 255 256 2000-04-28 Kazu Hirata <kazu@hxi.com> 257 * h8300.c (function_epilogue): Clean up flags when the last insn 258 in a function is a barrier. 259 260 Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com) 261 * emit-rtl.c (copy_rtx_if_shared): A MEM which references 262 virtual_stack_vars_rtx or virtual_incoming_args_rtx can not 263 be shared. 264 265 2000-03-24 Geoff Keating <geoffk@cygnus.com> 266 * flow.c (propagate_block): When we delete an ADDR_VEC, 267 also delete the BARRIER following it if there is one. 268 269 Wed Oct 27 14:10:27 1999 Geoffrey Keating <geoffk@cygnus.com> 270 * flow.c (propagate_block): When the last reference to a label 271 before an ADDR_VEC is deleted because the reference is a dead 272 store, delete the ADDR_VEC. 273 274 2000-03-19 Richard Henderson <rth@cygnus.com> 275 * flow.c (delete_block): Delete the addr_vec along with the block. 276 (flow_delete_insn): Decrement LABEL_NUSES when deleting insns that 277 reference labels. 278 279 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk> 280 * reload1.c (free_for_value_p): New function, frontend to 281 reload_reg_free_for_value_p. All callers of the latter now call 282 this function with an additional mode argument. 283 284 2000-11-10 Bernd Schmidt <bernds@redhat.co.uk> 285 (regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All 286 callers changed. 287 * reload1.c (choose_reload_regs): Registers set in the insn can't be 288 used for RELOAD_OTHER reloads. 289 290 2000-10-28 Bernd Schmidt <bernds@redhat.co.uk> 291 * reload1.c (choose_reload_regs): Never set reload_override_in for an 292 optional reload. 293 294 2000-09-07 Bernd Schmidt <bernds@redhat.co.uk> 295 * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it 296 to handle multiword modes correctly. All callers and the declaration 297 changed. 298 2992000-12-18 David Edelsohn <edelsohn@gnu.org> 300 301 * rs6000.c (and64_operand): Use logical_u_operand. 302 (first_reg_to_save): Don't save fixed or call-used registers 303 except PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed. 304 * rs6000.md (anddi3): Prefer rldic? over andis instruction. 305 3062000-12-18 Zack Weinberg <zackw@Stanford.EDU>: 307 308 * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and 309 xcpp to cpp throughout. 310 (native): Remove unnecessary dependency on cpp. 311 * gcc.c (C specs): Call cpp0 to do preprocessing, not cpp. 312 * ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h, 313 objc/lang-specs.h: Call cpp0 to do preprocessing, not cpp. 314 3152000-12-18 Christian Groessler <cpg@aladdin.de> 316 317 * toplev.c (check_lang_option): Use NUM_ELEM only on arrays, not on 318 pointers. 319 3202000-12-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 321 322 * linux.h (DEFAULT_VTABLE_THUNKS): Switch back to version 1. 323 * alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Likewise. 324 * arm/linux-elf (DEFAULT_VTABLE_THUNKS): Likewise. 325 * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Likewise. 326 * rs6000/linux.h (DEFAULT_VTABLE_THUNKS): Likewise. 327 * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise. 328 3292000-12-05 Bernd Schmidt <bernds@redhat.co.uk> 330 331 * version.c: Bump. 332 333 2000-07-03 Nick Clifton <nickc@cygnus.com> 334 * config/arm/arm.md: Fix post increment and pre increment 335 peepholes so that they do not generate UNPREDICATBLE opcodes. 336 (ie ones where the increment clobbers the source/destination). 337 338 Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com) 339 * arm.c (arm_override_options): Correct initialization of 340 arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched, 341 arm_is_strong, and arm_is_6_or_7. 342 343 Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk> 344 * arm.h (Hint): Delete macro. 345 Substitute HOST_WIDE_INT for Hint in some prototypes. 346 * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype. 347 3482000-11-30 Bernd Schmidt <bernds@redhat.co.uk> 349 350 * version.c: Bump. 351 352 Based on a patch from Geoff Keating <geoffk@redhat.com>: 353 * loop.c (basic_induction_var): If a REG is set from something 354 that is not a biv, then the REG is not a biv. Even if it is 355 earlier set from something that is a biv. 356 357 2000-09-01 Jim Wilson <wilson@cygnus.com> 358 * loop.c (check_final_value): Check for biv use before checking for 359 giv use. Check for both biv and giv uses. Always set last_giv_use 360 if there is a giv use. 361 362 2000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 363 * loop.c (check_final_value): A GIV is not replaceable if used 364 before set. 365 366 Sun Oct 10 13:28:48 1999 Bernd Schmidt <bernds@redhat.co.uk> 367 * loop.c (find_and_verify_loops): When looking for a BARRIER, don't 368 use one before a jump table. 369 370 Fri Jul 9 10:48:28 1999 Bernd Schmidt <bernds@redhat.co.uk> 371 * loop.c (check_dbra_loop): When reversing a loop, delete all 372 REG_EQUAL notes referencing the reversed biv except those which are 373 for a giv based on it. 374 375 2000-11-24 Bernd Schmidt <bernds@redhat.co.uk> 376 * reload1.c (conflicts_with_override): New function. 377 (emit_input_reload_insns): Use it to tighten test for validity 378 of substituting into output of previous insn. 379 380 Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@redhat.co.uk> 381 * reload.h (earlyclobber_operand_p): Declare. 382 * reload.c (earlyclobber_operand_p): Don't declare. No longer static. 383 * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with 384 an earlyclobbered output conflict with RELOAD_INPUT reloads - handle 385 case where the RELOAD_OTHER reload is new. Use 386 earlyclobber_operand_p. 387 388 2000-01-12 Bernd Schmidt <bernds@redhat.co.uk> 389 * reload1.c (reload_reg_unavailable): New static variable. 390 (reload_reg_free_p): Test it. 391 (reload_reg_free_for_value_p): Test it instead of reload_reg_used. 392 (choose_reload_regs_init): Compute it. 393 394 Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 395 * reload.c (push_reload): When seeing if can reuse a register, 396 check extra registers against widest of INMODE and OUTMODE. 397 398 1999-11-29 Bernd Schmidt <bernds@redhat.co.uk> 399 * reload.c (push_reload): When looking for a register to put into 400 reg_rtx, make sure all hard regs in a multi-reg register are in the 401 right class and nonfixed. 402 403 1999-11-29 Joern Rennecke <amylaar@redhat.co.uk> 404 * reload1.c (reloads_conflict): Reverse test comparing operand 405 numbers when testing for conflict between output/outaddr reloads. 406 407 2000-07-12 Richard Henderson <rth@redhat.com> 408 * reload.c (push_secondary_reload): Make sure to add the new 409 reload at the end, after acquiring secondary memory. 410 411 2000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk> 412 * reload.c (find_reloads_address_1): Generate reloads for auto_inc 413 pseudos that refer to the original pseudos, not only to their 414 equivalent memory locations. 415 416 2000-09-18 Bernd Schmidt <bernds@redhat.co.uk> 417 * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear 418 its entry in spill_reg_store. 419 420 Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk> 421 * reload1.c (reload_reg_free_for_value_p): Show 422 RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER 423 reloads. 424 425 2000-02-26 Geoff Keating <geoffk@cygnus.com> 426 * reload1.c (do_output_reload): Check reg_reloaded_valid before 427 looking at reg_reloaded_contents. 428 429 Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com> 430 * emit-rtl.c (try_split): Avoid infinite loop if the split 431 results in a sequence that contains the original insn. 432 433 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> 434 * combine.c (combine_simplify_rtx): Don't make shared rtl. 435 (simplify_logical): Likewise. 436 437 Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com> 438 * fold-const.c (make_range): Handle degenerated intervals. 439 Fixes c-torture/execute/991221-1.c 440 441 2000-07-15 Michael Meissner <meissner@redhat.com> 442 * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO 443 == CONST + INCREMENT, don't overwrite the tree node for FOO++, 444 create a new node instead. 445 446 2000-01-01 Bernd Schmidt <bernds@cygnus.co.uk> 447 * expmed.c (emit_store_flag): Prevent losing a pending stack 448 adjust the same way we prevent losing queued increments. 449 4502000-10-27 Bernd Schmidt <bernds@redhat.co.uk> 451 452 * expr.c (expand_expr, case INDIRECT_REF): If the address is a 453 PLUS, that does not prove the object is in a structure. 454 4552000-08-25 David Edelsohn <edelsohn@gnu.org> 456 457 * collect2.c (use_import_list): Always return 0 (disable). 458 4592000-07-07 Manfred Hollstein <manfredh@redhat.com> 460 461 * i386.md (exception_receiver): Add missing parameter in 462 call to load_pic_register. 463 464Fri May 26 10:30:02 2000 Richard Earnshaw (rearnsha@arm.com) 465 466 * arm.md (negdi2): Add clobber of condition code register. 467 468Wed May 24 00:25:45 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br> 469 470 2000-05-22 Richard Henderson <rth@cygnus.com> 471 * function.c (thread_prologue_and_epilogue_insns): Make sure 472 existing line number notes appear after the prologue. 473 4742000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 475 476 * sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux according 477 to given options. 478 4792000-05-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 480 481 * rs6000/rs6000.md (nonlocal_goto_receiver): Add length attribute. 482 483Wed Apr 12 00:42:19 2000 Jeffrey A Law (law@cygnus.com) 484 485 2000-02-19 Richard Henderson <rth@cygnus.com> 486 * c-typeck.c (add_pending_init): Don't abort for multiple 487 fields at the same offset. 488 (pending_init_member): Test the correct member. 489 490 Wed Apr 12 00:44:31 2000 Jeffrey A Law (law@cygnus.com) 491 * config/i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2. 492 493 Tue Nov 9 17:14:40 1999 H.J. Lu <hjl@gnu.org> 494 * invoke.texi (-fvtable-thunks): Document that Linux/GNU uses 495 version 2 as default. 496 497 Tue Nov 9 10:16:55 1999 H.J. Lu <hjl@gnu.org> 498 * alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2. 499 * arm/linux-elf.h: Likewise. 500 * rs6000/linux.h: Likewise. 501 * sparc/linux.h: Likewise. 502 503 Mon Nov 8 14:41:34 1999 H.J. Lu <hjl@gnu.org> 504 * config/linux.h (DEFAULT_VTABLE_THUNKS): Changed to 2. 505 506 Sun May 2 08:49:27 1999 Martin von L�wis <loewis@informatik.hu-berlin.de> 507 * invoke.texi (-fvtable-thunks): Document numeric argument. 508 5092000-04-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br> 510 511 * config/elfos.h (SELECT_SECTION): Decide whether to use a data or 512 const section to output a CONSTRUCTOR based on the same conditions 513 used for VAR_DECLs. 514 515Mon Apr 3 02:31:32 2000 Jeffrey A Law (law@cygnus.com) 516 517 2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 518 * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set 519 on iteration_var. 520 521Wed Mar 22 13:11:54 2000 David Edelsohn <edelsohn@gnu.org> 522 523 * rs6000.c (reg_or_u_cint_operand): New function. 524 (logical_operand): Handle 64-bit hosts. 525 (logical_u_operand): New function. 526 (non_logical_cint_operand): Handle 64-bit hosts. 527 (non_logical_u_cint_operand): New function. 528 (expand_block_move): Allow 8 DImode loads for PowerPC64. 529 * rs6000.h (PREDICATE_CODES): Define new functions. 530 * rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits. 531 (movdi_64): Bracket code intended for 64-bit hosts. Create 532 CONST_DOUBLE for 32-bit values. 533 534 * glimits.h (__LONG_MAX__): Recognize 64-bit AIX too. 535 536Wed Mar 22 13:11:54 2000 Gabriel Paubert <paubert@iram.es> 537 538 * rs6000.md: Correct instructions length attributes and 539 constraints on unsigned compare instructions. 540 (*ne0): Disable for PowerPC64. 541 542Tue Mar 7 21:41:17 2000 Jeffrey A Law (law@cygnus.com) 543 544 * cccp.c (handle_directive): Initialize backslash_newlines_p. 545 546 Wed Jan 19 20:39:17 2000 Jim Wilson <wilson@cygnus.com> 547 * fixinc/inclhack.tpl: Test for directory before trying to cd into it. 548 * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate. 549 550 Tue Oct 12 09:45:19 1999 Jonathan Larmour <jlarmour@cygnus.co.uk> 551 * config/rs6000/eabi-ctors.c (__do_global_ctors): Run through 552 __CTOR_LIST__ in opposite order, which is the correct order for sorted 553 constructors. 554 (__do_global_dtors): similarly for __DTOR_LIST__. 555 556 2000-01-05 Bernd Schmidt <bernds@cygnus.co.uk> 557 * reload1.c (choose_reload_regs): When disabling a reload, also 558 set reload_spill_index to -1. 559 560 Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com> 561 * reload1.c (reload_reg_free_for_value_p): Don't use a register 562 that is in reload_reg_used. 563 564 2000-01-18 Clinton Popetz <cpopetz@cygnus.com> 565 * loop.c (check_dbra_loop): When checking a loop for 566 reversability, check the source of any stores to ensure they 567 don't depend on an initial value. 568 569 Sat Jan 8 12:12:46 2000 Nick Clifton <nickc@cygnus.com> 570 * config/v850/v850.c (expand_epilogue): Interrupt functions no 571 longer allocate extra stack for function calls. 572 573Fri Feb 18 13:32:32 2000 Martin von Loewis <loewis@informatik.hu-berlin.de> 574 575 * gcc.texi (Bug Reporting): Refer to bugs.html. 576 (Bug Lists): Likewise. 577 * system.h (GCCBUGURL): New preprocessor define. 578 (abort): Use it. 579 * gcc.c (main): Likewise. 580 581Thu Feb 3 10:53:45 2000 Richard Henderson <rth@cygnus.com> 582 583 Wed Nov 3 10:10:58 1999 Richard Henderson <rth@cygnus.com> 584 * c-decl.c (duplicate_decls): Copy DECL_MODE too. 585 586Thu Jan 20 10:02:07 2000 Richard Henderson <rth@cygnus.com> 587 588 2000-01-03 Anthony Green <green@cygnus.com> 589 * config/i386/i386.md (builtin_setjmp_receiver): New pattern. 590 Restore the pic register if required. 591 592Fri Jan 7 14:40:05 2000 Richard Henderson <rth@cygnus.com> 593 594 Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 595 * stmt.c (expand_value_return): Correctly convert VAL when promoting 596 function return. 597 598Tue Jan 4 02:22:27 2000 Jeffrey A Law (law@cygnus.com) 599 600 Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de> 601 * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word 602 if the pic register is used. 603 604 Sat Sep 25 13:11:07 1999 Jeffrey A Law (law@cygnus.com) 605 * cse.c: Update comments. 606 (cse_insn): When converting a conditional/computed jump into 607 an unconditional jump, always make sure a BARRIER immediately 608 follows the converted jump. Do not delete unreachable code. 609 (cse_basic_block): Do not delete unreachable code. 610 * toplev.c (rest_of_compilation): Move call to 611 delete_trivially_dead_insns after the conditional call to 612 jump_optimize. 613 614 615Wed Dec 29 22:47:43 1999 Jeffrey A Law (law@cygnus.com) 616 617 1999-12-12 Stephen L Moshier <moshier@mediaone.net> 618 * loop.c (load_mems): Don't hoist written floating point mem 619 if -ffloat-store. 620 621 * cppinit.c (is_idchar): Only use special initialization for 622 gcc-2.8 and later versions of the compiler. 623 624 Wed Oct 27 01:42:26 1999 Scott Christley <scottc@net-community.com> 625 * sparc.md (call): Don't bound structure return size to 0xfff. 626 627Mon Dec 27 07:32:59 1999 Jeffrey A Law (law@cygnus.com) 628 629 Fri Sep 3 10:16:37 HST 1999 Glen Nakamura <glen.nakamura@usa.net> 630 * cccp.c (rescan): Fixed obp pointer handling around call to 631 check_expand subroutine. 632 633 Thu Sep 16 00:46:35 1999 Geoff Keating <geoffk@cygnus.com> 634 * loop.c (basic_induction_var): A non-integer variable which is 635 being set by a paradoxical subreg is probably not a biv. 636 637 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com> 638 * loop.c (check_dbra_loop): Check bl->biv->add_val is a 639 CONST_INT before using its INTVAL. 640 641 Tue Nov 2 15:27:31 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> 642 * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should 643 have been an hyphen, fixed. 644 * configure: Rebuilt. 645 646Thu Dec 23 11:59:56 1999 Jeffrey A Law (law@cygnus.com) 647 648 1999-12-23 Martin v. L�wis <loewis@informatik.hu-berlin.de> 649 * fold-const.c (operand_equal_p): Use memcmp to compare string 650 constants. 651 Suggested by D. J. Bernstein 652 653 Thu Dec 16 02:26:11 1999 Jeffrey A Law (law@cygnus.com) 654 * h8300.md (HImode preinc peephole): Fix typo. 655 656 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> 657 * loop.c (check_dbra_loop): Can't reverse a biv that has 658 maybe_multiple set. 659 6601999-12-07 Martin v. L�wis <loewis@informatik.hu-berlin.de> 661 662 * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std 663 documentation. 664 665Sun Oct 31 22:32:17 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> 666 667 * config/i386/sol2gas.h: I had installed the wrong version of Sept 668 22's patch in the release branch. Fixed. 669 * configure.in: Likewise. 670 * configure: Rebuilt. 671 Reported by Jason Beardsley <jbeardsley@origin.ea.com> 672 673Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com) 674 675 * gcc-2.95.2 Released. 676 677Mon Oct 25 00:43:05 1999 Jeffrey A Law (law@cygnus.com) 678 679 * loop.c (note_set_pseudo_multiple_uses_retval): New variable. 680 (note_set_pseudo_multiple_uses): New function. 681 (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine 682 if a pseudo set in the loop exit is used elsewhere. 683 684Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com) 685 686 * jump.c (jump_optimize_1): More accurately detect casesi insns. 687 688Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com) 689 690 * toplev.c (main): Do not turn on strict aliasing by default. 691 * invoke.texi: Corresponding changes. 692 693 * sparc.md (movsf_const_intreg): If splitting, length must be > 1. 694 (movdf_const_intreg_sp64): Similarly. 695 696 * local-alloc.c (update_equiv_regs): Check the correct insn 697 for pre-existing REG_EQUIV notes. 698 699Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com) 700 701 Revert this change. Gavin's patch to operand_equal_p is a better fix. 702 * fold-const.c (fold_range_test): Do not try to fold the range 703 test if the rhs or lhs has side effects. 704 705 Fri Sep 17 15:05:27 1999 Gavin Romig-Koch <gavin@cygnus.com> 706 * fold-const.c (operand_equal_p): Pay attention to side effects. 707 708 * reg-stack.c (stack_result): Aggregates are not returned in 709 stack registers. 710 711Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com) 712 713 * combine.c (get_last_value): If the last set of a register 714 is after subst_low_cuid, then we can not use it to determine 715 the register's last value. 716 717Sat Oct 16 15:20:15 1999 Jeffrey A Law (law@cygnus.com) 718 719 Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com> 720 * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET. 721 (expr_equiv_p): Reject memories with different alias sets. 722 723Wed Oct 13 01:46:14 1999 Jeffrey A Law (law@cygnus.com) 724 725 Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com> 726 * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines, 727 float_format and thread_file definitions. 728 * configure: Rebuilt. 729 730Tue Oct 12 17:09:38 1999 David Edelsohn <edelsohn@gnu.org> 731 732 * collect2.c (main): Do preliminary link on AIX if rflag. 733 734Mon Oct 11 23:35:19 1999 Jeffrey A Law (law@cygnus.com) 735 736 Fri Sep 3 09:14:32 1999 Marc Espie <espie@tetto.liafa.jussieu.fr> 737 * tlink.c (scan_linker_output): Skip the initial underscore in 738 a mangled name if appropriate. 739 740 Fri Aug 27 19:19:43 CEST 1999 Marc Espie <espie@cvs.openbsd.org> 741 * config/openbsd.h (SET_ASM_OP): Define. 742 743 Mon Oct 4 08:54:12 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> 744 * cppinit.c (is_idchar initializer): Loosen tests to accept 745 gcc 2.>6 and >2. 746 747 Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com) 748 * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp 749 command line. 750 751 Thu Sep 2 20:08:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 752 * regmove.c (fixup_match_1): Don't change an unchanging register. 753 (stable_but_for_p): Renamed to: 754 (stable_and_no_regs_but_for_p). Reject unchanging registers too. 755 Changed all callers. 756 757 Tue Aug 17 22:06:11 1999 Jan Hubicka <hubicka@freesoft.cz> 758 * haifa-sched.c (insn_unit): Fix typo on out of range test. 759 * sched.c (insn_unit): Likewise. 760 761Sun Oct 10 20:58:27 1999 David Edelsohn <edelsohn@gnu.org> 762 763 * rs6000.md (scc patterns): Disable most SImode variants if 764 TARGET_POWERPC64. 765 * rs6000.c (expand_block_move): Fix gen_movsi typos. 766 767 Thu Oct 7 23:06:50 1999 Richard Henderson <rth@cygnus.com> 768 * rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber 769 before the fctiwz insn. 770 771 Thu Oct 7 00:36:17 1999 Diego Novillo <dnovillo@cygnus.com> 772 * config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF 773 make sure that HIGH instructions are copied into BASE_REGS. 774 775Thu Sep 30 05:40:34 1999 Richard Earnshaw <rearnsha@arm.com> 776 777 * c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR): 778 Correctly build argument list to constructor and destructor functions. 779 780Wed Sep 22 17:55:31 1999 David Edelsohn <edelsohn@gnu.org> 781 782 * rs6000.c (expand_block_move): DImode loads and stores require 783 word-aligned displacements. Increment address registers with 784 adddi3 on 64-bit platform. Use TARGET_POWERPC64 not TARGET_64BIT. 785 786Wed Sep 22 07:07:44 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br> 787 788 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs. 789 (ASM_SPEC): Moved from sol2dbg.h. Added work-around for gas. 790 * config/i386/sol2dbg.h: Removed. 791 * config/i386/sol2gas.h: New file, to enable gas work-around. 792 * configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas. 793 Don't use sol2dbg.h. 794 * configure: Rebuilt. 795 796Wed Sep 15 21:20:38 1999 Mark Mitchell <mark@codesourcery.com> 797 798 * c-typeck.c (qualify_type): Merge qualifiers from both types. 799 800Wed Sep 15 10:07:27 1999 Scott Bambrough <scottb@netwinder.org> 801 802 * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C 803 804Tue Sep 7 16:50:59 1999 David Edelsohn <edelsohn@gnu.org> 805 806 * rs6000.h (ASM_FILE_START): Specify complete filename, including 807 path, in .file directive. 808 809Tue Sep 7 01:27:21 1999 Jeffrey A Law (law@cygnus.com) 810 811 Thu Sep 2 00:06:43 1999 Jeffrey A Law (law@cygnus.com) 812 * fold-const.c (fold_range_test): Do not try to fold the range 813 test if the rhs or lhs has side effects. 814 815 Sun Aug 29 03:27:23 1999 Scott Weikart <scott@igc.apc.org> 816 * fix-header.c (main): Do not pass a null pointer to strcmp. 817 818 Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com> 819 Mark Mitchell <mark@codesourcery.com> 820 * c-common.c (c_get_alias_set): Fix support for pointers and 821 references. 822 823 Fri Aug 27 01:03:48 1999 Jim Kingdon <http://developer.redhat.com> 824 with much help from Jeffrey A Law and Richard Henderson 825 * i386.md: In the 6 insns which call output_fix_trunc, 826 earlyclobber operands[0]. 827 828 Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk> 829 * jump.c (duplicate_loop_exit_test): Call reg_scan_update after 830 creating new registers. 831 832 Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com) 833 * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers. 834 * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an 835 operand. 836 837 Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com> 838 * i386.c (output_strlen_unroll): Don't write xops[7] 839 label if it wasn't set. 840 841 Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de> 842 * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for 843 the fact that ALIGN is measured in bits, not bytes. 844 845 Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com> 846 * c-common.c (combine_strings): Always set TREE_CONSTANT. 847 848Wed Aug 18 01:16:43 1999 David S. Miller <davem@redhat.com> 849 850 * config/sparc/sparc.c (sparc_block_profiler): Fix typo in Aug 2 851 change. 852 853Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com) 854 855 * gcc-2.95.1 Released. 856 8571999-08-13 Michael Meissner <meissner@cygnus.com> 858 859 * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B. 860 861Fri Aug 13 01:42:24 1999 Jeffrey A Law (law@cygnus.com) 862 863 Tue Aug 3 00:03:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 864 * fixincludes: Fix the return type of bsearch, char* -> void*. 865 * fixinc/inclhack.def: Likewise. 866 867Fri Aug 13 01:29:57 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 868 869 * dwarfout.c (fundamental_type_code): Return FT_boolean for 870 INTEGER_TYPE with precision==1, it's __java_boolean. 871 8721999-08-11 Richard Earnshaw (rearnsha@arm.com) 873 874 * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of 875 a register that is already known to be a pointer. 876 8771999-08-11 Bruce Korb <ddsinc09@ix.netcom.com> 878 879 * fixinc/inclhack.tpl: Only install assert.h conditionally. 880 * fixinc/inclhack.sh: Regenerated. 881 * fixinc/fixincl.sh: Regenerated. 882 883Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com> 884 885 * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi. 886 Fix documentation of -ansi flag to describe its C++ behavior. 887 Remove bogus reference to GCC 2.9. 888 889Tue Aug 10 22:40:36 1999 Jeffrey A Law (law@cygnus.com) 890 891 Thu Aug 5 22:27:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 892 * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop. 893 (___mulsi3): Use '!' comment character. 894 895Sat Aug 7 00:06:30 1999 Jeffrey A Law (law@cygnus.com) 896 897 * gcc.texi: Update bug reporting text. 898 899 Tue Jul 20 17:07:54 1999 Richard Henderson <rth@cygnus.com> 900 * rs6000.h (struct rs6000_args): Add sysv_gregno. 901 * rs6000.c (init_cumulative_args): Init sysv_gregno. 902 (function_arg_boundary): Align DFmode. 903 (function_arg_advance): Restructure for ABI_V4; use sysv_gregno 904 to get fp reg and stack overflow correct. 905 (function_arg): Likewise. 906 (function_arg_pass_by_reference): True for TFmode for ABI_V4. 907 (setup_incoming_varargs): Restructure for ABI_V4; use 908 function_arg_advance to skip final named argument. 909 (expand_builtin_saveregs): Properly unskip the last integer arg 910 when doing varargs. Adjust overflow location calculation. 911 * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr 912 explicitly unsigned. 913 (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly. 914 (__VA_GP_REGSAVE): Similarly. 915 (__va_longlong_p): Delete. 916 (__va_arg_type_violation): New declaration. 917 (va_arg): Restructure. Flag promotion errors. Align double. 918 TFmode passed by reference. 919 * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic 920 in the HOST_BITS_PER_WIDE_INT > 32 case. 921 9221999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 923 924 * reg-stack.c (change_stack) Fixed problem with negative array index. 925 926Fri Aug 6 20:41:08 1999 Jeffrey A Law (law@cygnus.com) 927 928 Mon Jul 19 15:09:29 1999 David Edelsohn <edelsohn@gnu.org> 929 * rs6000.md (arithmetic, logical, and shift Rc combiner patterns): 930 Disable patterns performing SImode comparisons with SImode values 931 if TARGET_POWERPC64 and instruction does not sign-extend or does 932 not mask to narrower than SImode, i.e. where bit 31 and bit 63 may 933 differ for signed quantities. 934 (indirect_jump): Add expander to choose RTL based on TARGET_64BIT. 935 (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64. 936 (decrement_and_branch_on_count): Add 64-bit variant. 937 938Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com) 939 940 * gcc.c: Update URLs and mail addresses. 941 * gcc.texi: Likewise. 942 943Thu Aug 5 01:14:13 1999 Daniel Jacobowitz <drow@false.org> 944 945 * rs6000.c (current_file_function_operand): Return zero for 946 weak functions. 947 (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for 948 weak symbols. 949 * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG 950 for weak symbols. 951 952Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com> 953 954 * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always 955 allocate space in the stack frame for the PIC register. 956 957Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com) 958 959 * m68k.md (xordi3, anddi3): These patterns are not available on 960 the coldfire. 961 962Wed Aug 4 23:39:20 1999 Mark Mitchell <mark@codesourcery.com> 963 964 * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules. 965 (PUT_REAL): Likewise. 966 967Wed Aug 4 02:15:32 1999 Richard Henderson <rth@cygnus.com> 968 969 * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump. 970 971Wed Aug 4 01:08:44 1999 Jeffrey A Law (law@cygnus.com) 972 973 * flow.c (delete_unreachable_blocks): Do not call merge_blocks 974 or tidy_fallthru_edge if the last insn in the block is not 975 an unconditional jump or a simple conditional jump. 976 977Tue Aug 3 03:51:20 1999 Jeffrey A Law (law@cygnus.com) 978 979 * cse.c (cse_insn): Fix dumb thinko in last change. 980 981Mon Aug 2 23:45:45 1999 Hans-Peter Nilsson <hp@bitrange.com> 982 983 * dwarf2out.c (add_location_or_const_value_attribute): Correct 984 test for sizes of passed and declared parameter types. 985 986Mon Aug 2 12:45:09 1999 Richard Henderson <rth@cygnus.com> 987 988 * alpha.c (override_options): Don't force ALPHA_TP_PROG for ev6. 989 990Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com) 991 992 * fix-header.c (main): When testing for CONTINUED, use string 993 equality, not pointer equality. 994 995Mon Aug 2 01:27:24 1999 Dan Nicolaescu <dann@ics.uci.edu> 996 997 * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0. 998 999Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com) 1000 1001 * cse.c (cse_insn): Fix loop which deletes insns after a jump 1002 that has become an unconditional jump. 1003 1004 * m68k.c (output_function_prologue): Fix typo in CPU32 case. 1005 (output_function_epilogue): Similarly. 1006 1007 Tue Jul 20 12:37:30 1999 Hans-Peter Nilsson <hp@bitrange.com> 1008 * dwarf2out.c (output_abbrev_section): Terminate with a zero. 1009 1010 Thu Jul 15 15:40:09 1999 Jim Wilson <wilson@cygnus.com> 1011 * tree.c (build_type_attribute_variant): Move current_obstack restore 1012 after build_qualified_type call. 1013 1014 Fri Jun 4 03:20:40 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 1015 * sh.c (fixup_addr_diff_vecs): Emit braf reference label. 1016 (braf_label_ref_operand): Delete. 1017 * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand. 1018 * sh.md (casesi_jump_2): Operand1 is now the inside of a 1019 label_ref, and has no predicate. 1020 The patten has a predicate to guard against invalid substitutions. 1021 (dummy_jump): Delete. 1022 (casesi): Update use of casesi_jump_2. 1023 1024Thu Jul 31 12:34:45 1999 Joe Buck <jbuck@synopsys.com> 1025 1026 * gcc.texi: Use terms "GNU Compiler Collection" and "GCC". 1027 Also update copyright. 1028 1029Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com) 1030 1031 * gcc-2.95 Released. 1032 1033 * verison.c: No longer a prerelease. 1034 1035Wed Jul 28 13:49:03 1999 Jeffrey A Law (law@cygnus.com) 1036 1037 * README: Update. 1038 1039Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com) 1040 1041 * gcc.texi: More changes related to list conversion. 1042 * invoke.texi: Likewise. 1043 1044Sat Jul 17 23:58:24 1999 David Edelsohn <edelsohn@gnu.org> 1045 1046 * rs6000.md (insv, extzv): Remove SImode dependence in named 1047 patterns. Explicitly generate DImode RTL if PowerPC64 and 1048 operand is DImode. 1049 (insvdi): Reverse start and size in instruction template. 1050 10511999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br> 1052 1053 * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org. 1054 Removed paragraph about compression of files and size limitation, 1055 duplicated in the FAQ. Use gcc-patches for posting patches. 1056 * gcc.c (main): Updated URL with bug reporting instructions to 1057 gcc.gnu.org. Removed e-mail address. 1058 * system.h (abort): Likewise. 1059 10601999-07-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1061 1062 * Makefile.in (stmp-multilib-sub): Make the files extracted 1063 from $(LIBGCC1) writable. 1064 1065Fri Jul 16 01:39:57 1999 Jeffrey A Law (law@cygnus.com) 1066 1067 * m68k.c (output_function_prologue): Fix computation of save mask 1068 when generating PIC code. 1069 10701999-07-12 Joseph S. Myers <jsm28@cam.ac.uk> 1071 1072 * invoke.texi: Typo fixes. 1073 1074Wed Jul 14 23:28:06 1999 Jeffrey A Law (law@cygnus.com) 1075 1076 * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not 1077 handle at this time instead of silently generating incorrect code. 1078 (gen_imagpart): Likewise. 1079 1080 * reload.c (find_reloads): Emit a USE for a pseudo register without 1081 a hard register if we could not create an optional reload for the 1082 pseudo. 1083 1084Wed Jul 14 01:57:39 1999 Richard Henderson <rth@cygnus.com> 1085 1086 * regclass.c (scan_one_insn): Notice subregs that change the 1087 size of their operand. 1088 (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE. 1089 1090Wed Jul 14 01:37:06 1999 Jeffrey A Law (law@cygnus.com) 1091 1092 * configure.in (alpha*-*-*): Include alpha/t-ieee. 1093 * configure: Rebuilt. 1094 * alpha/t-ieee: New file. 1095 1096Tue Jul 13 10:44:14 1999 Jeffrey A Law (law@cygnus.com) 1097 1098 Wed Jun 16 20:29:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 1099 * cse.c (cse_insn): Don't put hard register source into tables for 1100 the last insn of a libcall. 1101 1102 * rs6000.c (find_addr_reg): Do not select r0 as an address 1103 register. 1104 1105Tue Jul 13 00:46:18 1999 Philippe De Muyter <phdm@macqel.be> 1106 1107 * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'. 1108 1109Mon Jul 12 23:39:08 1999 Jeffrey A Law (law@cygnus.com) 1110 1111 * rs6000.md (movsf): Do not force easy FP constants into memory. 1112 1113Sun Jul 11 11:21:24 1999 Jason Merrill <jason@yorick.cygnus.com> 1114 1115 * toplev.c (main): Don't complain about saying -gdwarf. 1116 1117Fri Jul 9 03:51:52 1999 Jeffrey A Law (law@cygnus.com) 1118 1119 * version.c: Drop "gcc-" prefix from version #. 1120 1121Thu Jul 8 19:15:51 1999 Jim Wilson <wilson@cygnus.com> 1122 1123 * unroll.c (unroll_loops): Don't delete named CODE_LABEL or 1124 NOTE_INSN_DELETED_LABEL note. 1125 1126Thu Jul 8 14:18:46 1999 Richard Henderson <rth@cygnus.com> 1127 1128 * m68k.c (output_function_prologue): Add pic register to mask 1129 if live and flag_pic. 1130 (output_function_epilogue): Likewise. 1131 1132Thu Jul 8 10:28:25 1999 Craig Burley <craig@jcb-sc.com> 1133 1134 * invoke.texi (DEC Alpha Options): Put @end table at 1135 beginning of line, to avoid confusing texi2html. 1136 1137Wed Jul 7 02:00:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 1138 1139 * reload1.c (gen_reload): When synthesizing a 3 operand add 1140 sequence, improve test for when to reload OP1 into the reload 1141 register instead of OP0. 1142 1143Wed Jul 7 01:38:03 1999 Jim Wilson <wilson@cygnus.com> 1144 1145 * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes. 1146 11471999-07-07 Manfred Hollstein <mhollstein@cygnus.com> 1148 1149 * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line 1150 string literal. 1151 1152Wed Jul 7 01:16:43 1999 Richard Henderson <rth@cygnus.com> 1153 1154 * ginclude/varargs.h (__builtin_va_alist_t): New typedef. 1155 (va_dcl): Use __builtin_va_alist_t. 1156 1157Wed Jul 7 01:13:31 1999 Jason Merrill <jason@yorick.cygnus.com> 1158 1159 * dwarf2out.c (gen_struct_or_union_type_die): Only remember types 1160 on the permanent_obstack. 1161 * dwarfout.c (output_type): Likewise. 1162 1163Fri Jul 2 03:05:13 1999 Jeffrey A Law (law@cygnus.com) 1164 1165 * dwarfout.c (field_byte_offset): Correctly compute the object's 1166 byte offset for the first bit of a field which crosses an alignment 1167 boundary on a !BYTES_BIG_ENDIAN target. 1168 1169Fri Jul 2 01:36:36 1999 Robert Lipe <robertlipe@usa.net> 1170 1171 * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and 1172 ntohs. 1173 1174Fri Jul 2 00:46:47 1999 Richard Henderson <rth@cygnus.com> 1175 Jeff Law <law@cygnus.com> 1176 1177 * ginclude/varargs.h (va_dcl): Use word_mode for type of 1178 __builtin_va_list. 1179 1180 * except.c: Include intl.h. 1181 (expand_eh_return): Set current_function_cannot_inline. 1182 (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label. 1183 * function.h (struct function): Add eh_return_stub_label. 1184 * flow.c (delete_unreachable_blocks): Don't merge across EH edges. 1185 * Makefile.in (except.o): Depend on intl.h. 1186 1187Fri Jul 2 00:04:23 1999 David Edelsohn <edelsohn@gnu.org> 1188 1189 * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the 1190 same as offsettable in cases 1 and 2. 1191 11921999-07-01 Mark Kettenis <kettenis@gnu.org> 1193 1194 * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if 1195 -fPIC or -fpic is specified. 1196 1197Wed Jun 30 23:56:01 1999 Jeffrey A Law (law@cygnus.com) 1198 1199 * expr.c (emit_block_move): Use copy_to_mode_reg for 1200 !TARGET_MEM_FUNCTIONS case too. 1201 1202Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com) 1203 1204 * mips.md (leasi, leadi): New patterns. 1205 1206 * expr.c (emit_block_move): Properly handle case where one of the 1207 block move arguments has a queued increment or decrement. 1208 (clear_storage): Similarly. Fix formatting goof. 1209 1210Mon Jun 28 05:32:09 1999 Jeffrey A Law (law@cygnus.com) 1211 1212 * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA 1213 case. Also make the PIC register call_used. 1214 1215 * m68k.h (FINALIZE_PIC): Delete. 1216 * m68k.c (finalize_pic): Delete. 1217 1218 * m68k.h (CONDITIONAL_REGISTER_USAGE): Make the PIC register fixed 1219 when -fpic/-fPIC. 1220 1221Mon Jun 28 05:16:35 1999 Richard Henderson <rth@cygnus.com> 1222 1223 * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles 1224 to memory. 1225 1226Mon Jun 28 04:07:27 1999 David Edelsohn <edelsohn@gnu.org> 1227 1228 * rs6000.c (output_toc): Always use hex values for floating-point 1229 constants. Store single-precision values in upper-half of TOC 1230 entry in 64-bit mode. 1231 * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64 1232 to final constraints. 1233 (fix_truncdfsi2 splitter): Change pattern matching fctiwz. 1234 (fctiwz): Improve accuracy of RTL for pattern. 1235 1236 * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output. 1237 1238 * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note. 1239 1240Fri Jun 25 06:06:37 1999 Richard Henderson <rth@cygnus.com> 1241 1242 * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define 1243 such that MASK_SUPPORT_ARCH is not negative. 1244 1245Fri Jun 25 05:35:44 1999 Jeffrey A Law (law@cygnus.com) 1246 1247 * loop.c (verify_dominator): Properly handle ADDR_VEC and 1248 ADDR_DIFF_VEC insns that appear inside loops. 1249 1250Thu Jun 24 22:54:05 1999 David Edelsohn <edelsohn@gnu.org> 1251 Jeff Law <law@cygnus.com> 1252 1253 * rs6000.md (movdf_hardfloat32): Revert previous patch. 1254 Handle LO_SUM the same as offsettable in cases 1 and 2. 1255 * rs6000.c (find_addr_reg): Revert previous patch. 1256 1257Thu Jun 24 22:43:12 1999 Philippe De Muyter <phdm@macqel.be> 1258 1259 * system.h (strstr): New external function declaration. 1260 * acconfig.h (NEED_DECLARATION_STRSTR): New define slot. 1261 * configure.in (GCC_NEED_DECLARATIONS): Check for strstr. 1262 * config.in, configure: Rebuilt. 1263 12641999-06-24 Tom Tromey <tromey@cygnus.com> 1265 1266 * gcc.c (main): Read user-specified specs files after computing 1267 additional startfile_prefixes. 1268 12691999-06-24 Bruce Korb <ddsinc09@ix.netcom.com> 1270 1271 *fixinc/inclhack.def(end_else_label): combined else_label 1272 and endif_label and fixed the sed expression. 1273 *fixinc/{fixincl.x|inclhack.sh}: regen 1274 1275Tue Jun 22 01:58:18 1999 Jeffrey A Law (law@cygnus.com) 1276 1277 * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting 1278 'x' when handling non-offsettable addresses 1279 1280Tue Jun 22 00:20:05 1999 Richard Earnshaw (rearnsha@arm.com) 1281 1282 * final.c (shorten_branches): Don't try to split an insn that has 1283 been deleted. 1284 1285Mon Jun 21 23:32:17 1999 Jeffrey A Law (law@cygnus.com) 1286 1287 Thu Jun 17 15:07 1999 Bruce Korb <ddsinc09@ix.netcom.com> 1288 * fixincludes: ISCNTL patch 1289 1290Mon Jun 21 22:15:50 1999 Jeffrey A Law (law@cygnus.com) 1291 1292 * rs6000.c (find_addr_reg): Handle LO_SUM addresses. 1293 1294Mon Jun 21 22:14:05 1999 David Edelsohn <edelsohn@gnu.org> 1295 1296 * rs6000.md (movdf_hardfloat32): Fix typo. 1297 1298Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com> 1299 1300 * collect2.c (main): Log frame table count. 1301 (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal. 1302 (scan_prog_file) [COFF]: Handle frame tables. 1303 1304 * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define. 1305 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define. 1306 * alpha/elf.h: Undef them again. 1307 * alpha/vms.h: Remove their definitions. 1308 13091999-06-21 Jakub Jelinek <jj@ultra.linux.cz> 1310 1311 * real.c (ereal_from_double): Fix for 64-bit big endian hosts. 1312 * emit-rtl.c (gen_lowpart_common): Add case for hosts where double 1313 fits in HOST_WIDE_INT and one uses union to access a long constant 1314 as double. 1315 1316Mon Jun 21 17:18:25 1999 Richard Henderson <rth@cygnus.com> 1317 1318 * sparc.c (sparc_override_options): Don't allow profiling for 1319 code models other than medlow. 1320 (sparc_function_profiler): New function from old FUNCTION_PROFILER 1321 macro. Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION. 1322 (sparc_function_block_profiler): Likewise. Use user_label_prefix. 1323 (sparc_block_profiler): Likewise. 1324 (sparc_function_block_profiler_exit): Likewise. 1325 * sparc.h (FUNCTION_PROFILER): Call new sparc.c function. 1326 (FUNCTION_BLOCK_PROFILER): Likewise. 1327 (BLOCK_PROFILER): Likewise. 1328 (FUNCTION_BLOCK_PROFILER_EXIT): Likewise. 1329 (MCOUNT_FUNCTION): New. 1330 * sparc/pbd.h (FUNCTION_PROFILER): Delete. 1331 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete. 1332 * sparc/sun4o3.h (FUNCTION_PROFILER): Delete. 1333 (MCOUNT_FUNCTION): New. 1334 * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete. 1335 (BLOCK_PROFILER): Delete. 1336 (MCOUNT_FUNCTION): New. 1337 1338Mon Jun 21 06:22:21 1999 Mark Elbrecht <snowball3@bigfoot.com> 1339 1340 * i386/djgpp.h (LIB_SPEC): New. 1341 (STARTFILE_SPEC): New. 1342 1343 * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete. 1344 1345Mon Jun 21 06:19:33 1999 Philippe De Muyter <phdm@macqel.be> 1346 1347 * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in 1348 compiler flags. 1349 1350 * system.h (WSTOPSIG): New macro. 1351 1352Mon Jun 21 05:33:15 1999 Mumit Khan <khan@xraylith.wisc.edu> 1353 1354 * c-pragma.c (push_alignment): Don't ignore alignments greater than 1355 4 bytes. 1356 (insert_pack_attributes): Take into account member natural 1357 alignment. 1358 1359 * i386/winnt.c (exports_head): New static variable. 1360 (i386_pe_record_exported_symbol): New function. 1361 (i386_pe_asm_file_end): Use. 1362 * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported 1363 symbols to be emitted at end of assembly. 1364 (ASM_DECLARE_OBJECT_NAME): Likewise. 1365 (ASM_DECLARE_FUNCTION_NAME): Likewise. 1366 1367 * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and 1368 -iwithprefix. 1369 1370Mon Jun 21 05:17:00 1999 David Edelsohn <edelsohn@gnu.org> 1371 1372 * rs6000.md (movdf_hardfloat32): Use worst case insn length 1373 attributes for cases 1 and 2. 1374 1375 * rs6000.c (find_addr_reg): New function. 1376 * rs6000.h (find_addr_reg): Declare. 1377 (offsettable_addr_operand): Delete. 1378 * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads 1379 from and stores to GPRs. 1380 1381Mon Jun 21 04:44:31 1999 Jeffrey A Law (law@cygnus.com) 1382 1383 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced 1384 in last change. 1385 1386Sun Jun 20 17:24:35 1999 Richard Henderson <rth@cygnus.com> 1387 1388 * haifa-sched.c (sched_analyze): Don't clear reg_last_uses on calls. 1389 1390Sat Jun 19 22:52:55 1999 Richard Henderson <rth@cygnus.com> 1391 1392 * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered 1393 instead of set. 1394 1395Sat Jun 19 05:40:07 1999 Philip Blundell <pb@nexus.co.uk> 1396 1397 * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN. 1398 1399Sat Jun 19 05:25:05 1999 Richard Earnshaw (rearnsha@arm.com) 1400 1401 * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use 1402 PIC_OFFSET_TABLE_REGNUM for general alloaction. 1403 (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register 1404 must be stacked if it is used for PIC accesses. 1405 * arm.c (use_return_insn): Handle PIC register specially. 1406 (output_return_instruction): Likewise. 1407 (output_func_{prologue,epilogue}): Likewise. 1408 (output_expand_prologue): Likewise. 1409 1410 * arm.c (arm_override_options): Remove warning about PIC code 1411 not being supported. 1412 1413Fri Jun 18 15:44:18 1999 Richard Henderson <rth@cygnus.com> 1414 1415 * alpha.c (alpha_expand_block_move): Use get_insns rather than 1416 gen_sequence as argument to emit_no_conflict_block. 1417 1418Fri Jun 18 06:48:30 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1419 1420 * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of _*ISCTRL(). 1421 * fixinc/{fixincl.x,inclhack.sh}: regen 1422 1423Thu Jun 17 13:28:30 1999 David O'Brien <obrien@FreeBSD.org> 1424 1425 * i386/freebsd-elf.h (LINK_SPEC): Fix typo. 1426 1427 * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and 1428 the reference to `mcount' was not correct for the ELF on FreeBSD. 1429 1430Thu Jun 17 02:54:30 1999 Jeffrey A Law (law@cygnus.com) 1431 1432 * invoke.texi (ia32 options): Fix typo. 1433 1434 * emit-rtl.c (operand_subword): Tighten checks for when it is safe 1435 to safe to extract a subword out of a REG. 1436 1437Wed Jun 16 10:33:02 1999 Jason Merrill <jason@yorick.cygnus.com> 1438 1439 * dwarfout.c (add_incomplete_type): New fn. 1440 (output_type): Call it. 1441 (retry_incomplete_types): New fn. 1442 (dwarfout_finish): Call it. 1443 1444 From Eric Raskin <ehr@listworks.com>: 1445 (output_type): Output types for bases. 1446 1447Tue Jun 15 01:55:20 1999 David O'Brien <obrien@FreeBSD.org> 1448 1449 * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library 1450 specifications and make it realistic. 1451 (LIB_SPEC): Likewise. 1452 1453Mon Jun 14 03:55:40 1999 Jeffrey A Law (law@cygnus.com) 1454 1455 * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not 1456 require a sub-version #. 1457 * configure: Rebuilt. 1458 14591999-06-14 Robert Lipe (robertlipe@usa.net) 1460 1461 * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition. 1462 14631999-06-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> 1464 1465 * gcc.texi: Mention gcc 2.95 instead of egcs 1.00. 1466 1467Sun Jun 13 01:08:02 1999 Mark Mitchell <mark@codesourcery.com> 1468 1469 * invoke.texi (node Option Summary): Add -fpermissive flag. 1470 1471Sat Jun 12 03:40:42 1999 Jeffrey A Law (law@cygnus.com) 1472 1473 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands 1474 that require PIC code sequences. 1475 1476Fri Jun 11 03:17:51 1999 Jeffrey A Law (law@cygnus.com) 1477 1478 * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument. 1479 * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide 1480 initializers is some circumstances. 1481 1482 * fixinc/inclhack.def (endif_label): Add additional selector for 1483 more bogus stuff after #endif statements. 1484 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt. 1485 1486Thu Jun 10 20:45:27 1999 Mumit Khan <khan@xraylith.wisc.edu> 1487 1488 * i386/cygwin.h (SET_ASM_OP): Define. 1489 1490Thu Jun 10 20:37:57 1999 Mumit Khan <khan@xraylith.wisc.edu> 1491 1492 * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns. 1493 1494Thu Jun 10 14:47:59 1999 Bruce Korb <ddsinc09@ix.netcom.com> 1495 1496 * fixinc/inclhack.def(sun_auth_proto): We do not know how to 1497 test for the presence of valid prototypes. Delete bypass expr. 1498 (ioctl_fix_ctrl): Correct the selection expression. 1499 1500 * fixinc/inclhack.def(no_double_slash): fixed quoting rules 1501 * fixinc/inclhack.sh: regen 1502 * fixinc/fixincl.x: regen 1503 1504Thu Jun 10 01:22:59 1999 Jeffrey A Law (law@cygnus.com) 1505 1506 * loop.c (strength_reduce): Disable biv->giv translations and 1507 giv recombination. For the release branch only. 1508 1509Wed Jun 9 15:57:57 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 1510 1511 * rs6000.md (movsi_got_internal_mem): Delete. 1512 * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM. 1513 (GOT_TOC_REGNUM): Delete. 1514 (PIC_OFFSET_TABLE_REGNUM): Define. 1515 (FINALIZE_PIC): Disable. 1516 * rs6000.c (rs6000_got_register): New code for fixed pic register. 1517 (rs6000_replace_regno): Delete. 1518 (rs6000_finalize_pic): Likewise. 1519 (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM. 1520 1521Wed Jun 9 19:44:26 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 1522 1523 * loop.c (loop_insn_first_p): Don't compare LUIDs when P 1524 is a note; use <= for the compare; advance P while it is 1525 a NOTE. 1526 1527Wed Jun 9 13:12:24 1999 Jeffrey A Law (law@cygnus.com) 1528 1529 * fixinc/inclhack.def (no_double_slash): Fix quoting for test. 1530 * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt. 1531 1532 * varasm.c (remove_from_pending_weak_list): Verify t->name 1533 is non-NULL before passing it to strcmp. 1534 1535Wed Jun 9 23:01:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 1536 1537 * invoke.texi: Add C4x invocation docs. 1538 1539Wed Jun 9 22:42:49 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 1540 1541 * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS): 1542 Define new macros. 1543 * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use 1544 TARGET_EXPOSE_LDP. 1545 (c4x_legitimize_reload_address): New function. 1546 * config/c4x/c4x.md: Update docs. 1547 1548Wed Jun 9 06:50 1999 Bruce Korb <ddsinc09@ix.netcom.com> 1549 1550 * fixinc/inclhack.def(sun_auth_proto): bypass the patch if 1551 the typed arguments are not part of a comment 1552 (ioctl_fix_ctrl): Added a purpose comment 1553 * fixinc/fixincl.x: regenerate 1554 * fixinc/inclhack.sh: regenerate 1555 1556Wed Jun 9 04:14:48 1999 Jeffrey A Law (law@cygnus.com) 1557 1558 * fixincludes: Avoid removing '.'. 1559 * fixinc/fixinc.svr4: Likewise. 1560 * fixinc/fixinc.winnt: Likewise. 1561 * fixinc/inclhack.tpl: Likewise. 1562 * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt. 1563 1564Wed Jun 9 03:55:34 1999 Jim Wilson <wilson@cygnus.com> 1565 1566 * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000. 1567 * configure: Regenerate. 1568 1569 * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h. 1570 Add use of x-aix41-gld. 1571 15721999-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1573 1574 * fixinc/inclhack.def (sun_catmacro): Escape parens in the select 1575 pattern. 1576 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt. 1577 1578Wed Jun 9 03:10:34 1999 Mumit Khan <khan@xraylith.wisc.edu> 1579 1580 * c-pragma.c (handle_pragma_token): Handle `#pragma pack()' 1581 correctly. 1582 1583Tue Jun 8 05:47:48 1999 Richard Earnshaw (rearnsha@arm.com) 1584 1585 * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute 1586 values. 1587 1588Mon Jun 7 22:30:37 1999 Jeffrey A Law (law@cygnus.com) 1589 1590 * fixinc/inclhack.def (bad_lval): Remove bogus selector. 1591 * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt. 1592 1593 * fixinc/inclhack.def (avoid_bool): Also catch 1594 "typedef [unsigned] int bool". 1595 * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt. 1596 1597 * m68k/x-hp3bsd44: Delete obsolete and incorrect file. 1598 * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44. 1599 * configure: Rebuilt. 1600 1601Mon Jun 7 22:05:03 1999 Mark Kettenis <kettenis@gnu.org> 1602 1603 * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>, 1604 such that we can override its definitions if necessary. 1605 (CPP_SPEC): New define. Support processor specific predefines via 1606 %(cpp_cpu). 1607 (CC1_SPEC): New define. Support processor specific compiler 1608 options via %(cc1_cpu). 1609 (STARTFILE_SPEC): New define. Use crt0.o instead of crt1.o for 1610 -static. 1611 16121999-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1613 1614 * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace 1615 between sed's -e flag, and the open-quote following it. 1616 * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt. 1617 1618Mon Jun 7 20:34:20 1999 Robert Lipe <robertlipe@usa.net> 1619 Jeffrey A Law (law@cygnus.com) 1620 1621 * varasm.c (assemble_start_function): Remove the function 1622 from the pending weak decls list when we define a function. 1623 (assemble_variable): Similarly for variables. 1624 (weak_finish): Ignore items on the list with a NULL name. 1625 (remove_from_ending_weak_list); New function to "remove" an item 1626 from the pending weak declarations list. 1627 1628Mon Jun 7 19:27:07 1999 Jerry Quinn <jquinn@nortelnetworks.com> 1629 1630 * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns. 1631 1632Sun Jun 6 11:58:34 1999 Jakub Jelinek <jj@ultra.linux.cz> 1633 1634 * sparc.md (abstf2): This should be an expand. 1635 (split after abstf2_notv9): Fix mode. 1636 (abstf2_hq_v9): New pattern. 1637 (abstf2_v9): Only use when no hard quad. 1638 (absdf2_v9): Fix if target is not the same as source. 1639 (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2): 1640 Add correct output constraints. 1641 1642Sat Jun 5 17:04:16 1999 Craig Burley <craig@jcb-sc.com> 1643 1644 From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100: 1645 * invoke.texi: Clarify text vis-a-vis Intel CPUs. 1646 1647Fri Jun 4 13:30:27 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1648 1649 * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads. 1650 (LIB_SPEC): Likewise. 1651 Link with -lprof1_r for -g/-pg. 1652 16531999-06-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 1654 1655 * loop.c (check_dbra_loop): Fix change of Jan 19. 1656 1657Fri Jun 4 00:12:40 1999 Marc Espie <espie@cvs.openbsd.org> 1658 1659 * freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define. 1660 (STARTFILE_SPEC): Define, override the svr4.h version. 1661 (ENDFILE_SPEC): Likewise. 1662 1663Thu Jun 3 23:58:55 1999 Jeffrey A Law (law@cygnus.com) 1664 1665 * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h 1666 * fixinc/fixincl.x: Regenerated. 1667 * fixinc/inclhack.sh: Regenerated. 1668 1669Thu Jun 3 07:48 1999 Bruce Korb <ddsinc09@ix.netcom.com> 1670 1671 * fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression 1672 * fixinc/fixincl.x: regenerate 1673 * fixinc/inclhack.sh: regenerate 1674 1675Thu Jun 3 22:27:50 1999 Robert Lipe <robertlipe@usa.net> 1676 1677 * i386/udk.h (LINK_SPEC): Correct linker search path for 1678 system libraries. 1679 1680Thu Jun 3 02:15:07 1999 Jason Merrill <jason@yorick.cygnus.com> 1681 1682 * dwarf2out.c (add_incomplete_type): New fn. 1683 (gen_struct_or_union_type_die): Call it. 1684 (retry_incomplete_types): New fn. 1685 (dwarf2out_finish): Call it. 1686 1687Thu Jun 3 01:19:03 1999 Jeffrey A Law (law@cygnus.com) 1688 1689 * gcse.c (insert_insn_end_bb): Correct placement of insns when the 1690 current block starts with a CODE_LABEL and ends with a CALL and 1691 we can not find all the argument setup instructions for the CALL. 1692 1693Wed Jun 2 12:25:55 1999 Richard Henderson <rth@cygnus.com> 1694 1695 * alpha.c (override_options): Thinko in last patch. 1696 1697 * alpha/osf.h (CPP_SUBTARGET_SPEC): Define. 1698 (LIB_SPEC): Recognize -pthread. 1699 1700Wed Jun 2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com> 1701 1702 * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark 1703 fixes that need "file=xxx\n" prepended before invocation 1704 (start_fixer - new): starting the fixer process is complex enough 1705 to warrent its own routine. It prepends the "file=xxx\n" stuff. 1706 (process): uses the new routine; omit usage of putenv() 1707 * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT 1708 * fixinc/fixincl.x: regenerate 1709 1710Wed Jun 2 06:36:14 1999 Richard Earnshaw (rearnsha@arm.com) 1711 1712 * arm.md (zero_extendqidi2): Don't allow operand1 to be a memory 1713 reference. Temporary work-around for problems with constant 1714 pool handling. 1715 1716Wed Jun 2 02:40:43 1999 Jeffrey A Law (law@cygnus.com) 1717 1718 * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc) 1719 and version #s (1.1 -> 2.95) as needed. 1720 * README.g77: Kill way out of date file in the toplevel directory. 1721 1722Wed Jun 2 00:52:34 1999 David O'Brien <obrien@FreeBSD.org> 1723 1724 * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h, 1725 i386/freebsd-elf.h no longer requires it. Instead include svr4.h. 1726 * configure: Rebuilt. 1727 * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define. 1728 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise. 1729 (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise. 1730 (SWITCH_TAKES_ARG): Likewise. 1731 * i386/freebsd.h: Remove FREEBSD_NATIVE support. 1732 * config/t-freebsd: Moved from config/i386/ so it can used for all 1733 FreeBSD targets. 1734 1735Mon May 31 02:22:55 1999 Philippe De Muyter <phdm@macqel.be> 1736 1737 * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o. 1738 1739Wed Jun 2 00:08:34 1999 Robert Lipe <robertlipe@usa.net> 1740 1741 * configure.in (i[34567]86-*-udk*): Install headers with cpio. 1742 * configure: Rebuilt. 1743 1744Wed Jun 2 00:49:00 EDT 1999 John Wehle (john@feith.com) 1745 1746 * flow.c (mark_regs_live_at_end, insn_dead_p, 1747 mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM 1748 and HARD_FRAME_POINTER_REGNUM special treatment if reload 1749 hasn't run or the frame pointer is needed. 1750 * haifa-sched.c (attach_deaths): Likewise. 1751 * sched.c (attach_deaths): Likewise. 1752 1753Thu May 27 22:06:52 1999 Mark Mitchell <mark@codesourcery.com> 1754 1755 * cccp.c (handle_directive): Handle backslash-newlines in quoted 1756 strings correctly. 1757 1758Mon May 31 22:42:02 1999 Jeffrey A Law (law@cygnus.com) 1759 1760 * Remove this patch (from the branch only) 1761 Wed May 26 09:53:05 1999 Mark Mitchell <mark@codesourcery.com> 1762 * fold-const.c (fold): STRIP_NOPS when deciding whether or not 1763 something is a candidate for optimize_bit_field_compare. 1764 1765Mon May 31 15:23:23 1999 Richard Henderson <rth@cygnus.com> 1766 1767 * alpha.md (reload_*_help): New patterns and splitters. 1768 (reload_*): Use them. 1769 (mov[qh]i): Likewise. 1770 1771Mon May 31 09:36:11 1999 Cort Dougan <cort@cs.nmt.edu> 1772 1773 * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux. 1774 1775Sat May 29 19:08:10 1999 Philip Blundell <philb@gnu.org> 1776 1777 * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already 1778 defined. 1779 * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define. 1780 (MAX_OFILE_ALIGNMENT): Likewise. 1781 1782Mon May 31 00:45:14 1999 Jeffrey A Law (law@cygnus.com) 1783 1784 * jump.c (jump_optimize_1): Only set CAN_REACH_END if 1785 calculate_can_reach_end returns nonzero. 1786 1787 * Makefile.in (CFLAGS): Remove warning flags. 1788 (WARN_CFLAGS): Disable. 1789 1790 * configure.in (native gas tests): Search for an assembler in the 1791 same manner that the installed compiler will. 1792 * configure: Rebuilt. 1793 * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too. 1794 1795 * alias.c (find_base_term): Improve handling of addresses 1796 constructed from binary operations. 1797 1798Sun May 30 14:43:37 1999 Robert Lipe <robertlipe@usa.net> 1799 1800 * fixincl.c: Replace local include scheme with #includes of 1801 gansidecl.h and system.h. 1802 * procopen.c: Likewise. 1803 * server.c: Likewise. 1804 1805Sun May 30 14:18:40 1999 Jeffrey A Law (law@cygnus.com) 1806 1807 * function.h (cleanup_label, frame_offset): Declare. 1808 (tail_recursion_label, tail_recursion_reentry): Likewise. 1809 (arg_pointer_save_area, rtl_expr_chain): Likewise. 1810 * stmt.c (cleanup_label, frame_offset): Delete extern declarations. 1811 (tail_recursion_label, tail_recursion_reentry): Likewise. 1812 (arg_pointer_save_area, rtl_expr_chain): Likewise. 1813 1814Fri May 28 03:47:03 1999 Eric Raskin (ehr@listworks.com) 1815 1816 * i386/t-dgux (EXTRA_PARTS): Add crti.o. 1817 (crti.o): Add build rule and dependencies. 1818 1819Fri May 28 03:07:10 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 1820 1821 * rs6000/sysv4.h (CC1_SPEC): Add support for -profile 1822 (LIB_LINUX_SPEC): Likewise. 1823 (LIB_LINUX_SPEC): Add support for -pthread 1824 (CPP_OS_LINUX_SPEC): Likewise. 1825 (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are 1826 specified 1827 1828 * rs6000.c (output_mi_thunk): Enable full support again. 1829 1830Thu May 27 13:04:52 1999 H.J. Lu (hjl@gnu.org) 1831 1832 * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for 1833 conditional move. 1834 (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support. 1835 (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison 1836 for IEEE math and CC_FCOMI. 1837 (put_jump_code): No IEEE if CC_FCOMI is set. 1838 18391999-05-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 1840 1841 * fold-const.c (fold_truthop): Make the field reference unsigned 1842 when converting a single bit compare. 1843 1844Thu May 27 03:07:13 1999 Philip Blundell <pb@nexus.co.uk> 1845 1846 Based on patch by Scott Bambrough and Pat Beirne: 1847 * config/arm/arm.c (making_const_table): New variable. 1848 * config/arm/arm.h (making_const_table): Declare. 1849 (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if 1850 appropriate. 1851 * config/arm/arm.md (consttable_4, consttable_8, consttable_end): 1852 Keep track of when we are building the constant table. 1853 1854Thu May 27 02:52:55 1999 Jeffrey A Law (law@cygnus.com) 1855 1856 * varasm.c (STRIP_NAME_ENCODING): Remove default definition. 1857 * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm 1858 version did. 1859 1860Thu May 27 02:40:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 1861 1862 * loop.c (strength_reduce): Don't do biv->giv conversion on constants. 1863 1864Thu May 27 02:09:27 1999 Jeffrey A Law (law@cygnus.com) 1865 1866 * reload.c (push_reload): Do not call remove_address_replacements 1867 when presented with identical optional reloads. 1868 1869Wed May 26 14:18:05 1999 Richard Henderson <rth@cygnus.com> 1870 1871 * alpha.h (MASK_FIX, TARGET_FIX): New. 1872 (MASK_*): Reorganize constants. 1873 (CPP_AM_FIX_SPEC): New. 1874 (TARGET_SWITCHES): Add FIX. 1875 (EXTRA_SPECS): Likewise. 1876 (CPP_CPU_EV6_SPEC): Use FIX, not CIX. 1877 (SECONDARY_MEMORY_NEEDED): Likewise. 1878 (REGISTER_MOVE_COST): Likewise. 1879 * alpha.c (override_options): Add FIX support. Always use 1880 ALPHA_TP_PROG for ev6. 1881 * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX. 1882 * alpha/elf.h (ASM_FILE_START): Look at FIX too. 1883 * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX. 1884 1885Wed May 26 09:53:05 1999 Mark Mitchell <mark@codesourcery.com> 1886 1887 * fold-const.c (fold): STRIP_NOPS when deciding whether or not 1888 something is a candidate for optimize_bit_field_compare. 1889 1890Wed May 26 03:54:33 1999 Melissa O'Neill <oneill@cs.sfu.ca> 1891 1892 * fixinc/fixincl.c: (WIFSIGNALED): Define if not already defined. 1893 (WTERMSIG, WIFEXITED, WEXITSTATUS, WIFSTOPPED, WSTOPSIG): Likewise. 1894 (S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP): Likewise. 1895 (S_IROTH, S_IWOTH, S_IXOTH, S_IRWXU, S_IRWXG, S_IRWXO): Likewise. 1896 1897Wed May 26 02:19:31 1999 Philip Blundell <pb@nexus.co.uk> 1898 1899 * arm.h (NEED_PLT_GOT): Fix mistake in last change. 1900 (GOT_PCREL): New macro. Define to 1 if not already defined. 1901 * arm/elf.h (GOT_PCREL): Define to 0. 1902 * arm.c (arm_finalize_pic): Take into account the setting of 1903 GOT_PCREL. 1904 1905Tue May 25 14:06:06 1999 Jeffrey A Law (law@cygnus.com) 1906 1907 * output.h (STRIP_NAME_ENCODING): Provide default definition. 1908 * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING. 1909 1910 * flow.c (mark_set_1): Do not record BLKmode stores as dead 1911 store elimination candidates. 1912 1913Mon May 24 14:34:31 1999 Jeffrey A Law (law@cygnus.com) 1914 1915 * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the 1916 last CODE_LABEL in a loop if we have previously passed a jump 1917 to the top of the loop. 1918 1919Mon May 24 01:02:58 1999 Mark Mitchell <mark@codesourcery.com> 1920 1921 * stmt.c (expand_end_bindings): Ignore any elements of VARS that 1922 are not VAR_DECLs. 1923 1924Sun May 23 20:31:16 1999 Jeffrey A Law (law@cygnus.com) 1925 1926 * loop.c (strength_reduce): Grow reg_single_usage as needed. 1927 1928Sun May 23 10:13:20 1999 David O'Brien <obrien@FreeBSD.org> 1929 1930 * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic. 1931 Also remove a useless comment. 1932 1933Sun May 23 10:05:23 1999 Jerry Quinn <jquinn@nortelnetworks.com> 1934 1935 * pa.md (negdf2,negsf2): Use fneg instead of fsub on pa 2.0. 1936 1937Sat May 22 01:27:49 1999 Mark Mitchell <mark@codesourcery.com> 1938 1939 * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE. 1940 1941Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com> 1942 1943 * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include. 1944 1945Thu May 20 09:58:57 1999 Jan Hubicka <hubicka@freesoft.cz> 1946 1947 * function.c (assign_stack_local): Align stack slot propertly. 1948 (assign_outer_stack_local): Likewise. 1949 1950Thu May 20 10:38:43 1999 Mark Mitchell <mark@codesourcery.com> 1951 1952 * expr.h (lang_expand_constant): Declare. 1953 * toplev.c (lang_expand_constant): Define it. 1954 * varasm.c (output_constant): Use it. 1955 1956Thu May 20 11:28:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 1957 1958 * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide): 1959 Change function definitions to K&R style. 1960 1961Thu May 20 08:15:00 1999 Bruce Korb <ddsinc09@ix.netcom.com> 1962 1963 * fixinc/fixincl.c(main): we must not ignore SIGCLD now. 1964 1965Thu May 20 07:06:39 1999 Alexandre Oliva <aoliva@acm.org> 1966 1967 * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options 1968 * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments 1969 (several places): omit static initialization 1970 (process): use single fd, since only the read fd is used 1971 * fixinc/gnu-regex.c: define 'const' away, if not supported 1972 * fixinc/procopen.c(several places): omit static initialization 1973 * fixinc/server.c: define 'volitile' away, if not supported 1974 19751999-05-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 1976 1977 * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use 1978 asm_fprintf and %L to generate the label name. 1979 * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise. 1980 (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels. 1981 1982Thu May 20 01:40:55 1999 Jeffrey A Law (law@cygnus.com) 1983 1984 * jump.c (can_reverse_comparison_p): Do not abort if the comparison 1985 insn for a conditional jump can not be found. 1986 1987Wed May 19 23:58:58 1999 Jeffrey A Law (law@cygnus.com) 1988 1989 * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations 1990 on variables in specific sections other than .sbss and .sdata. 1991 1992Tue May 18 11:20:48 1999 Mark Mitchell <mark@codesourcery.com> 1993 1994 * stmt.c (expand_return): Call start_cleanup_deferral and 1995 end_cleanup_deferral around conditional code. 1996 1997Wed May 19 03:10:08 1999 Bruce Korb <ddsinc09@ix.netcom.com> 1998 1999 * fixinc/fixincl.tpl: Avoid depending on ANSI C features for 2000 filename lists. Utilizes new AutoGen function "krstr". 2001 * fixinc/fixincl.x: Rebuilt. 2002 2003Wed May 19 02:47:11 1999 Jan Hubicka (hubicka@freesoft.cz) 2004 2005 * i386.c (output_float_compare): Avoid GNU-C extensions. 2006 2007Wed May 19 00:50:24 1999 Jeffrey A Law (law@cygnus.com) 2008 2009 * version.c: Bump version to gcc-2.95 prerelease. 2010 2011Tue May 18 03:53:37 1999 Craig Burley <craig@jcb-sc.com> 2012 2013 Improve open-coding of complex divide: 2014 * flags.h: Declare new front-end-malleable flag. 2015 * toplev.c: Define new flag. 2016 * optabs.c (expand_cmplxdiv_straight): New function to do original 2017 open-coding. 2018 (expand_cmplxdiv_wide): New function to do new open-coding, 2019 from Toon Moene, with changes (call to emit_barrier, dropping 2020 of spurious `ok = 1;', plus the obvious `break;' -> `return 0;'). 2021 (expand_binop): A bit of spacing fixing, while at it. 2022 Use new functions instead of inlining the open-coding code. 2023 2024Tue May 18 00:51:46 1999 Krister Walfridsson <cato@df.lth.se> 2025 2026 * configure.in (arm*-*-netbsd*): Use collect2. 2027 (i[34567]86-*-netbsd*): Likewise. 2028 (m68k*-*-netbsd*): Likewise. 2029 (ns32k-*-netbsd*): Likewise. 2030 (sparc-*-netbsd*): Likewise. 2031 (vax-*-netbsd*): Likewise. 2032 * configure: Rebuilt. 2033 2034Tue May 18 00:21:34 1999 Zack Weinberg <zack@rabi.phys.columbia.edu> 2035 2036 * cppspec.c: Insert -no-gcc into command line unless -gcc was 2037 given by user. 2038 * gcc.c (default_compilers): Define __GNUC__ and 2039 __GNUC_MINOR__ only if -no-gcc was not given. 2040 * objc/lang-specs.h: Likewise. 2041 * cpp.texi: Document -x and -std options; explain that -lang 2042 is no longer supported. Minor related corrections. 2043 2044Mon May 17 23:56:39 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 2045 2046 * Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to 2047 fixproto. 2048 * fixproto: Avoid unportable constructs such as `basename' and 2049 `mkdir -p'. Use mkinstalldirs from the environment if `mkdir -p' 2050 fails. 2051 2052 * fixinc/fixincl.c: Remove #error, it is not portable. 2053 2054Mon May 17 23:50:41 1999 Marc Espie <espie@cvs.openbsd.org> 2055 2056 * collect2.c (main): Fix typo in COLLECT2_HOST_INITIALIZATION. 2057 2058Mon May 17 19:45:41 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2059 2060 * fixinc/fixincl.c (process): Wait for children from chain_open() 2061 to avoid creating zombies. 2062 2063 * fixinc/inclhack.tpl: Removed no-op pipe. 2064 2065 * fixinc/inclhack.sh fixinc/fixincl.sh: regenerate 2066 2067Mon May 17 07:23:34 1999 Mark Mitchell <mark@codesourcery.com> 2068 2069 * tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match 2070 reality. 2071 * expr.c (init_noncopied_parts): Don't generate initializers for 2072 parts that don't need them. 2073 2074Mon May 17 02:56:35 PDT 1999 Jeff Law (law@cygnus.com) 2075 2076 * version.c: Bump for snapshot. 2077 2078Sat Oct 31 05:08:34 CET 1998 Jan Hubicka (hubicka@freesoft.cz) 2079 2080 * reg-stack.c: Do not emit pop insns after cc0 setter. 2081 (emit_pop_insn): Do not emit insn in case WHEN is NULL. 2082 (compare_for_stack_reg): Update REG_DEAD note and 2083 do not emit push insn. 2084 2085 * i386.c: (output_float_compare): Handle new REG_DEAD notes. 2086 2087Mon May 17 01:57:37 1999 David Daney <daney@ibw.com.ni> 2088 2089 * i386/sol2.h (LINK_SPEC): Do not pass "-z text" to the linker 2090 if -mimpure-text. 2091 20921999-05-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 2093 2094 * m68k.c (standard_68881_constant_p): Don't accept -0.0 as valid 2095 68881 constant. 2096 2097 * fold-const.c (fold_truthop): When converting a one-bit 2098 comparison don't sign extend the constant. 2099 2100 * cse.c (cse_insn): Copy SRC_CONST before putting it in the 2101 REG_EQUAL note. 2102 21031999-05-17 Mike Stump <mrs@wrs.com> 2104 2105 * rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions. 2106 2107Sat May 15 14:22:40 1999 Jeffrey A Law (law@cygnus.com) 2108 2109 * fixinc/hackshell.tpl: Fix mis-applied patch. 2110 * fixinc/inclhack.sh: Regenerated. 2111 2112Thu May 13 21:05:55 1999 Mark Kettenis <kettenis@gnu.org> 2113 2114 * fixinc/mkfixinc.sh: Add the Hurd (*-*-gnu*) to the list of 2115 targets that do not need any fixes. 2116 2117Sat May 15 14:12:38 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2118 2119 * config/c4x/c4x.md (set_lo_sum+2): New splitter to load large 2120 const_ints. 2121 2122Sat May 15 14:09:08 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2123 2124 * config/c4x/c4x.md (decrement_and_branch_on_count): Disabled. 2125 (doloop_begin, doloop_end): New patterns. 2126 (*rptb_init): Added extra operands. 2127 2128Fri May 14 21:31:36 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2129 2130 * config/c4x/c4x.md (*umulqi3_highpart_clobber): Fix operand 2 2131 constraints order. 2132 21331999-05-14 Ulrich Drepper <drepper@cygnus.com> 2134 2135 * fixinc/fixinc.x86-linux-gnu (FD_ZERO): Fix operand numbers in 2136 asm input operands. 2137 2138Thu May 13 15:34:18 1999 David Edelsohn <edelsohn@gnu.org> 2139 2140 * rs6000.c (mask_constant): Delete. 2141 (mask_operand): Move mask_constant() body to here. 2142 * rs6000.h (mask_constant): Delete declaration. 2143 * rs6000.md (nabsdi2): Reverse subtraction in splitter. 2144 2145Thu May 13 02:25:01 1999 Jeffrey A Law (law@cygnus.com) 2146 2147 * cpp.texi: Fix some typos. 2148 2149Thu May 13 01:49:55 1999 Graham Stott <GrahamS@RCP.co.uk> 2150 2151 * loop.c (maybe_eliminate_biv): Check regno against 2152 max_reg_before_loop. 2153 2154 * i386.c (memory_address_info): Correct the scale 2155 factor test. 2156 2157Thu May 13 01:31:19 1999 Nick Burrett <nick.burrett@btinternet.com> 2158 2159 * arm.md (nop): Backout Apr 27 change. Ensure REGISTER_PREFIX is 2160 applied to each register. 2161 * aof.h (ASM_FILE_START): Define register `r0'. 2162 21631999-05-12 20:22 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2164 2165 * configure.in: Make --enable-cpp and --with-cpp-install-dir 2166 documented options. Enable the cpp driver by default. 2167 * configure: Rebuilt. 2168 2169Wed May 12 18:08:48 1999 David Edelsohn <edelsohn@gnu.org> 2170 Richard Henderson <rth@cygnus.com> 2171 2172 * rs6000.c (print_operand) [w]: Calculate signed constant more clearly. 2173 (rs6000_allocate_stack_space): Print as hexadecimal value. 2174 * rs6000.h (CONST_OK_FOR_LETTER_P): 'L' checks for a signed, 2175 16-bit shifted constant. Fix typo for 'P'. 2176 (EXTRA_CONSTARINT): 'T' checks for a 32-bit mask operand. 2177 * rs6000.md (movsi, addsi3_internal1, movdi, adddi3_internal1): 2178 Use 'L' for shifted constant. 2179 (anddi3_internal3): Fix typo. 2180 (32-bit mask patterns): Use 'T'. 2181 2182Wed May 12 07:30:31 1999 Bruce Korb <ddsinc09@ix.netcom.com> 2183 2184 * fixinc/fixincl.c(quoted_file_exists): new procedure to ensure that 2185 a file exists before trying to copy it into the destination 2186 (extract_quoted_files): use that routine. 2187 2188Wed May 12 07:27:31 1999 Craig Burley <craig@jcb-sc.com> 2189 2190 Allow front end (like g77's) to override maintenance of errno: 2191 * expr.c (expand_builtin): Bother with errno only if 2192 flag_errno_math. 2193 * flags.h: Declare flag_errno_math. 2194 * toplev.c: Define flag_errno_math. 2195 2196Tue May 11 23:55:49 1999 Jeffrey A Law (law@cygnus.com) 2197 2198 * fixproto: Change "mkdir" calls to "mkdir -p" 2199 2200 * fixinc/inclhack.def (io_def_quotes): Consistently allow multiple 2201 whitespace characters between the "define" and the name of the macro. 2202 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt. 2203 2204Tue May 11 20:46:37 1999 Richard Henderson <rth@cygnus.com> 2205 2206 * alpha.c (alpha_expand_block_move): Handle TImode registers 2207 used with ADDRESSOF. 2208 (alpha_expand_block_clear): Handle ADDRESSOF specially. 2209 22101999-05-11 Ulrich Drepper <drepper@cygnus.com> 2211 2212 * fixinc/fixinc.x86-linux-gnu (FD_ZERO): Remove unneccessary 2213 memory output operand which irritates gcc. 2214 2215Tue May 11 11:45:16 1999 Dave Brolley <brolley@cygnus.com> 2216 2217 * toplev.c (documented_lang_options): Add -MD, -MMD, -M and -MM for 2218 cpplib-enabled compilers. 2219 2220Tue May 11 11:34:56 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com> 2221 2222 * config/sparc/sparc.h (GO_IF_LEGITIMATE_ADDRESS): Add parentheses 2223 around &&. 2224 2225Mon May 10 13:51:24 1999 Nick Clifton <nickc@cygnus.com> 2226 2227 * tm.texi (FUNCTION_ARG): Stack element of PARALLEL must come 2228 first. 2229 2230Tue May 11 01:32:01 1999 Jeffrey A Law (law@cygnus.com) 2231 2232 * fixinc/inclhack.def (sun_auth_proto): Apply to all targets. 2233 (sysz_stdlib_for_sun): Similarly. 2234 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt. 2235 2236Mon May 10 20:34:10 1999 Jim Wilson <wilson@cygnus.com> 2237 2238 * config/mips/elf.h (UNIQUE_SECTION_P): Undef. 2239 * config/mips/elf64.h (UNIQUE_SECTION_P): Undef. 2240 * config/mips/mips.h (UNIQUE_SECTION_P): Define to 0. 2241 22421999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2243 2244 * cppfiles.c (initialize_input_buffer): New function. 2245 (finclude): Call it, if pfile->input_buffer is NULL. Accept 2246 any character device as an input file. 2247 (read_and_prescan): Use pfile->input_buffer and 2248 pfile->input_speccase. 2249 * cppinit.c (cpp_cleanup): Free pfile->input_buffer and 2250 pfile->input_speccase. 2251 * cpplib.h (cpp_reader): Add input_buffer, input_speccase, and 2252 input_buffer_len members. Use memcpy in CPP_PUTS_Q. 2253 2254 * cppmain.c: Buffer output in the token_buffer; throttle 2255 number of calls to fwrite; check for errors from fwrite. 2256 22571999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> 2258 2259 * cppspec.c: Treat two non-option arguments as input and 2260 output file. Three or more non-option args is an error. 2261 Clean up. 2262 * gcc.c (default_compilers): Pass -$ to the preprocessor. 2263 * objc/lang-specs.h: Likewise. 2264 2265Mon May 10 12:59:20 1999 Jeffrey A Law (law@cygnus.com) 2266 2267 * optabs.c (emit_cmp_and_jump_insns): Handle the case where both 2268 operands to the comparison are constants. 2269 2270Mon May 10 07:28:10 1999 Bruce Korb <autogen@autogen.freeservers.com> 2271 2272 * fixinc/inclhack.def(arm_norcroft_hint): check before fixing 2273 (no_double_slash): portability 2274 (math_exception): added reminder comment 2275 2276Mon May 10 01:28:10 1999 Craig Burley <craig@jcb-sc.com> 2277 2278 From Fri May 7 9:31:41 1999 Donn Terry (donn@interix.com): 2279 * varasm.c (mark_constant_pool): Add some transitive closure. 2280 2281Sun May 9 22:51:04 1999 Craig Burley <craig@jcb-sc.com> 2282 2283 Fix gcc.dg/990506-0.c: 2284 * c-typeck.c (require_complete_type): Handle ERROR_MARK input. 2285 2286Sun May 9 13:19:12 1999 Jeffrey A Law (law@cygnus.com) 2287 2288 * gcse.c (cprop_insn): Do not try to simplify a simple jump. 2289 2290Sun May 9 11:12:19 1999 Philip Blundell <bp@nexus.co.uk> 2291 2292 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Add (PLT) to branch if 2293 necessary. Reported by jim@federated.com. 2294 2295Sat May 8 23:05:35 1999 Jeffrey A Law (law@cygnus.com) 2296 2297 * pa.h (PRINT_OPERAND_ADDRESS): Output "%r0", not "r0" for the 2298 base register in an absolute memory address. 2299 * pa.md (conditional moves): Avoid using immediate zero for 2300 register zero. 2301 2302Sat May 8 06:23:21 1999 Philip Blundell <pb@nexus.co.uk> 2303 2304 Based on patch by Scott Bambrough: 2305 * config/arm/arm.h (NEED_PLT_GOT): New macro. Set to 0 if not 2306 already defined. 2307 * config/arm/elf.h (NEED_PLT_GOT): Define to flag_pic. 2308 * config/arm/arm.md (call_symbol, call_value_symbol et al.): If 2309 NEED_PLT_GOT is true, add explicit "(PLT)" to generated branches. 2310 * config/arm/arm.c (output_func_epilogue, 2311 output_return_instruction): Likewise for calls to abort. 2312 2313Sat May 8 01:57:58 1999 Donn Terry (donn@interix.com) 2314 2315 * calls.c (rtx_for_function_call): Extend function pointer being 2316 passed to chkr_check_exec_libfunc, if needed. 2317 2318Sat May 8 01:51:50 1999 David Edelsohn <edelsohn@gnu.org> 2319 2320 * ginclude/stdarg.h (__va_rounded_size): Use long type for 2321 rounding on AIX. 2322 * ginclude/varargs.h: Likewise. 2323 2324Sat May 8 01:47:20 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 2325 2326 * invoke.texi: Remove duplicates in the description of -d 2327 letters. Fix use of @item vs. @itemx. 2328 2329Sat May 8 01:43:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 2330 2331 * rs6000.h (RS6000_VARARGS_OFFSET): Die die die. 2332 (CUMULATIVE_ARGS): Remove varargs_offset; update commentary. 2333 * rs6000.c (setup_incoming_varargs): Fix typo last change. 2334 (init_cumulative_args): Remove varargs_offset references. 2335 2336 * rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define. 2337 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine. 2338 2339Sat May 8 01:34:19 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 2340 2341 * reload1.c (gen_mode_int): New function. 2342 (reload_cse_move2add): Use it to generate the new constants. 2343 2344Sat May 8 01:25:09 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 2345 2346 * varasm.c (output_constant): Do nothing if -fsyntax-only. 2347 2348Fri May 7 19:10:15 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com> 2349 2350 * sparc.h (GO_IF_LEGITIMATE_ADDRESS): Prohibit REG+REG addressing 2351 for TFmode when there are no instructions which accept REG+REG 2352 instructions. 2353 2354Fri May 7 12:38:54 1999 Jim Wilson <wilson@cygnus.com> 2355 2356 * mips/elf64.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define. 2357 * mips/mips.c (mips_select_rtx_section): When TARGET_MIPS16, use 2358 function_section instead of text_section. 2359 * mips/mips.h (ENCODE_SECTION_INFO): Add check for UNIQUE_SECTION_P 2360 in TARGET_MIPS16 STRING_CST handling. 2361 2362Fri May 7 09:54:11 1999 Nick Clifton <nickc@cygnus.com> 2363 2364 Patch from: Nick Burrett <nick.burrett@btinternet.com> 2365 2366 * arm.c (arm_poke_function_name): New function to implement 2367 -mpoke-function-name. 2368 * aof.h (ASM_DECLARE_FUNCTION_NAME): Call it. 2369 * aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise. 2370 * elf.h (ASM_DECLARE_FUNCTION_NAME): Likewise. 2371 * arm.h: Prototype it. 2372 (TARGET_SWITCHES): Add `no-poke-function-name'. 2373 2374Fri May 7 14:19:31 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2375 2376 * fixinc/server.c (load_data): Cast text_size to long, adapt 2377 format. 2378 * fixinc/server.c (read_pipe_timeout): Declare volatile, modified 2379 in signal handler. 2380 (sig_handler): Add debug code. 2381 * fixinc/server.c (run_shell): Don't \-escape cd, it breaks the 2382 Ultrix V4.3 /bin/sh. 2383 * fixinc/server.c (def_args): Use static instead of STATIC to 2384 avoid redefinition error from linker iff DEBUG. 2385 2386 * fixinc/hackshell.tpl: Don't strip trailing directory from 2387 DESTDIR - that is already done 2388 2389 * fixinc/fixincl.c (run_compiles): fix memory leak 2390 2391Thu May 6 20:34:00 1999 Mark Mitchell <mark@codesourcery.com> 2392 2393 * resource.c (mark_referenced_resources): Make volatil 2394 monotonically increasing. 2395 (mark_set_resources): Likewise. 2396 2397Thu May 6 20:02:33 1999 Fred Fish <fnf@be.com> 2398 2399 * rs6000/xm-beos.h (HAVE_VPRINTF): Don't redefine if already defined. 2400 (HAVE_PUTENV, HAVE_ATEXIT, HAVE_RENAME): Likewise. 2401 2402Wed May 5 20:28:32 1999 Jason Merrill <jason@yorick.cygnus.com> 2403 2404 * install.texi (Header Dirs): s/GPLUS/GPLUSPLUS/. 2405 2406Wed May 5 23:44:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 2407 2408 * unroll.c (copy_loop_body): Don't copy VTOP notes from copy_notes_from. 2409 2410Wed May 5 16:26:13 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com> 2411 2412 * function.c (purge_addressof_replacements): Rename into 2413 purge_bitfield_addressof_replacements. 2414 (purge_addressof_replacements): New variable. 2415 (purge_addressof_1): Add code for changing addressof in notes for 2416 field values which are extracted by usage MEM with narrower mode. 2417 (purge_addressof): Initialize purge_bitfield_addressof_replacements. 2418 2419Wed May 5 07:40:02 1999 Nick Clifton <nickc@cygnus.com> 2420 2421 Patch from: Nick Burrett <nick.burrett@btinternet.com> 2422 * config/arm/arm.h (ARM_MCOUNT_NAME): Define. 2423 (FUNCTION_PROFILER): Remove assembler dialect dependency and use 2424 ARM_MCOUNT_NAME. 2425 (TRAMPOLINE_TEMPLATE): Remove assembler dialect dependency. 2426 2427 * config/arm/aof.h (ARM_MCOUNT_NAME): Define. 2428 24291999-05-05 09:58 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2430 2431 * gcc.c (default_compilers): Fix brace nesting bug. 2432 * objc/lang-specs.h: Use %i, not %g.mi, for the input file 2433 when processing an .mi file. 2434 2435Tue May 4 13:17:55 1999 Mark Mitchell <mark@codesourcery.com> 2436 2437 * resource.c (mark_set_resources): Handle UNSPEC_VOLATILE, 2438 ASM_INPUT, TRAP_IF, and ASM_OPERANDS just like in 2439 mark_referenced_resources. 2440 2441Mon May 3 22:38:41 1999 David Edelsohn <edelsohn@gnu.org> 2442 2443 * rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Change non-PowerPC 2444 and AIX64 combination to warning. Add warning for disabling 2445 PowerPC64 support when using 64-bit mode. 2446 (LIB_SPEC): Do not link with libg.a in 64-bit mode. 2447 (LINK_SPEC): Do not export libg.exp symbols in 64-bit mode. 2448 * rs6000/rs6000.h (MY_ISCOFF): Treat import/export files as valid 2449 XCOFF files. 2450 (read_only_data_section, private_data_section, 2451 read_only_private_data_section): Always align CSECTs to doubleword 2452 boundary regardless of mode. 2453 (TEXT_SECTION_ASM_OP): Align text CSECT on doubleword boundary in 2454 64-bit mode. 2455 (DATA_SECTION_ASM_OP): Always align CSECT to doubleword boundary. 2456 (ASM_OUTPUT_LOCAL): Use rounded size in 64-bit mode to 2457 maintain doublword alignment. 2458 2459Mon May 3 14:45:23 1999 Jeffrey A Law (law@cygnus.com) 2460 2461 * mn10200.md (btst insns): btst does not leave cc0 in a useable 2462 state for redundant tst eliminatino. 2463 * mn10300.md (btst insns): Likewise. 2464 2465Mon May 3 16:14:32 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2466 2467 * mips.h (Pmode): Revert Oct 14th change which added a cast. 2468 2469Sun May 2 14:02:21 1999 Mark Mitchell <mark@codesourcery.com> 2470 2471 * tree.h (struct tree_decl): Add comdat_flag. 2472 (DECL_COMDAT): Define it. 2473 * toplev.c (wrapup_global_declarations): Don't output a 2474 DECL_COMDAT function just because it's public. 2475 2476Sun May 2 15:16:42 1999 Joseph S. Myers <jsm28@cam.ac.uk> 2477 2478 * pdp11.h (TARGET_SWITCHES): Fix error in previous change. 2479 (ASSEMBLER_DIALECT): Define. 2480 (CONDITIONAL_REGISTER_USAGE): Rename floating point registers if 2481 required for the UNIX assembler. 2482 (ASM_OUTPUT_INT): Remove. The compiler will synthesise it. 2483 (ASM_OUTPUT_ADDR_VEC_PROLOGUE): Remove. 2484 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Change to "[" and "]". 2485 (TRAMPOLINE_TEMPLATE): Use ASM_OUTPUT_SHORT. 2486 * pdp11.c (output_addr_const_pdp11): Copy of output_addr_const 2487 adapted to output constants in octal. 2488 * pdp11.c, pdp11.h, pdp11.md: Use output_addr_const_pdp11 instead 2489 of output_addr_const. Output constants in octal. Use assembler 2490 dialect alternatives where DEC and UNIX assemblers use different 2491 instruction names. 2492 2493Sun May 2 01:15:06 PDT 1999 Jeff Law (law@cygnus.com) 2494 2495 * version.c: Bump for snapshot. 2496 2497Fri Apr 30 13:55:43 1999 Richard Henderson <rth@cygnus.com> 2498 2499 * va-ppc.h (__va_start_common): Let __builtin_saveregs do the work. 2500 * rs6000.c (expand_builtin_saveregs): For V4, initialize a private 2501 va_list struct, and return a pointer to it. 2502 (setup_incoming_varargs): V4 save area based off virtual_stack_vars 2503 instead of frame_pointer. 2504 2505Thu Apr 29 23:02:22 1999 Mark Mitchell <mark@codesourcery.com> 2506 2507 * emit-rtl.c (start_sequence): Expand comments. 2508 (start_sequence_for_rtl_expr): Likewise. 2509 (push_to_sequence): Likewise. 2510 (end_sequence): Likewise. 2511 * expr.c (inhibit_defer_pop): Likewise. 2512 * expr.h (inhibit_defer_pop): Likewise. 2513 (NO_DEFER_POP): Likewise. 2514 (OK_DEFER_POP): Likewise. 2515 2516Thu Apr 29 22:13:46 1999 Robert Lipe <robertlipe@usa.net> 2517 2518 * configure.in (i?86-UnixWare7*-sysv): Set thread_file to 'posix' 2519 --enable-threads[={yes,pthreads,posix}] is passed as a command 2520 line parameter to configure. 2521 * config/i386/sysv5.h (LIB_SPEC): Add support for '-pthread'. 2522 (CPP_SPEC): Likewise. 2523 2524Thu Apr 29 17:23:59 1999 Richard Henderson <rth@cygnus.com> 2525 2526 * emit-rtl.c (operand_subword): Religiously mask and sign-extend 2527 from 32-bits to HOST_WIDE_INT. 2528 2529Thu Apr 29 15:58:52 1999 Robert Lipe <robertlipe@usa.net> 2530 2531 * fixinc/regex.c, fixinc/regex.h: Removed. Replace with... 2532 * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Imported from GDB 4.18. 2533 * fixinc/Makefile.in (OBJ, HDR): Handle name changes from above. 2534 (gnu-regex.o): Define REGEX_MALLOC to avoid memory leak. 2535 * fixinc/fixincl.c: new regex.h header name 2536 * Makefile.in: new regex.[ch] file names 2537 2538Thu Apr 29 12:53:33 1999 Richard Henderson <rth@cygnus.com> 2539 2540 * calls.c (emit_call_1): Pass rounded_stack_size to emit_call 2541 instead of the unrounded size. 2542 25431999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com> 2544 2545 * fixinc/mkfixinc.sh: Makesure the result shell script is writable 2546 2547Wed Apr 28 10:36:39 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 2548 2549 * config/m68k/m68k.md (cmpsi+1): Use cmp.w when comparing a 16 bit 2550 constant with an address register. 2551 2552Wed Apr 28 00:14:41 PDT 1999 Jeff Law (law@cygnus.com) 2553 2554 * version.c: Bump for snapshot. 2555 2556Tue Apr 27 19:50:25 EDT 1999 Andrew MacLeod <amacleod@cygnus.com> 2557 2558 * rtl.h (REG_EH_REGION): Update comment to indicate a value of -1 2559 indicates no throw and no nonlocal gotos. 2560 * optabs.c (emit_libcall_block): Emit REG_EH_REGION with a value 2561 of -1 instead of 0 to indicate a nonlocal goto won't happen either. 2562 * flow.c (count_basic_blocks, find_basic_blocks_1): Ignore libcall 2563 blocks, look for REG_EH_REGION note exclusively. 2564 (make_edges): Check for REG_EH_REGION > 0 for specified handlers. 2565 2566Tue Apr 27 15:33:42 1999 David Edelsohn <edelsohn@gnu.org> 2567 2568 * rs6000.h (read_only_data_section, private_data_section, 2569 read_only_private_data_section, toc_section): Align CSECT on 2570 doubleword boundary for 64-bit target. 2571 (DATA_SECTION_ASM_OP): Likewise. 2572 * rs6000.c (rs6000_stack_info): Leaf procedure stack limit is 288. 2573 2574Tue Apr 27 20:19:47 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 2575 2576 * sh.md (insv): Use copy_addr_to_reg. 2577 2578 * final.c (insn_lengths_max_uid): New variable. 2579 (init_insn_lengths, shorten_branches): Set it. 2580 (get_attr_lengths): Test insn uid against insn_lengths_max_uid. 2581 25821999-04-27 08:32 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2583 2584 * expr.c (emit_move_insn_1): Abort if MODE argument is invalid. 2585 (compare): Punt if TREE_OPERAND (exp, 0) is an ERROR_MARK. 2586 2587Tue Apr 27 01:33:43 1999 Jeffrey A Law (law@cygnus.com) 2588 2589 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Renmaed from FLAGS_TO_PASS. 2590 Remove "CC". 2591 (FLAGS_TO_PASS): New variable. 2592 2593Tue Apr 27 00:36:44 1999 Nick Burrett <nick.burrett@btinternet.com> 2594 2595 * arm.md (nop): Output instruction using output_asm_insn to fix 2596 assembler dialect problems. 2597 2598Mon Apr 26 23:55:50 1999 Robert Lipe <robertlipe@usa.net> 2599 2600 * Makefile.in (fixinc.sh): Fix dependencies. 2601 2602 * fixinc/inclhack.def (avoid_bool): Enable match if typedefs are 2603 prepended by spaces. 2604 (sco5_stat_wrappers): New fix. Make sys/stat.h C++ safe. 2605 * fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt. 2606 2607Mon Apr 26 23:28:54 1999 Mumit Khan <khan@xraylith.wisc.edu> 2608 Donn Terry <donn@interix.com> 2609 2610 * function.c (put_var_into_stack): Change ptr_mode to Pmode 2611 in setup for chkr_set_right_libfunc calls. 2612 (assign_params): Likewise. 2613 * expr.c (emit_push_insn): Change ptr_mode to Pmode in 2614 setup for chkr_copy_bitmap_libfunc and chkr_set_right_libfunc calls. 2615 (expand_assignment): Change ptr_mode to Pmode in 2616 setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc. 2617 (store_expr): Change ptr_mode to Pmode in 2618 setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc. 2619 (expand_expr): Change ptr_mode to Pmode in 2620 setup for chkr_check_addr_libfunc. 2621 (expand_builtin): Change ptr_mode to Pmode in 2622 setup for chkr_check_str_libfunc, chkr_copy_bitmap_libfunc and 2623 chkr_check_addr_libfunc. 2624 * calls.c (rtx_for_function_call): Change ptr_mode to Pmode in 2625 setup for chkr_check_exec_libfunc. 2626 (expand_call): Change ptr_mode to Pmode in 2627 setup for chkr_set_right_libfunc. 2628 (expand_call): Change ptr_mode to Pmode in 2629 setup for chkr_set_right_libfunc. 2630 (store_one_arg): Change ptr_mode to Pmode in 2631 setup for chkr_set_right_libfunc. 2632 2633 * c-parse.in (absdcl1): Allow attributes in explicit typespecs. 2634 (%expect): Update. 2635 * c-parse.y: Regenerate. 2636 * c-parse.c: Likewise. 2637 * objc/objc-parse.c: Likewise. 2638 * objc/objc-parse.y: Likewise. 2639 2640Mon Apr 26 21:17:41 1999 Jason Merrill <jason@yorick.cygnus.com> 2641 2642 * c-pragma.c (push_alignment): Don't ignore alignments greater than 2643 4 bytes. 2644 (handle_pragma_token): Likewise. 2645 2646 * c-pragma.c: Support for #pragma pack (push, <id>, <n>). 2647 (struct align_stack): Add id field. 2648 (push_alignment, pop_alignment): Take id parameter. 2649 (handle_pragma_token): Add necessary states. 2650 * c-pragma.h (enum pragma_state): Add necessary states. 2651 2652Tue Apr 27 13:58:23 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2653 2654 * config/c4x/c4x.md (*cmpqf, *cmpqf_noov, *cmpqi_test, 2655 *cmpqi_test_noov): Remove ? modifier from constraints list. 2656 (*smulqi3_highpart_clobber, *umulqi3_highpart_clobber): Swap 2657 output strings to match new constraint ordering. 2658 26591999-04-26 19:16 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2660 2661 * cpphash.c (dump_definition): New function. 2662 * cpphash.h: Prototype it. 2663 2664 * cpplib.c (handle_directive): Don't output anything here. 2665 Streamline. 2666 (pass_thru_directive): Take a length, not a pointer to the 2667 end. All callers changed. 2668 (do_define): Handle -dD, -dN, -g3 entirely here. Streamline. 2669 (do_include): Handle -dI here. 2670 (do_ident): Correct to match cccp. 2671 (do_pragma): Copy the pragma through here. 2672 (do_assert, do_unassert): Tidy. 2673 2674 * cppinit.c (cpp_finish): If -dM was specified, walk the macro 2675 hash table and call dump_definition on all the entries. 2676 * cppmain.c: cpp_finish may produce output. 2677 2678Mon Apr 26 15:27:33 1999 Mark Mitchell <mark@codesourcery.com> 2679 2680 * toplev.c (compile_file): Move call to check_global_declarations 2681 after output_exception_table to restore behavior as it was before 2682 1999-04-22 change. 2683 26841999-04-26 10:50 -0700 Bruce Korb <ddsinc09@ix.netcom.com> 2685 2686 * fixinc/fixincl.c: Improve the handling of child process exits 2687 * fixinc/server.[ch]: Export the interface for shutting down 2688 the server process 2689 * fixinc/inclhack.tpl: Remove unnecessary character quote 2690 * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate 2691 2692Mon Apr 26 10:41:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com> 2693 2694 * alpha.md (builtin_setjmp_receiver): Use a label_ref instead of 2695 a code label. 2696 26971999-04-26 09:47 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2698 2699 * rtl.texi: Document the rtl classes and their relation to 2700 formats. 2701 2702Mon Apr 26 01:02:38 1999 Richard Henderson <rth@cygnus.com> 2703 2704 * alpha.md (fix_trunc patterns): Use reg_no_subreg_operand on op0 2705 for less work in reload. 2706 (movsf and movdf patterns): Put fp reg alternatives first. 2707 2708Mon Apr 26 01:55:56 1999 Marc Espie <espie@cvs.openbsd.org> 2709 2710 * configure.in (openbsd): Factorize xmake_file. 2711 (ix86 openbsd): Trim obsolete comment. 2712 (vax openbsd): Fix typo. 2713 * configure: Rebuilt. 2714 2715Mon Apr 26 01:30:59 1999 Donn Terry <donn@interix.com> 2716 2717 * expr.c (expand_assignment): Improve test for pointer type. 2718 2719Mon Apr 26 00:26:18 1999 Richard Henderson <rth@cygnus.com> 2720 2721 * alpha.c (print_operand_address): Account for the subreg word. 2722 2723Mon Apr 26 01:08:36 1999 Toshiyasu Morita (tm@netcom.com) 2724 2725 * fold-const.c (make_range): Always initialize arg0 and arg1. 2726 (fold): Similarly for alt0 and alt1. 2727 * function.c (fixup_var_refs_insns): Initialize insn_list. 2728 (instantiate_virtual_regs_1): Initialize offset. 2729 * optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh 2730 and op1_xhigh. 2731 * stmt.c (expand_end_case): Initialize minval and maxval. 2732 2733Mon Apr 26 01:02:34 1999 Nathan Sidwell <nathan@acm.org> 2734 2735 * toplev.c (report_error_function): Reorder file stack and 2736 function name printing. Ignore FILE parameter. 2737 2738Mon Apr 26 00:58:54 1999 Jerry Quinn <jquinn@nortelnetworks.com> 2739 2740 * pa.h (architecture_type): New enum. 2741 (pa_arch_string, pa_arch): Declare. 2742 (MASK_PA_10, MASK_PA_20): New flags. 2743 (TARGET_SWITCHES): Add pa-risc-2-0. Update docs for PA1.0 codegen. 2744 (TARGET_OPTIONS): Add -march= option. 2745 * pa.c (pa_arch, pa_arch_string): Define. 2746 (override_options): Set them. 2747 * pa/pa-hpux10.h (ASM_FILE_START): Output LEVEL 2.0 asm directive for 2748 2.0 architecture. 2749 * invoke.texi (Option Summary, HPPA Options): Document new 2750 architecture flags. 2751 2752 * pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux9.h, pa/pa-osf.h, pa.h, 2753 pa.c, pa.md, configure.in, configure: Replace TARGET_SNAKE by 2754 TARGET_PA_11 and MASK_SNAKE by MASK_PA_11. 2755 2756Mon Apr 26 00:28:25 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> 2757 2758 * flags.h (inline_max_insns): Declare. 2759 * integrate.c (inline_max_insns): New variable. 2760 (function_cannot_inline_p): Use it. 2761 * toplev.c (main): Add the flag -finline-limit-n. 2762 (display_help): Document -finline-limit-n. 2763 * invoke.texi: Document -finline-limit-n 2764 2765Sun Apr 25 23:03:32 1999 Richard Henderson <rth@cygnus.com> 2766 2767 * stmt.c (expand_asm_operands): Reload in-out reg-only memory operands. 2768 2769Sun Apr 25 13:06:13 1999 Richard Henderson <rth@cygnus.com> 2770 2771 * function.c (assign_parms/STACK_BYTES): Revert last change, 2772 and that of 19 Nov. 2773 2774Sun Apr 25 12:30:50 1999 Richard Henderson <rth@cygnus.com> 2775 2776 * calls.c (emit_call_1): New arg rounded_stack_size; update callers. 2777 Update pending_stack_adjust based on this value. 2778 (compute_argument_block_size): Include pending_stack_adjust in 2779 PREFERRED_STACK_BOUNDARY alignment. 2780 * function.c (assign_parms): Don't round to PREFERRED_STACK_BOUNDARY. 2781 2782Sun Apr 25 14:38:10 EDT 1999 John Wehle (john@feith.com) 2783 2784 * stupid.c (stupid_mark_refs): Generate a REG_UNUSED note 2785 for a register which is clobbered even if the register 2786 was used by an earlier instruction. 2787 2788 * i386.md (fix_truncsfdi2, fix_truncdfdi2, 2789 fix_truncxfdi2): Don't bother with the gen_reg_RTX. 2790 (fix_truncsfsi2, fix_truncsfdi2, fix_truncdfsi2, 2791 fix_truncdfdi2, fix_truncxfsi2, fix_truncxfdi2): Update 2792 operand constraints and modes. 2793 * i386.c (output_fix_trunc): Use HImode register to avoid 2794 memory stalls. Call output_move_double instead of output_to_reg. 2795 (output_to_reg): Remove. 2796 * i386.h: Likewise. 2797 2798 * i386.md (negsf2, negdf2, negxf2): Set the type 2799 attribute to fpop. 2800 2801Sat Apr 24 23:15:57 1999 Donn Terry (donn@interix.com) 2802 2803 * alpha.md (call_value_nt): Correct subscripts. 2804 2805Sat Apr 24 20:49:20 1999 Richard Henderson <rth@cygnus.com> 2806 2807 * alpha.h (PRINT_OPERAND_ADDRESS): Break out to ... 2808 * alpha.c (print_operand_address): here. Handle subregs. 2809 2810Fri Apr 23 22:35:41 EDT 1999 John Wehle (john@feith.com) 2811 2812 * acconfig.h (HAVE_GAS_FILDS_FISTS): Add. 2813 * configure.in: Check assembler instructions. 2814 * configure: Rebuild. 2815 * config.in: Likewise. 2816 * i386.md (floathisf2, floathidf2, floathixf2): New patterns. 2817 * i386.c (print_operand): Use the proper suffix for a 387 HImode 2818 operand. Abort if a 387 operand has an unsupported size. 2819 2820Fri Apr 23 16:57:40 1999 Richard Henderson <rth@cygnus.com> 2821 2822 * alpha.c (alpha_write_verstamp): Mark `file' unused. 2823 * alpha.h (FUNCTION_VALUE): Use gen_rtx_REG not gen_rtx. 2824 (LIBCALL_VALUE): Likewise. 2825 (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Handle normal subregs. 2826 2827Fri Apr 23 14:57:33 1999 Donn Terry <donn@interix.com> 2828 2829 * alpha32.h (INITIALIZE_TRAMPOLINE): Get offsets right. 2830 2831 * alpha.c (alpha_initialize_trampoline): Add covert_memory_address 2832 calls as needed. 2833 2834Fri Apr 23 14:36:47 1999 Richard Henderson <rth@cygnus.com> 2835 2836 * alpha.c (alpha_expand_prologue): Don't negate frame size 2837 for use with subq. 2838 2839Fri Apr 23 09:43:18 1999 Nick Clifton <nickc@cygnus.com> 2840 2841 * print-rtl.c (print_rtx): Display LABEL_NUSES for labels. 2842 2843Thu Apr 22 23:08:37 1999 Mark Mitchell <mark@codesourcery.com> 2844 2845 * toplev.h (wrapup_global_declarations): Declare. 2846 (check_global_declarations): Likewise. 2847 * toplev.c (wrapup_global_declarations): New function, split out 2848 from ... 2849 (check_global_declarations): Likewise... 2850 (compile_file): Here. 2851 2852Thu Apr 22 22:34:41 1999 Richard Henderson <rth@cygnus.com> 2853 2854 * c-parse.in (expr_no_commas): Verify we've an expr before 2855 calling C_SET_EXP_ORIGINAL_CODE. 2856 2857Thu Apr 22 22:22:15 EDT 1999 John Wehle (john@feith.com) 2858 2859 * toplev.c (rest_of_compilation): Always set 2860 current_function_uses_only_leaf_regs appropriately. 2861 2862Thu Apr 22 14:39:43 1999 Mumit Khan <khan@xraylith.wisc.edu> 2863 2864 * i386/xm-cygwin.h (HAVE_BCOPY): Delete unneeded macro. 2865 (HAVE_BZERO): Likewise. 2866 (HAVE_BCMP): Likewise. 2867 (HAVE_RINDEX): Likewise. 2868 (HAVE_INDEX): Likewise. 2869 (DIR_SEPARATOR_2): Define. 2870 (GET_ENV_PATH_LIST): Turn path lists into POSIX. 2871 (PATH_SEPARATOR): Use ':'. 2872 28731999-04-22 Bruce Korb <ddsinc09@ix.netcom.com> 2874 2875 * configure.in: enable disabling of fast fixincludes 2876 * configure: regenerate 2877 28781999-04-21 14:55 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2879 2880 * gen-protos.c: #undef abort after including system.h. 2881 Delete defns of fancy_abort and fatal. 2882 * fix-header.c: Delete defn of fancy_abort. 2883 2884Wed Apr 21 12:09:38 1999 Mumit Khan <khan@xraylith.wisc.edu> 2885 2886 * cccp.c (simplify_filename): Always preserve leading double slash. 2887 2888Wed Apr 21 18:15:55 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2889 2890 * config/c4x/c4x.md: Add new peepholes to remove redundant loads. 2891 2892Wed Apr 21 17:41:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2893 2894 * config/c4x/c4x.md (binary patterns): Reorder alternatives 2895 so that two operand instructions are chosen before three operand 2896 instructions. 2897 2898Tue Apr 20 23:38:58 1999 Nathan Sidwell <nathan@acm.org> 2899 2900 * objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct 2901 order. 2902 2903 * Makefile.in (c-parse.c): Put BISON parameters in correct 2904 order. 2905 2906Tue Apr 20 16:38:11 1999 Richard Henderson <rth@cygnus.com> 2907 2908 * alpha.md (nt_lda): New pattern. 2909 * alpha.c (alpha_expand_prologue): Use it for large frames 2910 under windows nt. 2911 2912Tue Apr 20 17:57:14 1999 Catherine Moore <clm@cygnus.com> 2913 2914 * config/arm/arm.md (movhi): Add check for odd offset. 2915 2916Tue Apr 20 13:14:58 EDT 1999 John Wehle (john@feith.com) 2917 2918 * i386.c (output_move_double): Abort if a non-offsettable 2919 memory operand is encountered. Delete unused code. 2920 (find_addr_reg): Remove. 2921 2922Mon Apr 19 21:13:02 1999 Craig Burley <craig@jcb-sc.com> 2923 2924 * tree.def (BLOCK): Fix typo in comment. 2925 29261999-04-19 14:51 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2927 2928 * cpplib.c (output_line_command): Drop CONDITIONAL argument. 2929 We can omit unnecessary line commands if file_change == 2930 same_file and pfile->lineno != 0. All callers changed. 2931 (cpp_get_token [case '\n']): Don't bump pfile->lineno if 2932 CPP_OPTIONS (pfile)->no_line_commands is set. 2933 * cpplib.h: Fix prototype of output_line_command. 2934 29351999-04-18 17:46 -0400 Zack Weinberg <zack@rabi.columbia.edu> 2936 2937 * cppfiles.c (find_position, read_and_prescan): Use `unsigned 2938 long' variables consistently to count line and column numbers. 2939 2940Sun Apr 18 15:50:33 EDT 1999 John Wehle (john@feith.com) 2941 2942 * output.h (current_function_is_leaf, 2943 current_function_uses_only_leaf_regs): Declare. 2944 * function.c (current_function_is_leaf, 2945 current_function_uses_only_leaf_regs): Define. 2946 (init_function_start): Initialize current_function_is_leaf 2947 and current_function_uses_only_leaf_regs. 2948 * final.c (leaf_function): Don't define. 2949 (final_start_function): Replace uses of leaf_function with 2950 current_function_uses_only_leaf_regs. 2951 * toplev.c (rest_of_compilation): Set current_function_is_leaf 2952 prior to invoking local register allocation. 2953 (rest_of_compilation): Replace uses of leaf_function with 2954 current_function_uses_only_leaf_regs. 2955 * dbxout.c (dbxout_symbol, dbxout_parms): Likewise. 2956 * dwarf2out.c (add_location_or_const_vaule_attribute): Likewise. 2957 * dwarfout.c (add_location_or_const_value_attribute): Likewise. 2958 * sdbout.c (sdbout_symbol): Likewise. 2959 * sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise. 2960 * sparc.c (eligible_for_epilogue_delay, output_return, 2961 sparc_return_peephole_ok): Likewise. 2962 * sparc.md (leaf_function attribute, untyped_return): Likewise. 2963 * i386.c (ix86_compute_frame_size): Don't align the stack 2964 for leaf functions which don't allocate any stack slots. 2965 * tm.texi: Update documentation. 2966 2967Sun Apr 18 02:15:09 PDT 1999 Jeff Law (law@cygnus.com) 2968 2969 * version.c: Bump for snapshot. 2970 2971Sun Apr 18 00:08:45 1999 Richard Henderson <rth@cygnus.com> 2972 2973 * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change -- 2974 make sure FP_BASE_P registers are only used with an integer. 2975 2976Sat Apr 17 22:54:17 1999 Richard Henderson <rth@cygnus.com> 2977 2978 * alpha.h (REG_OK_FP_BASE_P): New macro. 2979 (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Use it. 2980 * alpha.md (adddi3+1): New insn to handle large constants off 2981 the soft frame pointer. 2982 (adddi3+2): Don't split soft frame pointer or arg pointer additions. 2983 2984Sun Apr 18 17:24:10 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2985 2986 * config/c4x/c4x.c (legitimize_operands): Use rtx_cost 2987 to determine if it is worthwhile forcing a constant into a register. 2988 * config/c4x/c4x.h (CONST_COSTS): An integer value of 255 or 65535 2989 used with a logical and or an integer value of 16 or 24 used with 2990 a right shift has zero cost on the C40. 2991 2992Sat Apr 17 21:30:11 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 2993 2994 * gcse.c (compute_local_properties): If setp is nonzero, clear 2995 TRANSP instead of setting it to all ones. 2996 2997Sat Apr 17 21:10:10 1999 Jan Hubicka <hubicka@freesoft.cz> 2998 2999 * i386.c (i386_preferred_stack_boundary_string): New global variable. 3000 (i386_preferred_stack_boundary): New global variable. 3001 (override_functions): Set it. Tidy option setting code. 3002 * i386.h (TARGET_OPTIONS): New command line option. 3003 (i386_preferred_stack_boundary_string): Declare it. 3004 (i386_preferred_stack_boundary): Likewise. 3005 (PREFERRED_STACK_BOUNDARY): Use i386_preferred_stack_boundary. 3006 3007Sat Apr 17 19:22:38 1999 Jan Hubicka <hubicka@freesoft.cz> 3008 3009 * i386.c (k6_cost): Take into account the decoding time. 3010 3011Sat Apr 17 19:13:22 1999 Donn Terry <donn@interix.com> 3012 3013 * i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _. 3014 * i386.c (print_operand): New %_ operator. 3015 (load_pic_register): Proper number of leading _ in GOT literal. 3016 * i386.md (prologue_get_pc_and_set_got): Likewise. 3017 * i386/unix.h (ASM_OUTPUT_MI_THUNK): Likewise. 3018 3019Sat Apr 17 19:13:07 1999 Richard Henderson <rth@cygnus.com> 3020 3021 * alpha.c (alpha_expand_prologue): Use gen_adddi3 instead of 3022 emit_move_insn+plus_constant. For NT, don't use the stack probe 3023 loop pointer to allocate stack space. 3024 * alpha.md (adddi3): Always use lda to set the stack pointer. 3025 30261999-04-17 20:11 -0400 Zack Weinberg <zack@rabi.columbia.edu> 3027 3028 * c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c, 3029 haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include 3030 toplev.h for real declaration of trim_filename. 3031 * Makefile.in: Update dependencies. 3032 3033Sat Apr 17 14:36:19 1999 Craig Burley <craig@jcb-sc.com> 3034 3035 * tree.c (chainon): Check for circularity only if 3036 ENABLE_CHECKING is defined. 3037 30381999-04-17 10:15 -0400 Zack Weinberg <zack@rabi.columbia.edu> 3039 3040 * cccp.c: Make fatal non-static. 3041 3042Sat Apr 17 23:47:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 3043 3044 * config/c4x/c4x.md (*andqi3_255_clobber,*andqi3_65535_clobber): 3045 New logical and patterns using C40 bit-field insert instructions. 3046 (*lshrqi3_24_clobber,*ashrqi3_24_clobber,*lshrqi3_16_clobber, 3047 *ashrqi3_16_clobber): New shift patterns using C40 bit-field insert 3048 instructions. 3049 30501999-04-16 22:44 -0400 Zack Weinberg <zack@rabi.columbia.edu> 3051 3052 * system.h: Always prototype abort. Prototype fatal. Define 3053 abort to call fatal, not fprintf/exit. Define a stub macro 3054 for trim_filename. 3055 * toplev.c: Define DIR_SEPARATOR. (trim_filename): New 3056 function. 3057 * toplev.h: Prototype trim_filename, and #undef system.h's stub. 3058 3059 * gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c, 3060 genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c, 3061 genpeep.c, genrecog.c: Make fatal non-static. 3062 * gcov.c, gengenrtl.c, protoize.c: #undef abort after 3063 including system.h. 3064 3065 * config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code 3066 relating to abort. 3067 3068Sat Apr 17 11:25:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 3069 3070 * config/c4x/c4x.md (mulqf3_clrqf_clobber, mulqi3_clrqi_clobber): 3071 New patterns to support parallel multiply and load of zero. 3072 3073Fri Apr 16 01:23:47 1999 Jason Merrill <jason@yorick.cygnus.com> 3074 3075 * tree.c (valid_machine_attribute): If we're modifying the 3076 FUNCTION_TYPE within a POINTER_TYPE and we don't get a decl, 3077 update the POINTER_TYPE. 3078 3079Fri Apr 16 00:19:31 1999 Jan Hubicka <hubicka@freesoft.cz> 3080 3081 * i386.c (x86_adjust_cost): Move break statement to correct place. 3082 3083Thu Apr 15 23:17:33 1999 Jerry Quinn <jquinn@nortelnetworks.com> 3084 3085 * pa.h (HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT, 3086 HAVE_PRE_DECREMENT, HAVE_POST_DECREMENT): Fix pa_cpu value from 3087 8000 to PROCESSOR_8000. 3088 3089Thu Apr 15 20:46:57 1999 Donn Terry (donn@interix.com) 3090 3091 * expr.c (expand_assignment): Force pointers to proper mode if 3092 POINTERS_EXTEND_UNSIGNED is defined. 3093 3094 * xm-alpha.h (alloca.h): Add Interix to list of special machines 3095 that don't like alloca.h, pending using autoconf results. 3096 3097 * except.c (start_catch_hadler): Be sure rtime_address is Pmode 3098 if POINTERS_EXTEND_UNSIGNED. 3099 3100 * except.c (expand_eh_return): Force pointers to proper mode if 3101 POINTERS_EXTEND_UNSIGNED. 3102 3103Thu Apr 15 23:13:35 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 3104 3105 * config/c4x/c4x.h: Tweaked comment formatting. 3106 * config/c4x/c4x.c: Likewise. 3107 3108Thu Apr 15 02:45:19 1999 Mumit Khan <khan@xraylith.wisc.edu> 3109 3110 * aclocal.m4 (GCC_FUNC_MKDIR_TAKES_ONE_ARG): Define. 3111 * configure.in: Use. 3112 * configure: Rebuilt. 3113 * acconfig.h (MKDIR_TAKES_ONE_ARG): Add. 3114 * config.in: Rebuilt. 3115 * system.h: Use. 3116 3117Thu Apr 15 01:03:21 1999 Jan Hubicka <hubicka@freesoft.cz> 3118 Jeff Law <law@cygnus.com> 3119 3120 * i386.md (QImode add pattern): Support lea instruction. 3121 (HImode add pattern): Likewise. 3122 3123 * i386.md (ashlsi patterns): Call output_ashl instead of output_ashlsi3. 3124 (ashlqi): Use expander, separate LEA and SAL / ADD patterns; call 3125 output_ashl. 3126 (ashlhi): Likewise. 3127 * i386.h (output_ashl): Renamed from output_ashlsi3. 3128 * i386.c (output_ashl): Likewise; support HImode and QImode operands 3129 as well. 3130 3131 * i386.md (notsi, nothi, xorsi, xorhi, and xorqi patterns): Call 3132 memory_address_displacement_length instead of memory_address_length. 3133 * i386.c (memory_address_info): Renamed from memory_address_length. 3134 Accept new argument DISP_LENGTH. All callers changed. If DISP_LENGTH, 3135 then return the displacement length. Else return length of the 3136 entire memory address. Handle MULT case correctly. 3137 * i386.h (memory_address_info): Update declaration. 3138 3139 * i386.md (memory_bit_test): Fix paren error. 3140 3141Wed Apr 14 21:29:18 1999 Andrew Haley <aph@cygnus.com> 3142 3143 * flow.c: (make_edges): Always make edges from a basic block 3144 to its exception handlers, even if the block ends with a jump. 3145 31461999-04-14 23:26 -0400 Zack Weinberg <zack@rabi.columbia.edu> 3147 3148 * graph.c (node_data): Return void. Ignore result of 3149 print_rtl_single. Change caller to match. 3150 * integrate.c (subst_constants): Initialize op0_mode to an 3151 invalid mode, and abort before use if it's still invalid. 3152 (Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.) 3153 * objc/objc-act.c (get_objc_string_decl, 3154 build_selector_translation_table, generate_protocol_list, 3155 synth_id_with_class_suffix, build_keyword_selector, 3156 build_selector_expr, gen_declarator): Abort when the tree 3157 structure is corrupted. 3158 3159Wed Apr 14 19:57:49 1999 Jeffrey A Law (law@cygnus.com) 3160 3161 * configure.in (alpha interix): Use symbolic names to set 3162 target_cpu_default. 3163 * configure: Rebuilt. 3164 3165 * explow.c (allocate_dynamic_stack_space): Undo last change. Use 3166 convert_memory_address instead. 3167 3168Wed Apr 14 19:42:02 1999 Donn Terry (donn@interix.com) 3169 3170 * alpha/lib1funcs.asm: New file. 3171 * alpha/t-interix (lib1funcs.asm): Add to build. 3172 3173 * explow.c (allocate_dynamic_stack_space): Correctly convert TARGET 3174 to Pmode. 3175 3176Wed Apr 14 14:26:36 1999 John Wehle (john@feith.com) 3177 3178 * i386.md (truncxfdf): Output the template supplied 3179 by output_move_double with the correct operands. 3180 3181 * i386.md (extendsfdf, extendsfxf, extenddfxf): Use 3182 output_float_extend instead specifying '#' as the template. 3183 * i386.c (output_float_extend): Define. 3184 * i386.h (output_float_extend): Declare. 3185 3186Wed Apr 14 10:48:03 1999 Catherine Moore <clm@cygnus.com> 3187 3188 * config/mips/elf.h, config/mips/elf64.h 3189 (CTORS_SECTION_ASM_OP): Define. 3190 (DTORS_SECTION_ASM_OP): Define. 3191 (EXTRA_SECTIONS): Define. 3192 (INVOKE__main): Define. 3193 (NAME__MAIN): Define. 3194 (SYMBOL__MAIN): Define. 3195 (EXTRA_SECTIONS_FUNCTIONS): Define. 3196 (SECTION_FUNCTION_TEMPLATE): Define. 3197 (ASM_OUTPUT_CONSTRUCTOR): Define. 3198 (ASM_OUTPUT_DESTRUCTOR): Define. 3199 (CTOR_LIST_BEGIN): Define. 3200 (CTOR_LIST_END): Define. 3201 (DTOR_LIST_BEGIN): Define. 3202 (DTOR_LIST_END): Define. 3203 (LIB_SPEC): Define. 3204 (STARTFILE_SPEC): Define. 3205 (ENDFILE_SPEC): Define. 3206 * config/mips/linux.h: Undefine all of the above. 3207 * config/mips/rtems64.h: Likewise. 3208 * config/mips/t-r3900: Likewise. 3209 * config/mips/t-elf: New file. 3210 * config/mips/vxworks.h: New file. 3211 * configure.in (mips-wrs-vxworks): Use mips/vxworks.h. 3212 (mips*-*-*elf*): Use t-elf instead of t-ecoff. 3213 * configure: Regenerate. 3214 3215Wed Apr 14 09:59:38 1999 Richard Henderson <rth@cygnus.com> 3216 3217 * reload1.c (emit_reload_insns): Also find equivalent mems 3218 for subregs of pseudos. 3219 3220 * alpha.c (aligned_memory_operand): Recognize the output of 3221 LEGITIMIZE_RELOAD_ADDRESS. Examine reg_equiv_memory_loc in 3222 the event of a pseudo. 3223 (unaligned_memory_operand): Likewise. Don't otherwise accept 3224 completely illegal addresses. 3225 (normal_memory_operand): Likewise. Handle subregs of pseudos. 3226 (get_aligned_mem): Revert previous change. Abort if we don't have a 3227 mem. During reload, call find_replacement on all illegal memories. 3228 (get_unaligned_address): Likewise. 3229 * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Use !aligned_memory_operand 3230 instead of unaligned_memory_operand. 3231 * alpha.md: Revert extra argument to get_aligned_mem. 3232 (reload_inqi): Use any_memory_operand in constraints. Abort if 3233 we're not given some sort of mem. 3234 (reload_inhi): Likewise. 3235 (reload_outqi, reload_outhi): Likewise. 3236 3237Wed Apr 14 09:39:20 1999 Richard Henderson <rth@cygnus.com> 3238 3239 * i386.md (neghi): Use the whole register when widening the op. 3240 32411999-04-14 12:37 -0400 Zack Weinberg <zack@rabi.columbia.edu> 3242 3243 * cpperror.c, cppexp.c, cpplib.c: Never call abort. 3244 * cpphash.c: Only call abort when we detect corruption of the 3245 malloc arena. 3246 * cppmain.c: Don't define fatal or fancy_abort. 3247 3248Wed Apr 14 09:19:39 1999 Jan Hubicka <hubicka@freesoft.cz> 3249 3250 * i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst 3251 requires value to be ready one extra cycle. 3252 3253Wed Apr 14 11:28:34 1999 Dave Brolley <brolley@cygnus.com> 3254 3255 * config/i386/i386.c (memory_address_length): Add missing parenthesis. 3256 3257Wed Apr 14 13:59:27 1999 Martin von Loewis <loewis@informatik.hu-berlin.de> 3258 3259 * extend.texi (Deprecated Features): New node. 3260 * invoke.texi (-Wdeprecated): Document. 3261 3262Wed Apr 14 00:18:22 1999 Jan Hubicka <hubicka@freesoft.cz> 3263 3264 * i386.md (SImode logical compare): Avoid outputing non-pariable testw 3265 and testl on Pentium. 3266 (register and memory bit tests): Likewise. 3267 (setcc, normal and reversed conditional branches): Use shorter 3268 sequence for testing flags stored in EAX. 3269 3270 * i386.md (xorsi3): Do not output NOT instrctions on Pentium. 3271 (xorqi3): Likewise. 3272 (xorhi3): Likewise. 3273 (notsi2): Likewise. 3274 (notqi2): Likewise. 3275 (nothi2): Likewise; do not output prefixed opcodes when possible. 3276 3277 * i386.md (neghi2): Do not output prefixed opcode when possible. 3278 (ashlhi3): Likewise. 3279 3280Wed Apr 14 00:08:46 1999 Richard Henderson <rth@cygnus.com> 3281 3282 * i386.c (memory_address_length): New function. 3283 * i386.h (memory_address_length): Declare it. 3284 3285Tue Apr 13 22:52:04 1999 Donn Terry (donn@interix.com) 3286 Martin Heller (Ing.-Buero_Heller@t-online.de) 3287 3288 * configure.in (interix Alpha): Add. 3289 (winnt Alpha): Use alpha32.h 3290 (interix i386): Parallel Alpha32. 3291 * configure: Rebuilt. 3292 3293 * config/interix.h: Move common elements from i386-interix.h. 3294 * config/i386/i386-interix.h: Delete same. 3295 * config/alpha/alpha-interix.h: New file. 3296 3297 * config/alpha/alpha32.h: New file, part fron win-nt.h. 3298 * config/alpha/win-nt.h: Deletions (-> alpha32.h). 3299 * config/alpha/interix.h: New file 3300 3301 * config/alpha/alpha.md (interix): Comment. 3302 3303 * config/alpha/xm-alpha-interix.h: New file. 3304 3305 * config/alpha/t-interix: New file. 3306 3307 * fixinc/mkfixinc.sh (interix/Alpha): Add. 3308 33091999-04-13 Mike Stump <mrs@wrs.com> 3310 3311 * i386/vxi386.h (CPP_CPU_SPEC): Define appropriately for vxworks. 3312 (CPP_PREDEFINES, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): likewise. 3313 3314Tue Apr 13 21:01:36 1999 Jason Merrill <jason@yorick.cygnus.com> 3315 3316 * c-common.c (default_valid_lang_attribute): New fn. 3317 (valid_lang_attribute): New callback ptr. 3318 (decl_attributes): Call it. Move init_priority support into 3319 C++ frontend. 3320 3321Tue Apr 13 17:47:14 1999 John Wehle (john@feith.com) 3322 3323 * i386.md (movdi): Add splitter. 3324 3325Wed Apr 14 10:04:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 3326 3327 * config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int, 3328 loadqf_int_clobber): Add new patterns with corresponding splitters 3329 to handle moves of floating point values into and out of intager 3330 registers by using memory. 3331 3332 * config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes 3333 other than QFmode and QImode. 3334 (mixed_subreg_operand): New function. 3335 (c4x_emit_move_sequence): If moving a floating point value into or 3336 out of an integer register, use the new patterns storeqf_int_clobber 3337 or loadqf_int_clobber. 3338 (reg_imm_operand, *_reg_operand): Call reg_operand instead of 3339 register_operand. 3340 (reg_operand, src_operand): Disallow operand if it satisifes 3341 mixed_subreg_operand. 3342 3343 * config/c4x/c4x.h (mixed_subreg_operand): Add prototype. 3344 3345Tue Apr 13 14:49:13 1999 Jan Hubicka <hubicka@freesoft.cz> 3346 3347 * i386.c (agi_dependent): Handle push operation more correctly. 3348 3349Tue Apr 13 14:45:17 1999 Jan Hubicka <hubicka@freesoft.cz> 3350 3351 * i386.md (anddi3): Add % constraint. 3352 (iordi3, xordi3): Likewise. 3353 3354Tue Apr 13 14:29:58 1999 Jan Hubicka <hubicka@freesoft.cz> 3355 3356 * i386.md (extendhisi2): Output mov instead of cw instruction for K6 3357 to improve decoding bandwidth. 3358 * i386.md (extendhiqi2): Likewise. 3359 3360Tue Apr 13 14:26:31 1999 Jan Hubicka <hubicka@freesoft.cz> 3361 3362 * i386.md (movsf_push): Handle memory to memory case too, new splitter. 3363 (movdf_push, movxf_push): Likewise. 3364 (movsf_push_memory, movdf_push_memory, movxf_push_memory): Remove. 3365 3366Tue Apr 13 14:14:06 1999 Jan Hubicka <hubicka@freesoft.cz> 3367 3368 * i386.md: Do not output mov %0,reg on AMD K6. 3369 3370Tue Apr 13 12:14:07 1999 Dave Brolley <brolley@cygnus.com> 3371 3372 * cppinit.c (cpp_start_read): Fix buffer overwrite. 3373 * Makefile.in (cppinit.o): Typo in dependencies. 3374 3375Tue Apr 13 05:04:59 1999 Richard Earnshaw (rearnsha@arm.com) 3376 3377 * arm.h (function prototypes for arm.c): Ifdef these out if 3378 HAVE_CONFIG_H is not defined. 3379 3380Tue Apr 13 02:11:11 1999 Jeffrey A Law (law@cygnus.com) 3381 3382 * pa.c: Avoid Using immediate zero for register zero. 3383 * pa.md: Likewise. 3384 3385 * pa.c (print_operand, case 'f'): New case for FP register or 0.0. 3386 (print_operand, case 'r'): Use %r0 for zero value. 3387 * pa.md (move patterns, fcmp patterns): Use new %f output arg. 3388 3389 * pa.c: Use a register name, not a raw immediate in branch, 3390 compare/clear, sub, subb, uaddcm and vshd instructions. 3391 * pa.md: Likewise. 3392 3393 * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise. 3394 3395 * pa.c: Use a register name, not a raw immediate in "bv" instructions. 3396 * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise. 3397 3398 * pa.c: Remove space register specification in memory addresses, 3399 except where it is actually needed. 3400 * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise. 3401 3402Mon Apr 12 23:34:35 1999 Jeff Law (law@cygnus.com) 3403 3404 * version.c: Bump for snapshot. 3405 3406Mon Apr 12 14:58:30 1999 Jan Hubicka <hubicka@freesoft.cz> 3407 3408 * reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE. 3409 3410Mon Apr 12 19:15:17 1999 Daniel Jacobowitz <dan@debian.org> 3411 3412 * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Add missing backslash. 3413 3414Mon Apr 12 19:11:38 1999 Mumit Khan <khan@xraylith.wisc.edu> 3415 3416 * i386/cygwin.h (SUBTARGET_SWITCHES): Add -mconsole; fix 3417 -mno-nop-fun-dllimport and minor doc fixes. 3418 (STARTFILE_SPEC): Cygwin DLLs don't have dllcrt0. 3419 (LINK_SPEC): Add -mconsole support. 3420 * i386/mingw32.h (LIB_SPEC): Make libraries consistent with 3421 Cygwin. 3422 (LINK_SPEC): Remove. Use Cygwin's version. 3423 (MATH_LIBRARY): Make it null. 3424 * i386/crtdll.h (MATH_LIBRARY): Likewise. 3425 3426Fri Apr 12 15:00:52 1999 Stan Cox <scox@cygnus.com> 3427 3428 * c-decl.c (c_decode_option, start_decl, start_function, 3429 finish_function) : Recognize -Wno-main so we can avoid warnings. 3430 34311999-04-12 Zack Weinberg <zack@rabi.columbia.edu> 3432 3433 * cpphash.c (collect_expansion, macroexpand, 3434 push_macro_expansion): Make the escape character in macro 3435 buffers '\r', not '@'. Remove code to protect literal 3436 occurences of the escape character; '\r' cannot appear 3437 in a macro buffer unless we put it there. 3438 * cpplib.c (skip_comment, copy_comment, cpp_skip_hspace, 3439 copy_rest_of_line, cpp_get_token, parse_string, 3440 parse_assertion): '\r' might be a backslash-newline marker, or 3441 it might be a macro escape marker, depending on 3442 CPP_BUFFER (pfile)->has_escapes. '@' is not a special 3443 character. 3444 * cpplib.h: Update commentary. 3445 3446Mon Apr 12 09:30:03 1999 Richard Earnshaw (rearnsha@arm.com) 3447 3448 * arm.h (target_fp_name, structure_size_string, arm_cpu_select): 3449 Const-ify. 3450 * arm.c (target_fp_name, structure_size_string): Const-ify. 3451 3452 * arm.md (reload_inhi, reload_outhi): Make the scratch DImode. 3453 * arm.c (arm_reload_in_hi): Handle cases when the input is still 3454 a pseudo, make use of scratch registers for reloading the address 3455 as appropriate. 3456 (arm_reload_outhi): Similarly for when the output is still a pseudo. 3457 3458 * riscix.h (SUBTARGET_SWITCHES): Document. 3459 34601999-04-12 Bruce Korb <ddsinc09@ix.netcom.com> 3461 3462 * fixincludes: 3463 make fixincludes behave like the scripts in fixinc/ 3464 3465 * Makefile.in( stmp-fixinc ): 3466 ensure the SHELL value is that of the make 3467 3468 * fixincl/inclhack.tpl: 3469 the file name lists ought to be restricted to "*.h" anyway 3470 C++ files may be named .../[a-z]++/... also 3471 Adding copyright year and attribution to output 3472 3473 * fixincl/inclhack.def: 3474 fixed broken expression 3475 Clarify a some comments 3476 3477 * fixincl/fixincl.tpl: 3478 Clarify a some comments 3479 Remove dead template text 3480 Correct the counting of regular expressions 3481 3482Mon Apr 12 03:07:44 1999 Richard Henderson <rth@cygnus.com> 3483 3484 * alpha.c (aligned_memory_operand): Handle out of range stack slots. 3485 Take a new SCRATCH argument for the occasion. Update all callers. 3486 (get_unaligned_address): Abort on out of range stack slots. 3487 * alpha.md (adddi3 splitter): Check s_p_rtx not REGNO. 3488 (reload_inqi): Check for aligned mems before unaligned. 3489 (reload_inhi): Likewise. 3490 3491Mon Apr 12 03:11:30 1999 Jeffrey A Law (law@cygnus.com) 3492 3493 * flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove 3494 it from the nonlocal_goto_handler_labels list. 3495 * jump.c (delete_insn): Likewise. 3496 (jump_optimize_1): Also recompute LABEL_NUSES when we are just 3497 marking labels. 3498 * rtl.h (remove_node_from_expr_list): Declare. 3499 * rtlanal.c (remove_node_from_expr_list): New function. 3500 3501Mon Apr 12 02:37:02 1999 Jan Hubicka <hubicka@freesoft.cz> 3502 3503 * reg-stack.c: Update comment, include varray.h. 3504 (stack_regs_mentioned_data): New global variable. 3505 (check_stack_regs_mentioned): New function. 3506 (stack_regs_mentioned): New function. 3507 (reg_to_stack): Initialize and free stack_regs_mentioned_data, 3508 use stack_regs_mentioned. 3509 (record_asm_reg_life): Change insn type cache for changed insn. 3510 (record_reg_life): Do not change the insn mode. 3511 (emit_pop_insn): Likewise. 3512 (emit_swap_insn): Likewise. 3513 (move_for_stack_reg): Likewise. 3514 (stack_reg_life_analysis): Use stack_regs_mentioned. 3515 (emit_swap_insn): Likewise. 3516 (subst_stack_regs): Likewise. 3517 (convert_regs): Likewise. 3518 * jump.c (find_cross_jump): Use stack_regs_mentioned. 3519 * rtl.h (stack_regs_mentioned): Declare. 3520 3521Mon Apr 12 00:57:10 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> 3522 3523 * integrate.c (INTEGRATE_THRESHOLD): Sync it with the comment. 3524 3525Sun Apr 11 10:24:18 1999 Mark Mitchell <mark@codesourcery.com> 3526 3527 * rtl.h (rtx_def): Update documentation for jump and call. 3528 3529Sun Apr 11 07:43:44 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 3530 3531 * jump.c (jump_optimize_1): Make the definition static to match 3532 the prototype. 3533 3534Sat Apr 10 22:51:53 1999 Jan Hubicka <hubicka@limax.paru.cas.cz> 3535 3536 * flow.c (life_analysis): New parameter remove_dead_code. 3537 (life_analysis_1): Likewise. 3538 (propagate_block): Likewise; use it. 3539 * output.h: Update prototype. 3540 * toplev.c: Update calls to life_analysis. 3541 3542Sat Apr 10 22:12:12 1999 Jan Hubicka <hubicka@freesoft.cz> 3543 3544 * recog.c (constrain_operands): Ignore unary operators when 3545 matching operands. Recognize '5'..'9' as well. 3546 3547Sat Apr 10 21:53:02 1999 Philipp Thomas (kthomas@gwdg.de) 3548 Richard Henderson <rth@cygnus.com> 3549 3550 * configure.in: Set target_cpu_default2 for target_alias k6. 3551 * i386.h (TARGET_SWITCHES): Remove no-<cpu> entries. 3552 (CC1_CPU_SPEC): Likewise. 3553 (CPP_CPU_DEFAULT_SPEC): Streamline definition. Add K6 version. 3554 (CPP_K6_SPEC): New. 3555 (CPP_CPU_SPEC): Add K6 variant. 3556 (EXTRA_SPECS): Likewise. 3557 3558Fri Apr 9 11:29:17 1999 Richard Henderson <rth@cygnus.com> 3559 3560 * flow.c (merge_blocks_nomove): Rewrite to properly handle two 3561 blocks that vanish entirely during merging. 3562 3563Sat Apr 10 20:09:55 1999 John Wehle (john@feith.com) 3564 3565 * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2, 3566 floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc, 3567 movxfcc, movdicc): Remove unused register constraints from 3568 the splitters. 3569 3570 * i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2, 3571 fixuns_truncxfsi2): Delete. 3572 3573 * reg-stack.c (delete_insn_for_stacker): Ensure that 3574 the only side effects of a PARALLEL are clobbers. 3575 (subst_stack_regs): Handle subst_stack_regs_pat deleting 3576 a PARALLEL. 3577 * i386.md (extendsfdf2, extenddfxf2, 3578 extendsfxf2): Rewrite using a splitter. 3579 * i386.c (output_op_from_reg): Remove. 3580 * i386.h: Likewise. 3581 3582Sat Apr 10 13:09:18 1999 Nick Clifton <nickc@cygnus.com> 3583 3584 * config/arm/arm.c (di_operand): Allow SUBREGs as well. 3585 (soft_df_operand): Allow SUBREGs as well. 3586 3587Sat Apr 10 06:14:31 1999 Jan Hubicka <hubicka@paru.cas.cz> 3588 3589 * extend.texi (Assembler Instructions with C Expression Operands): 3590 Document the i386 floating point operands. 3591 35921999-04-10 Mike Stump <mrs@wrs.com> 3593 3594 * configure.in (*-*-vxworks): Add vxWorks thread support for all 3595 vxWorks targets. 3596 * configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb. 3597 * configure: Rebuilt. 3598 3599Sat Apr 10 06:04:50 1999 Donn Terry (donn@interix.com) 3600 3601 * i386/t-interix: Use mostly system headers unchanged. 3602 Use system assert.h 3603 * fixinc/fixinc.interix: Ditto (make almost no-op). 3604 * config/x-interix.h (_ALL_SOURCE): add -D 3605 * config/x-interix.h (crti.o): Delete dependency. 3606 * config/xm-interix.h (ONLY_INT_FIELDS): Define only when bootstrapping. 3607 * i386/xm-i386-interix.h: New file. 3608 * i386/interix.h (ASM_OUTPUT_LIMITED_STRING): Fix warnings. 3609 * i386/i386-interix.h: Renamed from interix.h. 3610 * configure.in (interix): Use new files. 3611 * configure: Rebuilt. 3612 3613Sat Apr 10 05:25:28 1999 Daniel Jacobowitz <dan@debian.org> 3614 3615 * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions 3616 for -Dunix and -Dlinux, and remove duplicate definition. 3617 Change -Asystem(linux) to -Asystem(posix). 3618 (CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun, 3619 -DSVR4, -D__EXTENSIONS__. 3620 3621 * rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix, 3622 -Dlinux, -Asystem(linux), and -Asystem(unix). 3623 3624Sat Apr 10 05:14:50 1999 Mark Elbrecht <snowball3@usa.net> 3625 3626 * i386/djgpp.h (SET_ASM_OP): Define. 3627 3628 * cccp.c (DIR_SEPARATOR): Move to the top of the file. 3629 (is_dir_separator): New function. 3630 (simplify_filename): Use it. 3631 * collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place 3632 of the DIR_SEPARATOR test. 3633 Consider any file starting with a drivename to be absolute. 3634 If the absolute filename test fails and EXECUTABLE_SUFFIX is 3635 defined, append EXECUTABLE_SUFFIX to the file and try again. 3636 * cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM 3637 in place of __MSDOS__ and _WIN32. 3638 * cppfiles.c (simplify_pathname): Likewise. 3639 * gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a 3640 character is a directory separator. 3641 (find_a_file): Use it. 3642 (convert_filename): Likewise. 3643 (process_command): Likewise. 3644 (do_spec_1): Likewise. 3645 (is_directory): Likewise. 3646 (main): Likewise. 3647 * prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is 3648 a directory separator. 3649 (translate_name): Use it. 3650 (update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix 3651 warning in block where '/' is changed to DIR_SEPARATOR. 3652 * i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'. 3653 (DIR_SEPARATOR_2): New macro. Set to '\'. 3654 (HAVE_DOS_BASED_FILESYS): Define. 3655 * i386/xm-mingw32.h: Updated copyright. Set 3656 DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM. 3657 * i386/xm-os2.h: Likewise. 3658 * winnt/xm-winnt.h: Likewise. 3659 * i386/xm-dos.h: Likewise. Add copyright. 3660 36611999-04-10 Joseph S. Myers <jsm28@cam.ac.uk> 3662 3663 * pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax. 3664 (TARGET_DEFAULT): Possibly use UNIX syntax. 3665 (TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros. 3666 (REGISTER_NAMES): Use "r5" instead of "fp". 3667 (ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any 3668 greater alignment. 3669 * 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler 3670 syntax for 2BSD. 3671 * pdp11.c (output_ascii): Use working syntax for ".byte". 3672 (print_operand_address): Use "*" instead of "@" when using UNIX 3673 assembler syntax. 3674 3675Sat Apr 10 03:50:12 1999 Jeffrey A Law (law@cygnus.com) 3676 3677 * rtl.h (rebuild_jump_labels): Declare. 3678 * jump.c (jump_optimize_1): Renamed from jump_optimize. Make static. 3679 Add new argument MARK_LABELS_ONLY. Quit after mark_all_labels if 3680 requested. 3681 (jump_optimize, rebuild_jump_labels): New wrapper functions for 3682 jump_optimize_1. 3683 * toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of 3684 running the entire jump optimizer. 3685 3686 * rtl.h (local_alloc): Returns an integer now. 3687 * local-alloc.c (recorded_label_ref): New file scoped variable. 3688 (local_alloc): Initialize recorded_label_ref to zero. Return its 3689 value when local allocation has completed. 3690 (update_equiv_regs); If we create an equivalence for a LABEL_REF, 3691 set recorded_label_ref. 3692 * toplev.c (rest_of_compilation): Run the jump optimizer after 3693 register allocation and reloading if needed. 3694 3695Fri Apr 9 21:02:57 1999 Krister Walfridsson (cato@df.lth.se) 3696 3697 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Fix typo. 3698 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. 3699 37001999-04-09 Zack Weinberg <zack@rabi.columbia.edu> 3701 3702 * cpphash.c (special_symbol): When expanding __LINE__, use the 3703 top file buffer, not the top buffer. 3704 3705Fri Apr 9 13:41:04 1999 Jim Wilson <wilson@cygnus.com> 3706 3707 * Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add 3708 cd .. to TCL_LIBRARY command. 3709 3710Fri Apr 9 13:04:52 1999 Nick Clifton <nickc@cygnus.com> 3711 3712 * config/arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Only define if 3713 not already specified. 3714 3715Fri Apr 9 11:18:55 1999 Jason Merrill <jason@yorick.cygnus.com> 3716 3717 * c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays 3718 of classes, too. 3719 3720Fri Apr 9 10:40:10 1999 Kaveh R. Ghazi <ghazi@snafu.rutgers.edu> 3721 3722 * rs6000.c (rs6000_override_options, ptt, rs6000_file_start, 3723 rs6000_float_const, rs6000_replace_regno, debug_stack_info, 3724 rs6000_output_load_toc_table, output_prolog, output_epilog): 3725 Const-ify a char*. 3726 (output_mi_thunk): Likewise. Mark parameter `thunk_fndecl' with 3727 ATTRIBUTE_UNUSED. Hide unused variables `r0', `sp', `toc', 3728 `schain', `r12', `buf' and `labelno'. 3729 (output_ascii): Const-ify a char*. 3730 (rs6000_gen_section_name): Initialize variable `last_period'. 3731 (rs6000_adjust_priority): Mark parameter `insn' with 3732 ATTRIBUTE_UNUSED. 3733 (rs6000_trampoline_template, rs6000_dll_import_ref, 3734 rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*. 3735 3736 * rs6000.h (offsettable_mem_operand, optimization_options): Add 3737 prototypes. 3738 3739 * rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT 3740 when comparing against one. 3741 3742Thu Apr 8 19:20:18 1999 Jeffrey A Law (law@cygnus.com) 3743 3744 * expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF): 3745 Do not try to optimize a aggregate address which has VOIDmode. 3746 Mirrors March 23 change to expand_assignment. 3747 3748 * flow.c (delete_unreachable_blocks): Do not require EDGE_FALLTHRU 3749 for an edge when tidying an edge which connects consecutive basic 3750 blocks. 3751 3752 * flow.c (can_delete_label_p): Do not convert a label into a 3753 deleted label here. 3754 3755 * cse.c (flush_hash_table): New function. 3756 (cse_insn): Flush the hash table when we encounter a volatile asm. 3757 (cse_basic_block): Use flush_hash_table instead of doing it 3758 inline. 3759 3760 * reload1.c (reload_cse_regs_1): Flush known register values if 3761 we encounter a volatile asm. 3762 3763 * loop.c (strength_reduce): Re-enable Joern's loop improvements. 3764 3765Thu Apr 8 09:37:40 1999 Nick Clifton <nickc@cygnus.com> 3766 3767 * config/arm/arm.c (arm_print_operand): Undo previous change - 3768 always print large constants in decimal. 3769 3770Thu Apr 8 10:22:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 3771 3772 * configure.in (host_xm_file, build_xm_file): Include hwint.h. 3773 Use case statements instead of "if test -a ... -a ... -a ..." 3774 3775 * machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of 3776 HOST_WIDE_INT in #ifdef. 3777 3778 * mips.h: Include hwint.h instead of providing definitions for 3779 HOST_WIDE_INT, etc. Wrap uses of HOST_WIDE_INT in #ifdef. 3780 3781Thu Apr 8 06:16:14 1999 John Wehle (john@feith.com) 3782 3783 * i386.md (truncdfsf2, truncxfsf2, 3784 truncxfdf2): Rewrite using a splitter. 3785 3786Thu Apr 8 01:26:05 1999 Arg Haas (ahaas@neosoft.com) 3787 Jeffrey A Law (law@cygnus.com) 3788 3789 * freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Avoid ambiguous 3790 else statement. 3791 * gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. 3792 * linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. 3793 * openbsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. 3794 3795Wed Apr 7 22:40:19 1999 Jim Wilson <wilson@cygnus.com> 3796 3797 * i960/i960.c (i960_function_prologue): Don't save static chain 3798 pointer. 3799 * i960/i960.h (STACK_CHAIN_REGNUM): Change from r3 to g12. 3800 (TRAMPOLINE_TEMPLATE): Likewise. 3801 (FRAME_POINTER_REQUIRED): Check current_function_has_nonlocal_goto. 3802 * i960/i960.md (nonlocal_goto): Rewrite. 3803 3804Tue Apr 6 17:49:49 1999 Philip Blundell <pb@nexus.co.uk> 3805 3806 * config/arm/lib1funcs.asm: Test for __ELF__ not __elf__. 3807 3808Wed Apr 7 14:07:34 1999 Jeffrey A Law (law@cygnus.com) 3809 3810 * h8300.c (h8300_adjust_insn_length): Also avoid recognizing 3811 ADDR_VEC and ADDR_DIFF_VEC insns. 3812 3813 * h8300.c (h8300_adjust_insn_length): Avoid trying to recognize 3814 USE, CLOBBER or SEQUENCE insns. 3815 3816 * unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid 3817 to account for the uncopied insn that sets cc0 at the end of the loop. 3818 3819 * unroll.c (copy_loop_body): Always ensure at least two insns 3820 are in the copied loop. 3821 3822Wed Apr 7 14:52:18 1999 Catherine Moore <clm@cygnus.com> 3823 3824 * config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define. 3825 (UNIQUE_SECTION_P): Define. 3826 38271999-04-07 Bruce Korb <ddsinc09@ix.netcom.com> 3828 3829 * fixinc/inclhack.tpl & fixincl.tpl: 3830 Remove dynamic content from generated files 3831 3832Wed Apr 7 13:16:22 1999 John Wehle (john@feith.com) 3833 3834 * i386.c (output_move_memory): Remove. 3835 * i386.h: Likewise. 3836 3837 * i386.md (movsi, movhi, movstricthi, movqi, movstrictqi, 3838 movsf, movdf, movxf, movdi): Check no_new_pseudos instead 3839 of (reload_in_progress | reload_completed). 3840 3841Wed Apr 7 03:16:45 1999 Richard Henderson <rth@cygnus.com> 3842 3843 * alpha.c (reg_no_subreg_operand): New function. 3844 * alpha.h (PREDICATE_CODES): Add it. 3845 * alpha.md (floatdi?f patterns): Use it for op1. 3846 3847 * alpha.c (alpha_end_function): Don't flag weak functions. 3848 3849Wed Apr 7 02:11:55 1999 Richard Henderson <rth@cygnus.com> 3850 3851 * expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use 3852 copy_to_mode_reg; don't force constants into a register. 3853 3854Tue Apr 6 22:55:25 1999 Richard Henderson <rth@cygnus.com> 3855 3856 * toplev.c (compile_file): Typo flow_dump -> flow2_dump. 3857 38581999-04-06 Joseph S. Myers <jsm28@cam.ac.uk> 3859 3860 * pdp11.c (simple_memory_operand): Add default case in switch. 3861 * pdp11.h (TARGET_SWITCHES): Add help strings. 3862 (NOTICE_UPDATE_CC): Don't include excess argument to format. 3863 (ASM_OUTPUT_DOUBLE_INT): Remove. 3864 3865Tue Apr 6 22:09:40 1999 Richard Henderson <rth@cygnus.com> 3866 3867 * expr.c (expand_builtin_setjmp): Put setjmp return label on 3868 nonlocal_goto_handler_labels for flow. 3869 3870Tue Apr 6 22:05:21 1999 Jan Hubicka <hubicka@paru.cas.cz> 3871 Richard Henderson <rth@cygnus.com> 3872 3873 * flow.c (verify_flow_info): New function. 3874 (find_basic_blocks): Call it if ENABLE_CHECKING. 3875 (merge_blocks): Don't merge if there are non-deletable labels. 3876 * toplev.c (fatal_insn): Allow a printf-style arg list. 3877 * toplev.h (fatal_insn): Update prototype. 3878 3879Tue Apr 6 16:18:58 1999 Jan Hubicka <hubicka@paru.cas.cz> 3880 3881 * flow.c (split_edge) update correctly flow graph, disable 3882 EDGE_CRITICAL flag on the split edge, update NUSES for new label. 3883 3884Tue Apr 6 15:47:51 1999 Richard Henderson <rth@cygnus.com> 3885 3886 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT. 3887 Clear third and following slots, if they exist. 3888 3889Tue Apr 6 15:45:28 1999 Richard Henderson <rth@cygnus.com> 3890 3891 * flow.c (create_basic_block): Make sure the bb note is in the block. 3892 (can_delete_note_p): Rename from delete_note_p. 3893 (delete_insn_chain): Preserve undeleteable labels too. 3894 (tidy_fallthru_edge): Use next_real_insn instead of confusing 3895 inline code. 3896 38971999-04-06 Zack Weinberg <zack@rabi.columbia.edu> 3898 3899 * cppexp.c (parse_charconst): Initialize c. 3900 (cpp_parse_expr): Initialize rprio. 3901 * cppfiles.c (merge_include_chains): Initialize prev. 3902 (finclude): Set fp->line_base to fp->buf before returning. 3903 * cpphash.c (macroexpand): Initialize token. 3904 * cppspec.c (lang_specific_driver): Change suff to 3905 const char *const *. 3906 39071999-04-06 Zack Weinberg <zack@rabi.columbia.edu> 3908 3909 * cppinit.c (install_predefs): Delete function. 3910 (cpp_start_read): Don't call install_predefs. 3911 (cpp_handle_option): Remove case 'u' and all refs to 3912 opts->inhibit_predefs. 3913 (print_help): Don't mention -undef. 3914 (initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to 3915 match cccp. 3916 * cpplib.h (struct cpp_options): Remove inhibit_predefs 3917 member. 3918 3919 * cccp.c (predefs): Delete variable. 3920 (main): Remove case 'u' in argument parse loop, 3921 'inhibit_predefs' variable, and the code block that would 3922 process CPP_PREDEFINES. 3923 (initialize_builtins): Don't define __OBJC__, the driver will 3924 do that. 3925 3926 * gcc.c (default_compilers): Remove -undef from all specs that 3927 invoke a C preprocessor. 3928 * ch/lang-specs.h: Likewise. 3929 * cp/lang-specs.h: Likewise. 3930 * f/lang-specs.h: Likewise. 3931 * objc/lang-specs.h: Likewise. 3932 3933Mon Apr 5 11:55:31 1999 Donn Terry (donn@interix.com) 3934 3935 * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix misapplied patch. 3936 3937Mon Apr 5 11:51:38 1999 Jeffrey A Law (law@cygnus.com) 3938 3939 * m68k.md (movdf): Hide GPR sources & destinations from regclass. 3940 3941Mon Apr 5 09:54:42 1999 Jeff Law (law@cygnus.com) 3942 3943 * version.c: Bump for snapshot. 3944 3945Mon Apr 5 05:55:15 1999 Bruce Korb <ddsinc09@ix.netcom.com> 3946 3947 * fixincl.tpl: Separate "-e" from its argument, a la 3948 the Sat Apr 3 17:05:13 1999 fix. 3949 * genfixes: Ensure that the server shell is _NOT_ csh. 3950 3951Mon Apr 5 03:52:30 1999 Jeff Law (law@cygnus.com) 3952 3953 * version.c: Bump for snapshot. 3954 3955Mon Apr 5 04:47:14 1999 Jeffrey A Law (law@cygnus.com) 3956 3957 * i386.c (x86_double_with_add): Turn off for Pentium and PPro. 3958 (small_shift_operand, output_ashlsi3): New functions. 3959 * i386.h (small_shift_operand, output_ashlsi3): Declare. 3960 * i386.md (ashlsi3): Simplify ahlsi3 patterns. Remove splitters 3961 that are no longer needed. 3962 3963Sun Apr 4 04:05:04 1999 Jeffrey A Law (law@cygnus.com) 3964 3965 * stmt.c (expand_loop_end): When copying the loop exit test, 3966 do not walk into a nested loop. 3967 3968Sun Apr 4 00:14:54 1999 Jeffrey A Law (law@cygnus.com) 3969 3970 * fixinc/hackshell.tpl: Skip links to directories, to avoid 3971 removing them. 3972 * fixinc/inclhack.tpl: Likewise. 3973 * fixinc/fixinc.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt. 3974 3975Sat Apr 3 23:46:13 1999 David Edelsohn <edelsohn@gnu.org> 3976 3977 * rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3, 3978 movsi_got, movsi, movsf): Use no_new_pseudos. 3979 * rs6000.c (rs6000_got_register): Likewise. 3980 (offsettable_mem_opereand): Use || not |. 3981 3982Sat Apr 3 22:02:56 1999 Jeffrey A Law (law@cygnus.com) 3983 3984 * acconfig.h (ENABLE_CHECKING): Remove redundant #undef. 3985 * config.in: Rebuilt. 3986 3987Sat Apr 3 16:22:59 1999 Toshiyasu Morita (tm@netcom.com) 3988 3989 * gcc.texi: Add info on regmove pass. 3990 3991 * regmove.c (fixup_match_1): Consistently evaluate 3992 HAVE_POST_INCREMENT and HAVE_POST_DECREMENT. 3993 3994Sat Apr 3 19:21:05 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 3995 3996 * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER): Use grep 3997 instead of test and sed to check whether they're GNU programs. 3998 * configure: Rebuilt. 3999 4000Sat Apr 3 17:57:35 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 4001 4002 * Makefile.in (install-headers-tar, install-headers-cpio): Avoid 4003 problems with CDPATH. 4004 Reported by Ralf Canis <canis@bigfoot.com> 4005 4006Sat Apr 3 13:50:16 1999 Jeffrey A Law (law@cygnus.com) 4007 4008 * fixinc.x86-linux-gnu: Deleted. 4009 4010Sat Apr 3 17:05:13 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 4011 4012 * inclhack.tpl: Insert spaces between `sed -e' and '...'. 4013 Reported by Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4014 * fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Regen. 4015 4016Sat Apr 3 14:54:46 1999 Craig Burley <craig@jcb-sc.com> 4017 4018 * tree.def (BLOCK): Fix typo in comment. 4019 4020Sat Apr 3 00:53:29 1999 John Wehle (john@feith.com) 4021 4022 * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2, 4023 floatsixf2, floatdixf2): Rewrite using a splitter. 4024 4025Fri Apr 2 17:36:10 1999 Nick Clifton <nickc@cygnus.com> 4026 4027 * config/arm/arm.c (arm_print_operand): Print large constants in 4028 hex rather than decimal. 4029 4030Fri Apr 2 17:23:58 1999 Nick Clifton <nickc@cygnus.com> 4031 4032 * print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC 4033 and HOST_WIDE_INT_PRINT_HEX to display constants. 4034 40351999-04-02 Zack Weinberg <zack@rabi.columbia.edu> 4036 4037 * config/i386/i386.h: Document all TARGET_SWITCHES or add 4038 explicit null initializer. 4039 4040 * config/i386/cygwin.h: Document all SUBTARGET_SWITCHES. 4041 * config/i386/dgux.h: Likewise. 4042 * config/i386/osf1elf.h: Likewise. 4043 * config/i386/win32.h: Likewise. 4044 * config/i386/osfrose.h: Likewise. Drop obsolete -mno-ident option. 4045 4046Fri Apr 2 17:49:44 1999 Toshiyasu Morita <tm@netcom.com> 4047 4048 * regmove.c (fixup_match_1): Remove now useless if (0). 4049 4050Sat Apr 3 11:37:20 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4051 4052 * tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT, 4053 USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document. 4054 (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT, 4055 USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation. 4056 4057 * rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT, 4058 USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT, 4059 USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT, 4060 USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default 4061 definition. 4062 4063 * expr.c (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT, 4064 USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default 4065 definition. 4066 4067Fri Apr 2 16:03:05 1999 Jeffrey A Law (law@cygnus.com) 4068 4069 * fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted. 4070 * fixinc.sco, fixinc.svr4, fixinc.winnt, fixinc.wrap: Likewise. 4071 4072Fri Apr 2 15:46:25 1999 Donn Terry (donn@interix.com) 4073 4074 * configure.in: Set and substitute quoted_cc_set_by_configure. 4075 * configure: Rebuilt. 4076 * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix quoting problem with ``. 4077 4078Fri Apr 2 14:35:45 1999 Stan Cox <scox@cygnus.com> 4079 4080 * config/i386/cygwin.h (CPP_SPEC): Use mingw_include_path instead 4081 of a hardcoded path for -mno-cygwin. 4082 (mingw_include_path): New. 4083 40841999-04-02 Joseph S. Myers <jsm28@cam.ac.uk> 4085 4086 * pdp11.c: Include "recog.h". 4087 (output_function_prologue): Remove unused variables `nregs', `i', 4088 `offset'. 4089 (output_function_epilogue): Remove unused variables 4090 `may_call_alloca', `nregs', `regno', `adjust_fp'. 4091 (output_ascii): Mark as returning void. 4092 (print_operand_address: Likewise. 4093 (simple_memory_operand): Remove unused variables `plus0', `plus1', 4094 `offset'. 4095 * pdp11.h: Declare functions `arith_operand', 4096 `const_immediate_operand', `expand_shift_operand', 4097 `legitimate_address_p', `notice_update_cc_on_set', `output_ascii', 4098 `output_function_epilogue', `output_function_prologue', 4099 `print_operand_address', `register_move_cost', 4100 `simple_memory_operand'. 4101 (HARD_REGNO_MODE_OK): Parenthesize `REGNO' arg. 4102 (REGNO_REG_CLASS): Likewise. 4103 * pdp11.md: Add explicit `int' to `static count' (in two places). 4104 (addhi3): Add explicit braces to avoid ambiguous else. 4105 (addqi3): Likewise. 4106 (ashlhi3): Likewise. 4107 4108Fri Apr 2 14:17:10 1999 Jerry James <jerry@cs.ucsb.edu> 4109 4110 * gcc/invoke.texi: Add documentation for additional supported 4111 MIPS CPU types, options -mips16 and -mentry, and ABI and ISA 4112 defaults. 4113 4114Fri Apr 2 14:12:06 1999 John Wehle (john@feith.com) 4115 4116 * i386.md: Delete floating point compare, add, subtract, 4117 multiply, and divide patterns which allowed integer 4118 operands. 4119 * i386.c (output_387_binary_op): Delete unused code. 4120 (output_float_compare): Likewise. 4121 4122Fri Apr 2 11:53:37 1999 John Wehle (john@feith.com) 4123 4124 * i386.md (movsf+1, movdf+1, movxf+1): Update constraints 4125 so that SECONDARY_MEMORY_RELOAD is used. Remove dead code. 4126 41271999-04-02 Bruce Korb <ddsinc09@ix.netcom.com> 4128 4129 * fixinc/mkfixinc.sh: Added support for x86-interix. 4130 * fixinc/fixinc.interix: Fixincludes script, slight changes 4131 from ./fixinc.interix. Untested (needs interix box). 4132 * fixinc/inclhack.def: 4133 Complete the change to the 'fixinc.tmp' file. 4134 Fixed regex for finding C++ headers. 4135 * fixincl.x, fixincl.sh, inclhack.sh: Regenerate. 4136 4137Fri Apr 2 11:36:12 1999 Jan Hubicka (hubicka@paru.cas.cz) 4138 4139 * i386.c (print_operand_address, case REG): Do not use ESI addressing 4140 mode for the K6. 4141 4142 * i386.c (print_operand_address, case MULT): Use more efficient 4143 encoding (mult (reg) (const_int 2)). 4144 4145Thu Apr 1 17:01:50 1999 Richard Henderson <rth@cygnus.com> 4146 4147 Move over patch from Bernd Schmidt from GC branch: 4148 * emit-rtl.c (gen_rtx_CONST_DOUBLE): New function. 4149 (gen_rtx): Call it. Tidy cases. 4150 * rtl.h (gen_rtx_CONST_DOUBLE): Prototype it. 4151 * gengenrtl.c: Add commentary. 4152 (special_rtx): Also match CONST_DOUBLE. 4153 (gencode): Emit call to memset instead of bzero. 4154 4155Fri Apr 2 12:58:26 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4156 4157 * config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1 4158 into a register if shift count not constant. 4159 (ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1 4160 is a register. 4161 4162Fri Apr 2 12:19:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4163 4164 * config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED 4165 is non-zero. 4166 (movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address 4167 register constraints. 4168 (*movhi_clobber+1): Modify splitter pattern to handle destination 4169 register that is used in the source address. 4170 (*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands. 4171 4172Fri Apr 2 12:16:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4173 4174 * config/c4x/c4x.h: Added more comments. 4175 4176Fri Apr 2 11:58:22 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4177 4178 * config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode 4179 constants into memory if we get called directly from gen_move_insn 4180 rather than emit_move_insn. 4181 (c4x_legitimize_address): Fix up LABEL_REF addresses. 4182 4183Thu Apr 1 12:04:05 1999 Jim Wilson <wilson@cygnus.com> 4184 4185 * expr.c (store_field): When check direct_store, assume all complex 4186 modes can be directly stored. 4187 41881999-04-01 Bruce Korb <ddsinc09@ix.netcom.com> 4189 4190 * fixinc/genfixes: New shell script that runs autogen 4191 to create the generated files. 4192 41931999-04-01 Manfred Hollstein <manfred@s-direktnet.de> 4194 4195 * Makefile.in (cppmain$(exeext)): Depend on intl.o. Link in intl.o. 4196 4197Thu Apr 1 03:48:34 1999 H.J. Lu (hjl@gnu.org) 4198 4199 * i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT 4200 signed integer comparisons. 4201 4202 * i386.c (output_int_conditional_move): Use "enum rtx_code" for code 4203 type. 4204 4205 * i386.c (notice_update_cc): No need to check the INT mode for 4206 conditional moves since FLOAT conditional moves don't affect cc0. 4207 4208Thu Apr 1 02:17:18 1999 Jeffrey A Law (law@cygnus.com) 4209 4210 * fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger 4211 string to only match on hpux11. 4212 * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt. 4213 4214Thu Apr 1 01:09:27 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 4215 4216 * fixinc/hackshell.tpl: Complete transition to fixinc.tmp. 4217 * fixinc/inclhack.sh: Rebuilt. 4218 4219 * fixinc/inclhack.def: Fix typos in c_asm.h fix. 4220 * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt. 4221 4222Wed Mar 31 17:20:11 1999 Jeffrey A Law (law@cygnus.com) 4223 4224 * toplev.c (rest_of_compilation): Allow dbr_schedule to write to 4225 the dump file too. 4226 4227Wed Mar 31 12:32:43 1999 Richard Henderson <rth@cygnus.com> 4228 4229 * flow.c (find_basic_blocks): New argument `do_cleanup'. 4230 Conditionally call delete_unreachable_blocks. 4231 (free_basic_block_vars): Zero ENTRY/EXIT data. 4232 (allocate_for_life_analysis): Kill. Split into... 4233 (allocate_bb_life_data, allocate_reg_life_data): ... new functions. 4234 (life_analysis_1): Update. 4235 * gcse.c (gcse_main): Update find_basic_blocks call. 4236 * toplev.c (rest_of_compilation): Likewise. 4237 * stupid.c (stupid_life_analysis): Update life data calls. 4238 * rtl.h, output.h: Update prototypes. 4239 4240Wed Mar 31 12:10:00 1999 Bruce Korb <ddsinc09@ix.netcom.com> 4241 4242 * inclhack.def (several): Added spaces in tests to ensure 4243 correct shell syntax. Added c_asm.h fix from fixincludes. 4244 Also corrected the corrected fix to C++ comments :-} 4245 4246 * inclhack.tpl: Changed method of traversing symlink trees 4247 so that file name matching will work correctly. 4248 4249 * fixincl.c, hackshell.tpl: Fallout from above. 4250 * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt. 4251 4252Tue Mar 30 10:43:49 1999 Philip Blundell <pb@nexus.co.uk> 4253 4254 * config/arm/aout.h (DBX_DEBUGGING_INFO): Avoid redefinition if 4255 dbxelf.h was previously included. 4256 (CPP_APCS_PC_DEFAULT_SPEC): No need to undefine. 4257 4258 * config/arm/linux-elf.h (FP_DEFAULT): Correctly override the 4259 definition from arm.h. 4260 4261Wed Mar 31 10:33:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4262 4263 * Makefile.in (c-gperf.h): Generate using gperf language 'C', not 4264 'KR-C', so gperf uses the `const' keyword on strings. 4265 4266 * c-parse.gperf (resword): Const-ify a char*. 4267 4268Wed Mar 31 01:49:31 1999 Ian Lance Taylor <ian@zembu.com> 4269 4270 * t-rtems (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define. 4271 4272Wed Mar 31 00:50:48 1999 Jeffrey A Law (law@cygnus.com) 4273 4274 * system.h (STDERR_FILENO): Fix typo. 4275 4276 * inclhack.def (bool): Also fix bogus bool in curses_colr/curses.h. 4277 * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt. 4278 4279Tue Mar 30 20:51:40 1999 Mark Mitchell <mark@codesourcery.com> 4280 4281 * alias.c (alias_set_compare): Remove. 4282 (record_alias_subset): Use splay_tree_compare_ints instead of 4283 alias_set_compare. 4284 (init_alias_once): Likewise. 4285 * cse.c: Include splay-tree.h. 4286 (reg_qty): Remove. 4287 (reg_tick): Likewise. 4288 (reg_table): Likewise. 4289 (cse_reg_info): New structure. 4290 (cse_reg_info_free_list): New variable. 4291 (cse_reg_info_tree): Likewise. 4292 (cached_regno): Likewise. 4293 (cached_cse_reg_info): Likewise. 4294 (all_minus_one): Remove. 4295 (consec_ints): Likewise. 4296 (GET_CSE_REG_INFO): New macro. 4297 (REG_TICK): Likewise. Use throughout instead of reg_tick. 4298 (REG_IN_TABLE): Likewise. Use throughout instead of reg_in_table. 4299 (REG_QTY): Likewise. Use throughout instead of reg_qty. 4300 (get_cse_reg_info): New function. 4301 (free_cse_reg_info): Likewise. 4302 (new_basic_block): Reinitialize cse_reg_info_tree instead of 4303 reg_tick, all_minus_one, and consec_ints. 4304 * Makefile.in (cse.o): Depend on splay-tree.h 4305 4306Tue Mar 30 13:19:36 1999 Jason Merrill <jason@yorick.cygnus.com> 4307 4308 * libgcc2.c (throw_helper): Just return the SP offset, rather than 4309 a whole udata. Include args_size in the offset. 4310 (__throw, __rethrow): Adjust. 4311 4312Tue Mar 30 11:39:27 1999 Craig Burley <craig@jcb-sc.com> 4313 4314 * extend.texi (Extended Asm): Delete spurious `b' before 4315 `@end example', which was confusing texi2html. 4316 4317Tue Mar 30 00:26:34 1999 Jason Merrill <jason@yorick.cygnus.com> 4318 4319 * dwarf2out.c (output_line_info): Don't emit redundant info. 4320 Do start a new row if the file changes and the line # doesn't. 4321 4322Mon Mar 29 15:48:39 1999 Jason Merrill <jason@yorick.cygnus.com> 4323 4324 * invoke.texi (Invoking G++, C++ Dialect Options): Update. 4325 4326Mon Mar 29 15:05:39 1999 Richard Henderson <rth@cygnus.com> 4327 4328 * except.c (start_dynamic_handler): Force jmp_buf address to 4329 and operand before moving to memory. 4330 4331Mon Mar 29 15:11:10 1999 Craig Burley <craig@jcb-sc.com> 4332 4333 * invoke.texi (Code Gen Options): Attempt to clarify 4334 -fcheck-memory-usage. Minor edits to -fprefix-function-name. 4335 4336Mon Mar 29 20:52:47 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 4337 4338 * loop.c (maybe_eliminate_biv): For libcalls that set a giv, skip to 4339 end of libcall. 4340 4341Mon Mar 29 20:35:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 4342 4343 * sh.md (mulsi3): Tag an extra REG_EQUAL note to the middle insn. 4344 4345Mon Mar 29 11:50:34 1999 Jerry Quinn <jquinn@nortelnetworks.com> 4346 4347 * pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000 4348 class machine. 4349 (HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise. 4350 (HAVE_POST_DECREMENT): Likewise. 4351 4352Mon Mar 29 08:24:43 1999 Bruce Korb <korb@datadesign.com> 4353 4354 * fixinc/mkfixinc.sh: Fix portability problems with old shells. 4355 4356 * fixinc/README: Updated for release announcement 4357 4358Sun Mar 28 20:26:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4359 4360 * recog.h (insn_outfun, insn_operand_predicate): Add prototype 4361 arguments. 4362 4363 * rtl.h (note_stores): Likewise. 4364 4365 * rtlanal.c (note_stores): Likewise. 4366 4367Sun Mar 28 15:34:28 1999 Richard Henderson <rth@cygnus.com> 4368 4369 * varasm.c (output_constant_pool): Always mark the constant pool. 4370 4371Sun Mar 28 16:09:01 1999 Jerry Quinn <jquinn@nortelnetworks.com> 4372 4373 * pa.md (pa7100LCshiftmem, pa7100LCalu): Change simultaneity. Use 4374 shift/mem ops in pa7100LCalu. 4375 4376 * pa.c (pa_adjust_cost): Don't do cost adjustments on pa8000. 4377 (pa_reorg): Don't call pa_combine_instructions on pa8000. 4378 4379Sun Mar 28 15:27:26 1999 Jeffrey A Law (law@cygnus.com) 4380 4381 * reload1.c (reload): Remove accidental code duplication. 4382 4383Sun Mar 28 12:22:12 1999 Robert Lipe (robertlipe@usa.net) 4384 4385 * i386/sysv5.h: New file to describe UnixWare7/SVR5. 4386 * configure.in (i?86-UnixWare7*-sysv): Use it. 4387 * i386/udk.h: Use sysv5.h. Now uses Dwarf-2. 4388 4389Sun Mar 28 01:15:04 1999 Jeff Law (law@cygnus.com) 4390 4391 * version.c: Bump for snapshot. 4392 4393Sun Mar 28 00:44:27 1999 Jeffrey A Law (law@cygnus.com) 4394 4395 * sdbout.c (sdbout_symbol): Do not call build_pointer_type, build 4396 one on the fly and do not cache the result. 4397 4398 * gcc.cps, cpp.cps: Delete unwanted files. 4399 4400Sat Mar 27 23:37:40 1999 John Wehle (john@feith.com) 4401 4402 * i386.md (movdicc+3, movdicc+4): Rewrite using split_di. 4403 * i386.c (output_int_conditional_move): Delete unused code. 4404 4405Sat Mar 27 21:17:36 1999 David Edelsohn <edelsohn@gnu.org> 4406 4407 * rs6000/{aix41.h,aix43.h} (ASM_CPU_SPEC): Add 604e. 4408 4409Sat Mar 27 16:13:50 1999 Jeffrey A Law (law@cygnus.com) 4410 4411 * flow.c (mark_used_regs): Improve handling of ASMs. 4412 44131999-03-26 Zack Weinberg <zack@rabi.columbia.edu> 4414 4415 * Makefile.in (xcpp, cppspec.o): New targets. 4416 (CPP_INSTALL_NAME): New macro. 4417 (install-cpp): Install xcpp. Use CPP_INSTALL_NAME. 4418 (all.build, start.encap): Build xcpp. 4419 4420 * cppspec.c: New file, implements argument filtering for a 4421 user-visible C preprocessor. 4422 * cpp.sh: Removed. 4423 4424Fri Mar 26 20:41:46 1999 Jim Wilson <wilson@cygnus.com> 4425 4426 * Makefile.in (stmp-fixinc): Use tooldir instead of gcc_tooldir. 4427 4428Fri Mar 26 16:02:37 1999 Nick Clifton <nickc@cygnus.com> 4429 4430 * configure.in (arm-*-vxworks*): Just include arm/vxarm.h. 4431 * configure: Regenerate. 4432 * config/arm/vxarm.h: Define SUBTARGET_CPU_DEFAULT before 4433 including arm/coff.h 4434 44351999-02-16 Scott Bambrough <scottb@corelcomputer.com> 4436 4437 * configure.in (arm*-*-linux-gnu*): Set thread_file to 'posix' if 4438 --enable-threads[={yes,pthreads,posix}] is passed as a command 4439 line parameter to configure. 4440 4441 * configure: Regenerate. 4442 4443 * gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS): Include -fPIC. 4444 4445Fri Mar 26 19:42:19 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 4446 4447 * loop.c (combine_givs): Fix index into can_combine when doing 4448 benefit adjustment for remaining givs when having combined a giv. 4449 4450Fri Mar 26 11:38:01 1999 Nick Clifton <nickc@cygnus.com> 4451 4452 * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define. 4453 4454Fri Mar 26 10:48:27 1999 Nick Clifton <nickc@cygnus.com> 4455 4456 * config/arm/linux-elf.h: Include dbxelf.h 4457 4458Fri Mar 26 10:43:47 1999 Nick Clifton <nickc@cygnus.com> 4459 4460 * config/svr4.h: Include new header file dbxelf.h. 4461 (DBX_DEBUGGING_INFO): Remove definition. 4462 (DBX_USE_BINCL): Remove definition. 4463 (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition. 4464 (ASM_IDENTIFY_GCC): Remove definition. 4465 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition. 4466 (ASM_OUTPUT_SOURCE_LINE): Remove definition. 4467 (DBX_FUNCTION_FIRST): Remove definition. 4468 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Remove definition. 4469 4470 * config/elfos.h: Include new header file dbxelf.h. 4471 (DBX_DEBUGGING_INFO): Remove definition. 4472 (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition. 4473 (ASM_IDENTIFY_GCC): Remove definition. 4474 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition. 4475 (ASM_OUTPUT_SOURCE_LINE): Remove definition. 4476 (DBX_FUNCTION_FIRST): Remove definition. 4477 4478 * config/dbxelf.h: New header file. 4479 (DBX_DEBUGGING_INFO): Define. 4480 (DBX_BLOCKS_FUNCTION_RELATIVE): Define. 4481 (DBX_FUNCTION_FIRST): Define. 4482 (DBX_USE_BINCL): Define. 4483 (DBX_CONTIN_LENGTH): Define. 4484 (ASM_IDENTIFY_GCC): Define. 4485 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Define. 4486 (ASM_OUTPUT_SOURCE_LINE): Define. 4487 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define. 4488 4489Fri Mar 26 01:59:15 1999 "Charles M. Hannum" <root@ihack.net> 4490 4491 * fold-const.c (fold_truthop): Optimize bitfield references with 4492 different masks as long as their size and bit position are the same. 4493 4494 * fold-const.c (fold_truthop): Build a type for both the lhs and 4495 rhs and use it appropriately. 4496 4497 * fold-const.c (fold_truthop): Mask the lhs and rhs after merging 4498 adjacent bitfield references. 4499 4500 * fold-const.c (fold_truthop): Verify that the lhs and rhs are 4501 in the same bit position when optimizing bitfield references 4502 which have the same mask. 4503 4504Thu Mar 25 22:53:27 1999 Martin von L�wis <loewis@informatik.hu-berlin.de> 4505 4506 * gcc.texi (Copy Assignment): New node. 4507 45081999-03-25 Zack Weinberg <zack@rabi.columbia.edu> 4509 4510 * gcc.c: Compile unconditionally all code formerly dependent 4511 on #ifdef LANG_SPECIFIC_DRIVER. 4512 * gccspec.c: New file with stub lang_specific_driver, 4513 lang_specific_pre_link. 4514 * Makefile.in: Link gccspec.o into xgcc. Add rule to compile 4515 4516Thu Mar 25 21:08:02 1999 Jason Merrill <jason@yorick.cygnus.com> 4517 4518 * gcc.texi (Temporaries): Update. 4519 4520Thu Mar 25 16:53:53 1999 Richard Henderson <rth@cygnus.com> 4521 4522 * combine.c (distribute_notes): Place REG_LABEL also where 4523 REG_EQUAL indicates. 4524 4525Thu Mar 25 12:46:37 1999 Jim Wilson <wilson@cygnus.com> 4526 4527 * a29k/a29k.h (TARGET_SWITCHES): Add doc strings. 4528 * i960/i960.h (TARGET_SWITCHES): Add doc strings. 4529 * invoke.texi (a29k): Add documentation for -mno-multm option. 4530 4531Thu Mar 25 14:04:54 1999 Andrew MacLeod <amacleod@cygnus.com> 4532 4533 * rtl.texi (RTX_FRAME_RELATED_P): Add documentation. 4534 * rtl.h (struct rtx_def): Update comment for frame_related field. 4535 (set_unique_reg_note): Declare prototype. 4536 * dwarf2out.c (dwarf2out_frame_debug_expr): Split out from 4537 'dwarf2out_frame_debug' to handle only expressions, and process 4538 component parts of a PARALLEL expression. 4539 (dwarf2out_frame_debug): Process insns only, and call 4540 new function 'dwarf2out_frame_debug_expr' for patterns. 4541 * emit-rtl.c (set_unique_reg_note): New function to add a reg note, 4542 but if there is an existing one, delete it first. 4543 * expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note. 4544 * optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note. 4545 (emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note. 4546 (expand_fix): Use set_unique_reg_note. 4547 4548Thu Mar 25 11:47:49 1999 Art Haas <ahaas@neosoft.com> 4549 4550 * tlink.c (symbol_hash_newfunc): Remove redundant call to 4551 hash_newfunc. 4552 (file_hash_newfunc, demangled_hash_newfunc): Likewise. 4553 4554Thu Mar 25 10:05:56 1999 Richard Henderson <rth@cygnus.com> 4555 4556 * i386.h (PREFERRED_STACK_BOUNDARY): Set to 128. 4557 45581999-03-25 Philip Blundell <pb@nexus.co.uk> 4559 4560 Based on patch from Jim Studt <jim@federated.com>: 4561 * config/arm/linux-elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Copy 4562 definitions from config/linux.h. 4563 (DBX_BLOCKS_FUNCTION_RELATIVE): Define to 1. 4564 4565Thu Mar 25 02:12:42 1999 Finn Hakansson <finn@axis.com> 4566 4567 * loop.c (strength_reduce): Correct a comment. 4568 4569 * rtl.h (MEM_COPY_ATTRIBUTES): Remove unnecessary ending backslash. 4570 4571Thu Mar 25 02:02:13 1999 Axel Thimm <Axel.Thimm@physik.fu-berlin.de> 4572 4573 * Makefile.in (RANLIB_TEST): Improve test. 4574 4575Thu Mar 25 01:15:33 1999 Donn Terry <donn@interix.com> 4576 4577 * combine.c (force_to_mode, case PLUS): Use sign extended mask 4578 when masking the low bits out of a constant. 4579 4580Tue Mar 23 15:45:25 1999 Richard Earnshaw (rearnsha@arm.com) 4581 Jeff Law <law@cygnus.com> 4582 4583 * fold-const.c (make_range): If orig_type is unset, set it as soon 4584 as we know the type. Remove now unnecessary set of orig_type for 4585 conversions. 4586 4587Wed Mar 24 23:27:25 1999 Mark Elbrecht <snowball3@usa.net> 4588 Jeff Law <law@cygnus.com> 4589 4590 * system.h (STDIN_FILENO): Provide default definition if one is not 4591 provided by the system header files. 4592 (STDOUT_FILENO, STDERR_FILENO): Likewise. 4593 4594 * i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro. 4595 * collect2.c (main): Use it. 4596 (pexecute_pid): New variable. Holds return value from call to pexecute. 4597 (collect2_execute): Rework to use pexecute instead of fork. 4598 (collect2_wait): Use pwait() instead of wait(). 4599 4600 * i386/djgpp.h: Fix typo. 4601 4602Wed Mar 24 23:24:30 1999 Jeffrey A Law (law@cygnus.com) 4603 4604 * fixinc/mkfixinc.sh: Recognize cygwin* instead of only 4605 cygwin32. 4606 4607Wed Mar 24 15:44:12 1999 Nick Clifton <nickc@cygnus.com> 4608 4609 * config/m32r/m32r.c (init_idents): Accept both NAME and __NAME__ 4610 versions of attribute names and values. 4611 (m32r_valid_machine_decl_attribute): Likewise. 4612 (m32r_encode_section_info): Likewise. 4613 4614Wed Mar 24 21:42:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 4615 4616 * reload1.c (choose_reload_regs): If output-reloading for a 4617 simple move insn, try to inherit an equivalence for the input. 4618 46191999-02-24 Mike Stump <mrs@wrs.com> 4620 4621 * arm/aout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Fix quoting. 4622 46231999-03-24 Jim Blandy <jimb@zwingli.cygnus.com> 4624 4625 * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all 4626 platforms. 4627 4628Wed Mar 24 01:35:01 1999 Geoff Keating <geoffk@ozemail.com.au> 4629 4630 * fold-const.c (fold): Recognize a rotate by an unsigned amount. 4631 4632Tue Mar 23 23:32:14 1999 Jeffrey A Law (law@cygnus.com) 4633 4634 * pa.md (rotlsi3): New expander. Synthesize a variable rotate 4635 left using a variable rotate right. Provide anonymous pattern for 4636 rotate left by a constant value. 4637 4638 * expr.c (expand_assignment): Do not try to optimize a aggregate 4639 address which has VOIDmode. 4640 4641Tue Mar 23 22:51:48 1999 Mumit Khan <khan@xraylith.wisc.edu> 4642 Donn Terry <donn@interix.com> 4643 4644 * protoize.c (abspath): Preserve multiple leading slashes for 4645 _WIN32 and Interix. 4646 46471999-01-23 Mike Stump <mrs@wrs.com> 4648 4649 * arm/vxarm.h: Split out vxWorks support into separate headerfile 4650 and vxify. 4651 * arm/arm.c (cpu_defaults): Allow arm710 as default. 4652 4653 * configure.in: Split out vxWorks support for Arm. 4654 * configure: Rebuilt. 4655 4656Tue Mar 23 11:20:03 1999 Per Bothner <bothner@cygnus.com> 4657 4658 * tree.c (first_rtl_op, has_cleanups): Handle GOTO_SUBROUTINE_EXPR. 4659 4660Tue Mar 23 09:00:39 1999 Nick Clifton <nickc@cygnus.com> 4661 4662 * config/arm/riscix1.h (SUBTARGET_SWITCHES): Add doc string. 4663 * config/arm/riscix1-1.h (SUBTARGET_SWITCHES): Add doc string. 4664 4665Tue Mar 23 07:50:20 1999 Mark Mitchell <mark@codesourcery.com> 4666 4667 * function.c: Include hash.h. 4668 (insns_for_mem_entry): New struct. 4669 (put_reg_into_stack): Take an optional hash-table mapping MEMs to 4670 the INSNs that use them. 4671 (fixup_var_refs): Likewise. 4672 (put_addressof_into_stack): Likewise. 4673 (purge_addressof_1): Likewise. Keep the hash-table up to date if 4674 we add new instructions. 4675 (fixup_var_refs_insns): Use it to avoid searching the entire 4676 instruction chain. 4677 (insns_for_mem_newfunc): New function. 4678 (insns_for_mem_comp): Likewise. 4679 (insns_for_mem_walk): Likewise. 4680 (compute_insns_for_mem): Likewise. 4681 (pop_function_context_from): Pass NULL for the hash-table. 4682 (put_var_into_stack): Likewise. 4683 (gen_mem_addressof): Likewise. 4684 (flush_addressof): Likewise. 4685 (purge_addressof): Call compute_insns_for_mem to pre-compute the 4686 hash table. 4687 * Makefile.in (OBJS): Include hash.o. 4688 (function.o): Depend on hash.h. 4689 4690Tue Mar 23 00:39:14 1999 Jeffrey A Law (law@cygnus.com) 4691 4692 * i386/openbsd.h (TARGET_DEFAULT): Use symbolic names instead of 4693 numbers. 4694 * i386/netbsd.h, i386/freebsd.h: Likewise. 4695 4696 * crtstuff.c: Use ANSI function definitions. Fix minor whitespace 4697 problems. 4698 4699 * i386/openbsd.h (TARGET_DEFAULT): Define. 4700 * configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD 4701 configurations. 4702 * configure: Rebuilt. 4703 4704Tue Mar 23 00:39:10 1999 John Wehle (john@feith.com) 4705 4706 * i386/freebsd.h (TARGET_DEFAULT): Define instead 4707 of TARGET_CPU_DEFAULT. 4708 * i386/netbsd.h (TARGET_DEFAULT): Likewise. 4709 4710Mon Mar 22 23:52:01 1999 Mumit Khan <khan@xraylith.wisc.edu> 4711 Donn Terry <donn@interix.com> 4712 4713 * sdbout.c (syms.h): Don't include on Interix. 4714 * toplev.c (main): No sbrk on Interix. 4715 4716 * configure.in: Add i386-pc-interix support. 4717 * configure: Regenerate. 4718 * fixinc.interix: New file. 4719 * config/interix.h: New file. 4720 * config/x-interix: New file. 4721 * config/xm-interix.h: New file. 4722 * i386/interix.h: New file. 4723 * i386/interix.c: New file. 4724 * i386/t-interix: New file. 4725 4726Mon Mar 22 23:41:49 1999 Jeffrey A Law (law@cygnus.com) 4727 4728 * i386.h (PREFERRED_STACK_BOUNDARY): Define. 4729 4730Mon Mar 22 23:41:31 1999 John Wehle (john@feith.com) 4731 4732 * i386.c (ix86_compute_frame_size): New function. 4733 (ix86_prologue, ix86_epilogue): Use it. 4734 * i386.h (INITIAL_ELIMINATION_OFFSET): Likewise. 4735 * reload1.c: Provide default for PREFERRED_STACK_BOUNDARY. 4736 4737Mon Mar 22 18:06:59 1999 Jim Wilson <wilson@cygnus.com> 4738 4739 * mips/mips.h (TARGET_SWITCHES, TARGET_OPTIONS): Add option doc 4740 strings. 4741 * mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Likewise. 4742 4743Mon Mar 22 16:18:27 1999 Nick Clifton <nickc@cygnus.com> 4744 4745 * config/arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother 4746 passing ATTRIBUTES to arm_valid_machine_decl_attribute. 4747 4748 * config/arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother 4749 passing ATTRIBUTES to arm_valid_machine_decl_attribute. 4750 4751 * config/arm/arm.h (DEFAULT_RTX_COSTS): Do not bother passing 4752 OUTER_CODE to arm_rtx_costs - it is not used. 4753 (arm_compare_fp): Delete declaration. 4754 (FINAL_PRESCAN_INSN): Do not bother passing OPVEC or NOPERANDS to 4755 arm_final_prescan_insn - they are not used. 4756 (const_ok_for_op): Remove prototype. 4757 (arm_rtx_costs): Fix prototype. 4758 (arm_valid_machine_decl_attribute): Fix prototype. 4759 (final_prescan_insn): Fix prototype. 4760 4761 * config/arm/arm.md: Remove references to arm_compare_fp. 4762 4763 * config/arm/arm.c (arm_compare_fp): Delete. 4764 (const_ok_for_op): Make function static. Add prototype. Remove 4765 mode parameter - it is unused. 4766 (arm_rtx_costs): Remove outer_code parameter. 4767 (reload_memory_operand): Declare mode parameter unused. 4768 (power_of_two_operand): Declare mode parameter unused. 4769 (equality_operator): Declare mode parameter unused. 4770 (load_multiple_operation): Declare mode parameter unused. 4771 (store_multiple_operation): Declare mode parameter unused. 4772 (multi_register_push): Declare mode parameter unused. 4773 (arm_valid_machine_decl_attribute): Remove attributes parameter - 4774 it is unused. 4775 (select_dominance_cc_mode): Remove op parameter - it is unused. 4776 (gen_compare_reg): Remove fp parameter - it is unused. 4777 (final_prescan_insn): Remove opvec and noperands parameters - they 4778 are unused. 4779 4780Mon Mar 22 14:35:28 1999 Nick Clifton <nickc@cygnus.com> 4781 4782 * tm.texi (MD_SCHED_INIT): Add missing closing parenthesis. 4783 4784Mon Mar 22 22:24:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 4785 4786 * reload1.c (reload_as_needed): Set reload_is_output_reload / 4787 reload_has_output_reload for auto_inc expressions that could be 4788 reloaded. Call forget_old_reloads for REG_INC notes. 4789 4790Mon Mar 22 21:51:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 4791 4792 * cse.c (cse_insn): Don't change the result register of a libcall. 4793 4794Mon Mar 22 21:08:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 4795 4796 * rtl.h (shallow_copy_rtx): Declare. 4797 * rtl.c (shallow_copy_rtx): New function. 4798 * reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of 4799 copy_rtx. 4800 4801Mon Mar 22 10:44:33 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com> 4802 4803 * config/h8300/h8300.md (adjust_length): New attribute. 4804 (modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn 4805 default value of attribute "adjust_length" onto "no". 4806 4807 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust 4808 length only if the attribute "adjust_length" value is "yes". 4809 Use 0 if the shift is negative. 4810 4811 * final.c (shorten_branches): Check insn length after its 4812 adjusting. 4813 4814Sun Mar 21 17:33:48 1999 Jeffrey A Law (law@cygnus.com) 4815 4816 * i860.h (TARGET_SWITCHES): Add documentation for default case. 4817 * i860/paragon.h (TARGET_SWITCHES): Add documentation for default case. 4818 * i370.h (TARGET_SWITCHES): Add documentation for default case. 4819 * fx80.h (TARGET_SWITCHES): Add documentation for default case. 4820 * elxsi.h (TARGET_SWITCHES): Add documentation for default case. 4821 * clipper.h (TARGET_SWITCHES): Add documentation for default case. 4822 * 1750a.h (TARGET_SWITCHES): Add documentation for default case. 4823 * pa.h (TARGET_SWITCHES): Add documentation for default case. 4824 (TARGET_OPTIONS): Likewise for default case. 4825 * mn10300.h (TARGET_SWITCHES): Add documentation for default case. 4826 * h8300.h (TARGET_SWITCHES): Add documentation for default case. 4827 4828 * gcse.c (dump_hash_table): Fix whitespace in declaration. 4829 (compute_transpout): Renamed from pre_compute_transpout. 4830 (compute_pre_*): Deleted. 4831 (pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP. All 4832 callers changed. 4833 (insert_insn_end_bb): Renamed from pre_insert_insn. 4834 (pre_*): Delete unused variables. Only leave local properties and 4835 global redundant/optimal computation points. 4836 (alloc_pre_mem, free_pre_mem): Corresponding changes. 4837 (compute_pre_data): Simplify and call pre_lcm to run the lazy 4838 code motion dataflow analysis. 4839 (pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM 4840 based redundant and optimal computation points. 4841 4842 * basic-block.h (pre_lcm, pre_rev_lcm): Declare. 4843 4844 * toplev.c (main): A debug option without a level defaults to 4845 level 2. 4846 4847Sun Mar 21 12:13:01 1999 Nick Clifton <nickc@cygnus.com> 4848 4849 * flow.c (can_delete_label_p): Do not allow user specified 4850 labels to be deleted. 4851 * dwarf2out.c (gen_label_die): Generate addresses for deleted 4852 (programmer specified) labels. 4853 * dwarfout.c (output_label_die): Generate addresses for deleted 4854 (programmer specified) labels. 4855 48561999-03-21 Manfred Hollstein <manfred@s-direktnet.de> 4857 4858 * Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be 4859 linked with. 4860 4861Sun Mar 21 01:15:03 1999 Jeff Law (law@cygnus.com) 4862 4863 * version.c: Bump for snapshot. 4864 4865Sat Mar 20 22:26:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4866 4867 * sparc.h (TARGET_SWITCHES): Add null description to default case. 4868 4869Sat Mar 20 21:46:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4870 4871 * c-lex.c (yylex): Remove unused variable `bytes'. 4872 4873 * flow.c (print_rtl_with_bb): Cast the return value of alloca. 4874 4875 * function.c (assign_parms): Wrap variable `varargs_setup' in 4876 macro SETUP_INCOMING_VARARGS. 4877 (thread_prologue_and_epilogue_insns): Mark parameter `f' with 4878 ATTRIBUTE_UNUSED. 4879 4880 * local-alloc.c (no_equiv): Likewise for parameter `store'. 4881 4882 * sched.c (schedule_insns): Remove unused variables `insn' and `next'. 4883 4884 * tlink.c (symbol_hash_newfunc, symbol_hash_lookup, 4885 file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc, 4886 demangled_hash_lookup, symbol_push, symbol_pop, file_push, 4887 file_pop, tlink_init, tlink_execute, frob_extension, 4888 obstack_fgets, tfgets, pfgets, freadsym, read_repo_file, 4889 maybe_tweak, recompile_files, read_repo_files, 4890 demangle_new_symbols, scan_linker_output): Add static prototype. 4891 4892 (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc): 4893 Make the third argument a `hash_table_key'. 4894 4895 * toplev.c (debug_start_source_file): Mark parameter `filename' 4896 with ATTRIBUTE_UNUSED. 4897 4898Sun Mar 21 02:28:21 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 4899 4900 * tm.texi (Varargs): Don't split argument of @item across lines. 4901 4902 * invoke.texi: Fix use of @item vs @itemx. 4903 4904Sun Mar 21 09:59:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4905 4906 * config/c4x/c4x.h (TARGET_SWITCHES): Add null description to 4907 default case. 4908 4909Sat Mar 20 23:33:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4910 4911 * loop.c (check_dbra_loop): Fix debug message. 4912 4913Sat Mar 20 15:54:35 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4914 4915 * config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end 4916 pattern instead of decrement_and_branch_until_zero pattern. 4917 4918Sat Mar 20 11:39:58 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 4919 4920 * config/c4x/c4x.h (TARGET_SWITCHES): Add documentation. 4921 * config/c4x/c4x.h (TARGET_OPTIONS): Add documentation. 4922 4923Fri Mar 19 23:26:29 1999 Martin von L�wis <loewis@informatik.hu-berlin.de> 4924 4925 * expr.c (expand_expr): Handle ERROR_MARK much earlier. 4926 4927Fri Mar 19 15:28:38 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4928 4929 * cccp.c (create_definition): Cast to U_CHAR* when assigning to one. 4930 4931 * cppfiles.c (read_and_prescan): Likewise. 4932 Start a #define in column 0. 4933 4934 * cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one. 4935 (cpp_push_buffer): Likewise for cpp_buffer*. 4936 (do_include): Change the type of `fbeg' and `fend' to unsigned char*. 4937 (do_endif): Cast to char* when assigning to one. 4938 (do_assert): Likewise. 4939 (do_unassert): Likewise. 4940 (cpp_read_check_assertion): Change the type of `name' to U_CHAR*. 4941 Don't do unnecessary cast to char* anymore. 4942 4943 * genrecog.c (make_insn_sequence): Cast to char** when assigning 4944 to one. Cast the first argument of bzero to PTR. 4945 4946 * loop.c (strength_reduce): Remove unused variable `note'. 4947 4948 * reload1.c (new_insn_chain): Cast to struct insn_chain* when 4949 assigning to one. 4950 4951 * rtl.c (copy_rtx): Use memcpy instead of bcopy. 4952 4953Fri Mar 19 11:19:31 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 4954 4955 * calls.c (initialize_argument_information): Mark parameters 4956 `num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED. 4957 4958 * dbxout.c (dbxout_start_new_source_file): Likewise for parameter 4959 `filename'. 4960 (dbxout_finish): Likewise for parameters `file' and `filename'. 4961 (dbxout_prepare_symbol): Likewise for parameter `decl'. 4962 (dbxout_begin_function): Likewise. 4963 4964 * explow.c (hard_function_value): Likewise for parameter `func'. 4965 4966 * function.c (locate_and_pad_parm): Likewise for parameter `fndecl'. 4967 4968 * expmed.c (expand_divmod): Omit unused argument to `expand_abs'. 4969 * expr.c (expand_expr): Likewise. 4970 * expr.h (expand_abs): Delete unused argument from prototype. 4971 * optabs.c (expand_abs): Remove unused parameter `unsignedp'. 4972 4973 * sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED. 4974 (sdbout_end_block): Likewise for parameter `n'. 4975 4976 * toplev.c (debug_define): Likewise for parameters `lineno' and 4977 `buffer'. 4978 (debug_undef): Likewise. 4979 4980 * varasm.c (named_section): Likewise for parameter 'reloc'. 4981 (assemble_external): Likewise for parameter `decl'. 4982 (assemble_alias): Likewise for parameter `target'. 4983 4984Fri Mar 19 01:54:30 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> 4985 4986 * toplev.c (read_integral_parameter): Constify. Better control of 4987 error messages. 4988 (main): Use read_integral_parameter to set optimize, id_clash_len, 4989 larger_than_size, and the debugging level. 4990 * toplev.h (read_integral_parameter): Update prototype. 4991 4992Fri Mar 19 01:42:05 1999 Zack Weinberg <zack@rabi.phys.columbia.edu> 4993 4994 * system.h: Use putc_unlocked, fputc_unlocked, and 4995 fputs_unlocked only if putc_unlocked has a prototype already. 4996 Prototype fputs_unlocked if necessary. 4997 * configure.in: Check for prototypes of putc_unlocked and 4998 fputs_unlocked. 4999 * acconfig.h: Updated. 5000 * config.in, configure: Rebuilt. 5001 5002Fri Mar 19 02:45:12 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 5003 5004 * Makefile.in (INTL_TARGETS): New macro. 5005 ($(INTL_TARGETS)): Depend on generated sources; drop dependencies 5006 on cp/parse.c and objc/objc-parse.c. 5007 ($(srcdir)/cp/parse.c): Move to cp/Make-lang.in. 5008 * objc/Make-lang.in ($(INTL_TARGETS)): Depend on objc/objc-parse.c. 5009 5010Thu Mar 18 22:28:53 1999 Jeffrey A Law (law@cygnus.com) 5011 5012 * i860.h (TARGET_SWITCHES): Add documentation. 5013 * i860/paragon.h (TARGET_SWITCHES): Add documentation. 5014 * i370.h (TARGET_SWITCHES): Add documentation. 5015 * fx80.h (TARGET_SWITCHES): Add documentation. 5016 * elxsi.h (TARGET_SWITCHES): Add documentation. 5017 * clipper.h (TARGET_SWITCHES): Add documentation. 5018 * 1750a.h (TARGET_SWITCHES): Add documentation. 5019 * pa.h (TARGET_SWITCHES): Add documentation. 5020 (TARGET_OPTIONS): Likewise. 5021 * mn10300.h (TARGET_SWITCHES): Add documentation. 5022 * h8300.h (TARGET_SWITCHES): Add documentation. 5023 5024Thu Mar 18 15:58:26 1999 Nick Clifton <nickc@cygnus.com> 5025 5026 * loop.c (strength_reduce): Do not perform pseudo replacements 5027 if the loop contains volatile memory references. 5028 5029Thu Mar 18 19:09:50 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5030 5031 * reload.c (find_reloads_toplev): When processing X recursively, 5032 don't alter it destructively except by filling in constants. 5033 5034Thu Mar 18 10:14:18 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5035 5036 * cccp.c (default_include): Initialize structure members. 5037 (pass_thru_directive): Change the type of 'keyword_length' to int. 5038 (main): Cast `bindtextdomain' and `textdomain' to (void). 5039 5040 * collect2.c (main): Likewise. 5041 5042 * cppmain.c (main): Likewise. 5043 5044 * gcc.c (main): Likewise. 5045 5046 * gcov.c (main): Likewise. 5047 5048 * protoize.c (main): Likewise. 5049 5050 * toplev.c (main): Likewise. 5051 50521999-03-18 Gavin Romig-Koch <gavin@cygnus.com> 5053 5054 * config/mips/mips.c (mips_explicit_type_size_string): Correct 5055 its type. 5056 5057Thu Mar 18 01:24:25 1999 Jeffrey A Law (law@cygnus.com) 5058 5059 * configure.in: Use "exit 1", not "exit (1)". 5060 * configure: Rebuilt. 5061 5062Wed Mar 17 23:17:42 1999 Mark Kettenis <kettenis@gnu.org> 5063 5064 * config/t-gnu (SYSTEM_HEADER_DIR): New variable. Set to 5065 `/include' in order to find the system's limits.h. 5066 5067Wed Mar 17 23:00:18 1999 Robert Lipe <robertlipe@usa.net> 5068 5069 * fixinc/fixincl.c: Include auto-host.h instead of config.h. 5070 * fixinc/procopen.c: Likewise. 5071 * fixinc/regex.c: Likewise. 5072 * fixinc/server.c: Likewise. 5073 5074Wed Mar 17 22:46:13 1999 Mark Elbrecht <snowball3@usa.net. 5075 5076 * config/i386/go32.h: Delete. 5077 * config/i386/djgpp.h: New. Renamed from go32.h. 5078 Added -DDJGPP=2 to CPP_PREDEFINES. 5079 * config/i386/go32-rtems.h: Delete. 5080 * config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h. 5081 Added -DDJGPP=2 to CPP_PREDEFINES. 5082 * config/i386/xm-go32.h: Delete. 5083 * config/i386/xm-djgpp.h: New. Renamed from xm-go32.h. 5084 * config/i386/x-go32: Delete. 5085 * config/i386/x-djgpp: New. Renamed from x-go32. 5086 * config/i386/t-go32: Delete. 5087 * config/i386/t-djgpp: New. Renamed from t-go32. 5088 * configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h. 5089 Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp. 5090 Set xmake_file to i386/x-djgpp. 5091 (*-go32-msdos, *-go32*): Remove entries. Warn that GO32/DJGPP V1.X 5092 is now unsupported and *-pc-msdosdjgpp for DJGPP V2.X should be 5093 used instead. 5094 * configure: Rebuilt. 5095 5096 * gcc.c (process_command): Dump link_command_spec too. 5097 5098Wed Mar 17 20:38:08 1999 Jerry Quinn <jquinn@nortelnetworks.com> 5099 Jeff Law <law@cygnus.com> 5100 5101 * pa.md: Add real PA8000 scheduling information. 5102 5103 * pa.h (processor_type): Add PROCESSOR_8000 symbol. 5104 (ISSUE_RATE): Revamp, including PA8000 support. 5105 * pa.c (override_options): Add 8000 as -mschedule= option. 5106 Do not call strcmp if pa_cpu_string is null. 5107 * pa.md (attr cpu): Add 8000. 5108 * invoke.texi: Add documentation for PA8000 scheduling. 5109 5110Wed Mar 17 18:20:24 1999 David S. Miller <davem@redhat.com> 5111 5112 * config/sparc/sparc.h (TARGET_SWITCHES, TARGET_OPTIONS): 5113 Add descriptions. 5114 * config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise. 5115 * config/sparc/splet.h (SUBTARGET_SWITCHES): Likewise. 5116 5117Wed Mar 17 14:51:19 1999 Richard Henderson <rth@cygnus.com> 5118 5119 * flow.c (compute_immediate_dominators): New function. 5120 * basic-block.h (compute_immediate_dominators): Declare it. 5121 5122 * alpha.h (HARD_REGNO_MODE_OK): Allow only 4 and 8 byte unit modes 5123 in FP regs. 5124 (MODES_TIEABLE_P): Define asymmetricly wrt modes illegal in FP regs. 5125 5126Wed Mar 17 14:41:41 1999 Nick Clifton <nickc@cygnus.com> 5127 5128 * config/arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Fix compile 5129 time warning. 5130 * config/arm/arm.md: Fix various compile time warnings. 5131 * config/arm/arm.h: Fix various compile time warnings. Add 5132 function prototypes. 5133 * config/arm/arm.c: Fix various compile time warnings. 5134 (arm_override_options): Reorganize to separate tuning from 5135 targetting. 5136 (bit_count): New function: Return a count of the number of bits 5137 set in a word. 5138 5139Wed Mar 17 21:29:12 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5140 5141 * reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for 5142 things that were eliminated. 5143 5144Wed Mar 17 12:16:26 1999 Richard Henderson <rth@cygnus.com> 5145 5146 * function.c (fixup_var_refs_1): First try moving the expression 5147 directly into a register. Don't separate cc0 setter and user. 5148 5149Wed Mar 17 11:20:29 1999 Dave Brolley <brolley@cygnus.com> 5150 5151 * cppfiles.c (PIPE_BUF): #define PIPE_BUF if not defined already. 5152 5153Wed Mar 17 09:25:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5154 5155 * c-lex.c: Don't include setjmp.h. 5156 (parse_float): New static function. 5157 (pf_args): New struct. 5158 (yylex): Use them in call to `do_float_handler'. 5159 51601999-03-16 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 5161 5162 * cexp.y (yyerror): Call verror to get a useful error message. 5163 * cexp.c: Rebuilt. 5164 5165 * .gdbinit: Move command to put breakpoint at abort to end of file 5166 so that gdb does not bail out early. 5167 5168Tue Mar 16 15:30:19 1999 Nick Clifton <nickc@cygnus.com> 5169 5170 * rtl.h: Rename prototype for free_bb_memory to free_bb_mem. 5171 5172Tue Mar 16 23:40:09 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5173 5174 * sh.md (movsi_i): Move t/r alternative after r/rI alternative. 5175 5176Tue Mar 16 13:44:50 1999 Jim Wilson <wilson@cygnus.com> 5177 5178 * mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3): 5179 Delete emit_library_call_value declaration. 5180 51811999-03-16 Zack Weinberg <zack@rabi.columbia.edu> 5182 5183 * cppfiles.c (read_and_prescan): Map backslash-newline to '\r' 5184 (which cannot otherwise appear in the processed buffer) and 5185 move it out of tokens that it appears in the middle of. 5186 Improve performance. 5187 (find_position): New function. 5188 5189 * cpplib.c: \r (one character) indicates backslash 5190 newline, not \\\n (two characters). It cannot appear in the 5191 middle of a token. Call CPP_BUMP_LINE (pfile) whenever 5192 parsing moves past \n or \r. Increment pfile->lineno whenever 5193 a \n is placed into token_buffer. Only one mark can exist at 5194 a time, and CPP_BUMP_LINE must not be used while it is 5195 active. It is automatically cleared by cpp_pop_buffer and 5196 parse_goto_mark. \r is not in is_hor_space or is_space. 5197 5198 (NEWLINE_FIX, NEWLINE_FIX1, adjust_position, 5199 update_position, count_newlines, parse_move_mark): Removed. 5200 (parse_string, copy_comment): New functions. 5201 (parse_name): Returns void. 5202 (parse_set_mark, parse_clear_mark, parse_goto_mark): Take only 5203 one argument, a cpp_reader *. Change for new marking scheme. 5204 (skip_comment): Handle CHILL line comments too. Second 5205 argument is now first character of comment marker; all callers 5206 changed. Issue error for unterminated block comment here. 5207 (cpp_skip_hspace): Recognize CHILL comments. 5208 (copy_rest_of_line): Likewise. Call skip_comment and 5209 parse_string directly, don't go through cpp_get_token. Emit 5210 "/**/" for block comments if -traditional (create_definition 5211 needs this). 5212 (do_define): Don't play with put_out_comments. 5213 (cpp_push_buffer): Initialize ->mark to -1. 5214 (cpp_buf_line_and_col): Just read out the values in the buffer 5215 structure. 5216 (output_line_command): Use cpp_buf_line_and_col. Fix 5217 formatting. Remove stale code. 5218 (cpp_get_token): Break out string parsing code to 5219 parse_string. Use skip_comment for CHILL comments too. Use 5220 copy_comment for put_out_comments instead of dinking with 5221 marks. Remove stale code. Don't call output_line_command 5222 unless it's necessary. 5223 5224 * cpplib.h (parse_marker): Removed. 5225 (struct cpp_buffer): Line_base is now a unsigned char *; add 5226 `mark' [long], remove `marks' [struct parse_marker *]. 5227 (parse_set_mark, parse_clear_mark, parse_goto_mark): Update 5228 prototypes. 5229 (CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros. 5230 * cppinit.c (is_hor_space, is_space): '\r' is not considered 5231 whitespace. 5232 * cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not 5233 SKIP_WHITE_SPACE. 5234 * cpphash.c (macarg): Disable line commands while expanding. 5235 5236Tue Mar 16 11:30:19 1999 Gavin Romig-Koch <gavin@cygnus.com> 5237 5238 * c-lex.c (yylex) : Remove warning for integer literals being 5239 larger than the largest target int. Add warning for integer 5240 literal being larger than than its chosen type. 5241 5242Tue Mar 16 10:53:17 1999 Gavin Romig-Koch <gavin@cygnus.com> 5243 5244 * invoke.texi: Add -mlong32 documentation. 5245 * config/mips/mips.h (mips_explicit_type_size_string): New. 5246 (TARGET_SWITCHES): Add 'long32'. 5247 (TARGET_OPTIONS): Add 'explicit-type-size'. 5248 (CC1_SPECS): Set -mexplicit-type-size. 5249 (LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'. 5250 * config/mips/abi64.h (LONG_MAX_SPEC): Same. Add 'mabi=32'. 5251 * config/mips/mips.c (mips_explicit_type_size_string): New. 5252 (override_options): Use it. 5253 * config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size. 5254 5255 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): 5256 Pointer size now depends on both size longs and size of GP 5257 registers. 5258 5259Tue Mar 16 10:22:22 1999 Gavin Romig-Koch <gavin@cygnus.com> 5260 5261 * config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP, 5262 dtors_section): Use Pmode == DImode rather than TARGET_LONG64. 5263 * config/mips/mips.c (override_options): Allow -mlong64 and 5264 -mint64 with -mips2 or less. 5265 * config/mips/mips.h (MASK_LONG64): Fix comment. 5266 (POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64. 5267 (Pmode): Make Pmode the smaller of longs or gp registers. 5268 * invoke.texi: Note the new size for pointers. 5269 5270Mon Mar 15 22:45:25 1999 David Edelsohn <edelsohn@gnu.org> 5271 5272 * rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754 5273 bit-pattern directly. 5274 (ASM_OUTPUT_REG_{PUSH,POP}): Delete. 5275 * rs6000.c (first_reg_to_save): If profiling and context needed, 5276 allocate a reg to save static chain for all ABIs. For AIX 5277 profiling, calculate parameter registers to save based on need. 5278 (output_function_profiler): Save and restore static chain around 5279 profile call for all ABIs. 5280 52811999-03-15 Zack Weinberg <zack@rabi.columbia.edu> 5282 5283 * cppinit.c: Instead of one pending list, keep separate lists 5284 for each category of pending option: -D/-U, -A, -include, 5285 -imacros. Move the four partial include-path lists into the 5286 pending block. Use head and tail pointers so we don't ever 5287 have to reverse the lists. 5288 5289 (cpp_start_read): Break out blocks of code to their own 5290 functions: install_predefs and initialize_dependency_output. 5291 Use path_include for C_INCLUDE_PATH and friends as well as 5292 CPATH. Remove include_defaults gunk. Warn about the 5293 combination of -lang-chill and -trigraphs. Optimize string 5294 bashing. Walk each pending list once, deallocating as we go. 5295 5296 (append_include_chain): Brought over from cppfiles.c. Mark 5297 dirs as system include dirs if and only if appending to 5298 system include path. If opts->verbose, print a notice when a 5299 dir is dropped from the include path because it doesn't 5300 exist. Fix memory leak: this function is not supposed to copy 5301 its DIR argument. 5302 5303 (nreverse_pending, push_pending): Removed. 5304 (APPEND): New macro for adding to pending lists. 5305 (path_include): Can now add to any partial include path. 5306 (base_name): Bring over from cccp.c. 5307 (cpp_options_init): Allocate the pending block. 5308 (cpp_handle_option): Add --version. Exit after --help. Fix 5309 formatting. Order -ifoo options by frequency of usage. 5310 (install_predefs): New function, simplified version of code 5311 that was in cpp_start_read. 5312 (initialize_dependency_output): Likewise. Understand OBJECT_SUFFIX. 5313 5314 * cppfiles.c (simplify_pathname): Export. 5315 (merge_include_chains): Don't nreverse the lists. If 5316 opts->verbose, print a notice when a duplicate dir is detected 5317 and dropped from the include path. 5318 (finclude): Fix excessive cleverness in setting 5319 fp->system_header_p. 5320 (actual_directory): Set x->sysp from 5321 CPP_BUFFER (pfile)->system_header_p so that one system header 5322 may include another with "". 5323 (deps_output): Fix double adjustment of deps_size which would 5324 cause all dependencies after the first two lines to be lost. 5325 5326 * cpplib.c (cpp_unassert): New function. 5327 * cpplib.h: Lay out struct cpp_pending here. Adjust 5328 prototypes. Add include_prefix_len to struct cpp_options. 5329 5330Mon Mar 15 16:01:52 1999 Jim Wilson <wilson@cygnus.com> 5331 5332 * config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving 5333 from HI/LO/HILO/MD into general registers the same as for one 5334 of moving general registers to HI/LO/HILO/MD. 5335 5336Mon Mar 15 12:39:38 1999 Nick Clifton <nickc@cygnus.com> 5337 5338 * config/m32r/m32r.c (init_idents): New function. Initialize 5339 static tree nodes for m32r specific attribute identifiers. Remove 5340 leading and trailing double underscores from the attribute names. 5341 (m32r_valid_machine_decl_attribute): Call init_idents. 5342 (m32r_encode_section_info): Call init_idents. 5343 5344Mon Mar 15 10:20:20 1999 Mark Mitchell <mark@markmitchell.com> 5345 5346 * reload.c (find_reloads): Add a REG_LABEL note if we substitute a 5347 LABEL_REF for something else. 5348 5349Mon Mar 15 08:24:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5350 5351 * fold-const.c (exact_real_inverse): Move variable `float_error' 5352 into the scope where it is used. 5353 (const_binop_1): New static function. 5354 (cb_args): New struct. 5355 (const_binop): Use them in call to `do_float_handler'. 5356 (fold_convert_1): New static function. 5357 (fc_args): New struct. 5358 (fold_convert): Use them in call to `do_float_handler'. 5359 5360Mon Mar 15 22:50:18 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 5361 5362 * rtlanal.c (auto_inc_p): New function. 5363 * rtl.h (auto_inc_p): Prototype it. 5364 * reload1.c (add_auto_inc_notes): New function. 5365 (reload): Strip REG_INC notes and call add_auto_inc_notes 5366 for each insn to restore them correctly. 5367 53681999-03-15 Manfred Hollstein <manfred@s-direktnet.de> 5369 5370 * fixinc/Makefile.in (procopen.o): List the actual 5371 dependencies. 5372 5373Sun Mar 14 16:22:10 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5374 5375 * cse.c (check_fold_consts): New static function. 5376 (cfc_args): New struct. 5377 (simplify_relational_operation): Use them in call to 5378 `do_float_handler'. 5379 5380 * toplev.c (do_float_handler): New function to wrap calls to 5381 setjmp/set_float_handler. 5382 5383 * toplev.h (do_float_handler): Add extern prototype. 5384 5385 * tree.c (build_real_from_int_cst_1): New static function. 5386 (brfic_args): New struct. 5387 (build_real_from_int_cst): Use them in call to 5388 `do_float_handler'. 5389 5390Sun Mar 14 01:15:06 1999 Jeff Law (law@cygnus.com) 5391 5392 * version.c: Bump for snapshot. 5393 5394Sat Mar 13 17:37:18 1999 Richard Henderson <rth@cygnus.com> 5395 5396 * haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET. 5397 5398Sat Mar 13 11:36:16 1999 Richard Earnshaw (rearnsha@arm.com) 5399 5400 * arm.c (arm_split_constant): Don't try to force a constant to 5401 memory after arm_reorg has run. 5402 (after_arm_reorg): New static variable. 5403 (arm_reorg): Set it. 5404 (output_func_epilogue): Clear it. 5405 5406Fri Mar 12 20:26:32 1999 David Edelsohn <edelsohn@gnu.org> 5407 5408 * configure.in ({rs6000,powerpc}-ibm-aix*): Set float_format to none. 5409 * configure: Rebuilt. 5410 5411Fri Mar 12 20:45:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5412 5413 * unroll.c (loop_iterations): Don't return a final value for EQ 5414 comparison loops. 5415 5416Fri Mar 12 12:35:01 1999 Jim Wilson <wilson@cygnus.com> 5417 5418 * reload1.c (calculate_needs_all_insns): When ignore equivalence 5419 setting insn, clear need_elim, need_reload, and need_operand_change. 5420 5421Fri Mar 12 07:54:43 1999 Bruce Korb <korb@datadesign.com> 5422 5423 * fixinc/fixinc.*: Some changes from the fixincl-branch 5424 were not applied (??!!). Corrected. 5425 5426 * fixinc/Makefile.in: Same thing. 5427 5428Fri Mar 12 00:51:43 1999 Jeffrey A Law (law@cygnus.com) 5429 5430 * expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than 5431 MAX_INTEGER_COMPUTATION_MODE. 5432 5433Thu Mar 11 14:00:58 1999 Richard Henderson <rth@cygnus.com> 5434 5435 * alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs. 5436 (MODES_TIEABLE_P): Update. 5437 5438 * alpha.md (ev5_e0): Conflict loads and stores. 5439 5440Thu Mar 11 13:55:52 1999 Richard Henderson <rth@cygnus.com> 5441 5442 * machmode.h (smallest_mode_for_size): Prototype. 5443 * stor-layout.c (smallest_mode_for_size): Remove static. 5444 5445Thu Mar 11 21:25:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5446 5447 * loop.c (strength_reduce): Don't do biv increment -> DEST_REG giv 5448 conversion if we don't know the lifetime. 5449 5450Thu Mar 11 20:37:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5451 5452 * reload.1c (delete_address_reloads_1): Check for reloads of 5453 CURRENT_INSN even if it sets DST. 5454 5455Thu Mar 11 10:29:50 1999 Jason Merrill <jason@yorick.cygnus.com> 5456 5457 * dwarf2out.c (add_AT_lbl_offset): Rename from add_AT_section_offset. 5458 (print_die, size_of_die, value_format, output_die): Adjust. 5459 5460Thu Mar 11 10:27:42 1999 Robert Lipe <robertlipe@usa.net> 5461 5462 * dwarf2out.c (TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL, 5463 DEBUG_INFO_SECTION_LABEL, ABBREV_SECTION_LABEL, 5464 text_section_label, debug_line_section_label, 5465 debug_info_section_label, abbrev_section_label): New. 5466 (output_compilation_unit_header): Emit label associated 5467 with section instead of section name itself. 5468 (out_pubnames, output_aranges, output_line_info, 5469 dwarf2out_finish): Likewise. 5470 (dwarf2out_init): Build internal label names for sections 5471 from static labels. 5472 5473Thu Mar 11 17:28:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5474 5475 * sh.md (mulsi3): End mul.l sequence with a no-op move. 5476 5477Thu Mar 11 08:52:02 1999 Bruce Korb <korb@datadesign.com> 5478 5479 * Makefile.in: Activated fixinc/mkfixinc.sh. 5480 * configure.in: Activated fixinc/mkfixinc.sh. 5481 5482Thu Mar 11 01:38:02 1999 Mumit Khan <khan@xraylith.wisc.edu> 5483 5484 * cppfiles.c (INO_T_EQ): Handle UWIN. 5485 5486 * c-common.c (decl_attributes): Flag unrecognized attribute 5487 functions as warnings instead of as errors. 5488 5489 Support for i386-pc-uwin. 5490 * i386/uwin.h: New file. 5491 * i386/xm-uwin.h: New file. 5492 * i386/t-uwin: New file. 5493 * i386/uwin.asm: New file. 5494 * configure.in (i[3456]86-*-uwin*): Define. 5495 Add Workaround for vfork bug when hosted on uwin. 5496 * configure: Regenerate. 5497 5498 * cccp.c (INO_T_EQ): Undefine. UWIN has inodes. 5499 (absolute_filename): UWIN uses POSIX pathnames only. 5500 * libgcc2.c (getpagesize): Do not define for UWIN. 5501 (mprotect): Likewise. 5502 * protoize.c (dirent.h): Conditionally include. 5503 (fputc): Prototype only if it's not a macro. 5504 5505Wed Mar 10 02:49:04 1999 Jason Merrill <jason@yorick.cygnus.com> 5506 5507 * configure.in: Remove init_priority stuff. 5508 55091999-03-11 Colin Smith <colin@wrs.com> 5510 5511 * sdbout.c (plain_type_1): Make boolean types work better with sdb. 5512 5513Thu Mar 11 00:20:52 1999 Alexandre Oliva <oliva@dcc.unicamp.br> 5514 5515 * gcc.texi: Update bug reporting instructions to match 5516 current ezmlm list reality. 5517 5518Wed Mar 10 23:11:19 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5519 5520 * gcc.c (print_file_name, print_prog_name, spec_machine, 5521 read_specs, set_spec, lookup_compiler, build_search_list, 5522 putenv_from_prefixes, find_a_file, record_temp_file, 5523 delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file, 5524 is_directory, validate_switches, used_arg, default_arg, 5525 pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error, 5526 notice, add_preprocessor_option, add_assembler_option, 5527 add_linker_option, process_command, execute, 5528 unused_prefix_warnings, clear_args, fatal_error, 5529 lang_specific_driver, user_specs, compiler, link_command_spec, 5530 option_map, translate_options, make_temp_file, temp_name, 5531 programname, path_prefix, machine_suffix, just_machine_suffix, 5532 gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1, 5533 md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1, 5534 standard_startfile_prefix, standard_startfile_prefix_1, 5535 standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix, 5536 multilib_dir, temp_filename, temp_file, command, switchstr, 5537 infile, outfiles, input_filename, input_basename, input_suffix, 5538 check_live_switch, main): Qualify a char* with the `const' keyword. 5539 5540Wed Mar 10 20:28:29 1999 Jeffrey A Law (law@cygnus.com) 5541 5542 * lcm.c: New file. 5543 * Makefile.in (OBJS): Add lcm.o. 5544 (lcm.o): Add dependencies. 5545 5546 * gcse.c (compute_pre_local_properties): Delete. 5547 (compute_pre_data): Use compute_local_properties instead of 5548 compute_pre_local_properties. 5549 5550 * gcse.c: More comments, whitespace and similar fixes. 5551 (dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete. 5552 (dump_pre_data, compute_cprop_local_properties): Likewise. 5553 (one_classic_gcse_pass): Lose unused argument. All callers changed. 5554 (compute_hash_table, compute_expr_hash_table): Likewise. 5555 (compute_set_hash_table, one_pre_gcse_pass, mark_call): Likewise. 5556 (cprop_insn, cprop, one_cprop_pass): Add new argument ALTER_JUMPS. 5557 All callers changed. Only alter jumps if ALTER_JUMPS is nonzero. 5558 Lose unused argument. 5559 (gcse_main): Always run a cprop pass after finishing global cse. 5560 (compute_local_properties): New function. 5561 (hash_scan_pat, hash_scan_insn): No longer call maybe_set_rd_gen. 5562 (compute_cprop_data): Use compute_local_properties. 5563 5564 * gcse.c: Update various comments. 5565 (current_function_calls_longjmp): Delete declaration. 5566 5567 * gcse.c (run_jump_opt_after_gcse): New variable. 5568 (gcse_main): Returns an integer. 5569 (hash_scan_set): Record initializations from CONST_DOUBLEs too. 5570 (try_replace_reg): Update some comments. 5571 (cprop_insn): Allow propagation into some JUMP_INSNs too. 5572 * rtl.h (gcse_main): Update prototype. 5573 * toplev.c (rest_of_compilation): If gcse_main returns nonzero, 5574 then run a jump optimization pass. 5575 * jump.c (delete_barrier_successors): Delete nop jumps too. 5576 5577Wed Mar 10 19:04:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5578 5579 * sh.c (fp_arith_reg_operand): Actually test if reg is suitable 5580 for FP arithmetic. Changed caller. 5581 * sh.md (subsf3, subsf_i): Use fp_arith_reg_operand. 5582 5583Wed Mar 10 18:56:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5584 5585 * reload1.c (choose_reload_regs): When inheriting from the frame 5586 pointer, don't clobber it. 5587 5588Wed Mar 10 08:01:52 1999 Bruce Korb <korb@datadesign.com> 5589 5590 * fixinc/fixinc.*: Resync-ed with the files in this 5591 directory. 5592 5593 * fixinc/mkfixinc.sh: The machine case elements were 5594 out-of-order. (the ix86-*-linux-gnu* entry needed to 5595 be earlier). 5596 5597Wed Mar 10 00:01:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5598 5599 * reload1.c (reload_combine_note_store): Fix calculation of number 5600 of affected registers. 5601 5602Tue Mar 9 15:48:15 1999 Richard Henderson <rth@cygnus.com> 5603 5604 * flow.c (tidy_fallthru_edge): Be more careful finding the last 5605 BARRIER of a list. Delete the cc0 setter as well as a cond jump. 5606 5607Tue Mar 9 15:26:02 1999 Hans-Peter Nilsson <hp@bitrange.com> 5608 5609 * i386.md (ashlsi3 splitter): Fix typo in last change. 5610 5611Tue Mar 9 11:35:20 1999 Richard Henderson <rth@cygnus.com> 5612 5613 * reg-stack.c (stack_reg_life_analysis): Use returnjump_p 5614 instead of an explicit test for RETURN. 5615 5616Tue Mar 9 09:33:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5617 5618 * Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H). 5619 5620 * toplev.c: Include basic-block.h. 5621 5622Tue Mar 9 02:08:17 1999 Jeffrey A Law (law@cygnus.com) 5623 5624 * calls.c (load_register_parameters): New function. 5625 (expand_call): Use it. 5626 5627 * calls.c (expand_call): Slightly reorganize code. 5628 5629 * calls.c (compute_argument_addresses): New function. 5630 (rtx_for_function_call): New function. 5631 (expand_call): Use them. 5632 5633 * i386.md (zero_extendhisi2): Split into an expander and anonymous 5634 pattern. Add new anonymous pattern for use when optimizing for 5635 size or for the PPro. 5636 (zero_extendqihi2, zero_extendqisi2): Likewise. 5637 5638Mon Mar 8 23:43:47 1999 Richard Henderson <rth@cygnus.com> 5639 5640 * haifa-sched.c (sched_analyze_1): Fix last change -- add clobber 5641 dependencies to sets in the non-hard-reg case too. 5642 5643Mon Mar 8 18:55:21 1999 Marc Espie <espie@cvs.openbsd.org> 5644 5645 * config/openbsd.h (HANDLE_SYSV_PRAGMA): Define. 5646 5647Mon Mar 8 16:04:44 1999 Jim Wilson <wilson@cygnus.com> 5648 5649 * local-alloc.c (combine_regs): Don't combine if we have a hard reg 5650 for which CLASS_LIKELY_SPILLED_P is true. 5651 5652 * unroll.c (loop_iterations): Only call loop_find_equiv_value if we 5653 have a REG or SUBREG. 5654 5655Mon Mar 8 15:27:42 1999 Jeffrey A Law (law@cygnus.com) 5656 5657 * i386.md (ashlsi3): Revise comments. Provide new anonymous 5658 pattern for Pentium and PPro/PII. Reverse constraints in 5659 generic ashlsi3 anonymous pattern. 5660 5661 * calls.c (initialize_argument_info): Accept a pointer to 5662 CUMULATIVE_ARGS. 5663 (expand_call): Pass the address of CUMULATIVE_ARGS. 5664 5665 * rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0. 5666 5667 * mn10300.h (CASE_DROPS_THROUGH): Delete. 5668 * mn10200.h (CASE_DROPS_THROUGH): Delete. 5669 * h8300.h (CASE_DROPS_THROUGH): Delete. 5670 5671 * flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure 5672 to also delete the cc0 setter when deleting a conditional branch 5673 to the next block. 5674 5675Mon Mar 8 18:47:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5676 5677 * regmove.c (copy_src_to_dest): New argument max_old_uid. 5678 5679Mon Mar 8 08:23:00 1999 Bruce Korb <korb@datadesign.com> 5680 5681 * ChangeLog: Merged entries from fixincl-branch. 5682 5683Sun Mar 7 11:48:56 1999 Richard Henderson <rth@cygnus.com> 5684 5685 * haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far. 5686 (print_exp): Special case addition of a constant. 5687 (print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX. 5688 5689Sun Mar 7 11:21:02 1999 Richard Henderson <rth@cygnus.com> 5690 5691 * haifa-sched.c (reg_last_clobbers): New. 5692 (reg_pending_clobbers, bb_reg_last_clobbers): New. 5693 (compute_block_backward_dependences): Allocate memory for them. 5694 (schedule_region): Likewise. 5695 (sched_analyze_1): Clobbers don't interfere with one another. 5696 They do interfere with sets ... 5697 (sched_analyze_2): ... and uses. 5698 (sched_analyze): Likewise. 5699 (sched_analyze_insn): Update reg_last_clobbers appropriately. 5700 5701Sun Mar 7 08:30:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5702 5703 * gmon-sol2.c: Include config.h and system.h. Don't redundantly 5704 include system header files. 5705 (sccsid): Remove. 5706 (moncontrol, monstartup, _mcleanup, internal_mcount): Prototype. 5707 (_mcleanup): Add the `const' keyword to a char*. 5708 (internal_mcount): Declare `etext' as a char[] not a function. 5709 Cast `etext' to char* when calling `monstartup'. 5710 5711 * sparc.c (frame_base_name, save_regs, restore_regs, 5712 build_big_number, sparc_cmodel_string, sparc_align_loops_string, 5713 sparc_align_jumps_string, sparc_align_funcs_string, code_model, 5714 cpu_default, cpu_table, output_function_prologue, 5715 output_function_epilogue, output_return, 5716 sparc_flat_output_function_prologue, ultra_code_names, 5717 sparc_flat_output_function_epilogue): Constify a char*. 5718 (hypersparc_adjust_cost): Add a default case in a switch. 5719 5720 * sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS, 5721 sparc_cpu_select, sparc_align_loops_string, 5722 sparc_align_jumps_string, sparc_align_funcs_string, 5723 output_return): Constify a char*. 5724 5725 * sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT 5726 so that we check "== 32", instead of "!= 64". Cast a value to 5727 HOST_WIDE_INT when comparing against one. Hide the declaration 5728 for variable `chain'. 5729 5730Sun Mar 7 08:05:27 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5731 5732 * system.h (const, inline): Move the stage2 handling of these 5733 keywords-as-macros from here... 5734 5735 * gansidecl.h (const, inline): ...to here. 5736 5737Sun Mar 7 02:44:15 1999 Richard Henderson <rth@cygnus.com> 5738 5739 * recog.c (push_operand, pop_operand): VOIDmode needn't match modes. 5740 5741Sun Mar 7 01:58:47 1999 Richard Henderson <rth@cygnus.com> 5742 5743 * cse.c (canon_hash): Never reject hard regs in CCmode. 5744 5745Sun Mar 7 01:15:04 1999 Jeff Law (law@cygnus.com) 5746 5747 * version.c: Bump for snapshot. 5748 5749Sat Mar 6 17:18:44 1999 Richard Earnshaw (rearnsha@arm.com) 5750 Richard Henderson <rth@cygnus.com> 5751 5752 * flow.c (make_edges): Handle casesi that jump to default branch. 5753 If CASE_DROPS_THROUGH, force fallthru to block after casesi. 5754 5755Sat Mar 6 07:49:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5756 5757 * c-aux-info.c (data_type, affix_data_type, gen_decl, 5758 gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type): 5759 Qualify a char* with the `const' keyword. 5760 5761 * c-common.c (declare_hidden_char_array, add_attribute, if_elt, 5762 declare_function_name, decl_attributes, format_char_info, 5763 check_format_info, binary_op_error): Likewise. 5764 5765 * cexp.y (yyerror, error, pedwarn, warning, token): Likewise. 5766 5767 * gcse.c (dump_hash_table): Likewise. 5768 5769 * integrate.c (function_cannot_inline_p): Likewise. 5770 5771 * optabs.c: Include insn-config.h earlier. 5772 (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs): 5773 Qualify a char* with the `const' keyword. 5774 5775 * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe, 5776 asctoeg, mtherr, ereal_atof): Likewise. 5777 5778 * real.h (ereal_atof): Likewise. 5779 5780 * sbitmap.c (dump_sbitmap_vector): Likewise. 5781 5782 * sbitmap.h (dump_sbitmap_vector): Likewise. 5783 5784 * stmt.c (nesting, n_occurrences, expand_start_case): Likewise. 5785 5786 * toplev.c (rest_of_compilation): Likewise. 5787 5788 * tree.h (function_cannot_inline_p, expand_start_case): Likewise. 5789 5790Fri Mar 5 23:16:42 1999 David Edelsohn <edelsohn@gnu.org> 5791 5792 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do 5793 not overwrite AIX link register save area. 5794 5795Fri Mar 5 23:08:01 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5796 5797 * reload.c (find_reloads_subreg_address): Actually create the USE 5798 for the register, not the new memory location. 5799 5800Fri Mar 5 21:41:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5801 5802 * reload1.c (emit_reload_insns): If pseudo that can't be replaced 5803 with its equivalent constant, fall back to reload_in. 5804 5805Fri Mar 5 13:20:39 1999 Richard Henderson <rth@cygnus.com> 5806 5807 * Makefile.in: Delete .flow2 debugging files. 5808 5809Fri Mar 5 11:36:11 1999 Nick Clifton <nickc@cygnus.com> 5810 5811 * config/arm/arm.c (arm_override_options): Change default target 5812 cpu selection so that enabling TARGET_APCS_32 does not override 5813 default target CPU. 5814 5815Fri Mar 5 19:26:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5816 5817 * sh.h (SLOW_BYTE_ACCESS): Define to 1. 5818 (BOOL_TYPE_SIZE): Define. 5819 5820Fri Mar 5 02:14:54 1999 John Wehle (john@feith.com) 5821 5822 * function.c (assign_stack_temp_for_type): Abort 5823 if mode == Blkmode and align is less than 5824 BIGGEST_ALIGNMENT / BITS_PER_UNIT. 5825 (assign_stack_temp_for_type): Round the size parameter 5826 passed to assign_stack_local instead of size itself. 5827 5828Thu Mar 4 15:00:35 1999 Richard Henderson <rth@cygnus.com> 5829 5830 * flow.c (delete_unreachable_blocks): Mark blocks as they 5831 are put on to the worklist, not as they are taken off. 5832 5833Thu Mar 4 00:05:44 1999 Jeffrey A Law (law@cygnus.com) 5834 5835 * function.c (current_function_has_computed_jump): Remove duplicate 5836 definition. 5837 5838Wed Mar 3 19:09:11 1999 Jim Wilson <wilson@cygnus.com> 5839 5840 * m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef. 5841 (STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string. 5842 5843 * sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, 5844 MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef. 5845 (INIT_SUBTARGET_OPTABS): Define to empty. 5846 5847Wed Mar 3 00:00:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5848 5849 * sh.c (force_into): New function. 5850 (expand_block_move): Use it. 5851 5852Tue Mar 2 10:39:43 1999 Nick Clifton <nickc@cygnus.com> 5853 5854 * cccp.c (struct default_include): Add 'included' field. 5855 (main): Set 'included' field when a default include directory 5856 is added to the chain. If -v is specified list all default 5857 include directories which do not get appended to the chain. 5858 5859Tue Mar 2 09:24:10 1999 Nick Clifton <nickc@cygnus.com> 5860 5861 * configure.in (gxx_include_dir): Rename to 5862 gcc_gxx_include_dir in order to prevent it being overridden by 5863 a top level Makefile. 5864 (gcc_tooldir): If $exec_prefix != $prefix then use the 5865 difference between the two as the basis for gcc_tooldir. 5866 5867 * configure: Rebuild. 5868 5869 * Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir. 5870 5871Tue Mar 2 16:45:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5872 5873 * unroll.c (copy_loop_body): Don't make extra copies of 5874 NOTE_INSN_LOOP_CONT notes. 5875 5876Tue Mar 2 07:44:56 1999 Mark Mitchell <mark@markmitchell.com> 5877 5878 * tree.c (save_tree_status): Don't treat functions with no context 5879 as nested. 5880 5881Tue Mar 2 09:37:05 1999 Robert Lipe <robertlipe@usa.net> 5882 5883 * Makefile.in (MAKEINFO): Use makeinfo built from sibling 5884 tree when available. 5885 5886Tue Mar 2 10:12:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5887 5888 * alpha.c (alpha_cpu_name, alpha_cpu_string, alpha_tp_string, 5889 alpha_fprm_string, alpha_fptm_string, alpha_mlat_string, 5890 current_function_file): Add the `const' keyword. 5891 (normal_memory_operand): Mark parameter `mode' with 5892 ATTRIBUTE_UNUSED. 5893 (alpha_expand_unaligned_load): Add a default case to a switch. 5894 5895 * alpha.h (alpha_cpu_string, alpha_fprm_string, alpha_fptm_string, 5896 alpha_tp_string, alpha_mlat_string): Add the `const' keyword. 5897 (normal_memory_operand): Add prototype. 5898 5899 * alpha.md: Cast an expression to `unsigned HOST_WIDE_INT' when 5900 comparing against one. 5901 5902Tue Mar 2 10:00:21 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 5903 5904 * mips.c (abort_with_insn): Make function static, add a prototype, 5905 constify 2nd parameter and mark with ATTRIBUTE_NORETURN. 5906 (current_function_file, mips_cpu_string, mips_isa_string, 5907 mips_abi_string, mips_no_mips16_string, mips_entry_string, 5908 mips_move_1word, mips_move_2words, output_block_move, load_store, 5909 override_options, make_temp_file, mips16_fp_args): Qualify a char* 5910 with the `const' keyword. 5911 5912 * mips.h (current_function_file, mips_cpu_string, mips_isa_string, 5913 mips_abi_string, mips_entry_string, mips_no_mips16_string, 5914 mips_move_1word, mips_move_2words, output_block_move): Likewise. 5915 (abort_with_insn): Remove extern prototype. 5916 5917 * mips.md: Qualify a char* with the `const' keyword. 5918 Remove many unused variables named `label'. 5919 5920Tue Mar 2 01:27:52 1999 H.J. Lu (hjl@gnu.org) 5921 5922 * Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New 5923 variables. 5924 (install-cpp, uninstall-cpp): New targets. 5925 (install-normal): Depend on $(INSTALL_CPP). 5926 (uninstall): Depend on $(UNINSTALL_CPP). 5927 * configure.in (cpp_install_dir): New, substitute. 5928 (tmake_file): Added t-install-cpp for --enable-cpp. 5929 * configure: Rebuilt. 5930 * cpp.sh: New cpp script. 5931 * config/t-install-cpp: New target fragment. 5932 5933Tue Mar 2 01:40:01 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 5934 Jeffrey A Law (law@cygnus.com) 5935 5936 * cse.c (fold_rtx): Update comments for (const (minus (label) (label))) 5937 case. 5938 (cse_insn): Avoid creating a bogus REG_EQUAL note for 5939 (const (minus (label) (label))) 5940 (record_jump_cond): Fix mismatched paren in comment. 5941 5942Tue Mar 2 01:07:12 1999 Dan Nicolaescu <dann@godzilla.ics.uci.edu> 5943 5944 * final.c (end_final): There are 11 words in the "main header" 5945 structure, not 10. 5946 5947Tue Mar 2 00:09:18 1999 Marc Espie <espie@cvs.openbsd.org> 5948 5949 * extend.texi: Reference __extension__ in the index. 5950 5951Mon Mar 1 19:09:32 1999 Jim Wilson <wilson@cygnus.com> 5952 5953 * Makefile.in (CROSS_FLOAT_H): Delete. 5954 (FLOAT_H): Use float_h_file. 5955 (rest.cross, stmp-int-hdrs): Delete gfloat.h dependency. 5956 (gfloat.h): Delete. 5957 (stmp-int-hdrs): Use FLOAT_H instead of gfloat.h. 5958 (mostlyclean): Delete gloat.h reference. 5959 (install-cross-rest, install-float-h-cross, stmp-headers): Update 5960 comments. 5961 * configure.in (sparcv9-*-solaris2*): Set float_format to none. 5962 (sparc-*-solaris2*): Set float_format to none for 2.5 and higher. 5963 (float_h_file): Set from float_format. Substitute into Makefile.in. 5964 (float_format): No longer substitute into Makefile.in. 5965 * cross-make (FLOAT_H): Delete. 5966 * config/mips/t-cross64 (FLOAT_H): Delete. 5967 * configure: Rebuilt. 5968 5969Mon Mar 1 16:36:18 1999 Jeffrey A Law (law@cygnus.com) 5970 5971 * mips.md (div_trap_normal, div_trap_mips16): Require the dependent 5972 insn to be an INSN before looking at its pattern. 5973 5974Mon Mar 1 15:03:51 1999 Jim Wilson <wilson@cygnus.com> 5975 5976 * config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs. Fix comments. 5977 * config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of 5978 HImode reg when TARGET_5200. 5979 5980Mon Mar 1 21:44:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 5981 5982 From Toshiyasu Morita: 5983 * sh.h (CACHE_LOG): SH2 has cache, too. 5984 5985Mon Mar 1 14:23:36 1999 Catherine Moore <clm@cygnus.com> 5986 5987 * toplev.c (compile_file): Disable -ffunction-sections and 5988 debugging warning if the object format is elf. 5989 5990Mon Mar 1 11:46:25 1999 Vladimir N. Makarov <vmakarov@cygnus.com> 5991 5992 * config/h8300/h8300.c (print_operand): Use 16 bit addressing 5993 when the data in 8-bit area and can not be addressed by 8-bit. 5994 5995Sun Feb 28 16:40:00 1999 Richard Henderson <rth@cygnus.com> 5996 5997 * flow.c (create_basic_block): Disregard integrated bb notes. 5998 5999Sun Feb 28 15:57:06 1999 Richard Henderson <rth@cygnus.com> 6000 6001 * sparc.md (blockage, nonlocal_goto_receiver): Set length to 0. 6002 6003Sun Feb 28 14:47:53 1999 Arturo Montes <mitosys@colomsat.com.co> 6004 6005 * config/i386/t-sco5gas (crti.o): New target. 6006 6007Sun Feb 28 15:10:17 1999 David Edelsohn <edelsohn@gnu.org> 6008 6009 * rs6000.md (elf_high, movsi_got, *movsi_got_internal, 6010 *movsi_got_internal_mem, GOT splitter, movdf_hardfloat32, 6011 movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64, 6012 load_multiple, allocate_stack, call_indirect_aix32, 6013 call_indirect_aix64, call_value_indirect_aix32, 6014 call_value_indirect_aix64, call_indirect_nt, 6015 call_value_indirect_nt): Use gpc_reg_operand instead of 6016 register_operand. 6017 6018Sun Feb 28 15:10:17 1999 Michael Meissner <meissner@cygnus.com> 6019 6020 * rs6000.md (one_cmplsi2, andsi3, iorsi3, xorsi3, *eqvsi3, 6021 *andcsi3, *iorcsi3, *nandsi3, *norsi3): Add alternatives to use CR 6022 other than cr0. 6023 * rs6000.c (and{,64}_operand): If the user did -ffixed-cr0, don't 6024 allow andi. or andis. which always set cr0. 6025 6026Sun Feb 28 01:15:04 1999 Jeff Law (law@cygnus.com) 6027 6028 * version.c: Bump for snapshot. 6029 6030Sun Feb 28 02:00:38 1999 Jeffrey A Law (law@cygnus.com) 6031 6032 * invoke.texi: Update information for PA scheduling. 6033 6034Sat Feb 27 23:21:47 1999 Jerry Quinn <jquinn@nortelnetworks.com> 6035 Mike Stump <mrs@wrs.com> 6036 6037 * pa.c (override_options): Change default to 7100LC. 6038 6039 * pa.h (REG_ALLOC_ORDER): Change order to allocate left half of 6040 float regs before right half of float regs. 6041 6042Sat Feb 27 22:48:38 1999 H.J. Lu (hjl@gnu.org) 6043 Jeffrey A Law (law@cygnus.com) 6044 6045 * frame.h: Update some comments. 6046 * defaults.h (TARGET_ATTRIBUTE_WEAK): Define. 6047 * crtstuff.c (__register_frame_info, __deregister_frame_info): Declare 6048 using TARGET_WEAK_ATTRIBUTE. 6049 (__do_global_dtors_aux): Check if __deregister_frame_info is 6050 zero before calling it. 6051 (__do_global_dtors): Likewise. 6052 (frame_dummy): Check if __register_frame_info is zero before 6053 calling it. 6054 (__frame_dummy): Likewise. 6055 6056Sat Feb 27 19:18:24 1999 Jeffrey A Law (law@cygnus.com) 6057 6058 * SERVICE: Update from the FSF. 6059 6060Sat Feb 27 14:31:22 1999 Arturo Montes <mitosys@colomsat.com.co> 6061 6062 * config/i386/t-sco5 (crti.o): New target. 6063 * config/i386/sco5.h (STARTFILE_SPEC): Include crti.o when 6064 linking -shared. 6065 * configure.in (i[34567]86-*-sco3.2v5*): Add crti.o. 6066 6067Sat Feb 27 01:12:40 1999 Jeffrey A Law (law@cygnus.com) 6068 6069 * md.texi (prologue,epilogue): Document named patterns. 6070 6071Fri Feb 26 19:31:25 1999 Dave Love <fx@gnu.org> 6072 6073 * md.texi, invoke.texi: Fix unterminated @xrefs. 6074 6075Fri Feb 26 15:33:45 1999 Richard Henderson <rth@cygnus.com> 6076 6077 * genattrtab.c (simplify_knowing): Fix uninitialized read 6078 in Feb 21 change. 6079 6080 * genextract.c (main): Clear recog_operands before extracting. 6081 6082Fri Feb 26 02:24:57 1999 Jeffrey A Law (law@cygnus.com) 6083 6084 * c-pragma.c (add_weak); Delete. Moved into... 6085 * varasm.c (add_weak): New external function. 6086 (declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to 6087 the list of weak functions. 6088 * c-pragma (add_weak): Declare. 6089 6090Thu Feb 25 23:43:59 1999 Richard Henderson <rth@cygnus.com> 6091 6092 Flow rewrite to use basic block structures and edge lists: 6093 6094 * basic-block.h (x_basic_block_head, x_basic_block_end): Kill. 6095 (basic_block_computed_jump_target, basic_block_live_at_start): Kill. 6096 (struct edge_def): New. 6097 (struct basic_block_def): New. 6098 (basic_block_info): New. 6099 (BLOCK_HEAD, BLOCK_END): Update. 6100 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): New. 6101 (uid_block_number): Kill. 6102 (basic_block_for_insn, BLOCK_FOR_INSN): New. 6103 (BLOCK_NUM): Update. 6104 * flow.c (XNMALLOC): Kill. 6105 (max_uid_for_flow): Kill. 6106 (uid_block_number): Kill. 6107 (uid_volatile): Turn into a bitmap. 6108 (SET_INSN_VOLATILE): New. 6109 (basic_block_info): New. 6110 (entry_exit_blocks): New. 6111 (x_basic_block_head, x_basic_block_end): Kill. 6112 (basic_block_computed_jump_target, basic_block_live_at_start): Kill. 6113 (flow_int_list_blocks, basic_block_succ, basic_block_pred): Kill. 6114 (basic_block_loop_depth): Kill. 6115 (basic_block_for_insn): New. 6116 (find_basic_blocks): Split out initial block counting into 6117 count_basic_blocks. Call functions split out of find_basic_blocks_1. 6118 (count_basic_blocks): New. 6119 (find_basic_blocks_1): Split out edge recognition, unreachable 6120 block deletion. 6121 (create_basic_block): New. 6122 (compute_bb_for_insn): New. 6123 (clear_edges): New. 6124 (free_bb_memory): Kill. 6125 (add_edge, add_edge_to_label): Kill. 6126 (mark_label_ref): Kill. 6127 (make_edges): Rewrite to use edge lists. 6128 (make_edge, make_label_edge): New. 6129 (mark_critical_edges): New. 6130 (split_edge, insert_insn_on_edge): New. 6131 (commit_one_edge_insertion, commit_edge_insertions): New. 6132 (delete_unreachable_blocks): Rewrite to use edge lists. 6133 Split out EH region manipulation into delete_eh_regions. 6134 Call tidy_fallthru_edge and merge_blocks. 6135 (delete_eh_regions): New. 6136 (delete_note_p): New. 6137 (delete_insn_chain): New. 6138 (delete_block): Split out code into delete_insn_chain and 6139 tidy_fallthru_edge. Update edge lists. 6140 (expunge_block): New. 6141 (flow_delete_insn): New? 6142 (can_delete_label_p): New? 6143 (merge_blocks_nomove, merge_blocks): New. 6144 (tidy_fallthru_edge): New. 6145 (calculate_loop_depth): New. 6146 (life_analysis): Allocate and free uid_volatile. 6147 (free_basic_block_vars): Update for new structures. 6148 (record_volatile_insns): Use SET_INSN_VOLATILE. 6149 (mark_regs_live_at_end): Tidy EXIT_IGNORE_STACK usage. 6150 (mark_used_regs): Likewise. 6151 (life_analysis_1): Use bb global_live_at_start, global_live_at_end, 6152 local_set regsets. Use bb->aux to store new_live_at_end. Begin 6153 life propagation from EXIT_BLOCK rather than last block. Clear 6154 regs_ever_live after mark_regs_live_at_end. 6155 (allocate_for_life_analysis): Update for new structures. 6156 (propagate_block): Split out loop depth calculation to 6157 calculate_loop_depth. 6158 (regno_uninitialized): Use bb->global_live_at_start. 6159 (regno_clobbered_at_setjmp): Likewise. 6160 (dump_bb_data): Likewise. 6161 (find_auto_inc): Use BLOCK_FOR_INSN instead of BLOCK_NUM. 6162 (dump_flow_info): Update for new structures. 6163 (dump_edge_info): New. 6164 (print_rtl_with_bb): Update for new structures. 6165 (compute_preds_succs): Do no work -- convert edge lists. 6166 (set_block_for_insn): From corpse of old set_block_num. 6167 (set_block_num): Call it. 6168 6169 * rtl.c (note_insn_name): Add NOTE_INSN_BASIC_BLOCK. 6170 * rtl.h (rtunion_def): Add bb entry. 6171 (NOTE_BASIC_BLOCK): New. 6172 (NOTE_INSN_BASIC_BLOCK): New. 6173 6174 * varray.h (varray_data_tag): Add bb entry. 6175 (VARRAY_BB_INIT, VARRAY_BB): New. 6176 6177 * emit-rtl.c (emit_label_before): New. 6178 6179 * except.c (expand_rethrow): Delete insns following the call to 6180 rethrow. Put the REG_EH_RETHROW on the call. 6181 6182 * jump.c (returnjump_p, returnjump_p_1): New. 6183 6184 * expr.h (nonlocal_goto_handler_labels): New declaration. 6185 * function.c (nonlocal_goto_handler_labels): Define it. 6186 (push_function_context_to): Save it. 6187 (pop_function_context_from): Restore it. 6188 (init_function_start): Clear it. 6189 (nonlocal_label_rtx_list): Kill. 6190 * function.h (struct function): Add storage space for it. 6191 * stmt.c (expand_nl_handler_label): Return the new label. 6192 (expand_nl_goto_receivers): Collect a list of them in 6193 nonlocal_goto_handler_labels. 6194 6195 * Makefile.in (print-rtl.o): Depend on basic-block.h. 6196 (flow.o): Depend on insn-flags.h. 6197 6198 * function.c (thread_prologue_and_epilogue_insns): Do not 6199 half-heartedly update bb structures. 6200 6201 * toplev.c: Add flow2 dump as -dw. 6202 (rest_of_compilation): Finish .greg before flow2. 6203 6204 * graph.c (draw_edge): Handle class 3. 6205 (print_rtl_graph_with_bb): Make abnormal edges red class 2, 6206 change non-fall-thru but adjacent to green class 3. Update 6207 to use new structures. 6208 6209 * print-rtl.c (print_rtx): Handle NOTE_INSN_BASIC_BLOCK. 6210 6211 * reg-stack.c (BLOCK_NUM): Convert to function. Abort if 6212 block_number is -1. 6213 (reg_to_stack): Initialize block_num to -1. 6214 6215 * combine.c (set_nonzero_bits_and_sign_copies): Update reference 6216 to basic_block_live_at_start to bb->global_live_at_start. 6217 (try_combine): Likewise. 6218 (reg_dead_at_p): Likewise. 6219 * global.c (global_conflicts): Likewise. 6220 Handle stack regs on all abnormal edges, not just computed jumps. 6221 (mark_elimination): Update reference to basic_block_live_at_start. 6222 (build_insn_chain): Likewise. 6223 * haifa-sched.c (haifa_edge): Rename from edge for conflict. 6224 (is_cfg_nonregular): Look at nonlocal_goto_handler_labels instead 6225 of nonlocal_label_rtx_list. 6226 (check_live_1): Update reference to basic_block_live_at_start. 6227 (update_live_1): Likewise. 6228 (find_pre_sched_live): Likewise. 6229 (find_post_sched_live): Likewise. 6230 * local-alloc.c (update_equiv_regs): Likewise. 6231 (block_alloc): Likewise. 6232 * reload1.c (reload, reload_combine): Likewise. 6233 * regmove.c (mark_flags_life_zones): Likewise. 6234 * resource.c (mark_target_live_regs): Likewise. 6235 * sched.c (schedule_block): Likewise. 6236 6237 * regclass.c (regset_release_memory): Don't free 6238 basic_block_live_at_start. 6239 6240 * unroll.c (copy_loop_body): Don't duplicate NOTE_INSN_BASIC_BLOCK. 6241 6242Thu Feb 25 21:32:34 1999 Jason Merrill <jason@yorick.cygnus.com> 6243 6244 * fixinc.wrap: Also handle struct queue in sys/stream.h. 6245 * fixinc.svr4: Likewise. 6246 6247 * dwarf2out.c (scope_die_for): Set scope_die to comp_unit_die 6248 rather than asserting it. 6249 6250Thu Feb 25 23:33:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6251 6252 * cppexp.c (left_shift, right_shift, parse_charconst, COMPARE, 6253 cpp_parse_expr): Replace uses of long/HOST_BITS_PER_LONG with 6254 HOST_WIDEST_INT/HOST_BITS_PER_WIDEST_INT. 6255 6256 * Makefile.in (cppmain.o, cpplib.o, cpphash.o, cppalloc.o, 6257 cpperror.o, cppexp.o, cppfiles.o, cppinit.o, fix-header.o, 6258 scan-decls.o): Don't depend on machmode.h. 6259 6260 * cppexp.c: Don't define CHAR_BIT or HOST_BITS_PER_WIDE_INT anymore. 6261 Replace all instances of HOST_WIDE_INT with HOST_WIDEST_INT. 6262 6263 * cppfiles.c: Likewise. 6264 6265 * cpplib.c: Likewise. 6266 6267 * cpplib.h: Likewise. Also don't include machmode.h anymore. 6268 6269Thu Feb 25 18:46:26 1999 Richard Henderson <rth@cygnus.com> 6270 6271 * gcc.c (default_compilers): Define __FAST_MATH__ when appropriate. 6272 * objc/lang-specs.h: Likewise. 6273 6274Thu Feb 25 16:19:43 1999 Jeffrey A Law (law@cygnus.com) 6275 6276 * pa.md (call patterns): Lose unused argument to output_call. 6277 6278 * print-rtl.c (print_rtl): Print /j and /c for the jump/call flags. 6279 62801999-02-25 Zack Weinberg <zack@rabi.columbia.edu> 6281 6282 * cpphash.c (install): Rename to cpp_install, add cpp_reader* 6283 first argument. All callers changed. 6284 (hashtab): Removed. 6285 (cpp_lookup, cpp_install): Change all refs to hashtab to 6286 pfile->hashtab. 6287 (cpp_hash_cleanup): Removed. 6288 * cpphash.h: Adjust prototypes. 6289 * cpplib.h (struct cpp_reader): Add hashtab pointer. 6290 * cppinit.c (cpp_reader_init): Also allocate space for the 6291 hashtab. 6292 (cpp_cleanup): Delete all macros and free the hashtab. 6293 6294Thu Feb 25 21:52:54 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6295 6296 * sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structures 6297 in registers. 6298 6299 * expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition. 6300 * function.c (assign_parms): Honour PRETEND_OUTGOING_VARARGS_NAMED. 6301 * calls.c (expand_call): Likewise. 6302 6303 * sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs / 6304 stdarg arguments. 6305 * sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi. 6306 (FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed 6307 arguments in registers. 6308 (PRETEND_OUTGOING_VARARGS_NAMED): Define. 6309 * va-sh.h (entire file): If __HITACHI__ is defined, use sh[123] 6310 flavor varargs. 6311 6312Thu Feb 25 14:32:40 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6313 6314 * cse.c (dump_class): Revert last change and make the prototype 6315 extern. 6316 6317Thu Feb 25 19:13:42 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6318 6319 * rtl.h (insn_first_p): Don't declare. 6320 * rtlanal.c (insn_first_p): Delete. 6321 * loop.c (loop_insn_first_p): Faster implementation. 6322 6323Thu Feb 25 10:44:35 1999 Richard Earnshaw (rearnsha@arm.com) 6324 6325 * arm.h (TARGET_SWITCHES): Delete deprecated switches -m[236]. 6326 (TARGET_3, TARGET_6): Delete. 6327 (ARM_FLAG_ARM[36]): Delete. 6328 (CPP_CPU_ARCH_SPEC): No need to handle -m[236] any more. 6329 (CC1_SPEC): Don't expand -m[236] into new equivalents. 6330 (CPP_APCS_PC_SPEC): No need to handle -m[236] any more. 6331 * arm.c (arm_override_options): Delete warnings about deprecated 6332 options -m[236]. 6333 6334 * arm.c (arm_finalize_pic): Build the label into the special pic 6335 adjustment insn instead of issuing it separately. 6336 * arm.md (pic_add_dot_plus_eight): Rework to contain the label 6337 that is needed. 6338 6339 * arm.md (*zeroextractqi_compare0_scratch): Delete. 6340 (*ne_zeroextractsi): New pattern. 6341 6342Thu Feb 25 18:40:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6343 6344 * stmt.c (expand_end_loop): Grok code emitted by 6345 expand_exit_loop_if_false. 6346 6347Thu Feb 25 10:17:32 1999 Nick Clifton <nickc@cygnus.com> 6348 6349 * config/arm/arm.c (return_in_memory): Float fields in unions 6350 force a return in memory. 6351 (load_multiple_sequence): Add comment explaining why two LDR 6352 instructions can be better than an LDMIA instruction. 6353 6354 * config/arm/arm.h (TARGET_SHORT_BY_BYTES): Add comment 6355 describing the real meaning of this option. 6356 (FIXED_REGISTERS): Default r10 to not-fixed. 6357 (CALL_USED_REGISTERS): Default r10 to not-call-used. 6358 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): If not defined, define 6359 as empty. 6360 (CONDITIONAL_REGISTER_USAGE): Fix r10 if TARGET_APCS_STACK is 6361 true. Invoke SUBTARGET_CONDITIONAL_REGISTER_USAGE after 6362 performing other checks. 6363 6364 * config/arm/arm.md (zero_extendhisi2): Undo previous change. 6365 (extendhisi2): Undo previous change. 6366 Also add comments describing why TARGET_SHORT_BY_BYTES can be 6367 ignored for armv4(t) architectures. 6368 6369 * config/arm/riscix.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): 6370 Define to fix r10. 6371 6372 * config/arm/riscix1-1.h 6373 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define to fix r10. 6374 6375Thu Feb 25 12:09:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6376 6377 * cse.c (dump_class): Make the function definition static to match 6378 the prototype. 6379 6380Wed Feb 24 17:47:28 1999 Jim Wilson <wilson@cygnus.com> 6381 6382 * dbxout.c (gstab.h): Use if CROSS_COMPILE. 6383 6384 * dwarf2out.c (add_location_or_const_value_attribute): Add big 6385 endian correction for parms passed in regs but living on the stack. 6386 6387Wed Feb 24 14:03:54 1999 Jeffrey A Law (law@cygnus.com) 6388 6389 * calls.c (initialize_argument_information): New function extracted 6390 from expand_call. 6391 (expand_call): Use initialize_argument_information. Remove variables 6392 which are no longer used due to cleanups. 6393 6394 * calls.c (compute_argument_block_size): New function, extracted from 6395 expand_calls. 6396 (expand_calls): Use compute_argument_block_size. Delete 6397 original_args_size, use unadjusted_args_size instead. 6398 6399 * calls.c (precompute_arguments): New function, extracted from 6400 expand_call. 6401 (expand_call): Use precompute_arguments. 6402 6403 * calls.c (finalize_must_preallocate): New function, extracted from 6404 expand_call. 6405 (expand_call): Use finalize_must_preallocate. 6406 6407 * calls.c (store_one_arg): Mark "variable_size" as possibly unused. 6408 6409 * regclass.c (record_reg_classes, case 'p'): Set classes appropriately. 6410 An alternative always fails if it needs a pseudo and no suitable 6411 register class can be found. 6412 6413Wed Feb 24 19:47:56 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6414 6415 * loop.h (loop_insn_first_p): Declare. 6416 * loop.c (loop_insn_first_p): No longer static. 6417 * unroll.c (iteration_info): Fix comparison to 6418 reg_iv_type->num_elements. 6419 Before accessing reg_biv_class, check index against 6420 max_reg_before_loop. 6421 Fix and enable code for giv iterators. 6422 (loop_iterations): Compare with reg_iv_type->num_elements instead 6423 of with max_reg_before_loop. 6424 6425Wed Feb 24 19:17:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6426 6427 * unroll.c (unroll_loop): Avoid out-of-bounds index for local_regno. 6428 6429Wed Feb 24 11:26:41 1999 Vladimir N. Makarov <vmakarov@cygnus.com> 6430 6431 * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use 6432 PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC. 6433 6434Tue Feb 23 16:24:19 1999 Marc Lehmann <pcg@goof.com> 6435 6436 * config/i386/i386.md: Fix typo. 6437 6438Mon Feb 22 19:36:33 1999 Andrew Cagney <cagney@b1.cygnus.com> 6439 6440 * config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 && 6441 frame_pointer_needed adjust frame size. 6442 (function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted 6443 in .frame pseudo-op. 6444 Frm Jim Wilson <wilson@cygnus.com>: 6445 * mips.c (function_prologue): Adjust frame size in .frame pseudo-op 6446 when TARGET_MIPS16 && frame_pointer_needed. 6447 64481999-02-22 Nick Clifton <nickc@cygnus.com> 6449 6450 * config/arm/arm.h: Add TARGET_CPU_strongarm1100. 6451 Add -mno-sched command line switch to disable scheduling of 6452 instructions into the function's prologue. 6453 (enum processor_type): Remove. 6454 (TARGET_OPTIONS): Add "fpe=" option to match documentation. 6455 (struct arm_cpu_select): Replace 'set_tune_p' and 'set_arch_p' 6456 fields with 'processors' field. 6457 (CONDITIONAL_REGISTER_USAGE): Allow r10 to be used if stack 6458 checking is not enabled. 6459 (RETURN_IN_MEMORY): Always call arm_return_in_memory. 6460 6461 * config/arm/arm.c (arm_cpu): Remove. 6462 (tune_flags): Remove. 6463 (arm_is_strong): New variable: true iff the target processor is a 6464 StrongARM. 6465 (arm_is_6_or_7): New variable: true iff the target processor is an 6466 ARM6 or and ARM7. 6467 (arm_select): Fields reorganised. 6468 (struct processors): processor_type field removed. 6469 (all_procs): Remove. 6470 (all_cores): New array: Definitions of all known ARM cpu cores. 6471 (all_architectures): New array: Definitions of all known ARM 6472 architectures. 6473 (streq): New macro. 6474 (FL_SCHED): New processor flag: processor required load 6475 scheduling. 6476 (FL_STRONG): New processor flag: processor is a StrongARM. 6477 (arm_override_options): Reorganized to make code clearer. 6478 (use_return_insn): Test for "not (TARGET_APCS and 6479 frame_pointer_needed)". 6480 (arm_return_in_memory): Improve handling of structures. 6481 6482 * config/arm/arm.md: Remove "cpu" attribute. Replace with 6483 "is_strongarm" and "is_arm_6_or_7" attributes. 6484 (zero_extendhisi2): Check for TARGET_SHORT_BY_BYTES before 6485 arm_arch4. 6486 (extendhisi2): Check for TARGET_SHORT_BY_BYTES before arm_arch4. 6487 6488 * invoke.texi (ARM Options): Document -mtune= and -mfp= options. 6489 64901999-02-22 Philip Blundell <philb@gnu.org> 6491 6492 * config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Replace default 6493 definition with one including cache synchronization. 6494 (CLEAR_INSN_CACHE): Correct syscall number and enable definition. 6495 Move definition of inhibit_libc to... 6496 * config/arm/xm-linux.h: ... here. 6497 6498 * config/arm/t-linux: Disable multilib configurations since the 6499 only effect for most people is to cause builds to fail. 6500 6501 * config/arm/elf.h (ASM_FILE_START): Add .file directive. 6502 (ASM_SPEC): Translate -mapcs-float to -mfloat for the assembler. 6503 6504 * config/arm/linux-elf.h (DEFAULT_VTABLE_THUNKS): Define. 6505 (HANDLE_SYSV_PRAGMA): Likewise. 6506 (LIB_SPEC): Copy definition from generic Linux files. 6507 (LIBGCC_SPEC): Include -lfloat if -msoft-float was given. 6508 (FP_DEFAULT): Set to SOFT3 on 32-bit targets. 6509 (DWARF2_DEBUGGING_INFO): Define. 6510 (PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG. 6511 6512Mon Feb 22 16:54:18 1999 Andrew MacLeod <amacleod@cygnus.com> 6513 6514 * loop.c (libcall_other_regs): Make extern. 6515 * rtl.h (find_last_value): Add parameter to prototype. 6516 (libcall_other_reg): Add extern declaration. 6517 * rtlanal.c (find_last_value): Add another parameter to allow 6518 a definition using a hardware register to be found as well. 6519 6520Mon Feb 22 13:33:47 1999 Mark Mitchell <mark@markmitchell.com> 6521 6522 * cse.c (dump_class): New function. 6523 (invalidate_memory): Fix typo in comment. 6524 * function.c (temp_slot): Add an alias set field. 6525 (assign_stack_temp): Only reuse slots if they will have the 6526 same alias set as before. 6527 (combine_temp_slots): Don't combine if -fstrict-aliasing; 6528 that's unsafe. 6529 * rtl.c (copy_rtx): Copy all the flags (in particular, 6530 MEM_SCALAR_P). 6531 6532Mon Feb 22 14:13:23 1999 Vladimir N. Makarov <vmakarov@cygnus.com> 6533 6534 * configure.in (i[34567]86-*-linux-gnu*, 6535 i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*, 6536 i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as 6537 fixincludes. 6538 6539 * configure: Rebuilt. 6540 6541 * fixinc.x86-linux-gnu: New script for fixing asm-statements bug 6542 on x86 linux. 6543 6544 * fixinc/fixinc.x86-linux-gnu: Copy of the previous one. 6545 6546 * fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*, 6547 i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*, 6548 i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as 6549 fixincludes. 6550 6551Mon Feb 22 08:55:05 1999 Ovidiu Predescu <ovidiu@cup.hp.com> 6552 6553 * objc/objc-act.c (encode_type): Temporary revert to the old 6554 behavior of encoding types as the new one seems to break the 6555 encoding of bitfields. 6556 6557Mon Feb 22 11:40:44 1999 Craig Burley <craig@jcb-sc.com> 6558Sat Feb 20 09:59:36 1999 Craig Burley <craig@jcb-sc.com> 6559 6560 * Makefile.in (all.internal, all.cross): Depend on `doc' 6561 target, to ensure docs get made before installation. 6562 6563 Decrease spurious warnings from -fsyntax-only: 6564 * stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only. 6565 6566Mon Feb 22 10:55:00 1999 Gavin Romig-Koch <gavin@cygnus.com> 6567 6568 * c-lex.c (yylex): Replace warning about integer constants being 6569 larger than long-longs, with a warning about integer constants 6570 being larger than the largest target integer. 6571 6572Mon Feb 22 08:35:38 1999 Craig Burley <craig@jcb-sc.com> 6573 6574 Fix -fsyntax-only ICEs: 6575 * varasm.c (assemble_zeros, assemble_variable, 6576 output_constant_def): Do nothing when -fsyntax-only. 6577 6578Fri Feb 19 18:18:56 1999 Don Bowman <don@pixstream.com> 6579 6580 * configure.in (mips*-*-vxworks*): Enable gthreads vxworks support. 6581 * configure: Rebuilt. 6582 6583Sun Feb 21 20:34:44 1999 Jeff Law (law@cygnus.com) 6584 6585 * version.c: Bump for snapshot. 6586 6587Sun Feb 21 20:35:10 1999 Jeffrey A Law (law@cygnus.com) 6588 6589 * config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete. 6590 (ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise. 6591 * tm.texi: Update docs for constructors and destructors. 6592 6593Sun Feb 21 17:11:18 1999 Richard Henderson <rth@cygnus.com> 6594 6595 * genattrtab.c (check_attr_value): Allow negative const_int if 6596 negative_ok. Accept integral arithmetic operators. Accept 6597 direct references to other attributes. Accept symbol_ref in 6598 non-constant attributes. 6599 (max_attr_value): Add new argument `unknownp'. Update all callers. 6600 (or_attr_value): Likewise. 6601 (simplify_knowing): Don't optimize if max_attr_value unknown. 6602 (write_length_unit_log): Likewise with or_attr_value. 6603 (find_and_mark_used_attributes): Don't fallthru case. 6604 (write_attr_set): Pass thru all non-cond expressions. 6605 (write_attr_value): Handle symbol_ref, attr, and arithmetic. 6606 6607Sun Feb 21 13:16:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 6608 6609 * regmove.c (discover_flags_reg): Use word_mode instead of SImode. 6610 6611Sun Feb 21 13:15:40 1999 Richard Henderson <rth@cygnus.com> 6612 6613 * regmove.c (discover_flags_reg): Remove cc0 code. 6614 (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if 6615 a potential flags register was identified. 6616 6617Sat Feb 20 16:16:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 6618 6619 * rs6000.md (scc plus ltu): Fix typo in last change. 6620 6621Sat Feb 20 09:08:44 1999 Richard Earnshaw (rearnsha@arm.com) 6622 6623 * xm-arm.h (HOST_BITS_PER_LONGLONG): Define. 6624 6625Fri Feb 19 23:02:02 1999 Richard Henderson <rth@cygnus.com> 6626 6627 * regmove.c (discover_flags_reg): New function. 6628 (flags_set_1, mark_flags_life_zones): New functions. 6629 (regmove_optimize): Call them. 6630 (fixup_match_1): Use insn modes rather than sets_cc0_p. 6631 6632Fri Feb 19 22:47:01 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6633 6634 * rtlanal.c (insn_first_p): Fix return value for insn == reference. 6635 6636 * loop.c (strength_reduce, check_final_value, check_dbra_loop): 6637 Use loop_insn_first_p. 6638 6639Fri Feb 19 15:49:26 1999 Michael Meissner <meissner@cygnus.com> 6640 David Edelsohn <edelsohn@gnu.org> 6641 6642 * rs6000.md (scc plus eq): Fix output template. 6643 (scc plus ltu): Fix output template and collapse variants 6644 correcting early clobbers. 6645 (scc plus geu): Fix output template. 6646 (scc plus gt): Fix output template. 6647 (scc plus gtu): Fix output template and collapse variants. 6648 6649Fri Feb 19 15:43:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6650 6651 * cppinit.c (print_help): Remove unescaped newline in string. 6652 6653Fri Feb 19 19:55:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6654 6655 * loop.c (strength_reduce): Check for intervening jumps when 6656 converting biv increment to giv. 6657 6658Thu Feb 18 16:36:58 1999 Per Bothner <bothner@cygnus.com> 6659 6660 * tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes, 6661 * expr.c (expand_expr): Support new tree nodes. 6662 6663Fri Feb 19 10:17:56 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 6664 6665 * config/m68k/m68k.c (m68k_align_loops_string, 6666 m68k_align_jumps_string, m68k_align_funcs_string): Add const. 6667 * config/m68k/m68k.h (m68k_align_loops_string, 6668 m68k_align_jumps_string, m68k_align_funcs_string): Likewise. 6669 6670Thu Feb 18 23:28:35 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6671 6672 * bitmap.c (bitmap_print): Qualify a char* with the `const' keyword. 6673 6674 * bitmap.h (bitmap_print): Likewise. 6675 6676 * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise. 6677 6678 * c-lang.c (build_objc_string): Likewise. 6679 6680 * c-lex.c (yyerror, extend_token_buffer): Likewise. Don't include 6681 limits.h or ctype.h. Remove unused variable `p'. 6682 6683 * c-lex.h (yyerror): Qualify a char* with the `const' keyword. 6684 6685 * c-pragma.c (handle_pragma_token): Likewise. 6686 6687 * c-pragma.h (handle_pragma_token): Likewise. 6688 6689 * c-tree.h (build_objc_string, builtin_function, grokfield, 6690 build_indirect_ref, lvalue_or_else, readonly_warning, error_init, 6691 pedwarn_init): Likewise. 6692 6693 * c-typeck.c (convert_for_assignment, warn_for_assignment, 6694 push_string, warning_init, incomplete_type_error, 6695 build_indirect_ref, lvalue_or_else, readonly_warning, 6696 build_c_cast, spelling, push_member_name, print_spelling, 6697 error_init, pedwarn_init, start_init): Likewise. 6698 6699 * objc/objc-act.c (build_objc_string): Likewise. 6700 6701 * print-tree.c (print_node_brief, print_node): Likewise. 6702 6703 * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise. 6704 6705Thu Feb 18 20:44:21 1999 David Edelsohn <edelsohn@gnu.org> 6706 6707 * regclass.c (record_reg_classes): Correctly handle 'p' constraint. 6708 6709Thu Feb 18 19:59:37 1999 Marc Espie <espie@cvs.openbsd.org> 6710 6711 * configure.in :Handle OpenBSD platforms. 6712 * configure: Rebuilt. 6713 * config/openbsd.h: New file. 6714 * config/xm-openbsd.h: New file. 6715 * config/t-openbsd: New file. 6716 * config/t-openbsd-thread: New file. 6717 6718Thu Feb 18 18:47:09 1999 Jeffrey A Law (law@cygnus.com) 6719 6720 * function.c (assign_stack_temp_for_type): Round SIZE before calling 6721 assign_stack_local for BLKmode slots. 6722 6723Fri Feb 19 01:45:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6724 6725 * loop.c (strength_reduce): For derived givs, replace the 6726 giv this was derived from with its new_reg. 6727 (recombine_givs): Don't set new_reg for derived giv. 6728 And don't print it, print SUM instead. 6729 6730Thu Feb 18 15:52:49 1999 Jim Wilson <wilson@cygnus.com> 6731 6732 * m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support. 6733 67341999-02-18 Zack Weinberg <zack@rabi.columbia.edu> 6735 6736 * cpplib.c: Kill define of STDC_VALUE. Don't include output.h 6737 or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to 6738 macro_cleanup. 6739 (GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR, 6740 predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, 6741 CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct 6742 cpp_pending, version_string, struct default_include, 6743 include_defaults_array, path_include, cpp_options_init, 6744 dump_special_to_buffer, initialize_builtins, cpp_start_read, 6745 cpp_reader_init, nreverse_pending, push_pending, print_help, 6746 cpp_handle_option, cpp_handle_options, cpp_finish, 6747 cpp_cleanup): Move to cppinit.c. 6748 (macro_cleanup, struct arglist, collect_expansion, 6749 create_definition, compare_defs, comp_def_part, ARG_BASE, 6750 struct argdata, macarg, change_newlines, timestamp, 6751 monthnames, special_symbol, unsafe_chars, macroexpand, 6752 push_macro_expansion): Move to cpphash.c. 6753 (quote_string, check_macro_name, cpp_expand_to_buffer, 6754 output_line_command, cpp_undef): Export. 6755 (null_underflow, null_cleanup, handle_directive): Make static. 6756 6757 * cpplib.h: Prototype now-exported functions. Adjust decls of 6758 syntax tables so we can include cpplib.h in cppinit.c. 6759 * cpphash.h: Prototype all functions exported by cpphash.c. 6760 * cppinit.c: Make syntax tables initialized data if possible 6761 (uses GCC designated-initializer extension). 6762 * cppexp.c: Make cpp_lex static. 6763 * Makefile.in: Move -D switches for the various include dirs 6764 from cpplib.o rule to cppinit.o rule. Adjust dependencies. 6765 6766Thu Feb 18 13:15:56 1999 Marc Espie <espie@cvs.openbsd.org> 6767 6768 * alpha/openbsd.h: New file. 6769 * alpha/xm-openbsd.h: New file. 6770 * sparc/openbsd.h: New file. 6771 * sparc/xm-openbsd.h: New file. 6772 * m68k/openbsd.h: New file. 6773 * m68k/xm-openbsd.h: New file. 6774 * i386/openbsd.h: New file, originally from netbsd. 6775 * i386/xm-openbsd.h: New file. 6776 67771999-02-17 Zack Weinberg <zack@rabi.columbia.edu> 6778 6779 * Makefile.in: Correct dependencies for cpplib object files. 6780 6781Wed Feb 17 14:04:18 1999 Michael Meissner <meissner@cygnus.com> 6782 6783 * rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other 6784 than cr0. 6785 6786Wed Feb 17 16:59:28 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6787 6788 * loop.c (strength_reduce): Don't move giv insn for biv turned giv 6789 below scan_start. 6790 6791Wed Feb 17 10:56:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6792 6793 * tree.c (tree_node_kind_names, print_obstack_name, 6794 get_identifier, maybe_get_identifier, build_string, 6795 build_expr_wfl, is_attribute_p, lookup_attribute, 6796 print_obstack_statistics, get_file_function_name_long, tree_check, 6797 tree_class_check, expr_check): Qualify a char* with the `const' 6798 keyword. 6799 6800 * tree.h (get_identifier, maybe_get_identifier, build_string, 6801 build_expr_wfl, is_attribute_p, lookup_attribute, 6802 print_obstack_statistics, print_obstack_name, tree_check, 6803 tree_class_check, expr_check): Likewise. 6804 6805Tue Feb 16 21:29:38 1999 Jeffrey A Law (law@cygnus.com) 6806 6807 * i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing 6808 errors. 6809 6810 * calls.c (store_one_arg): Mark any slots used for the argument 6811 as in-use immediately after we're done saving any slots which 6812 will be overwritten by this argument. 6813 6814Tue Feb 16 21:02:07 1999 Anton Hartl <toni@devsoft.com> 6815 6816 * rs6000.md (call_value): Fix typo. 6817 6818Wed Feb 17 01:29:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6819 6820 * loop.c (strength_reduce): Calculate maybe_dead before 6821 calling recombine_givs. 6822 6823Wed Feb 17 00:43:12 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6824 6825 * loop.c (strength_reduce): Dump biv increment -> giv conversions. 6826 6827Tue Feb 16 15:31:39 1999 Ovidiu Predescu <ovidiu@cup.hp.com> 6828 6829 * objc/objc-act.c (encode_type): Encode the type instead of 6830 encoding the mode of the type (patch from Richard Frith-Macdonald 6831 <richard@brainstorm.co.uk>). 6832 6833Tue Feb 16 10:53:51 1999 Richard Earnshaw (rearnsha@arm.com) 6834 6835 * config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load 6836 instruction killed in previous change. Simplify mask generation. 6837 (*zeroextractsi_compare0_scratch): Simplify mask generation. 6838 6839Tue Feb 16 09:52:26 1999 Nick Clifton <nickc@cygnus.com> 6840 6841 * config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that 6842 bitfield does not overflow a byte boundary. 6843 6844Tue Feb 16 01:37:33 1999 Charles G Waldman <cgw@alum.mit.edu> 6845 6846 * c-common.c (shorten_compare): Get the min/max value from the 6847 underlying type of an enumeration, not the enumerated type itself. 6848 6849Mon Feb 15 23:04:48 1999 Jeffrey A Law (law@cygnus.com) 6850 6851 * jump.c: Include insn-attr.h. 6852 (delete_computation): If reload has completed and insn scheduling 6853 after reload is enabled, then do not depend on REG_DEAD notes. 6854 * Makefile.in (jump.o): Depend on insn-attr.h. 6855 6856Mon Feb 15 16:57:38 1999 Richard Henderson <rth@cygnus.com> 6857 6858 * i386.md (addsi3): Allow lea for any constant_p. 6859 68601999-02-15 Zack Weinberg <zack@rabi.columbia.edu> 6861 6862 * toplev.c (documented_lang_options): Remove -fident and 6863 -fnoident, which are now handled by the language independent 6864 option parser. 6865 68661999-02-15 Zack Weinberg <zack@rabi.columbia.edu> 6867 6868 * c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF. 6869 * c-lex.c: Likewise. 6870 * cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked 6871 list in malloced memory for the buffer stack. 6872 (cpp_get_token): Don't pop the last buffer off the stack. 6873 Calls after CPP_EOF has been returned produce CPP_EOF with no 6874 state change. 6875 (cpp_finish): Pop last buffer here. 6876 (do_line): Don't free ip->last_nominal_fname if it is equal to 6877 ip->fname. 6878 (special_symbol): If a T_CONST is the empty string, push a 6879 single `@ ' escape instead. 6880 (macroexpand): Special symbol buffers have escapes too. 6881 * cpplib.h (struct cpp_buffer): Remove unused fields, add prev 6882 buffer pointer. 6883 (struct cpp_reader): Remove buffer_stack. Add 6884 buffer_stack_depth. 6885 (CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a 6886 linked list. 6887 6888Mon Feb 15 14:44:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 6889 6890 * cccp.c: Don't define HOST_WIDE_INT. Replace all occurrences of 6891 WIDE_INT with WIDEST_INT. 6892 6893 * cexp.y: Likewise. 6894 Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or 6895 HOST_BITS_PER_WIDE_INT. Replace occurrences of PRINTF_PROTO_1() 6896 style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros. Replace 6897 occurrences of "unsigned_HOST" with "unsigned HOST". Provide a 6898 definition of variable `c89' when compiling a test binary and set it. 6899 6900 * system.h: Don't define the PRINTF_PROTO_* macros. 6901 6902Mon Feb 15 11:33:51 1999 Jeffrey A Law (law@cygnus.com) 6903 6904 * loop.c (mark_loop_jump): Handle LO_SUM. If we encounter something 6905 we do not understand, mark the loop and containing loops as invalid. 6906 6907Mon Feb 15 00:40:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6908 6909 * alias.c (init_alias_analysis): Avoid self-referential value 6910 when setting reg_known_value from REG_EQUAL notes. 6911 6912Sun Feb 14 23:12:10 1999 Richard Henderson <rth@cygnus.com> 6913 6914 * i386.c (legitimate_address_p): Verify modes of base and index. 6915 6916Sun Feb 14 23:01:28 1999 Richard Henderson <rth@cygnus.com> 6917 6918 * i386.c (legitimate_pic_address_disp_p): Remove static. 6919 * i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of 6920 open-coding cases. 6921 6922Sun Feb 14 21:03:28 1999 Jeffrey A Law (law@cygnus.com) 6923 6924 * except.c (start_catch_handler): Use emit_cmp_and_jump_insns. 6925 * explow.c (probe_stack_range): Likewise. 6926 * expmed.c (do_cmp_and_jump): Likewise. 6927 * expr.c (store_expr, expand_expr, expand_builtin): Likewise. 6928 (do_tablejump): Likewise. 6929 * stmt.c (expand_expr_stmt, expand_end_case): Likewise. 6930 (do_jump_if_equal, emit_case_nodes): Likewise. 6931 * optabs.c (emit_cmp_and_jump_insns): Clarify comments. If UNSIGNEDP, 6932 then convert comparison to an unsigned code before emitting the jump. 6933 (expand_float, expand_fix): Use emit_cmp_and_jump_insns. 6934 6935Sun Feb 14 02:24:15 1999 Jeff Law (law@cygnus.com) 6936 6937 * version.c: Bump for snapshot. 6938 6939Sun Feb 14 01:15:04 1999 Jeff Law (law@cygnus.com) 6940 6941 * version.c: Bump for snapshot. 6942 6943Sun Feb 14 00:45:50 1999 Jeffrey A Law (law@cygnus.com) 6944 6945 * loop.c: Disable recent loop changes. Temporary as Joern 6946 continues to fix problems. 6947 6948Sat Feb 13 23:29:42 1999 Richard Henderson <rth@cygnus.com> 6949 6950 * loop.c (combine_givs_used_by_other): Delete. 6951 (combine_givs_benefit_from): Delete. 6952 (combine_givs): Deny combination of givs only used once. Simplify 6953 code with the death of combine_givs_benefit_from. 6954 6955Sun Feb 14 11:24:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 6956 6957 * loop.c (scan_loop): Call reg_in_basic_block_p before 6958 loop_reg_used_before_p. 6959 6960Sat Feb 13 05:32:00 1999 Richard Earnshaw (rearnsha@arm.com) 6961 6962 * arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...). 6963 * arm.h: Likewise. 6964 * arm.c: Likewise. 6965 6966 * arm.h (TARGET_OPTIONS): Reformat for clarity. 6967 (GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols 6968 in the constant pool aren't valid. 6969 (LEGITIMATE_PIC_OPERAND_P): Likewise. 6970 6971 * arm.c: Include "system.h", not stdio.h and string.h. 6972 6973Fri Feb 12 13:06:28 1999 Jim Wilson <wilson@cygnus.com> 6974 6975 * stmt.c (expand_return): Return if optimize_tail_recursion succeeded. 6976 (optimize_tail_recursion): Change return type from void to int. 6977 Add return statements. 6978 * tree.h (optimize_tail_recursion): Change prototype to match. 6979 6980Fri Feb 12 21:09:51 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6981 6982 * reload.c (find_reloads_subreg_address): New function, broken out of 6983 find_reloads_toplev. 6984 (find_reloads_toplev, find_reloads_address_1): Use it. 6985 6986Fri Feb 12 13:20:52 1999 Jeffrey A Law (law@cygnus.com) 6987 6988 * h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle 6989 extending a CONST_INT. 6990 6991 * h8300.md (peephole for combining memrefs): Delete incorrect peephole. 6992 6993Fri Feb 12 18:29:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 6994 6995 * loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset): 6996 New functions. 6997 (maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset. 6998 6999Fri Feb 12 16:56:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7000 7001 * loop.c (load_mems): Don't guess how to do a load / store, use 7002 emit_move_insn. 7003 7004Fri Feb 12 09:24:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7005 7006 * system.h: Provide a definition for HOST_WIDEST_INT, etc. 7007 7008Fri Feb 12 23:37:26 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7009 7010 * config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change. 7011 7012Fri Feb 12 00:51:26 1999 Jeffrey A Law (law@cygnus.com) 7013 7014 * reload.c (find_reloads_address_1): Fix handling of an autoincremented 7015 pseudo which is homed in the stack. 7016 7017 * mips.c (save_restore_insns): Fix loop to save/restore FP registers. 7018 (compute_frame_size): Change loop over FP regs to be consistent 7019 with the loop in save_restore_insns. 7020 7021Thu Feb 11 17:38:40 1999 Jim Wilson <wilson@cygnus.com> 7022 7023 * i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used. 7024 (LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96. 7025 7026Thu Feb 11 15:11:35 1999 Jeffrey A Law (law@cygnus.com) 7027 7028 * mn10200.md (bset); Re-enable. 7029 7030Thu Feb 11 15:20:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7031 7032 * sh.md (is_sfunc): New attribute. 7033 * sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it. 7034 7035Thu Feb 11 01:06:49 1999 Nathan Sidwell <nathan@acm.org> 7036 7037 * fold-const.c (range_binop): Take account of the bounded nature 7038 of fixed length arithmetic when comparing unbounded ranges. 7039 7040Thu Feb 11 00:08:17 1999 John Wehle (john@feith.com) 7041 7042 * function.c (assign_stack_temp_for_type): Clear best_p 7043 when an exact match is found. 7044 7045 * i386.h (LOCAL_ALIGNMENT): Define. 7046 * function.c (assign_stack_local, assign_outer_stack_local): Use it. 7047 (assign_stack_temp_for_type): New function based on assign_stack_temp. 7048 (assign_stack_temp): Call it. 7049 (assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp. 7050 * stmt.c: Use assign_temp, not assign_stack_temp. 7051 * tm.texi: Document LOCAL_ALIGNMENT. 7052 7053Wed Feb 10 23:28:28 1999 Jeffrey A Law (law@cygnus.com) 7054 7055 * reorg.c: Finish deleting half-deleted comment. 7056 7057Wed Feb 10 17:12:21 1999 Jim Wilson <wilson@cygnus.com> 7058 7059 * emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE 7060 result. 7061 * final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE 7062 result. 7063 * real.c (endian): Delete sign extension code. 7064 * config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call 7065 replaced with operand_subword call. 7066 7067Wed Feb 10 15:16:39 1999 Richard Henderson <rth@cygnus.com> 7068 7069 * alpha.md (cmov compound patterns): Delete. Jump can now 7070 create the correct constructs in the first place. 7071 7072Wed Feb 10 11:03:22 1999 Richard Henderson <rth@cygnus.com> 7073 7074 * configure.in (alphaev6*): Fix typo in target_cpu_default2. 7075 7076Wed Feb 10 13:59:18 1999 Dave Brolley <brolley@cygnus.com> 7077 7078 * mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0. 7079 7080Wed Feb 10 10:35:05 1999 Jim Wilson <wilson@cygnus.com> 7081 7082 * tmp-emsgids.c: Delete. 7083 7084Wed Feb 10 09:57:08 1999 Mark Mitchell <mark@markmitchell.com> 7085 7086 * rtlanal.c (for_each_rtx): Fix declaration to conform to GNU 7087 coding standards. 7088 7089Wed Feb 10 10:09:41 1999 Jeffrey A Law (law@cygnus.com) 7090 7091 * mn10200.md (bset, bclr): Operand 0 is a read/write operand. 7092 7093 * reload1.c (reload_combine_note_store): Second argument is no 7094 longer unused/ignored. Handle multi-register hard regs. 7095 (move2add_note_store): Simplify. 7096 7097Wed Feb 10 10:05:23 1999 Mumit Khan <khan@xraylith.wisc.edu> 7098 7099 * collect2.c (collect_execute): Remove cygwin-specific code. 7100 7101Tue Feb 9 17:27:29 1999 Nathan Sidwell <nathan@acm.org> 7102 7103 * system.h (_, N_): Remove dummy i18n macros. 7104 * protoize.c: Move inclusion of intl.h to after system.h. 7105 * cexp.y: Include intl.h. 7106 * cexp.c: Rebuilt. 7107 7108Tue Feb 9 16:52:22 1999 Mumit Khan <khan@xraylith.wisc.edu> 7109 7110 * i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore 7111 fpic/fPIC for windows32 targets. 7112 * i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32 7113 paths with '/'. 7114 * i386/mingw32.h (CPP_SPEC): Define. 7115 (CPP_PREDEFINES): Add MINGW32 version id. 7116 * i386/crtdll.h (CPP_PREDEFINES): Likewise. 7117 7118 * Makefile.in (collect2$(exeext)): Delete redundant dependency and 7119 add missing exeext to target. 7120 7121 * gcc.c (convert_filename): Handle null filename argument. 7122 7123Wed Feb 10 15:46:10 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7124 7125 * config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use 7126 m constraint instead of QT. 7127 71281999-02-09 Brendan Kehoe <brendan@cygnus.com> 7129 7130 * cpplib.c (special_symbol): Move IP to be declared in function 7131 scope, rather than individual case statements. 7132 71331999-02-09 Zack Weinberg <zack@rabi.columbia.edu> 7134 7135 * cppfiles.c (finclude): Handle pipes properly under old BSD 7136 derivatives. 7137 71381999-02-09 Melissa O'Neill <oneill@cs.sfu.ca> 7139 7140 * system.h: Provide fallback definitions for S_ISCHR, 7141 S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY. 7142 71431999-02-09 Zack Weinberg <zack@rabi.columbia.edu> 7144 7145 * cpplib.c (do_define): Allow redefining __STDC__ with -D. 7146 71471999-02-09 Jim Blandy <jimb@zwingli.cygnus.com> 7148 7149 * configure.in: For PowerPC configurations, accept "401", "ec603e", 7150 "740", and "750" as valid arguments to --with-cpu. 7151 * configure: Rebuilt. 7152 7153Tue Feb 9 00:00:14 1999 Mark Kettenis <kettenis@gnu.org> 7154 7155 * configure.in (i[34567]86-*gnu*): Set float_format to i386. 7156 * configure: Rebuilt. 7157 7158Mon Feb 8 22:38:24 1999 Jeffrey A Law (law@cygnus.com) 7159 7160 * rs6000.md: Revert "alternate use of crs if cr0 not available" 7161 patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999. 7162 7163Mon Feb 8 21:36:44 1999 Richard Henderson <rth@cygnus.com> 7164 7165 * output.h (current_function_has_computed_jump): Rename from 7166 current_function_addresses_labels. 7167 * function.h (struct function): Likewise for addresses_labels member. 7168 * rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise. 7169 * function.c (current_function_has_computed_jump): Likewise. 7170 Update all references. 7171 * integrate.c (function_cannot_inline_p): 7172 Test current_function_has_computed_jump instead of addresses_labels. 7173 (initialize_for_inline): Likewise save. 7174 (output_inline_function): Likewise restore. 7175 7176 * expr.c (expand_expr): Don't reference addresses_labels variables. 7177 * stmt.c (expand_computed_goto): Set has_computed_jump. 7178 71791999-02-08 Michael Meissner <meissner@cygnus.com> 7180 7181 This is being installed only to get it into the repository to help 7182 with the revert, resubmit & review process for the massive rs6000.md 7183 changes. 7184 * rs6000.md (andsi3_internal1 splitter): Don't split if using the 7185 rlwinm instruction. 7186 (anddi3_internal1): Likewise. 7187 (andsi3_internal{2,3}): Correct some insn lengths. 7188 (anddi3*): Restore missing TARGET_POWERPC64, and don't emit old 7189 mnemonics. 7190 7191Mon Feb 8 21:31:06 1999 Richard Henderson <rth@cygnus.com> 7192 7193 * loop.c (reg_single_usage): New file-scope variable ... 7194 (scan_loop): ... moved out of here. Always initialize. 7195 Test loop_has_call instead of reg_single_usage not zero. 7196 Free reg_single_usage after strength reduction. 7197 (count_loop_regs_set): Assume single_usage non-zero. 7198 (combine_givs_used_by_other): Test reg_single_usage. 7199 (load_mems_and_recount_loop_regs_set): Remove reg_single_usage 7200 as a parameter. Assume non-zero. 7201 72021999-02-08 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> 7203 7204 * cpplib.c (special_symbol): Rewrite. Don't copy things 7205 multiple times. Handle __STDC__ specially. T_CONST 7206 indicates a constant /string/. Don't handle T_*_TYPE and 7207 T_SPEC_DEFINED. Use cpp_buf_line_and_col instead of 7208 adjust_position. Determine the file buffer only if needed. 7209 (initialize_builtins): Handle __SIZE_TYPE__, 7210 __PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and 7211 __REGISTER_PREFIX__ with T_CONST special hashtab entries. 7212 Don't provide __OBJC__; the driver does that. Provide 7213 __STDC_VERSION__, using T_CONST. Use T_STDC for 7214 __STDC__. Give install the length of all symbols defined. 7215 (eval_if_expression): Drop code to insert and remove the 7216 "defined" special symbol. 7217 7218 * cpplib.h: Remove SELF_DIR_DUMMY (no longer used). Remove 7219 T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC. 7220 7221 * cpphash.c (install): Drop the `ivalue' parameter. Constify 7222 the `value' parameter. All callers changed. 7223 * cpphash.h (install): Change prototype to match. 7224 (union hashval): Remove `ival' member. 7225 * cppexp.c (cpp_lex): Handle `defined' here. 7226 7227Mon Feb 8 17:29:42 1999 Jeffrey A Law (law@cygnus.com) 7228 7229 * pa.h (EXTRA_CONSTRAINT): Fix comment. 7230 7231Mon Feb 8 18:57:45 1999 Vladimir N. Makarov <vmakarov@cygnus.com> 7232 7233 * c-typeck.c (check_init_type_bitfields): Use nonincremental 7234 initialization of unions whose first member is a bitfield. 7235 Remove unnecessary code for checking the declaration mode 7236 after DECL_C_BIT_FIELD. 7237 7238 * varasm.c (output_constructor): Additional comment about the 7239 constructor of bitfield union initialization. 7240 7241Tue Feb 9 11:55:04 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7242 7243 * config/c4x/c4x.md (*movhi_stik): New pattern. 7244 (movhi): Allow some immediate constants to be directly 7245 stored in memory. 7246 7247Tue Feb 9 11:34:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7248 7249 * config/c4x/c4x.md (all call patterns): Add constraints "Ur". 7250 (call, call_value): Force address into a register if not valid 7251 for a call instruction. 7252 (load_immed_address): Emit a USE of the SYMBOL_REF that is 7253 forced into memory. 7254 * config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers. 7255 7256Tue Feb 9 11:08:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7257 7258 * config/c4x/c4x.c (call_address_operand, symbolic_address_operand): 7259 Rename from call_operand and symbolic_operand respectively. All 7260 callers changed. 7261 * config/c4x/c4x.md (call_address_operand, symbolic_address_operand): 7262 Likewise. 7263 * config/c4x/c4x.h (call_address_operand, symbolic_address_operand): 7264 Likewise. 7265 (PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand. 7266 7267Tue Feb 9 10:52:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7268 7269 * config/c4x/c4x.c (c4x_legitimize_address): Don't generate a 7270 LO_SUM address for HImode or HFmode but instead force address into 7271 a register so that it is offsettable. 7272 (c4x_emit_move_sequence): Handle LO_SUM immediate address. 7273 7274Tue Feb 9 10:46:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7275 7276 * config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for 7277 REG+REG addressing if strength reduction enabled. 7278 7279Tue Feb 9 10:10:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7280 7281 * config/c4x/t-c4x (LIBGCC2_CFLAGS): Delete. 7282 (TARGET_LIBGCC2_CFLAGS): Define. 7283 72841999-02-08 Nick Clifton <nickc@cygnus.com> 7285 7286 * config/v850/v850.md: Replace \\n\\t with \\; 7287 7288 * config/v850/v850.md: Enforce TARGET_LONG_CALLS option. 7289 * config/v850/v850.c (construct_restore_jr, construct_save_jarl): 7290 Enforce TARGET_LONG_CALLS option. 7291 7292Mon Feb 8 11:43:07 1999 Donn Terry <donn@interix.com> 7293 7294 * real.c (PUT_REAL) [XFmode]: Zero the balance of the structure. 7295 7296Mon Feb 8 11:37:24 1999 Marc Espie (espie@cvs.openbsd.org) 7297 7298 * m88k/t-luna-gas: Remove bash dependency. 7299 7300Mon Feb 8 11:34:44 1999 Graham <grahams@rcp.co.uk> 7301 7302 * collect2.c (xrealloc): Fix typo in last change. 7303 7304Mon Feb 8 09:13:38 1999 Jeff Law (law@cygnus.com) 7305 7306 * version.c: Bump for snapshot. 7307 7308Sun Feb 7 22:18:42 1999 Robert Lipe <robertlipe@usa.net> 7309 7310 * tree.h (TYPE_CHECK): Make it clear to the preprocessor 7311 that we do not want macro replacement within a character constant. 7312 (TYPE_CHECK1): Likewise. 7313 7314Sun Feb 7 15:37:10 1999 Jason Merrill <jason@yorick.cygnus.com> 7315 7316 * tree.h (DECL_P): New macro. 7317 7318Sun Feb 7 01:15:04 1999 Jeff Law (law@cygnus.com) 7319 7320 * version.c: Bump for snapshot. 7321 7322Sat Feb 6 18:14:46 1999 Jeffrey A Law (law@cygnus.com) 7323 7324 * mn10300.md (reload_insi): Do not earlyclobber the output operand. 7325 7326 * README.g77, gcc.c, gcc.texi: Update email addresses. 7327 * invoke.texi system.h: Likewise. 7328 7329Sat Feb 6 11:04:08 1999 Jim Wilson <wilson@cygnus.com> 7330 7331 * unroll.c (find_splittable_givs): After express_from, call replace_rtx 7332 to convert dest_reg to new_reg. 7333 7334Sat Feb 6 10:31:35 1999 Jeffrey A Law (law@cygnus.com) 7335 7336 * reload1.c (reload_combine_note_store): Be more careful with 7337 STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT. 7338 (move2add_note_store): Likewise. 7339 7340Sat Feb 6 10:18:01 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7341 7342 * cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to 7343 U_CHAR* when assigning to one. Ensure the values of a ?: operator 7344 have the same type. 7345 7346 * cppinit.c (initialize_char_syntax): Use K&R function definition. 7347 7348Sat Feb 6 11:17:03 1999 Richard Earnshaw <rearnsha@arm.com> 7349 7350 Support for ARM9 7351 * config/arm/arm.c (all_procs): Add arm9 and arm9tdmi. 7352 * config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define. 7353 (TARGET_CPU_DEFAULT): Rework to support ARM9. 7354 (CPP_CPU_ARCH_SPEC): Likewise. 7355 (enum processor_type): Likewise. 7356 * config/arm/arm.md (attr cpu): Add arm9. 7357 7358 General scheduling changes 7359 * config/arm/arm.c (MAX_INSNS_SKIPPED): Delete. 7360 (max_insns_skipped): New variable. 7361 (arm_override_options): If generating hard floating point code for 7362 the FPA, emit code for version 3. 7363 When optimizing for space, don't synthesize constants. 7364 Reword several flags based on the requested processor and optimization 7365 level. 7366 (use_return_insn): New argument iscond, all callers changed. Don't 7367 use a return insn if it will be conditional and that would be 7368 expensive; eg on StrongARM. 7369 (arm_adjust_cost): Anti- and output- dependencies normally have no 7370 cost. 7371 (load_multiple_sequence): Newer ARMs don't benefit from ldm if 7372 the sequence is short. 7373 (final_prescan_insn): Use max_insns_skipped instead of 7374 MAX_INSNS_SKIPPED. Note whether we will make a return instruction 7375 conditional, and aviod this if it would be expensive. 7376 * config/arm/arm.md (scheduling attributes and function units): 7377 Rewrite to better describe ARM8, 9 and StrongARM. 7378 7379 * config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate 7380 s_register_operand. 7381 (*ifcompare_plus_move): Use arm_rhs_operand in place of 7382 arm_rhsm_operand. Rework constraints. 7383 (*if_plus_move): Likewise. 7384 (*ifcompare_move_plus): Likewise. 7385 (*if_move_plus): Likewise. 7386 (*ifcompre_arith_move): Likewise. 7387 (*if_arith_move): Likewise. 7388 (*ifcompare_move_arith): Likewise. 7389 (*if_move_arith): Likewise. 7390 7391 * config/arm/xm-netbsd.h: Don't include arm/xm-arm.h. 7392 73931999-02-05 Michael Meissner <meissner@cygnus.com> 7394 7395 * loop.c (check_dbra_loop): A store using an address giv for which 7396 we have no life information is not reversible. 7397 7398Fri Feb 5 17:08:01 1999 Dave Brolley <brolley@cygnus.com> 7399 7400 * function.c (fixup_var_refs): Scan catch_clauses too. 7401 7402Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com> 7403 7404 * c-common.c (decl_attributes): Fix reserved space for init_priority. 7405 * tree.h (MAX_RESERVED_INIT_PRIORITY): New macro. 7406 7407Fri Feb 5 12:37:05 1999 Jeffrey A Law (law@cygnus.com) 7408 7409 * loop.c (strength_reduce): Clear not_every_iteration when 7410 passing the NOTE_INSN_LOOP_CONT note. 7411 7412 * haifa-sched.c (add_dependence): Do not add a dependency on a 7413 note. 7414 7415Fri Feb 5 10:55:43 1999 Nick Clifton <nickc@cygnus.com> 7416 7417 * recog.c (split_block_insns): Only call update_flow_info if 7418 instruction scheduling is enabled. 7419 74201999-02-05 Zack Weinberg <zack@rabi.columbia.edu> 7421 7422 * Makefile.in (gen-protos): Use libcpp.a like everyone else. 7423 7424Fri Feb 5 07:09:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7425 7426 * loop.c (first_loop_store_insn): New file-scope variable. 7427 (prescan_loop): Set it. 7428 (check_dbra_loop): Check if a store depends on a register 7429 that is set after the store. 7430 7431Fri Feb 5 06:55:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7432 7433 * unroll.c (entire file): Remove tabs / spaces at end of lines. 7434 Replace spaces with tabs where appropriate. 7435 7436Thu Feb 4 15:12:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7437 7438 * loop.c (scan_loop): New argument loop_cont. Changed caller. 7439 (strength_reduce): New argument loop_cont. Changed caller. 7440 Before clearing not_every_iteration after a label, check if 7441 we are not already past LOOP_CONT. 7442 74431999-02-04 Zack Weinberg <zack@rabi.columbia.edu> 7444 7445 * cpperror.c (cpp_print_containing_files): Fix formatting 7446 bug induced by merge. 7447 74481999-02-04 Zack Weinberg <zack@rabi.phys.columbia.edu> 7449 7450 * cpplib.c (initialize_char_syntax): Move to cppinit.c. 7451 (cpp_define): Remove redundant syntax checks. 7452 (make_assertion): Rename cpp_assert, remove redundant syntax 7453 checks, export. 7454 (cpp_options_init): Don't init things to zero twice. 7455 (cpp_expand_to_buffer): Use memcpy, not a char-by-char loop. 7456 (do_include): Kill excessively verbose #import warning that 7457 snuck back in in the gcc2 merge. 7458 (convert_string): Removed. 7459 (do_line): Rewrite with simple last-name-used cache instead of 7460 private hashtable. 7461 (cpp_start_read): Call initialize_char_syntax here, not... 7462 (cpp_reader_init): ...here. 7463 (cpp_handle_options): Support the -std switch. 7464 * cpplib.h (cpp_buffer): Add last_nominal_fname member. 7465 (cpp_options): Add c9x flag. 7466 Declare all the is_* tables and trigraph table here, as const. 7467 Prototype cpp_assert and initialize_char_syntax. 7468 * cppinit.c: New file. 7469 * cppfiles.c (read_and_prescan): Optimize. 7470 * Makefile.in (LIBCPP_OBJS): Add cppinit.o. 7471 7472Thu Feb 4 10:46:30 1999 Gavin Romig-Koch <gavin@cygnus.com> 7473 7474 * config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3, 7475 [u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register 7476 before calling gen_div_trap. 7477 7478Wed Feb 3 21:56:27 1999 Jeffrey A Law (law@cygnus.com) 7479 7480 * configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather 7481 than numeric value for target_cpu_default.. 7482 * configure: Rebuilt. 7483 7484Wed Feb 3 21:55:56 1999 Marc Espie <Marc.Espie@liafa.jussieu.fr> 7485 7486 * Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and 7487 mkstemp. Get them from libiberty. 7488 (COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp. 7489 (PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute. 7490 (cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules. 7491 (mkstemp.o, getopt1.o, getopt.o): Likewise. 7492 7493 * pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric 7494 values. 7495 * pa-hpux.h (LINK_SPEC): Likewise. 7496 * pa-hpux10.h (LINK_SPEC): Likewise. 7497 * pa-hpux9.h (LINK_SPEC): Likewise. 7498 * pa-osf.h (LINK_SPEC): Likewise. 7499 * pa-pro.h (TARGET_DEFAULT): Likewise. 7500 * pa1.h (TARGET_DEFAULT): Likewise. 7501 * pa.h (MASK_*): New defines. 7502 (TARGET_*): Use symbolic values rather than numeric values. 7503 (TARGET_SWITCHES): Likewise. 7504 (TARGET_DEFAULT): Likewise. 7505 (CPP_SPEC): Likewise. 7506 7507Wed Feb 3 21:07:38 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 7508 7509 * reload1.c (reload_cse_regs_1): Undo Jan 16 patch. 7510 * reload.c (find_reusable_reload): New function, broken out of 7511 push_reload. Add code to verify that none of the involved 7512 outputs are subject to earlyclobbers. 7513 (push_reload): Break out new function find_reusable_reload. 7514 Delete "register" keyword for IN, OUT args. 7515 7516Wed Feb 3 15:51:04 1999 Gavin Romig-Koch <gavin@cygnus.com> 7517 7518 * config/mips/mips.c (true_reg_or_0_operand) : New function. 7519 * config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand. 7520 * config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16): 7521 Use true_reg_or_0_operand for div_trap. 7522 7523Wed Feb 3 20:44:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7524 7525 * loop.h (express_from): Declare. 7526 (struct induction): Replace derived flag with derived_from pointer. 7527 * loop.c (strength_reduce, record_giv, recombine_givs): Likewise. 7528 (express_from): No longer static. 7529 * unroll.c (find_splittable_givs): Replace derived with derived_from. 7530 When processing an address giv with which another giv has been 7531 combined that has also been derived from a third giv, handle like 7532 having combined with the third giv. 7533 Set splittable_regs_updates appropriately for derived givs. 7534 7535Wed Feb 3 15:26:58 1999 Gavin Romig-Koch <gavin@cygnus.com> 7536 7537 * config/mips/mips.md (div_trap_mips16): Remove nop's after branches. 7538 7539Wed Feb 3 11:56:23 1999 Jeffrey A Law (law@cygnus.com) 7540 7541 * pa.c (insn_sets_and_refs_are_delayed): New function. 7542 * pa.h (INSN_SETS_ARE_DELAYED): Use it. 7543 (INSN_REFERENCES_ARE_DELAYED): Likewise. 7544 7545Wed Feb 3 06:24:49 1999 Richard Earnshaw (rearnsha@arm.com) 7546 7547 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete. 7548 * config/arm/t-linux (LIBGCC2_CFLAGS): Delete. 7549 (TARGET_LIBGCC2_CFLAGS): Define. 7550 (LIBGCC2_DEBUG_CFLAGS): Define. 7551 * config/arm/t-netbsd: Likewise. 7552 * config/arm/t-semi: Likewise. 7553 * config/arm/t-semiaof: Likewise. 7554 * config/arm/t-riscix: Likewise. 7555 7556Wed Feb 3 10:59:07 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 7557 7558 * config/m68k/m68k.c (print_operand_address): When printing a 7559 SYMBOL_REF that ends in `.<letter>' put parentheses around it. 7560 7561Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org> 7562 7563 * i386/freebsd*.h now allows '$' in label names and does not use the 7564 PCC struct return method. 7565 7566Tue Feb 2 22:38:23 1999 Jim Wilson <wilson@cygnus.com> 7567 7568 * Makefile.in: Change all uses of AR to AR_FOR_TARGET. Change all uses 7569 of HOST_AR to AR. Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST. 7570 (RANLIB_TEST): Test to see if ranlib exists. Only test absolute file 7571 names if host == target. 7572 (HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete. 7573 (AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS. 7574 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules 7575 setting them to *_FOR_TARGET. 7576 * cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): 7577 Delete. 7578 7579Tue Feb 2 22:38:19 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> 7580 7581 * toplev.h (read_integral_parameter): Declare. 7582 * toplev.c (read_integral_parameter): New function. 7583 7584Fri Jan 29 21:00:56 1999 Bob Manson <manson@charmed.cygnus.com> 7585 7586 * resource.c, resource.h: New files. 7587 * Makefile.in (OBJS): Add it. 7588 7589 * haifa-sched.c (regno_use_in): Moved to rtlanal.c. 7590 (split_block_insns): Moved to recog.c. 7591 (update_flow_info): Make public. 7592 * rtl.h: Declare them. 7593 7594 * reorg.c: Moved the functions dealing with computing resource 7595 usage to resource.c. 7596 7597 * sched.c (regno_use_in): Moved to rtlanal.c. 7598 (update_flow_info): Make public. 7599 (schedule_insns): Use split_block_insns. 7600 7601 * recog.c (split_block_insns): New function. 7602 7603Tue Feb 2 22:03:26 1999 David Edelsohn <edelsohn@gnu.org> 7604 7605 * rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused. 7606 (LINK_OS_DEFAULT_SPEC): Delete, unused. 7607 7608Tue Feb 2 20:29:34 1999 Catherine Moore <clm@cygnus.com> 7609 7610 * configure.in (arm-*-oabi): Support. 7611 * configure: Regenerate. 7612 * config/arm/unknown-elf-oabi.h: New file. 7613 7614Tue Feb 2 19:43:59 1999 Jeffrey A Law (law@cygnus.com) 7615 7616 * i386.md (ashlsi3): Turn into a define_expand an anonymous pattern. 7617 Make the anonymous pattern match when ! optimize_size. 7618 (ashlsi3 size optimizer): New pattern. 7619 7620 * intl/Makefile.in (uninstall): Add missing "; \". 7621 7622Tue Feb 2 18:21:23 1999 Stan Cox <scox@cygnus.com> 7623 7624 * sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x 7625 synonym. 7626 7627Tue Feb 2 20:24:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7628 7629 * loop.c (loop_optimize): Fix value max_uid_for_loop is reset 7630 to after find_and_verify_loops call. 7631 7632Tue Feb 2 19:48:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7633 7634 * (recombine_givs): Don't use a giv that's likely to be dead to 7635 derive others. 7636 7637 * loop.c (recombine_givs): Fix test for lifetime overlaps / loop 7638 wrap around when deriving givs. 7639 7640Mon Feb 1 20:00:40 1999 Richard Henderson <rth@cygnus.com> 7641 7642 * recog.c (check_asm_operands): Treat indeterminate operand ok 7643 results as success. Try harder to resolve a matching constraint. 7644 * stmt.c (expand_asm_operands): Recognize when an output operand's 7645 constraint does not allow memory. Treat indeterminate operand ok 7646 results as failure. Try harder to resolve a matching constraint. 7647 7648Mon Feb 1 15:00:02 1999 Ken Raeburn <raeburn@cygnus.com> 7649 7650 Use varrays for constant-equivalence data: 7651 7652 * varray.h (struct const_equiv_data): New type. 7653 (union varray_data_tag): New element const_equiv. 7654 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros. 7655 (VARRAY_SIZE): New macro, returns number of elements. 7656 * integrate.h: Include varray.h. 7657 (struct inline_remap): Replace const_equiv_map, const_age_map and 7658 const_equiv_map_size with a const_equiv_varray element. 7659 (MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if 7660 needed. 7661 (SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields 7662 simultaneously, growing the varray if needed. 7663 7664 * integrate.c (global_const_equiv_map, 7665 global_const_equiv_map_size): Deleted, replaced by.... 7666 (global_const_equiv_varray): New variable. 7667 (expand_inline_function): References changed. 7668 * integrate.h: Update declarations. 7669 7670 * integrate.c (process_reg_parm, expand_inline_function, 7671 copy_rtx_and_substitute, try_constants, subst_constants, 7672 mark_stores): Use varray allocation and accessor macros, new 7673 integrate.h macros, and global_const_equiv_varray. Don't 7674 conditionalize non-NULL stores on array size; instead, expand the 7675 array as needed. 7676 * unroll.c (unroll_loop): Likewise. 7677 7678 * unroll.c (unroll_loop): Initialize const_equiv_varray element to 7679 zero. After allocating varray, always exit through bottom of 7680 function, where it can be deallocated if needed. Don't explicitly 7681 reallocate const_equiv_map storage; instead, just ensure the 7682 varray has been initialized, and update the global reference. 7683 7684Mon Feb 1 09:40:25 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7685 7686 * system.h (inline, const): Handle these for stage2 (and later) gcc. 7687 7688 * dwarf2out.c (inline): Don't define. 7689 7690 * dwarfout.c (inline): Likewise. 7691 7692Sun Jan 31 22:04:37 1999 Richard Henderson <rth@cygnus.com> 7693 7694 * loop.c (recombine_givs): Dump recombination and derivation data. 7695 7696Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu> 7697 7698 * flags.h: Declare flag_no_ident. 7699 * toplev.c: Define flag_no_ident. Process -f(no-)ident here. 7700 * c-tree.h: Don't declare flag_no_ident. 7701 * c-decl.c: Don't define flag_no_ident. Don't process 7702 -f(no-)ident switches here. 7703 7704 * config/elfos.h (ASM_FILE_END): Output final .ident directive 7705 only if !flag_no_ident. 7706 * config/ptx4.h: Likewise. 7707 * config/svr4.h: Likewise. 7708 * config/alpha/elf.h: Likewise. 7709 * config/arm/linux-elf.h: Likewise. 7710 * config/i386/sco5.h: Likewise. 7711 * config/i860/fx2800.h: Likewise. 7712 * config/mips/gnu.h: Likewise. 7713 * config/i386/osfrose.h: Likewise. 7714 7715 * gcc.c (C specs): Map -Qn to -fno-ident. 7716 * objc/lang-specs.h: Likewise. 7717 7718Mon Feb 1 10:52:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7719 7720 * configure.in: Don't remove loop.o and unroll.o when 7721 enable-haifa is selected. 7722 * configure: Rebuilt. 7723 7724Sun Jan 31 13:22:02 1999 John Wehle (john@feith.com) 7725 7726 * i386.md (movsicc, movhicc, movsfcc, movdfcc, 7727 movxfcc, movdicc): Delete unconstrained alternatives. 7728 * i386.c (output_fp_conditional_move, 7729 output_int_conditional_move): Delete unused case. 7730 7731Sun Jan 31 01:15:04 1999 Jeff Law (law@cygnus.com) 7732 7733 * version.c: Bump for snapshot. 7734 7735Sun Jan 31 00:52:37 1999 Richard Henderson <rth@cygnus.com> 7736 7737 * alpha.md (mov patterns): Emit the assembler aliases mov and fmov 7738 instead of bis and cpys. Combine alternatives where possible. 7739 7740Sat Jan 30 23:14:13 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7741 7742 * gcov.c (fnotice): Add missing FILE* parameter. 7743 (function_summary): Fix format specifiers in calls to `fnotice'. 7744 (output_data): Likewise. 7745 7746 * toplev.c (fnotice): Constify char* parameter. 7747 7748 * toplev.h (fnotice): Add prototype. 7749 Wrap prototype with BUFSIZ to protect FILE* usage. 7750 7751Sun Jan 31 15:33:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7752 7753 * config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs. 7754 7755Sat Jan 30 08:27:23 1999 Jeffrey A Law (law@cygnus.com) 7756 7757 * combine.c (distribute_notes): Handle REG_EH_REGION notes. 7758 7759 * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to 7760 function definition. 7761 (aliases_everything_p, write_dependence_p):Likewise. 7762 7763 * install.texi: Fix merge lossages. 7764 7765 * cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES 7766 is defined. 7767 * collect2.c (main): Likewise. 7768 * cppmain.c (main): Likewise. 7769 * gcc.c (main): Likewise. 7770 * gcov.c (main): Likewise. 7771 * protoize.c (main): Likewise. 7772 * toplev.c (main): Likewise. 7773 7774 * pa.md (parallel shift and shiftadd): Mark output of shift as an 7775 earlyclobber. 7776 7777 * loop.c: Disable recent loop changes. Temporary as Joern 7778 continues to fix problems. 7779 7780Sat Jan 30 03:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7781 7782 * loop.c (strength_reduce): Size reg_map according to reg_iv_type. 7783 7784Fri Jan 29 18:26:07 1999 Dave Brolley <brolley@cygnus.com> 7785 7786 * emit-rtl.c (remove_insn): New function. 7787 * rtl.h (remove_insn): Add prototype. 7788 * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn. 7789 7790Fri Jan 29 22:34:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7791 7792 * loop.c (recombine_givs): Don't try to derive givs that have combined. 7793 7794Fri Jan 29 15:00:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7795 7796 * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__, 7797 when declaring arguments and calling va_arg() to initialize them. 7798 7799 * collect2.c (notice): Likewise. 7800 7801 * loop.c (find_life_end): Use PROTO() macro in the prototype. 7802 7803Fri Jan 29 14:36:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7804 7805 * collect2.c (error): Fix typo in declaration. 7806 7807 * cpperror.c (cpp_message): Likewise. 7808 7809 * cpplib.c (cpp_warning): Likewise. 7810 7811 * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add 7812 ATTRIBUTE_PRINTF_1. 7813 7814 * toplev.c (error): Fix typo in declaration. 7815 7816Fri Jan 29 15:44:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7817 7818 * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning 7819 forward from cont dominator. 7820 7821Fri Jan 29 07:10:27 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7822 7823 * cccp.c (eprint_string): Constify a char*. 7824 (notice): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. 7825 (vnotice): Constify a char*. 7826 (error): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. 7827 (verror): Constify a char*. 7828 (warning): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. 7829 (vwarning): Constify a char*. 7830 (error_with_line): Likewise. Use PVPROTO not VPROTO, add 7831 ATTRIBUTE_PRINTF_2. 7832 (verror_with_line): Constify a char*. 7833 (vwarning_with_line): Likewise. 7834 (warning_with_line): Likewise. Use PVPROTO not VPROTO, add 7835 ATTRIBUTE_PRINTF_2. 7836 (pedwarn): Constify a char*. Use PVPROTO not VPROTO, add 7837 ATTRIBUTE_PRINTF_1. 7838 (pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2. 7839 (pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4. 7840 Also correct typo in parameter name declaration. 7841 (make_assertion): Constify a char*. 7842 (quote_string_for_make): Likewise. 7843 (deps_output): Likewise. 7844 (fatal): Likewise. Use PVPROTO not VPROTO, add 7845 ATTRIBUTE_PRINTF_1. Use ATTRIBUTE_NORETURN not an explicit 7846 "__attribute__ ((noreturn))". 7847 (fancy_abort): Likewise for ATTRIBUTE_NORETURN. 7848 (pfatal_with_name): Likewise. 7849 (pipe_closed): Likewise. 7850 (memory_full): Likewise. 7851 7852Fri Jan 29 00:14:55 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7853 7854 * loop.c (strength_reduce): Grow set_in_loop / n_times_set / 7855 may_not_optimize to proper size when converting biv increments 7856 into givs. 7857 If necessary, reallocate reg_iv_type / reg_iv_info before calling 7858 recombine_givs. 7859 7860Thu Jan 28 23:24:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7861 7862 * loop.c (recombine_givs): New parameter unroll_p. If set, don't 7863 generate complex adds. Changed caller. 7864 Don't generate adds that cost more than the original one. 7865 (strength_reduce): Warning fixes. 7866 7867Thu Jan 28 09:41:11 1999 Jeffrey A Law (law@cygnus.com) 7868 7869 * configure.in (hppa1.0-hp-hpux10*): Use t-pa. 7870 * configure: Rebuilt. 7871 7872Wed Jan 27 23:39:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7873 7874 * rtl.h (insn_first_p, no_jumps_between_p): Declare. 7875 * rtlanal.c (insn_first_p, no_jumps_between_p): New function. 7876 * loop.h (varray.h): Include. 7877 (struct induction): Change combined_with to unsigned. 7878 New members derived, ix and last_use. 7879 (reg_iv_type, reg_iv_info): Now varray_type. All references changed. 7880 (REG_IV_TYPE, REG_IV_INFO): Define. 7881 (first_increment_giv, last_increment_giv): Declare. 7882 * loop.c (loop_number_loop_cont): New static variable. 7883 (loop_number_cont_dominator): Likewise. 7884 (reg_iv_type, reg_iv_info): Now varray_type. 7885 (first_increment_giv, last_increment_giv): New variables. 7886 (compute_luids, verify_dominator, find_life_end): New functions. 7887 (cmp_recombine_givs_stats, recombine_givs): Likewise. 7888 (loop_optimize): Allocate loop_number_loop_cont and 7889 loop_number_cont_dominator. Use compute_luids. 7890 (find_and_verify_loops): Initialize loop_number_loop_cont and 7891 loop_number_cont_dominator. 7892 (strength_reduce): Try to find bivs that can be expressed as givs 7893 of another biv, and to convert biv increments into givs. 7894 Call recombine_givs. Handle derived givs. 7895 (record_biv): New argument location. All callers changed. 7896 (record_giv): Initialize derived and last_use fields. 7897 (basic_induction_var): New argument location. All callers changed. 7898 (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv. 7899 Increment combined_with instead of setting to 1. 7900 * unroll.c (derived_regs): New static variable. 7901 (unroll_loop): Initialize it. 7902 Allocate local_regno according to max_reg_num. 7903 (copy_loop_body): Cope with derived givs. 7904 (find_splittable_givs): Check for Givs made from biv increments. 7905 Set derived_regs for givs. 7906 * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h . 7907 7908Wed Jan 27 19:31:36 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 7909 7910 * function.c (purge_addressof_1): Handle case when a register 7911 has been used in a wider mode. 7912 79131999-01-27 Bruce Korb <autogen@linuxbox.com> 7914 7915 * fixinc/fixincl.c, fixinc/server.[ch]: 7916 Removed the last of the capitalized variable and proc names. 7917 7918 * fixinc/server.c: Removed the process open code. 7919 * fixinc/procopen.c: New file containing the proc open code. 7920 * fixinc/inclhack.tpl: Added code to bypass a readability test 7921 when a file is not present. A problem on some systems. 7922 * fixinc/inclhack.sh, fixinc/fixincl.sh: Regenerated. 7923 7924Wed Jan 27 11:58:18 1999 Dave Brolley <brolley@cygnus.com> 7925 7926 * cpplib.h (cpp_notice): Add prototype. 7927 7928Wed Jan 27 02:20:48 1999 Jeffrey A Law (law@cygnus.com) 7929 7930 * Merge gcc2 snapshot 19980929. 7931 7932 * cccp.c (PRINTF_PROTO): Remove. 7933 (PRINTF_PROTO_{1,2,3,4}: Likewise. 7934 * cexp.y: Likewise. 7935 * system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}. 7936 7937 * fix-header.c (cpp_file_lin_for_message): Delete. In libcpp. 7938 (cpp_print_containing_files, v_cpp_message, cpp_message): Likewise. 7939 (cpp_fatal, cpp-Pfatal_with_name): Likewise. 7940 7941 * gen-protos.c (hashf): Delete in cpphash.o. 7942 * gen-protos.c (hashf): Delete in cpphash.o. 7943 7944 * expr.c: Do not merge SAVE_STACKAREA_MODE changes. 7945 * expmed.c: Likewise. 7946 * rs6000.md: Likewise. 7947 7948 * rs6000.c, rs6000.md: Do not merge formatting changes yet. 7949 7950Wed Jan 27 01:13:42 1999 Richard Henderson <rth@cygnus.com> 7951 7952 * rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX. 7953 * rs6000.md (movsi, movdi): Likewise. 7954 7955Tue Jan 26 13:31:38 1999 Jim Wilson <wilson@cygnus.com> 7956 7957 * function.c (expand_function_end): Pass arg_pointer_save_area to 7958 validize_mem before using it. Emit code into a sequence. 7959 7960Tue Jan 26 13:41:38 1999 David Edelsohn <edelsohn@gnu.org> 7961 7962 * rs6000.md (doz + set cr and or + set cr patterns): Add missing 7963 '#' to split patterns. Correct indentation of some new patterns. 7964 79651999-01-26 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> 7966 7967 * cppfiles.c (safe_read): Deleted. 7968 (read_and_prescan): New function, replaces safe_read, converts 7969 and/or warns about trigraphs, silently converts odd line 7970 terminators (\r, \n\r, \r\n). Warns about no newline at EOF. 7971 (finclude): Use read_and_prescan; turn off nonblocking mode on 7972 the input descriptor; remove file-size-examination and 7973 no-newline-at-EOF gunk which is longer necessary; be more 7974 careful about checking that we've been handed a legitimate 7975 file to read (only real files, pipes, and ttys are acceptable). 7976 * cpplib.h (cpp_options): Rename no_trigraphs flag to 7977 `trigraphs' and invert its sense. 7978 (trigraph_table): Declare. 7979 (cpp_warning_with_line): Prototype. 7980 * cpplib.c: Remove all references to trigraph_pcp. Define 7981 trigraph_table; initialize it in initialize_char_syntax. Open 7982 files in nonblocking mode. s/no_trigraphs/trigraphs/ 7983 throughout, and invert sense. Put cpp_warning_with_line back 7984 in and export it. 7985 7986Tue Jan 26 23:21:49 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 7987 7988 * config/c4x/c4x.h (COUNTER_REGS): New register class. 7989 * config/c4x/c4x.md (*rptb_init): Change constraints. 7990 (rptb_end): Emit alternate looping instructions if 7991 RC register not allocated for loop counter. 7992 (decrement_and_branch_on_count): Allow other registers 7993 for loop counter. 7994 79951999-01-25 Zack Weinberg <zack@rabi.columbia.edu> 7996 7997 * cppexp.c (struct arglist): Removed. 7998 (parse_number): Use HOST_WIDE_INT for the accumulator. 7999 Allow two `l' suffixes unless C89. Clean up. Make static. 8000 (parse_charconst): New function broken out of cpp_lex. 8001 Code cleaned up drastically. Don't use a token_buffer. 8002 (token_buffer): Removed. 8003 (cpp_lex): Don't call parse_number on a constant string. 8004 Use parse_charconst. 8005 (cpp_parse_expr): Properly handle an ERROR op returned by 8006 cpp_lex. 8007 80081999-01-25 Zack Weinberg <zack@rabi.phys.columbia.edu> 8009 8010 * cpplib.c: Don't include signal.h, sys/times.h, or 8011 sys/resource.h. Don't declare localtime. 8012 (macroexpand): Handle special symbols here. 8013 (push_macro_expansion): Chop off the trailing '@ ' if possible 8014 here. 8015 (cpp_get_token): Don't do either of the above two things here. 8016 Move `string' label just after case '"' so that wide strings 8017 don't crash the preprocessor. 8018 8019Sun Jan 24 20:13:45 1999 David Edelsohn <edelsohn@gnu.org> 8020 8021 * rs6000.md (left shift + set cr patterns): Add missing '#' to 8022 split patterns. 8023 (move register + set cr pattern): Likewise. 8024 (movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch, 8025 inadvertently deleted. 8026 8027Sun Jan 24 08:07:59 1999 Jeffrey A Law (law@cygnus.com) 8028 8029 * stmt.c (stmt_loop_nest_empty): New function. 8030 * tree.h (stmt_loop_nest_empty): Declare it. 8031 * rtl.def (CALL_PLACEHOLDER): New rtx code. 8032 8033Sun Jan 24 21:24:43 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 8034 8035 * config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info): 8036 New functions. 8037 (c4x_check_legit_addr): Remove USE and PLUS, allow 8038 LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases. 8039 (c4x_legitimize_address): Penalize SYMBOL_REF, LABEL_REF, and 8040 CONST cases. Add LO_SUM. 8041 (c4x_print_operand): Modified 'C' and 'R' cases for calls. 8042 Added 'U' case. Remove dependence on SYMBOL_REF_FLAG. 8043 (c4x_print_operand_address): Handle LO_SUM. 8044 (c4x_scan_for_ldp): Delete. Hooray! 8045 (c4x_process_after_reload): Remove call to c4x_scan_for_ldp. 8046 Split all insns. 8047 (c4x_immed_int_constant): Renamed from c4x_int_constant. All callers 8048 changed. 8049 (c4x_immed_float_constant): Renamed from c4x_float_constant. All 8050 callers changed. 8051 (c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF, 8052 and CONST. 8053 (c4x_U_constraint, symbolic_operand): New functions. 8054 (src_operand): Allow 'I' constants in HImode. Allow LO_SUM, 8055 disable SYMBOL_REF, LABEL_REF, and CONST. 8056 (lsrc_operand, tsrc_operand): Call src_operand instead of 8057 general_operand. 8058 (c4x_operand_subword): Update comments. 8059 8060 * config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro. 8061 (LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST, 8062 plus HIGH and LO_SUM for the C40. 8063 (ENCODE_SECTION_INFO): Define macro. 8064 (symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New 8065 prototypes. 8066 (PREDICATE_CODES): Add symbolic_operand. 8067 8068 * config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call 8069 c4x_emit_move_sequence. 8070 (floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL 8071 to avoid symbol references. 8072 (all patterns with g constraint): Replace 'g' constraint with 'rIm'. 8073 (set_high): Renamed from set_high_use. 8074 (set_lo_sum): Renamed from set_ior_lo_use. 8075 (all call patterns): Make MEM explicit in call address operands. 8076 Modified output templates to use 'U' modifier. 8077 8078Sun Jan 24 01:15:05 1999 Jeff Law (law@cygnus.com) 8079 8080 * version.c: Bump for snapshot. 8081 8082Sat Jan 23 22:34:57 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8083 8084 * final.c (bb_str): Qualify a char* with the keyword `const'. 8085 (add_bb_string, final_scan_insn, output_asm_insn): Likewise. 8086 8087 * fix-header.c (read_scan_file): Likewise. 8088 8089 * genoutput.c (output_epilogue, process_template): Likewise. 8090 8091 * local-alloc.c (requires_inout, block_alloc): Likewise. 8092 8093 * output.h (output_asm_insn, assemble_string): Likewise. 8094 8095 * recog.c (recog_constraints, check_asm_operands, 8096 decode_asm_operands, extract_insn, preprocess_constraints, 8097 constrain_operands): Likewise. 8098 8099 * recog.h (operand_alternative, recog_constraints, insn_template, 8100 insn_outfun, insn_operand_constraint, insn_name): Likewise. 8101 8102 * regclass.c (record_reg_classes, scan_one_insn): Likewise. 8103 8104 * regmove.c (find_matches): Likewise. 8105 8106 * reload.c (alternative_allows_memconst): Likewise. 8107 8108 * reload1.c (constraint_accepts_reg_p, 8109 reload_cse_simplify_operands): Likewise. 8110 8111 * rtl.h (decode_asm_operands): Likewise. 8112 8113 * scan.h (fn_decl): Likewise. 8114 8115 * varasm.c (assemble_string): Likewise. 8116 8117Sat Jan 23 01:37:36 1999 Jeffrey A Law (law@cygnus.com) 8118 8119 * configure.in (gcc_tooldir): Handle case where exec_prefix has 8120 not been explicitly set. 8121 * configure: Rebuilt. 8122 8123 * fold-const.c (lshift_double): Mark 'prec' arguments as possibly 8124 unused. 8125 8126 * bitmap.h (bitmap_head_def): Make indx field unsigned. 8127 8128 * configure.in (gcc_tooldir): When not making a relative gcc_tooldir, 8129 use $exec_prefix/$target_alias for gcc_tooldir. 8130 * configure: Rebuilt. 8131 8132Fri Jan 22 11:48:56 1999 Richard Henderson <rth@cygnus.com> 8133 8134 * cppp.c (xrealloc): Fix typo last change. 8135 * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise. 8136 * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise. 8137 * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise. 8138 81391999-01-22 Michael Meissner <meissner@cygnus.com> 8140 8141 * rs6000.h (CR0_REGNO_P): New macro to test if cr0. 8142 (CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0. 8143 (PREDICATE_CODES): Add cc_reg_not_cr0_operand. 8144 (cc_reg_not_cr0_operand): Add declaration. 8145 8146 * rs6000.c (cc_reg_not_cr0_operand): Return true if register is a 8147 pseudo register, or a control register that is not CR0. 8148 8149 * rs6000.md (all combiner patterns building . instructions): For 8150 all `.' instructions that do something and set cr0, add an 8151 alternative that does the operation, and then sets a different 8152 flag, in order to avoid using the costly mcrf instruction and also 8153 allow cr0 to be clobbered in asm statements. Also fix a few 8154 patterns that used the wrong register. 8155 8156 * rs6000.h (rs6000_cpu_select): Make string, names be const char *. 8157 (rs6000_debug_name): Make const char *, not char *. 8158 8159 * sysv4.h (rs6000_{abi,sdata}_name): Make const char *. 8160 8161 * rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *. 8162 (rs6000_select): Use const char * in casts. 8163 8164Fri Jan 22 07:43:01 1999 Jeffrey A Law (law@cygnus.com) 8165 8166 * Makefile.in (gcc_tooldir): Move before first reference. 8167 Let autoconf substitute in a value. 8168 * configure.in (gcc_tooldir): Only use a relative path to the 8169 tool directory if $exec_prefix == $prefix. 8170 * configure: Rebuilt. 8171 8172 * Makefile.in (tooldir): Replace with gcc_tooldir. 8173 8174Thu Jan 21 23:21:57 1999 Jeffrey A Law (law@cygnus.com) 8175 8176 * m68k.md (ashldi_const): Disable for !TARGET_5200. Fix indentation. 8177 (ashldi3 expander): Similarly. Update comments. 8178 (ashrdi_const, lshrdi_const): Fix indentation. 8179 (ashrdi3, lshrdi3): Fix indentation. Update comments. 8180 8181Thu Jan 21 21:53:36 1999 Richard Henderson <rth@cygnus.com> 8182 8183 * emit-rtl.c (try_split): Don't try to split non-instructions. 8184 8185Thu Jan 21 23:47:30 1999 Andrew MacLeod <amacleod@cygnus.com> 8186 8187 * expr.c (emit_push_insn): Fix dumb typo. 8188 8189Thu Jan 21 20:24:02 1999 Richard Henderson <rth@cygnus.com> 8190 8191 * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept 8192 transformations that we have performed earlier. 8193 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise. 8194 8195 * alpha.md (prologue_stack_probe_loop): Don't do our own label 8196 handling, call gen_label_rtx instead. 8197 8198Thu Jan 21 17:45:18 1999 Richard Henderson <rth@cygnus.com> 8199 8200 * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'. 8201 8202 * cccp.c (xrealloc): Call malloc given a NULL old pointer. 8203 * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise. 8204 * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise. 8205 * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise. 8206 * genrecog.c, mips-tfile.c, protoize.c: Likewise. 8207 8208Thu Jan 21 19:44:55 1999 Michael Meissner <meissner@cygnus.com> 8209 8210 * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If 8211 --with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress 8212 adding -Wl,-bbigtoc to BOOT_LDFLAGS. 8213 * configure: Regenerate. 8214 8215 * config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS. 8216 8217Thu Jan 21 15:48:03 1999 Dave Brolley <brolley@cygnus.com> 8218 8219 * cppexp.c (cpp_lex): Allocate token_buffer dynamically. 8220 8221Thu Jan 21 14:18:04 1999 Andrew MacLeod <amacleod@cygnus.com> 8222 8223 * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use 8224 move_by_pieces. 8225 (MOVE_MAX_PIECES): Define maximum number of bytes to move at once. 8226 (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults. 8227 (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults. 8228 (move_by_pieces): Use new macros. 8229 (emit_block_move): Use new macros. 8230 (clear_by_pieces): Use new macros. 8231 (clear_storage): Use new macros. 8232 (emit_push_insn): Use new macros. 8233 (expand_expr): Use new macros. 8234 * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): 8235 Define. 8236 (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define. 8237 (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE. 8238 (MOVE_MAX_PIECES): Move 8 bytes on SH4. 8239 * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT, 8240 USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT, 8241 USE_STORE_PRE_DECREMENT): Describe new macros. 8242 8243Thu Jan 21 14:13:31 1999 Vladimir N. Makarov <vmakarov@cygnus.com> 8244 8245 * varasm.c (output_constant_pool): Use floor_log2 instead of 8246 exact_log2 for ASM_OUTPUT_ALIGN. 8247 8248 * stor-layout.c (layout_type): Do machine-dependent extra alignment. 8249 8250 * emit-rtl.c (operand_subword): Handle case when a subword outside 8251 the operand. 8252 8253 * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of 8254 the macros. 8255 8256Thu Jan 21 01:59:30 1999 Richard Henderson <rth@cygnus.com> 8257 8258 * cse.c (fold_rtx): Revert 29 Dec change. 8259 (cse_insn): Revert 12 Jan change. 8260 * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX. 8261 * regclass.c (reg_scan_mark_refs): Revert 29 Dec change. 8262 * rtl.def: Likewise. 8263 * rtl.h (CONSTANT_P): Likewise. 8264 8265 * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX 8266 to memory. 8267 * recog.c (immediate_operand): Accept CONSTANT_P_RTX. 8268 * alpha.c (input_operand): Likewise. 8269 * c4x.c (const_operand): Likewise. 8270 8271 * explow.c (allocate_dynamic_stack_space): Use register_operand 8272 instead of arith_operand, which does not exist. 8273 8274 * 1750a.h: Fix comment closure. 8275 * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change. 8276 * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch. 8277 * arm.h (TARGET_SWITCHES): Fix typo. 8278 * i370.md (anon mult and div patterns): Fix set mode mismatch. 8279 * i860.c (output_delayed_branch): Fix operands to constrain_operands. 8280 (output_delay_insn): Likewise. 8281 * m88k.md (anon rotate insns): Fix set mode mismatch. 8282 (anon BLKmode moves): Commonize and fix set mode mismatches. 8283 * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch. 8284 * romp.md (movdf): Fix typo. 8285 8286Thu Jan 21 00:29:35 1999 Nathan Sidwell <nathan@acm.org> 8287 8288 * Makefile.in (install-common): Remove extraneous chmod for gcov 8289 install. 8290 8291Wed Jan 20 18:15:08 1999 Dave Brolley <brolley@cygnus.com> 8292 8293 * function.c (assign_parms): Save and restore setting of 8294 TREE_USED (parm). 8295 8296Wed Jan 20 12:51:42 1999 Mark Mitchell <mark@markmitchell.com> 8297 8298 * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout. 8299 Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate. 8300 8301Tue Jan 19 21:20:52 1999 Richard Henderson <rth@cygnus.com> 8302 8303 * recog.c (pop_operand): New function. 8304 * recog.h (pop_operand): Declare it. 8305 * genrecog.c (preds): Define it. 8306 8307 * expr.c (do_jump_for_compare): Handle conditional branch expanders 8308 emitting multiple jump instructions. 8309 * jump.c (condjump_label): New function. 8310 * rtl.h (condjump_label): Declare it. 8311 8312Tue Jan 19 21:08:20 1999 Richard Henderson <rth@cygnus.com> 8313 8314 * expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit 8315 clobber during or after reload. 8316 8317Tue Jan 19 16:56:03 1999 Richard Henderson <rth@cygnus.com> 8318 8319 * genoutput.c (name_for_index): New function. 8320 (scan_operands, validate_insn_alternatives): Use it. 8321 * genrecog.c (insn_name_ptr_size): New variable. 8322 (make_insn_sequence): Fill in insn_name_ptr. 8323 (merge_trees): Use it. 8324 8325Tue Jan 19 16:37:36 1999 Richard Henderson <rth@cygnus.com> 8326 8327 * i386/isc.h (TARGET_DEFAULT): Define symbolicly. 8328 * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise. 8329 * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise. 8330 8331Tue Jan 19 15:00:10 1999 Jeffrey A Law (law@cygnus.com) 8332 8333 * loop.c (NUM_STORES): Delete. 8334 (loop_store_mems): Turn into an EXPR_LIST of MEMs. 8335 (prescan_loop): Properly initialize loop_mems_idx. 8336 (note_addr_stored): Simplify using list structure instead of 8337 fixed sized array. 8338 (invariant_p, check_dbra_loop, load_mems): Similarly. 8339 8340 * flow.c (invalidate_from_autoinc): New function. 8341 (mark_set_1, mark_used_regs): Use it. 8342 8343 * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile. 8344 83451999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com> 8346 8347 * invoke.texi (-mlong-double-64): New option description. 8348 83491999-01-19 Jim Wilson <wilson@cygnus.com> 8350 8351 * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to 8352 LIBGCC2_LONG_DOUBLE_TYPE_SIZE. 8353 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. Set to LONG_DOUBLE_TYPE_SIZE 8354 if not defined. 8355 * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics. 8356 (CPP_SPECS): Add -mlong-double-64 support. 8357 (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New. 8358 (TARGET_SWITCHES): Add -mlong-double-64 support. 8359 (LONG_DOUBLE_TYPE_SIZE): Likewise. 8360 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define. 8361 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float. 8362 (CPP_SPECS): Add -mlong-double-64 support. 8363 * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64. 8364 (MULTILIB_DIRNAMES): Add ld64. 8365 * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise. 8366 8367Tue Jan 19 11:54:04 1999 Jason Merrill <jason@yorick.cygnus.com> 8368 8369 * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by 8370 invisible reference. 8371 8372Tue Jan 19 14:51:36 1999 David Edelsohn <edelsohn@gnu.org> 8373 8374 * rs6000.c (offsettable_addr_operand): Delete. 8375 (offsettable_mem_operand): New function. 8376 * rs6000.h (PREDICATE_CODES): Reflect function change. 8377 (RS6000_SAVE_TOC): Represent address as MEM. 8378 * win-nt.h (RS6000_SAVE_TOC): Same. 8379 * rs6000.md (indirect calls): Change offsettable address parameter 8380 to offsettable memory parameter. 8381 8382Tue Jan 19 10:24:53 1999 Mark Mitchell <mark@markmitchell.com> 8383 8384 * rtl.h (rtx_def): Update documentation. 8385 (MEM_IN_STRUCT_P): Likewise. 8386 (MEM_SCALAR_P): New macro. 8387 (MEM_COPY_ATTRIBUTES): Likewise. 8388 (MEM_SET_IN_STRUCT_P): Likewise. 8389 * rtl.texi (MEM_SCALAR_P): Document. 8390 * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES. 8391 (fixed_scalar_and_varying_struct_p): New function. Use 8392 MEM_SCALAR_P rather than !MEM_IN_STRUCT_P. 8393 (aliases_everything_p): Likewise. 8394 (true_dependence): Use them. 8395 (write_dependence_p): New function, containing code common to 8396 anti_dependence and output_dependence. 8397 (anti_dependence): Use it. 8398 (output_dependence): Likewise. 8399 * calls.c (save_fixed_argument_area): Don't clear 8400 MEM_IN_STRUCT_P. 8401 (expand_call): Use MEM_SET_IN_STRUCT_P. 8402 (emit_library_call): Don't clear MEM_IN_STRUCT_P. 8403 (emit_library_call_value): Likewise. 8404 (store_one_arg): Use MEM_SET_IN_STRUCT_P. 8405 * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES. 8406 (make_extraction): Likewise. 8407 (simplify_shift_const): Likewise. 8408 (gen_lowpart_for_combine): Likewise. 8409 * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES. 8410 * emit-rtl.c (operand_subword): Likewise. 8411 (change_address): Likewise. 8412 * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES. 8413 * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES. 8414 (emit_group_store): Use MEM_SET_IN_STRUCT_P. 8415 (copy_blkmode_from_reg): Likewise. 8416 (store_field): Likewise. 8417 (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P 8418 heuristically. Use MEM_SET_IN_STRUCT_P. 8419 (get_memory_rtx): Likewise. 8420 * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES. 8421 * function.c (assign_stack_temp): Clear MEM_SCALAR_P and 8422 MEM_ALIAS_SET on newly returned MEMs. 8423 (assign_temp): Use MEM_SET_IN_STRUCT_P. 8424 (put_reg_into_stack): Likewise. 8425 (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES. 8426 (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P. 8427 (assign_parms): Likewise. 8428 (expand_function): Likewise. 8429 * integrate.c (expand_inline_function): Likewise. 8430 (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES. 8431 * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P. 8432 * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES. 8433 * print-rtl.c (print_rtx): Print /f for frame_related. 8434 * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES. 8435 * reload1.c (reload): Copy MEM_SCALAR_P as well. 8436 * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P. 8437 (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES. 8438 * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P. 8439 (output_constant_def): Likewise. 8440 * a29k.c (a29k_set_memflags_1): Take scalar_p. 8441 Set MEM_SCALAR_P. 8442 (a29k_set_memflags): Use it. 8443 * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES. 8444 * c4x.c (c4x_scan_for_ld): Likewise. 8445 * h8300.c (fix_bit_operand): Likewise. 8446 * m88k.c (legitimize_address): Likewise. 8447 (block_move_loop): Likewise. 8448 (block_move_no_loop): Likewise. 8449 (block_move_sequence): Likewise. 8450 (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P. 8451 * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise. 8452 * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES. 8453 * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P. 8454 * arm.h (arm_gen_load_multiple): Take scalar_p. 8455 (arm_store_load_multiple): Likewise. 8456 * arm.c (arm_gen_load_multiple): Likewise. 8457 (arm_gen_store_multiple): Likewise. 8458 (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P. 8459 8460Tue Jan 19 12:30:37 1999 Andrew MacLeod <amacleod@cygnus.com> 8461 8462 * optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all 8463 calls within a libcall block to indicate no throws are possible. 8464 * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for 8465 libcall blocks. Don't add edges to exception handlers if we see 8466 a REG_EH_REGION note with a value of 0. 8467 (make_edges): Override active_eh_region vector if the call has a note 8468 indicating the call does not throw. 8469 84701999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com> 8471 8472 * config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}. 8473 8474Tue Jan 19 06:26:30 1999 Jeffrey A Law (law@cygnus.com) 8475 8476 * Makefile.in (cccp.o, cpplib.o): Depend on Makefile. 8477 8478Mon Jan 18 09:56:41 1999 Jason Merrill <jason@yorick.cygnus.com> 8479 8480 * invoke.texi (C++ Dialect Options): Document -fno-rtti. 8481 84821999-01-18 Vladimir N. Makarov <vmakarov@cygnus.com> 8483 8484 * invoke.texi (-mcpu=740, -mcpu=750): New options. 8485 (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 & 8486 PPC750. 8487 84881999-01-18 Michael Meissner <meissner@cygnus.com> 8489 8490 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines 8491 supported with -mcpu=xxx. 8492 (processor_type): Add PROCESSOR_PPC750. 8493 (ADJUST_PRIORITY): Call rs6000_adjust_priority. 8494 (RTX_COSTS): Supply costs for 750 multiply/divide operations. 8495 (rs6000_adjust_priority): Add declaration. 8496 8497 * rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the 8498 processor type as 750, not 603. Allow -mmultiple and -mstring on 8499 little endian 750 systems. 8500 (rs6000_adjust_priority): Stub for now. 8501 (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle. 8502 8503 * rs6000.md (function/cpu attributes): Add initial ppc750 support. 8504 8505 * sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if 8506 little endian. 8507 (CC1_SPEC): Pass -mstrict-align if little endian, and not 8508 overridden. 8509 (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs. 8510 (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs. 8511 8512 * {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is 8513 little endian. 8514 8515 * t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs. 8516 8517Mon Jan 18 12:03:08 1999 Gavin Romig-Koch <gavin@cygnus.com> 8518 8519 * config/mips/mips.md (div_trap): Split div_trap_mips16 8520 from div_trap. 8521 (div_trap_normal,div_trap_mips16): Correct the length attributes. 8522 8523Mon Jan 18 11:48:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8524 8525 * cpplib.c (special_symbol): Qualify a char* with the `const' keyword. 8526 Instead of writing to const char *buf directly, use a non-const 8527 variable `wbuf' to allocate and write a string, then set buf = wbuf. 8528 8529 * cppulp.c (user_label_prefix): Qualify a char* with the `const' 8530 keyword. 8531 8532 * dyn-string.c (dyn_string_append): Likewise. 8533 8534 * dyn-string.h (dyn_string_append): Likewise. 8535 8536 * final.c (end_final, output_operand_lossage, asm_fprintf): Likewise. 8537 8538 * output.h (end_final, output_operand_lossage, asm_fprintf, 8539 named_section, decode_reg_name, make_decl_rtl, user_label_prefix): 8540 Likewise. 8541 8542 * profile.c (init_branch_prob): Likewise. 8543 8544 * toplev.c (set_target_switch, vmessage, 8545 v_message_with_file_and_line, v_message_with_decl, 8546 v_error_with_file_and_line, v_error_with_decl, v_error_for_asm, 8547 verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl, 8548 v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl, 8549 v_pedwarn_with_file_and_line, vsorry, v_really_sorry, 8550 open_dump_file, dump_rtl, clean_dump_file, 8551 print_version, print_single_switch, print_switch_values, 8552 dump_base_name, debug_args, lang_independent_options, 8553 user_label_prefix, documented_lang_options, target_switches, 8554 target_options, print_time, pfatal_with_name, fatal_io_error, 8555 fatal_insn, default_print_error_function, print_error_function, 8556 report_error_function, error_with_file_and_line, error_with_decl, 8557 error_for_asm, error, fatal, warning_with_file_and_line, 8558 warning_with_decl, warning_for_asm, warning, pedwarn, 8559 pedwarn_with_decl, pedwarn_with_file_and_line, sorry, 8560 really_sorry, botch, output_quoted_string, output_file_directive, 8561 open_dump_file, rest_of_decl_compilation, display_help, main): 8562 Likewise. 8563 8564 * toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name, 8565 fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line, 8566 warning_with_file_and_line, error_with_file_and_line, sorry, 8567 really_sorry, default_print_error_function, report_error_function, 8568 rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl, 8569 error_with_decl, error_for_asm, warning_for_asm, output_quoted_string, 8570 output_file_directive, botch): Likewise. 8571 8572 * tree.h (make_decl_rtl): Likewise. 8573 8574 * varasm.c (strip_reg_name, named_section, decode_reg_name, 8575 make_decl_rtl): Likewise. 8576 8577Mon Jan 18 11:35:49 1999 Gavin Romig-Koch <gavin@cygnus.com> 8578 8579 * Makefile.in (TCL_LIBRARY): Use 'cd' to find the library 8580 directory logically rather than physically. 8581 8582Mon Jan 18 09:05:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8583 8584 * loop.c (insert_bct): Hide the definition of variables 8585 `increment_direction', `compare_direction', `add_iteration' and 8586 `loop_var_mode'. 8587 8588 * recog.c (mode_dependent_address_p): Mark parameter `addr' with 8589 ATTRIBUTE_UNUSED. Mark label `win' with ATTRIBUTE_UNUSED_LABEL. 8590 (mode_independent_operand): Mark label `lose' with 8591 ATTRIBUTE_UNUSED_LABEL. 8592 8593 * regclass.c (n_occurrences): Remove prototype and definition. 8594 8595 * reload.c (find_reloads_address_1): Mark variable `tem' with 8596 ATTRIBUTE_UNUSED. 8597 8598 * reload1.c (reload): Cast the first two arguments of `bcopy' to PTR. 8599 8600 * sbitmap.c (sbitmap_copy): Likewise. 8601 8602 * scan-decls.c (scan_decls): Hide label `handle_comma'. 8603 8604 * toplev.c (output_lang_identify): Mark prototype with 8605 ATTRIBUTE_UNUSED. 8606 8607 * tree.c (make_node): Cast the first argument of `bzero' to PTR. 8608 (make_tree_vec): Likewise. 8609 (build1): Likewise. 8610 8611 * varasm.c (assemble_static_space): Mark variable `tem' with 8612 ATTRIBUTE_UNUSED. 8613 8614Mon Jan 18 04:28:36 1999 Nathan Sidwell <nathan@acm.org> 8615 8616 * Makefile.in (GCOV_INSTALL_NAME): New macro. 8617 (install-common): Use it. 8618 (uninstall): Use it. 8619 (uninstall): Use correct names for protoize and unprotoize. 8620 8621Mon Jan 18 03:52:56 1999 Christian Bruel <Christian.Bruel@st.com> 8622 Jeffrey A Law (law@cygnus.com) 8623 8624 * flow.c (last_mem_set): Delete variable. References removed. 8625 (mem_set_list): New variable. 8626 (life_analysis): Initialize and finalize alias analysis. 8627 (propagate_block); Initialize mem_set_list. Clear for CALL_INSNs. 8628 (insn_dead_p): For a store to memory, search the entire mem_set_list 8629 for a match. 8630 (mark_set_1): Kill entries on the mem_set_list for aliased writes or 8631 changes to their addresses. Add new entries to the mem_set_list for 8632 memory writes writes. 8633 (mark_used_regs): Kill entries on the mem_set_list which may be 8634 referenced by a load operation. 8635 8636Mon Jan 18 01:01:02 1999 Jeffrey A Law (law@cygnus.com) 8637 8638 * alias.c (base_alias_check): Add missing return for differing 8639 symbols case. 8640 8641Mon Jan 18 00:36:13 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8642 8643 * mips-tdump.c (print_file_desc): Handle unknown filenames and 8644 missing local symbols. 8645 8646Sun Jan 17 21:04:31 1999 Richard Henderson <rth@cygnus.com> 8647 8648 * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL. 8649 8650 * system.h (bcopy): Implement with memmove not memcpy. 8651 8652Sun Jan 17 19:23:20 1999 Jeffrey A Law (law@cygnus.com) 8653 8654 * Makefile.in (cppulp.o): Add dependencies. 8655 8656 * i386.md (integer conditional moves): Add missing earlyclobbers. 8657 8658 * regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update 8659 REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change 8660 where a register is live. 8661 8662Sun Jan 17 03:20:47 1999 H.J. Lu (hjl@gnu.org) 8663 8664 * reg-stack.c (subst_stack_regs_pat): Abort if the destination 8665 of a FP conditional move is not on the FP register stack. 8666 8667Sun Jan 17 01:15:04 1999 Jeff Law (law@cygnus.com) 8668 8669 * version.c: Bump for snapshot. 8670 8671Sat Jan 16 23:40:33 1999 Jeffrey A Law (law@cygnus.com) 8672 8673 * reload1.c (reload_cse_regs_1): Do not call 8674 reload_cse_simplify_operands for an insn with asm operands. 8675 8676 * cccp.c (print_help): Fix typos. 8677 * cpplib.c (print_help): Fix typos. 8678 * toplev.c (f_optiosn): Fix typos. 8679 (documented_lang_options): Fix typos. 8680 8681Sat Jan 16 21:48:17 1999 Marc Espie (Marc.Espie@openbsd.org) 8682 8683 * gcc.c (do_spec_1): Fix obvious typo. 8684 8685Sat Jan 16 19:31:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8686 8687 * c-decl.c (duplicate_decls): If `warn_traditional', warn when 8688 a non-static function declaration follows a static one. 8689 8690 * invoke.texi (-Wtraditional): Document the extra check now done 8691 by this flag. 8692 8693Sat Jan 16 15:13:46 1999 Jeffrey A Law (law@cygnus.com) 8694 8695 * pa.md (shadd): Create shadd insns, even if the result of the shift is 8696 needed without the addition. 8697 8698Sat Jan 16 10:48:16 1999 J"orn Rennecke <amylaar@cygnus.co.uk> 8699 8700 * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage. 8701 8702Fri Jan 15 23:44:37 1999 Richard Henderson <rth@cygnus.com> 8703 8704 * sparc.c (sparc_issue): Add hypersparc/sparclite86x entries. 8705 8706Fri Jan 15 22:30:04 1999 David Edelsohn <edelsohn@gnu.org> 8707 8708 * rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT. 8709 * rs6000.c (u_short_cint_operand, add_operand, logical_operand, 8710 non_add_cint_operand, non_logical_cint_operand): Likewise. 8711 (get_issue_rate): Add CPU_PPC604E case. 8712 * rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts. 8713 8714Fri Jan 15 18:42:12 1999 Richard Henderson <rth@cygnus.com> 8715 8716 * expr.c (queued_subexp_p): Make public. 8717 * expr.h (queued_subexp_p): Declare it. 8718 * recog.c (asm_operand_ok): New function. 8719 (check_asm_operands): Use it. After reload, use constrain_operands 8720 instead. 8721 * recog.h (asm_operand_ok): Declare it. 8722 * stmt.c (expand_asm_operands): Use it to try harder to make 8723 asms initially satisfy their constraints. 8724 8725Fri Jan 15 17:43:59 1999 Jeffrey A. Law <law@rtl.cygnus.com> 8726 8727 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create 8728 (mem (lo_sum (...)) for TFmode unless TARGET_V9. 8729 8730Sat Jan 16 12:47:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 8731 8732 * config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction 8733 in delay slot of RPTBD. 8734 8735Sat Jan 16 12:26:40 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 8736 8737 * config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long 8738 divide and modulo sign problem. 8739 8740Fri Jan 15 11:02:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 8741 8742 * unroll.c (loop_iterations): Return 0 if the last loop insn 8743 is not a jump insn or if the loop has multiple back edges. 8744 87451999-01-15 Manfred Hollstein <manfred@s-direktnet.de> 8746 8747 * configure.in (fixinc_defs): Do not define for m[68]8k-motorola-sysv{,3}; 8748 it's working properly now. Remove comment saying "see m68k-motorola-sysv 8749 as an example". 8750 * configure: Regenerate using autoconf. 8751 8752 * fixinc/fixincl.c (main): Do not ignore SIGCHLD. 8753 8754Thu Jan 14 22:38:41 1999 Jeffrey A Law (law@cygnus.com) 8755 8756 * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share 8757 a register with another DEST_ADDR giv if the address is not valid. 8758 8759 * pa.c (hppa_expand_epilogue): Save and restore the static chain 8760 around the call to mcount. 8761 8762 * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf. 8763 8764 * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid 8765 generating non-canonical rtl. 8766 87671999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com> 8768 8769 * config/i960/i960.c (i960_output_move_double_zero, 8770 i960_output_move_quad_zero): New functions for moving zeros. 8771 (i960_output_move_double, i960_output_move_quad): Additional code 8772 for situation when moving unaligned register group. 8773 8774 * config/i960/i960.h (i960_output_move_double_zero, 8775 i960_output_move_quad_zero): The function definitions. 8776 8777 * config/i960/i960.md (movdi+1, movti+1): Usage of the functions. 8778 87791999-01-13 Vladimir N. Makarov <vmakarov@cygnus.com> 8780 8781 * config/i960/i960.c (i960_function_prologue): New code (optimal 8782 solution) for saving global registers in local registers. 8783 (form_reg_groups, reg_group_compare, split_reg_group): New 8784 functions used by the code. 8785 (reg_group): New structure definition for the new code. 8786 87871999-01-13 Manfred Hollstein <manfred@s-direktnet.de> 8788 8789 * fixinc/fixincl.c (create_file): Pass file creation mask as 8790 third parameter to "open". Use O_TRUNC flag to open instead of 8791 explicitly unlink'ing the file. 8792 (process): and forget about the "chmod" stuff. 8793 8794Wed Jan 13 20:12:37 1999 Richard Henderson <rth@cygnus.com> 8795 8796 * integrate.c (expand_inline_function): Recognize (mem (addressof)) 8797 and substitute. Copy the return value from there into a new pseudo. 8798 8799Wed Jan 13 16:47:00 1999 Catherine Moore <clm@cygnus.com> 8800 8801 * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN 8802 before generating a call to abort for volatile functions. 8803 * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define. 8804 (TARGET_ABORT_NORETURN): Define. 8805 (abort-on-noreturn): New option. 8806 8807Thu Jan 14 13:52:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 8808 8809 * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc 8810 and binarycc operations in 3rd annulled delay slot! 8811 8812Wed Jan 13 16:16:44 1999 Catherine Moore <clm@cygnus.com> 8813 8814 * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN 8815 before generating a call to abort for volatile functions. 8816 * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define. 8817 (TARGET_ABORT_NORETURN): Define. 8818 (abort-on-noreturn): New option. 8819 8820Wed Jan 13 13:30:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8821 8822 * cccp.c (xstrdup): Renamed from `savestring'. All callers changed. 8823 Remove prototype which we get from libiberty.h. 8824 8825 * collect2.c (xstrdup): Likewise. 8826 8827 * genextract.c (xstrdup): Likewise for `copystr'. 8828 (mybzero): Remove it and use `memset' instead. 8829 8830 * genoutput.c (mybcopy, mybzero): Remove these. All callers changed 8831 to use `memcpy' and `memset' instead. 8832 8833 * genrecog.c (xstrdup): Renamed from `copystr'. All callers 8834 changed. Remove prototype. 8835 (mybcopy, mybzero): Remove these and use memcpy/memset. 8836 8837Wed Jan 13 00:59:04 1999 Jeffrey A Law (law@cygnus.com) 8838 8839 * mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when 8840 generating code for TARGET_64BIT. 8841 8842Tue Jan 12 14:05:37 1999 David Edelsohn <edelsohn@gnu.org> 8843 8844 * rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on 8845 HOST_WIDE_INT word-size. 8846 (rs6000_stack_info): Remove redundant alignment of fpmem. 8847 8848Tue Jan 12 14:05:37 1999 Richard Henderson <rth@cygnus.com> 8849 8850 * rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling. 8851 (u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise. 8852 (input_operand): Adjust CONSTANT_P_RTX handling. 8853 * rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references. 8854 * rs6000.md (movsi): Adjust CONSTANT_P_RTX handling. 8855 (movhi, movqi): Remove CONSTANT_P_RTX handling. 8856 (movdi): Adjust CONSTANT_P_RTX handling. 8857 88581999-01-12 Manfred Hollstein <manfred@s-direktnet.de> 8859 8860 * configure: Regenerate using autoconf. 8861 8862 * fixinc/Makefile.in (INCLUDES): Add -I$(srcdir)/../../include. 8863 * fixinc/fixincl.c (SIGCHLD): Use SIGCLD on (very) old systems. 8864 (process): "fchmod" isn't available on all systems, use "chmod" 8865 instead. 8866 * fixinc/server.c: Add #include <sys/types.h>. 8867 (STDIN_FILENO): Add default definition if no include file defines 8868 it already. 8869 (STDOUT_FILENO): Likewise. 8870 8871Tue Jan 12 10:23:24 1999 Stan Cox <scox@cygnus.com> 8872 8873 * mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls. 8874 88751999-01-12 Manfred Hollstein <manfred@s-direktnet.de> 8876 8877 * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to 8878 ensure all prototypes necessary for building libio will be available. 8879 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove 8880 definitions here as they are not host specific. 8881 * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise. 8882 8883Tue Jan 12 02:53:46 1999 Richard Henderson <rth@cygnus.com> 8884 8885 * cse.c (cse_insn): Never prefer (const (constant_p_rtx)). 8886 8887Tue Jan 12 02:36:10 1999 Jeff Law (law@cygnus.com) 8888 8889 * version.c: Bump for snapshot. 8890 8891Tue Jan 12 01:30:19 1999 Richard Henderson <rth@cygnus.com> 8892 8893 * rtl.c (rtx_alloc): Use memset instead of inline loop. 8894 8895 * recog.h (recog_op_alt): Declare extern. 8896 8897Tue Jan 12 00:23:31 1999 Richard Henderson <rth@cygnus.com> 8898 8899 * function.c (purge_addressof_1): If the note accesses a mem+addressof 8900 in a wider mode than any replacement, adjust the cached replacement. 8901 Cache trivial substitutions as well. 8902 8903Tue Jan 12 00:06:00 1999 Richard Henderson <rth@cygnus.com> 8904 8905 * Makefile.in (OBJECTS): Add sbitmap.o. 8906 (BASIC_BLOCK_H): Add sbitmap.h. 8907 * basic-block.h: Move simple bitmap code to sbitmap.h. 8908 * flow.c: Move simple bitmap code to sbitmap.c. 8909 * sbitmap.h, sbitmap.c: New files. 8910 8911Mon Jan 11 23:51:50 1999 Richard Henderson <rth@cygnus.com> 8912 8913 * alpha.h (TARGET_SWITCHES): Document switches. 8914 (TARGET_OPTIONS): Likewise. 8915 8916 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC. 8917 8918Mon Jan 11 22:54:14 1999 Richard Henderson <rth@cygnus.com> 8919 8920 * tree.c (new_alias_set): Return zero if !flag_strict_aliasing. 8921 8922Mon Jan 11 22:36:01 1999 Richard Henderson <rth@cygnus.com> 8923 8924 * basic-block.h (basic_block_head): Rename to x_basic_block_head. 8925 (basic_block_end): Rename to x_basic_block_end. 8926 (BLOCK_HEAD, BLOCK_END): Update. 8927 8928 * caller-save.c: Change basic_block_head/end references to 8929 BLOCK_HEAD/END. 8930 * combine.c, flow.c, function.c, gcse.c, global.c: Likewise. 8931 * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise. 8932 * regmove.c, reload1.c, reorg.c, sched.c: Likewise. 8933 8934Sat Jan 9 23:54:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8935 8936 * gcc.c (xstrerror): Renamed from my_strerror. All callers 8937 changed. Remove prototype since we get that from libiberty.h. 8938 8939 * protoize.c (xstrerror): Likewise. 8940 8941Sat Jan 9 23:22:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8942 8943 * gcc.c (read_specs): Ensure format specifiers match their arguments. 8944 8945Sat Jan 9 20:04:24 1999 Richard Henderson <rth@cygnus.com> 8946 8947 * tree.c (copy_node): Oops. That would be copy not zero 8948 in that last change. 8949 8950Sun Jan 10 15:35:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 8951 8952 * config/c4x/c4x.c: Include system.h. 8953 (c4x_caller_save_map): Disable caller save for RC. 8954 (c4x_optimization_options): Disable scheduling before reload. 8955 (valid_parallel_load_store) : Define return type as int. 8956 Remove unused variable regs. 8957 * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register 8958 class. 8959 * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to 8960 handle rotations. 8961 (*db, decrement_and_branch_until_zero): Fix up constraints 8962 to keep reload happy. 8963 8964Sat Jan 9 18:35:29 1999 Richard Henderson <rth@cygnus.com> 8965 8966 * tree.c (make_node): Call bzero instead of inline clear. 8967 (copy_node, make_tree_vec, build1): Likewise. 8968 (get_identifier): Call strlen instead of inline count. 8969 (maybe_get_identifier): Likewise. 8970 8971Sun Jan 10 14:04:51 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 8972 8973 * config/c4x/c4x.md (in_annul_slot_3): Allow unarycc and binarycc 8974 operations in 3rd annulled delay slot. 8975 (*lshrqi3_const_set): Disallow c constraint for operand0. 8976 (modhi3+1, modhi3+2): Set attribute type to multi. 8977 * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of 8978 != operator. 8979 8980Sat Jan 9 11:44:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8981 8982 * gansidecl.h: Allow attribute unused on labels only when we are 8983 version 2.93 or higher. Not all versions of 2.92 have this feature. 8984 8985 * version.c: Bump minor number to 93. 8986 8987Fri Jan 8 10:51:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 8988 8989 * config/m68k/m68k.h: Declare output_function_epilogue. 8990 * recog.h: Declare next_insn_tests_no_inequality. 8991 8992Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com) 8993 8994 * stmt.c (optimize_tail_recursion): New function, extracted from ... 8995 (expand_return): Use optimize_tail_recursion. 8996 * tree.h (optimize_tail_recursion): Declare. 8997 8998 * toplev.c (compile_file): Move call to output_func_start_profiler 8999 to after the loop to emit deferred functions. 9000 9001Thu Jan 7 19:52:53 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 9002 9003 * system.h (abort): Supply more detailed information on how to 9004 report an Internal Compiler Error. 9005 9006Thu Jan 7 09:25:58 1999 Bruce Korb (korb@datadesign.com) 9007 9008 * fixinc/fixincl.c (*): More decapitalization of variables 9009 plus some explanatory comments. 9010 9011 * fixinc/Makefile.in fixinc/mkfixinc.sh: 9012 When the fixincl program does not work for a certain system, 9013 we substitute a shell script. Added user commentary when 9014 this happens. 9015 9016Thu Jan 7 11:26:17 1999 Mark Mitchell <mark@markmitchell.com> 9017 9018 * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to 9019 allocate memory that will live beyond this function. 9020 (expand_call): Free it here. 9021 9022Thu Jan 7 03:08:17 1999 Richard Henderson <rth@cygnus.com> 9023 9024 * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for 9025 integer data not destined for fp regs. 9026 (LEGITIMIZE_RELOAD_ADDRESS): New. 9027 9028Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com> 9029 Richard Henderson <rth@cygnus.com> 9030 9031 Support for Hypersparc and Sparclite86x: 9032 * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New. 9033 (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets. 9034 (ASM_CPU32_DEFAULT_SPEC): Likewise. 9035 (TARGET_CPU_DEFAULT): Likewise. 9036 (enum processor_type): Likewise. 9037 (CPP_ENDIAN_SPEC): Handle little endian data. 9038 (LIBGCC2_WORDS_BIG_ENDIAN): Likewise. 9039 (ADJUST_COST): Call sparc_adjust_cost. 9040 * sparc.c (sparc_override_options): Fix up for the new targets. 9041 (supersparc_adjust_cost): Make static. 9042 (hypersparc_adjust_cost): New. 9043 (ultrasparc_adjust_cost): Make static. 9044 (sparc_adjust_cost): New. 9045 * sparc.md (attr cpu): Add hypersparc and sparclite86x. 9046 (function_unit): Add hypersparc scheduling rules. 9047 9048 * configure.in (with_cpu handler): Recognize hypersparc. 9049 9050Thu Jan 7 23:54:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 9051 9052 * config/c4x/c4x.c: Added space after negation operator. 9053 * config/c4x/c4x.h: Likewise. 9054 * config/c4x/c4x.md: Likewise. 9055 9056Thu Jan 7 23:39:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 9057 9058 * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class. 9059 9060Thu Jan 7 00:29:25 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 9061 9062 * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases, 9063 when a test can't be performed due to limited width of 9064 HOST_BITS_PER_WIDE_INT, use the more conservative approximation. 9065 Fix UDIV case for cases where the first operand has the highest bit 9066 set. 9067 9068Thu Jan 7 00:01:38 1999 Lutz Vieweg <lkv@mania.robin.de> 9069 9070 * pa.h (reg_class): Add FPUPPER_REGS. 9071 (REG_CLASS_NAMES): Similarly. 9072 (REG_CLASS_CONTENTS): Similarly. 9073 (REGNO_REG_CLASS): Handle FPUPPER_REGS. 9074 (FP_REG_CLASS_P): Likewise. 9075 (REG_CLASS_FROM_LETTER): Similarly. 9076 (CLASS_MAX_NREGS): Similarly. 9077 90781999-01-06 Brendan Kehoe <brendan@cygnus.com> 9079 9080 * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h 9081 for a typedef of bool. Make sure to have a copy of the file is 9082 in place before we look to fix it. Fix typo in variable name to 9083 FILE. 9084 9085Wed Jan 6 07:51:05 1999 Richard Henderson <rth@cygnus.com> 9086 9087 * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use 9088 value_mode for the return mode. 9089 9090Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net> 9091 9092 * configure.in: New flag --with-dwarf2. If set, enables DWARF-2 9093 debugging as default. 9094 9095 * config/tm-dwarf2.h: New file. 9096 9097Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com) 9098 9099 * h8300.h (ASM_OUTPUT_LABELREF): Define. 9100 9101 * pa.h (DONT_RECORD_EQUIVALENCE): Kill. 9102 * local-alloc.c (update_equiv_regs): Corresponding changes. 9103 * tm.texi (DONT_RECORD_EQUIVALENCE): Kill. 9104 9105 * calls.c (special_function_p): Push alloca test inside the large 9106 conditional which excludes functions not at file scope or not 9107 extern. 9108 9109 * calls.c (special_function_p): New function broken out of 9110 expand_call. 9111 (precompute_register_parameters): Likewise. 9112 (store_one_arg): Likewise. 9113 (store_unaligned_argumetns_into_pseudos): Likewise. 9114 (save_fixed_argument_area): Likewise. 9115 (restore_fixed_argument_area): Likewise. 9116 (expand_call): Corresponding changes. 9117 9118Thu Jan 7 00:12:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 9119 9120 * config/c4x/c4x.md (addqi3): If the destination operand is 9121 a hard register other than an extended precision register, 9122 emit addqi3_noclobber. 9123 (*addqi3_noclobber_reload): New pattern added so that reload 9124 will recognize a store of a pseudo, equivalent to the sum 9125 of the frame pointer and a constant, as an add insn. 9126 91271999-01-06 Manfred Hollstein <manfred@s-direktnet.de> 9128 9129 * fixinc/fixincl.c: Re-indent according to the GNU standards. 9130 fixinc/server.c: Likewise. 9131 fixinc/server.h: Likewise. 9132 9133Wed Jan 6 10:43:29 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 9134 9135 * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX 9136 handling. 9137 (const_sint32_operand): Likewise. 9138 9139Wed Jan 6 09:44:51 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9140 9141 * toplev.h: In addition to checking _JBLEN, also check if `setjmp' 9142 is a macro when deciding if we can use `jmp_buf' in prototypes. 9143 9144Wed Jan 6 03:18:53 1999 Mark Elbrecht <snowball3@usa.net> 9145 9146 * configure.in (pc-msdosdjgpp): Set x_make to x-go32. 9147 * configure: Rebuilt. 9148 * i386/xm-go32.h: Define LIBSTDCXX. 9149 * i386/x-go32: New. 9150 * i386/go32.h (MD_EXEC_PREFIX): Define. 9151 (FILE_NAME_ABSOLUTE_P): Define. 9152 (LINK_COMMAND_SPEC): Define. 9153 9154Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net> 9155 9156 * expr.c (store_expr): If the lhs is a memory location pointed 9157 to be a postincremented (or postdecremented) pointer, always 9158 force the rhs to be evaluated into a pseudo. 9159 9160Wed Jan 6 00:54:21 1999 Geoff Keating <geoffk@ozemail.com.au> 9161 9162 * real.c (mtherr): Print more reasonable warning messages. 9163 9164Tue Jan 5 21:57:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9165 9166 * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h. 9167 9168 * cccp.c: Include prefix.h, don't prototype prefix.c functions. 9169 (new_include_prefix): Constify char* parameters. 9170 9171 * cppfiles.c (read_name_map): Likewise. 9172 (append_include_chain): Likewise. Also, use a writable char* copy 9173 of parameter `dir' which we then modify, rather than using the 9174 parameter itself to store the new writable string. 9175 (remap_filename): Constify some variables. Also, use a writable 9176 char* to store an allocated string which we will be modifying. 9177 9178 * cpplib.c: Include prefix.h, don't prototype prefix.c functions. 9179 (cpp_start_read): Constify variable `str'. 9180 9181 * cpplib.h (append_include_chain): Constify a char* parameter. 9182 9183 * gcc.c Include prefix.h, don't prototype prefix.c functions. 9184 (add_prefix, save_string): Constify char* parameters. 9185 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes. 9186 9187 * prefix.c: Include prefix.h. 9188 (get_key_value, translate_name, save_string, update_path, 9189 set_std_prefix): Constify various char* parameters and variables. 9190 (save_string): Use xmalloc, not malloc. 9191 (translate_name): Use a writable temporary variable to create and 9192 modify a string before setting it to a const char*. 9193 9194 * prefix.h: New file to prototype functions exported from prefix.c. 9195 9196Tue Jan 5 08:52:18 1999 Bruce Korb (korb@datadesign.com) 9197 9198 * fixinc/fixincl.c (various): Added debug code so 9199 Manfred can trace the processing. 9200 9201 * fixinc/inclhack.def (sys/utsname.h): Provide forward declaration of 9202 struct utsname on Ultrix V4.[35]. 9203 9204 * fixinc/{fixincl.x|fixincl.sh|inclhack.sh} : Regenerated. 9205 9206Mon Jan 4 15:37:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu> 9207 9208 * cpplib.c (skip_if_group): Split out the logic that handles 9209 directive recognition to its own function. Don't use 9210 parse markers; use a bare pointer into the buffer. Use 9211 copy/skip_rest_of_line instead of doing it by hand. Remove 9212 `return on any directive' mode which was never used, and take 9213 only one argument. 9214 (consider_directive_while_skipping): New function, subroutine 9215 of skip_if_group. Logic streamlined a bit. 9216 (conditional_skip, do_elif, do_else): Call skip_if_group with 9217 only one argument. 9218 9219Mon Jan 4 15:27:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu> 9220 9221 * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an 9222 error. 9223 9224Mon Jan 4 11:55:51 1999 Jason Merrill <jason@yorick.cygnus.com> 9225 9226 * extend.texi (Bound member functions): Document. 9227 9228Mon Jan 4 11:01:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9229 9230 * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string, 9231 lang_to_string, type_to_string): Make return type const char*. 9232 (print_symbol): Apply `const' keyword to a char*. 9233 (print_file_desc): Cast structure member `crfd' to ulong when 9234 comparing against one. 9235 9236 * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*. 9237 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes. 9238 (progname, input_name): Apply `const' keyword to a char*. 9239 Don't redundantly include sys/stat.h. 9240 (alloc_info): Apply `const' keyword to a char*. 9241 (st_to_string, sc_to_string): Likewise. 9242 (hash_string): Cast variable `hash_string' to a symint_t when 9243 comparing against one. 9244 (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one. 9245 Likewise cast it to long when comparing against one. 9246 (add_local_symbol): Apply `const' keyword to a char*. 9247 (add_ext_symbol): Likewise. 9248 (add_unknown_tag): Likewise. 9249 (add_procedure): Cast a printf-style field width to an int. 9250 (add_file): Cast PAGE_USIZE to long when comparing against one. 9251 (parse_begin): Cast a printf-style field width to an int. 9252 (parse_bend): Likewise. 9253 (parse_def): Likewise. 9254 (parse_end): Likewise. 9255 (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED. 9256 (parse_stabs_common): Fix format specifier. 9257 (parse_input): Change type of variable `i' to Size_t. 9258 (write_object): Fix arguments to match format specifiers. 9259 Cast variable `num_write' to long when comparing against one. 9260 (read_seek): Cast variable `sys_read' to symint_t when comparing 9261 against one. Fix arguments to match format specifiers. Cast 9262 variable `size' to long when comparing against one. 9263 (copy_object): Cast result of `sizeof' to int when comparing 9264 against one. Fix arguments to match format specifiers. Cast 9265 variable `ifd' to long when comparing against a signed value. 9266 Likewise, likewise. 9267 9268Mon Jan 4 10:30:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9269 9270 * c-common.c (decl_attributes): Allow applying attribute `unused' 9271 on a LABEL_DECL. 9272 9273 * c-parse.in (label): Parse attributes after a label, and call 9274 `decl_attributes' to handle them. 9275 9276 * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define. 9277 9278 * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When 9279 generating labels, mark them with ATTRIBUTE_UNUSED_LABEL. 9280 9281 * invoke.texi: Note that labels can be marked `unused'. 9282 9283Sun Jan 3 23:32:18 1999 Jeff Law (law@cygnus.com) 9284 9285 * version.c: Bump for snapshot. 9286 9287Sun Jan 3 23:00:42 1999 Jeffrey A Law (law@cygnus.com) 9288 9289 * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing 9290 RTL for a compare/jump sequence. 9291 9292Sun Jan 3 22:58:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 9293 9294 * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL 9295 for a target with HAVE_cc0 defined. 9296 (emit_cmp_and_jump_insns): New function. 9297 * expr.h (emit_cmp_and_jump_insns): Prototype it. 9298 * loop.c (check_dbra_loop): Use it to replace calls 9299 to emit_cmp_insn and emit_jump_insn and to canonicalize 9300 the comparison if necessary. 9301 * unroll.c (unroll_loop): Likewise. 9302 9303Sun Jan 3 21:01:04 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9304 9305 * fixincludes (sys/utsname.h): Provide forward declaration of 9306 struct utsname on Ultrix V4.[35]. 9307 9308 * mips.md (div_trap): Use local labels instead of dot-relative 9309 branches. 9310 9311Sun Jan 3 20:40:34 1999 Jeffrey A Law (law@cygnus.com) 9312 9313 * pa.md (branch, negated branch): Handle (const_int 0) as first 9314 source operand. 9315 * pa.c (output_cbranch): Likewise. 9316 9317Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@gnu.org> 9318 9319 * rs6000.c (rs6000_stack_info): Undo spurious part of last 9320 change. 9321 93221999-01-01 Manfred Hollstein <manfred@s-direktnet.de> 9323 9324 * extend.texi (__builtin_constant_p): Add missing @smallexample. 9325 9326Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com) 9327 9328 * i386.md (doubleword shifts): Fix dumb mistakes in previous change. 9329 9330Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com) 9331 9332 * m68k.md (adddi_dilshr32): Allow all operands to be registers too. 9333 (adddi_dishl32): Similarly. 9334 9335 * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers 9336 for each insn in the skipped block. 9337 9338 * reload1.c (reload_as_needed): Verify that the insn satisfies its 9339 constraints after replacing a register address with an autoincrement 9340 address for reload inheritance purposes. 9341 9342 * i386.md (doubleword shifts): Avoid namespace pollution. 9343 9344Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com> 9345 9346 * configure.in (FreeBSD ELF): Needs special crt files. 9347 9348Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com> 9349 9350 * i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash. 9351 93521998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 9353 9354 * loop.c (check_dbra_loop): While reversing the loop, if the 9355 comparison value has a VOID mode use the mode of the other operand 9356 to compute the mask. 9357 9358Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com> 9359 9360 * rs6000.md ({save,restore}_stack_function): Take 2 operands to 9361 avoid warnings in compiling explow.c. 9362 9363 (patch from Ken Raeburn, raeburn@cygnus.com) 9364 * rs6000.c (rs6000_stack_info): Force 8-byte alignment of 9365 fpmem_offset. Compute total size after that, and then 9366 rs6000_fpmem_offset using both values. 9367 9368Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 9369 9370 * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in 9371 the future; indeed that already happens in some cases. 9372 9373Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com> 9374 9375 * sparc.c (input_operand): Recognize (const (constant_p_rtx)). 9376 (arith_operand): Remove constant_p_rtx handling. 9377 (const64_operand, const64_high_operand): Likewise. 9378 (arith11_operand, arith10_operand, arith_double_operand): Likewise. 9379 (arith11_double_operand, arith10_double_operand, small_int): Likewise. 9380 (small_int_or_double, uns_small_int, zero_operand): Likewise. 9381 * sparc.h (PREDICATE_CODES): Likewise. 9382 9383 * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX. 9384 9385Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 9386 9387 * rtl.def (CONSTANT_P_RTX): Clarify commentary. 9388 * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to 9389 consider constant CONSTRUCTOR constant and to defer some cases 9390 to cse. 9391 * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX. 9392 * regclass.c (reg_scan_mark_refs, case CONST): Likewise. 9393 9394Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com> 9395 9396 * expr.c (init_expr_once): Kill can_handle_constant_p recognition. 9397 * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code. 9398 9399 * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling. 9400 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise. 9401 (sext_add_operand, and_operand, or_operand): Likewise. 9402 (reg_or_cint_operand, some_operand, input_operand): Likewise. 9403 * alpha.h (PREDICATE_CODES): Likewise. 9404 9405Sat Dec 26 23:26:26 1998 Jeff Law (law@cygnus.com) 9406 9407 * version.c: Bump for snapshot. 9408 9409Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com) 9410 9411 * gengenrtl.c (gencode): Always use bzero to clear memory instead 9412 of dangerous casts and stores. 9413 9414 * Makefile.in (compare, gnucompare): Add missing else true clauses. 9415 9416Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com) 9417 9418 * alpha.md (builtin_longjmp): Add missing "DONE". 9419 9420Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com> 9421 9422 * gcc.c (execute): Enable -pipe with win32. 9423 9424Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com> 9425 9426 * config/arm/t-arm-elf: Add multiplib option for leading 9427 underscores. 9428 9429 * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable 9430 'user_label_prefix' rather than macro USER_LABEL_PREFIX. 9431 9432 (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather 9433 than variable 'reload_address_base_reg_class'. [Note this 9434 change is unrelated to the others in this patch]. 9435 9436 * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no 9437 leading underscore. 9438 9439Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9440 9441 * alias.c (record_alias_subset): Remove ignored `&'. 9442 (init_alias_once): Likewise. 9443 9444 * c-lex.c (UNGETC): Cast first argument of comma expression to void. 9445 9446 * config/mips/mips.c (mips_asm_file_end): Cast the result of 9447 fwrite to `int' when comparing against one. 9448 9449 * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||. 9450 (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'. 9451 9452 * cse.c (rehash_using_reg): Change type of variable `i' to 9453 unsigned int. 9454 9455 * dwarf2out.c (initial_return_save): Cast -1 to unsigned before 9456 assigning it to one. 9457 9458 * except.c (duplicate_eh_handlers): Remove unused variable `tmp'. 9459 9460 * final.c (final_scan_insn): Likewise for variable `i'. 9461 (output_asm_insn): Cast a char to unsigned char when used as an 9462 array index. 9463 9464 * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when 9465 assigning it to one. 9466 9467 * loop.c (strength_reduce): Remove unused variables `count' and `temp'. 9468 9469 * recog.c (preprocess_constraints): Cast a char to unsigned char 9470 when used as an array index. 9471 9472 * regmove.c (find_matches): Likewise. 9473 9474 * reload1.c (calculate_needs): Add default case in switch. 9475 (eliminate_regs_in_insn): Initialize variable `offset'. 9476 (set_offsets_for_label): Change type of variable `i' to unsigned. 9477 (reload_as_needed): Wrap variable `i' in macro check on 9478 AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P. 9479 9480 * scan-decls.c (scan_decls): Mark parameters `argc' and `argv' 9481 with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t 9482 when comparing against one. 9483 9484 * stor-layout.c (layout_decl): Cast maximum_field_alignment to 9485 unsigned when comparing against one. Likewise for 9486 GET_MODE_ALIGNMENT(). 9487 (layout_record): Cast record_align to int when comparing against a 9488 signed value. 9489 (layout_type): Cast TYPE_ALIGN() to int when comparing against a 9490 signed value. 9491 9492 * tree.c (get_identifier): Cast variable `len' to unsigned when 9493 comparing against one. 9494 (maybe_get_identifier): Likewise 9495 9496Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com) 9497 9498 * toplev.c (rest_of_compilation): Do not set reload_completed. 9499 * reload1.c (reload): Set reload_completed before calling 9500 cleanup_subreg_operands. 9501 9502Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com> 9503 9504 * reload1.c (emit_reload_insns): Check `set' not null before use. 9505 9506Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com> 9507 9508 * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to 9509 'int'. 9510 9511Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> 9512 9513 * halfpic.c (half_pic_encode): Delete redundant code. 9514 9515Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com> 9516 9517 * toplev.c (main): Delete handling of -dM as a preprocessor 9518 option. 9519 9520Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com> 9521 9522 * toplev.c (main): Don't emit any warnings when using -dD, -dM, or 9523 -dI, which are handled by the preprocessor. 9524 9525Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu> 9526 9527 * configure.in: Handle Digital UNIX 5.x the same as 4.x. 9528 * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".". 9529 9530Sun Dec 20 07:39:52 1998 Jeff Law (law@cygnus.com) 9531 9532 * version.c: Bump for snapshot. 9533 9534Sat Dec 19 22:24:22 1998 Jeff Law (law@cygnus.com) 9535 9536 * version.c: Bump for snapshot. 9537 9538Sat Dec 19 21:41:32 1998 Jeff Law (law@cygnus.com) 9539 9540 * version.c: Bump for snapshot. 9541 9542Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9543 9544 * genattr.c (fatal): Qualify a char* with the `const' keyword. 9545 9546 * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set, 9547 write_unit_name, write_eligible_delay, expand_units, 9548 make_length_attrs, write_attr_case, find_attr, 9549 make_internal_attr): Likewise. 9550 * gencheck.c (tree_codes): Likewise. 9551 * gencodes.c (fatal): Likewise. 9552 * genconfig.c (fatal): Likewise. 9553 * genemit.c (fatal): Likewise. 9554 * genextract.c (fatal, walk_rtx, copystr): Likewise. 9555 * genflags.c (fatal): Likewise. 9556 * genopinit.c (fatal, optabs, gen_insn): Likewise. 9557 * genoutput.c (fatal, error, predicates): Likewise. 9558 * genpeep.c (fatal): Likewise. 9559 * genrecog.c (fatal, decision, pred_table, add_to_sequence, 9560 write_tree_1, write_tree, change_state, copystr, indents): Likewise. 9561 9562Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9563 9564 * configure.in (with-fast-fixincludes): Fix whitespace. 9565 * configure: Rebuilt. 9566 9567 * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific 9568 asm() etc. function declarations in __DECC. 9569 9570Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com> 9571 9572 * expr.c (emit_move_insn_1): Only emit a clobber if the target 9573 is a pseudo register. 9574 9575Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com> 9576 9577 * gcse.c: Include expr.h in order to get the prototype for 9578 get_condition() which is used in delete_null_pointer_checks(). 9579 9580Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9581 9582 * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros. 9583 9584Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com> 9585 9586 * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS. 9587 (ALL_CFLAGS): Delete SCHED_CFLAGS. 9588 95891998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com> 9590 9591 * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of 9592 ';'). 9593 95941998-12-17 Michael Tiemann <tiemann@axon.cygnus.com> 9595 9596 * i960.md (extend*, zero_extend*): Don't generate rtl that looks 9597 like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides 9598 optimizations from the combiner. 9599 9600Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9601 9602 * loop.c (combine_givs_used_by_other): Don't depend on n_times_set. 9603 9604Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com> 9605 9606 * toplev.c (main): Disable optimize_size if a specific 9607 optimization level is requested. Always set optimization 9608 level to 2 if -Os is specified. 9609 9610Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com> 9611 9612 * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with 9613 cpplib. 9614 * cpplib.c (cpp_start_read): If in_fname is not initialized, try to 9615 initialize it using fname. 9616 96171998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu> 9618 9619 * cpplib.c (do_include): Treat #include_next in the 9620 primary source file as #include plus warning. Treat 9621 #include_next in a file included by absolute path as an 9622 error. fp == CPP_NULL_BUFFER is a fatal inconsistency. 9623 9624Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9625 9626 * cccp.c: Don't define MIN/MAX anymore. 9627 * cpplib.c: Likewise. 9628 * machmode.h: Likewise. 9629 * system.h: Provide definitions for MIN/MAX. 9630 9631Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu> 9632 9633 * fix-header.c: Don't define xstrdup here. 9634 9635Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9636 9637 * loop.c (consec_sets_giv): New argument last_consec_insn. 9638 (strength_reduce): Provide / use it. 9639 9640Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 9641 9642 * loop.h (loop_info): New field 'vtop'. 9643 * loop.c (check_dbra_loop): Use loop_info->vtop rather than 9644 scanning loop for vtop. 9645 * unroll.c (subtract_reg_term, find_common_reg_term): New functions. 9646 (loop_iterations): Use them to determine if loop has a constant 9647 number of iterations. Set loop_info->vtop. Don't subtract 9648 common reg term from initial_value and final_value if have a 9649 do-while loop. 9650 9651Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com) 9652 9653 * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2. 9654 9655 * mn10300.md (bset, bclr): Operand 0 is a read/write operand. 9656 9657 * mn10200.md (abssf2, negsf2): New expanders. 9658 9659 * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders. 9660 9661Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com> 9662 9663 * integrate.c (copy_rtx_and_substitute): If a SUBREG is 9664 replaced by a CONCAT whose components do not have the same 9665 mode as the original SUBREG, use a new SUBREG to restore the 9666 mode. 9667 9668 * emit-rtl.c (subreg_realpart_p): Cope with subregs containing 9669 multiword complex values. 9670 96711998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu> 9672 9673 * cppalloc.c: Add xstrdup here. 9674 * cpplib.h: Remove savestring prototype. 9675 * cpplib.c: Remove savestring function. s/savestring/xstrdup/ 9676 throughout. 9677 * cppfiles.c: s/savestring/xstrdup/ throughout. 9678 96791998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu> 9680 9681 * cpplib.c: Make all directive handlers read their own 9682 arguments. 9683 (struct directive): Remove last two arguments from FUNC 9684 member prototype. Remove `command_reads_line' member 9685 entirely. 9686 (directive_table): Remove initializations of 9687 command_reads_line flag. Pretty-print. 9688 (eval_if_expression, do_define, do_line, do_include, 9689 do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef, 9690 do_else, do_elif, do_sccs, do_assert, do_unassert, 9691 do_warning): Take only two args. 9692 9693 (cpp_define): Call do_define with two args and the text to 9694 define stuffed into a buffer. 9695 (make_assertion): Call do_assert with two args. 9696 (handle_directive): Call do_line with two args. Call 9697 kt->func with two args. Remove command_reads_line 9698 processing. 9699 (do_define, do_undef, do_error, do_warning, do_pragma, 9700 do_sccs): Read the rest of the line here. 9701 (do_ident): Gobble rest of line, as cccp does. 9702 (cpp_undef): New function. 9703 (cpp_start_read): Call cpp_undef instead of do_undef. 9704 97051998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu> 9706 9707 * cpphash.h (union hash_value): Remove `keydef' member, add a 9708 `struct hashnode *aschain' member for #assert. 9709 9710 * cpplib.c (struct tokenlist_list, struct 9711 assertion_hashnode): Delete structure definitions. 9712 (assertion_install, assertion_lookup, delete_assertion, 9713 check_assertion, compare_token_lists, reverse_token_list, 9714 read_token_list, free_token_list): Delete functions. 9715 (parse_assertion): New function. 9716 (cpp_cleanup): Don't destroy the assertion_hashtable. 9717 9718 (do_assert): Gut and rewrite. #assert foo (bar) places 9719 entries for `#foo' and `#foo(bar)' in the macro hash table, 9720 type T_ASSERT. The value union's `aschain' member is used 9721 to chain all answers for a given predicate together. 9722 (do_unassert): Also rewritten. Take an un-asserted 9723 answer off the chain from its predicate and call 9724 delete_macro on the hashnode, or walk a predicate chain 9725 calling delete_macro on all the entries. 9726 (cpp_read_check_assertion): Simply call parse_assertion to 9727 get the canonical assertion name, and look that up in the 9728 hash table. 9729 9730 * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab): 9731 Removed. 9732 9733 * cpphash.c (install): Use bcopy instead of an explicit loop 9734 to copy the macro name. 9735 9736 * cppexp.c (cpp_lex): Convert the result of 9737 cpp_read_check_assertion to a `struct operation' directly; 9738 don't go through parse_number. 9739 9740Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9741 9742 * loop.h (struct induction): Delete times_used member. 9743 * loop.c (n_times_set): Rename to set_in_loop. Changed all users. 9744 (n_times_used): Rename to n_times_set. Changed all users. 9745 (scan_loop): Free reg_single_usage before strength reduction. 9746 (record_giv, combine_givs): Remove handling of times_used member. 9747 (combine_givs_used_once): Rename to: 9748 (combine_givs_used_by_other) . Changed all callers. 9749 9750Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com> 9751 9752 * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P 9753 instead of TREE_CODE_CLASS == 't'. 9754 (gen_type_die): Likewise. 9755 (scope_die_for): Ignore FUNCTION_TYPE "scopes". 9756 9757Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com> 9758 9759 * real.c (endian): Disable last change unless 9760 HOST_BITS_PER_WIDE_INT is greater than 32. 9761 9762Mon Dec 14 17:13:36 1998 Andrew MacLeod <amacleod@cygnus.com> 9763 9764 * output.h (force_data_section): New prototype. 9765 * varasm.c (force_data_section): New function to force the 9766 data section, regardless of what in_section thinks. 9767 * dwarf2out.c (output_call_frame_info): Call force_data_section 9768 since varasm may not realize we've changes sections. 9769 9770Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com> 9771 9772 * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes 9773 after completing reload. 9774 9775 * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are 9776 deleted after reload. 9777 9778Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com) 9779 9780 * rtl.h (multiple_sets): Fix prototype. 9781 * rtlanal.c (multiple_sets): Fix return type. 9782 9783Sun Dec 13 12:43:58 1998 Jeff Law (law@cygnus.com) 9784 9785 * version.c: Bump for snapshot. 9786 9787Sun Dec 13 01:05:22 1998 Jeff Law (law@cygnus.com) 9788 9789 * version.c: Bump for snapshot. 9790 97911998-12-13 Manfred Hollstein <manfred@s-direktnet.de> 9792 9793 * protoize.c (fputs): Wrap extern declaration in #ifndef fputs. 9794 9795Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9796 9797 * rtl.h (recompute_reg_usage): Add second argument. 9798 * flow.c (recompute_reg_usage): Likewise. 9799 * toplev.c (rest_of_compilation): Supply second argument to 9800 recompute_reg_usage. 9801 9802 * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0 9803 after reload. 9804 9805Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com) 9806 9807 * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32. 9808 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000. 9809 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000, 9810 mcpu32 or m5200. 9811 9812 * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character. 9813 9814 * rtlanal.c (multiple_sets): New function. 9815 * rtl.h (multiple_sets): Declare it. 9816 * local-alloc.c (wipe_dead_reg): Use it. 9817 * global.c (global_conflicts): Likewise. 9818 9819Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com> 9820 9821 * global.c (record_conflicts): Don't use an array of shorts to 9822 store an array of ints. 9823 (global_conflicts): Likewise. 9824 9825Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com> 9826 9827 * alpha.c (alpha_expand_block_move): mode_for_size expects 9828 bits, not bytes. Infer extra alignment from addressof. 9829 98301998-12-11 Michael Meissner <meissner@cygnus.com> 9831 9832 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the 9833 .sbss section, not .sdata. 9834 98351998-12-11 Manfred Hollstein <manfred@s-direktnet.de> 9836 9837 * cccp.c: Do not #include <sys/stat.h> here; this is already done 9838 by "system.h". 9839 * collect2.c: Likewise. 9840 * cpplib.h: Likewise. 9841 * gcc.c: Likewise. 9842 * gcov.c: Likewise. 9843 * getpwd.c: Likewise. 9844 * protoize.c: Likewise. 9845 * toplev.c: Likewise. 9846 9847 * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h" 9848 and don't try to define it here. 9849 * Makefile.in (cppmain.o): Depend on machmode.h. 9850 (cpplib.o): Likewise. 9851 (cpperror.o): Likewise. 9852 (cppexp.o): Likewise. 9853 (cppfiles.o): Likewise. 9854 (cpphash.o): Likewise. 9855 (cppalloc.o): Likewise. 9856 (fix-header.o): Likewise. 9857 (scan-decls.o): Likewise. 9858 9859Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com> 9860 9861 * sh.c (print_operand): Lookup interrupt_handler attribute instead 9862 of relying on static variable. 9863 * (calc_live_regs): Likewise. 9864 * (sh_pragma_insert_attributes): Create interrupt_handler 9865 attribute if a pragma was specified. 9866 * (sh_valid_machine_decl_attribute): Don't set static flag. 9867 * sh.h (PRAGMA_INSERT_ATTRIBUTES): New. 9868 9869Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9870 9871 * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START 9872 to determine if a register is live at a jump destination. 9873 Everything is dead at a BARRIER. 9874 9875Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com> 9876 9877 * cse.c (simplify_unary_operation): Sign-extend constants when 9878 they have the most significant bit set for the target. 9879 * real.c (endian): Sign-extend 32 bit output values on a 64 bit 9880 host. 9881 * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in 9882 HOST_WIDE_INT temporary before negating it. 9883 * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000. 9884 9885Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com> 9886 9887 * objc/objc-act.c (lang_init_options): Enclose cpplib related code in 9888 #if USE_CPPLIB. 9889 9890Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9891 9892 * collect2.h: New header file for prototypes. 9893 9894 * Makefile.in (collect2.o, tlink.o): Depend on collect2.h. 9895 9896 * collect2.c: Include collect2.h. 9897 * tlink.c: Likewise. 9898 9899Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com) 9900 9901 * flow.c: Update some comments. 9902 9903Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com> 9904 9905 * objc/objc-act.c (cpp_initialized): Removed. 9906 (lang_init_options): Initialize cpplib. 9907 (lang_decode_option): Move initialization of cpplib to 9908 lang_init_options. 9909 * c-lang.c (parse_options,parse_in): Added. 9910 (lang_init_options): Initialized cpplib here. 9911 * c-decl.c (parse_options,cpp_initialized): Removed. 9912 (c_decode_option): Move initialization of cpplib to 9913 lang_init_options. 9914 9915Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9916 9917 * reload1.c (reload_combine, reload_combine_note_store): 9918 Make STORE_RUID always valid. 9919 (reload_combine): Check if BASE is clobbered too early. 9920 9921Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com> 9922 9923 * reload.c (find_reloads): Display the insn that cannot be 9924 reloaded. 9925 9926Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com> 9927 9928 * cccp.c (create_definition): Fix end of buffer logic. 9929 9930Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9931 9932 * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function 9933 pointer parameters changed to use the PARAMS() macro. 9934 9935Wed Dec 9 09:12:40 1998 Andrew MacLeod <amacleod@cygnus.com> 9936 9937 * except.h (struct handler_info): Add handler_number field. 9938 * except.c (gen_exception_label): EH labels no longer need to be 9939 on the permanent obstack. 9940 (get_new_handler): Set the label number field. 9941 (output_exception_table_entry): Regenerate handler label reference 9942 from the label number field. 9943 (init_eh): Remove a blank line. 9944 * integrate.c (get_label_from_map): Labels no longer need to be 9945 on the permanent obstack. 9946 9947Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com> 9948 9949 * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand 9950 only when OUTER_CODE is SET. 9951 9952Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9953 9954 * loop.c (strength_reduce): If scan_start points to the loop exit 9955 test, be wary of subversive use of gotos inside expression statements. 9956 Don't set maybe_multiple for a backward jump that does not 9957 include the label under consideration into its range. 9958 * unroll.c (biv_total_increment): Make use of maybe_multiple field. 9959 9960Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 9961 9962 * explow.c (plus_constant_wide): Don't immediately return with 9963 result of recursive call. 9964 9965Tue Dec 8 15:32:56 1998 Andrew MacLeod <amacleod@cygnus.com> 9966 9967 * eh-common.h (struct eh_context): Add table_index for rethrows. 9968 9969 * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes. 9970 (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be 9971 processed when inlined or unrolled (ie duplicated in some way). 9972 9973 * rtl.c (reg_note_name): Add strings for new reg_note enums. 9974 9975 * expr.h (rethrow_libfunc): New library decl. 9976 9977 * optabs.c (rethrow_libfunc): Initialize. 9978 9979 * except.h (struct eh_entry): Add new field 'rethrow_label'. 9980 (new_eh_region_entry): No longer exported from except.c. 9981 (duplicate_handlers): Renamed to duplicate_eh_handlers and 9982 different prototype. 9983 (rethrow_symbol_map, rethrow_used): New exported functions. 9984 (eh_region_from_symbol): New exported function. 9985 9986 * except.c (create_rethrow_ref): New function to create a single 9987 SYMBOL_REF for a rethrow region. 9988 (push_eh_entry): Initialize a rethrow ref. 9989 (func_eh_entry): Add a rethrow_label field. 9990 (new_eh_region_entry): Make static, and initialize the rethrow entry. 9991 (duplicate_eh_handlers): Create a new region, and remap labels/symbols. 9992 (eh_region_from_symbol): Find an EH region based on its rethrow symbol. 9993 (rethrow_symbol_map): Given a label map, maps a rethrow symbol for 9994 a region into an appropriate new symbol. 9995 (rethrow_used): Indicate whether a rethrow symbol has been referenced. 9996 (expand_eh_region_end): Don't issue jump around code for new-exceptions. 9997 (end_catch_handler): Emit a barrier for new-exceptions since 9998 control can never drop through the end of a catch block. 9999 (expand_end_all_catch): new-exceptions never fall through a catch 10000 block. 10001 (expand_rethrow): Use __rethrow routine for new exceptions. 10002 (output_exception_table_entry): Generate rethrow labels, if needed. 10003 (output_exception_table): Generate start and end rethrow labels. 10004 (init_eh): Create rethrow symbols for beginning and end of table. 10005 (scan_region): Don't eliminate EH regions which are the targets of 10006 rethrows. 10007 10008 * flow.c (make_edges): Add different edges for rethrow calls, 10009 identified by having the REG_EH_RETHROW reg label. 10010 (delete_unreachable_blocks): Don't delete regions markers which are 10011 the target of a rethrow. 10012 10013 * integrate.c (save_for_inline_eh_labelmap): New callback routine to 10014 allow save_for_inline_copying to call duplicate_eh_handlers. 10015 (save_for_inline_copying): Call duplicate_eh_handlers instead of 10016 exposing internal details of exception regions. 10017 (copy_for_inline): Check if SYMBOL_REFs need adjustment. 10018 (expand_inline_function_eh_labelmap): New callback routine to 10019 allow expand_inline_function to call duplicate_eh_handlers. 10020 (expand_inline_function): Call duplicate_eh_handlers instead of 10021 exposing internal details of exception regions. 10022 (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST 10023 flag is set. 10024 10025 * libgcc2.c (find_exception_handler): Generalize to enable it to 10026 pick up processing where it left off last time for a rethrow. 10027 (__unwinding_cleanup): New function. debug hook which is called before 10028 unwinding when __throw finds there is nothing but cleanups left. 10029 (throw_helper): Common parts of __throw extracted out for reuse. 10030 (__throw): Common parts moved to throw_helper. 10031 (__rethrow): New function for performing rethrows. 10032 10033Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com) 10034 10035 * reload1.c (current_function_decl): Tweak declaration. 10036 10037Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com> 10038 10039 * c-decl.c (flag_isoc9x): Default off. 10040 (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x. 10041 * cccp.c (print_help, main): Likewise. 10042 * gcc.c (default_compilers): Update for -std=gnu*. 10043 10044Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com) 10045 10046 * Makefile.in (DEMANGLE_H): Change location to shared demangle.h. 10047 * demangle.h: Deleted. 10048 10049 * reload1.c (current_function_decl): Declare. 10050 10051Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10052 10053 * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'. 10054 10055Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10056 10057 * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set. 10058 100591998-12-08 Ulrich Drepper <drepper@cygnus.com> 10060 10061 * configure.in: Test for availability of putc_unlocked, fputc_unlocked, 10062 and fputs_unlocked. 10063 * configure: Rebuilt. 10064 * system.h: If the *_unlocked functions are available use them 10065 instead of the locked counterparts by defining macros. 10066 * config.in: Regenerated. 10067 10068Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com> 10069 10070 * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is 10071 wrong and should only be used for dump related things, not 10072 debugging information, instead main_input_filename should be used. 10073 Also, reuse output_file_directive if possible. 10074 * i386/aix386ng.h (ASM_FILE_START): Likewise. 10075 * i386/isc.h (ASM_FILE_START): Likewise. 10076 * i386/win-nt.h (ASM_FILE_START): Likewise. 10077 * i386/sun386.h (ASM_FILE_START): Likewise. 10078 10079Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com> 10080 10081 * configure.in (mips*-*-linux*): Handle big and little endian 10082 systems. 10083 * configure: Rebuilt. 10084 10085Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com> 10086 10087 * emit-rtl.c: Fix typo. 10088 10089Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org> 10090 10091 * reload1.c (eliminate_regs): Don't do anything, if we're not 10092 generating code. 10093 10094Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com> 10095 10096 * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA. 10097 Add comment. 10098 * mips/mips.c (mips_select_section): Add comment. 10099 10100Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com> 10101 10102 * cccp.c (ignore_escape_flag): Add support for \ as `natural' 10103 characters in file names in #line to be consistent with #include 10104 handling. We support escape processing in the # 1 "..." version of 10105 the command. See also support in cp/lex.c. 10106 (handle_directive): Likewise. 10107 (do_line): Likewise. 10108 101091998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu> 10110 10111 * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM 10112 so it'll work on non-ASCII platforms. Always consider $ an 10113 identifier character. Take no arguments. 10114 (cpp_reader_init): Call initialize_char_syntax with no 10115 arguments. 10116 (cpp_start_read): Don't call initialize_char_syntax again. 10117 Clear is_idchar['$'] and is_idstart['$'] if not 10118 opts->dollars_in_ident. 10119 10120 * cpplib.h (struct cpp_reader): Replace void *data element by 10121 cpp_options *opts. Rearrange elements to make gdb printout 10122 less annoying (put buffer stack at end). 10123 (CPP_OPTIONS): Get rid of now-unnecessary cast. 10124 10125 * cppmain.c: s/data/opts/ when initializing cpp_reader 10126 structure. 10127 * c-decl.c: Likewise. 10128 * objc/objc-act.c: Likewise. 10129 * fix-header.c: Likewise. 10130 101311998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu> 10132 10133 * cpplib.h (struct cpp_buffer): Replace dir and dlen members 10134 with a struct file_name_list pointer. 10135 (struct cpp_reader): Add pointer to chain of `actual 10136 directory' include searchpath entries. 10137 (struct file_name_list): Add *alloc pointer for the sake of 10138 the actual-directory chain. 10139 10140 Move definition of HOST_WIDE_INT here. 10141 (cpp_parse_escape): Change prototype to match changes in 10142 cppexp.c. 10143 10144 * cppfiles.c (actual_directory): New function. 10145 (finclude): Use it to initialize the buffer's actual_dir 10146 entry. 10147 (find_include_file): We don't need to fix up max_include_len 10148 here. 10149 10150 * cpplib.c (do_include): Don't allocate a file_name_list on 10151 the fly for current directory "" includes, use the one that's 10152 been preallocated in pfile->buffer->actual_dir. Hoist out 10153 duplicate code from the search_start selection logic. 10154 (cpp_reader_init): Initialize pfile->actual_dirs. 10155 10156 Remove definition of HOST_WIDE_INT. Change calls 10157 to cpp_parse_escape to match changes in cppexp.c (note 10158 hardcoded MASK, which is safe since this is the source 10159 character set). 10160 10161 * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c 10162 to handle wide character constants in #if directives. The 10163 function now returns a HOST_WIDE_INT, and takes a third 10164 argument which is a binary mask for all legal values (0x00ff 10165 for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define 10166 MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of 10167 cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c] 10168 10169Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com> 10170 10171 * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1. 10172 10173Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10174 10175 * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB. 10176 * cppalloc.c: Move function `xcalloc' from cpplib.c to here. 10177 * cpplib.c: Move function `xcalloc' from here to cppalloc.c. 10178 10179Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com> 10180 10181 * final.c (output_asm_name): Use tabs to separate comments from 10182 assembly text. 10183 10184 Include instruction lengths (if defined) in output. 10185 10186Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10187 10188 * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value 10189 in the loop_info structure. 10190 10191Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com> 10192 10193 * configure.in (arm*-*-ecos-elf): New target. 10194 * configure: Regenerated. 10195 * config/arm/elf.h (ASM_WEAKEN_LABEL): Define. 10196 * config/arm/ecos-elf.h: New file. 10197 * config/arm/unknown-elf.h (TARGET_VERSION): Check 10198 for redefinition. 10199 10200Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 10201 10202 * sh.c (output_far_jump): Emit braf only for TARGET_SH2. 10203 10204Sun Dec 6 04:19:45 1998 Jeff Law (law@cygnus.com) 10205 10206 * version.c: Bump for snapshot. 10207 10208Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10209 10210 * loop.c (check_dbra_loop): New argument loop_info. Update fields 10211 as needed. 10212 10213Sun Dec 6 03:40:13 1998 Jeff Law (law@cygnus.com) 10214 10215 * version.c: Bump for snapshot. 10216 10217Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 10218 10219 * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger 10220 compressed reports are ok and preferred over URLs. 10221 10222Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 10223 10224 * invoke.texi (Warning Options): Soften the tone of -pedantic. 10225 10226Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org) 10227 10228 * print-rtl.c (print_rtx): Add prototype. 10229 10230 * unroll.c (iteration_info): Make it static. 10231 10232Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com> 10233 10234 * alias.c (memrefs_conflict_p): A second ANDed address 10235 disables the aligned address optimization. 10236 10237Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com> 10238 10239 * alpha.c (alpha_emit_set_const_1): Fix parenthesis error 10240 in -c << n case. 10241 10242Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com> 10243 10244 * i960.h (BOOL_TYPE_SIZE): Define. 10245 10246Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10247 10248 * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality 10249 from old valid_parallel_operands_4. 10250 (valid_parallel_operands_4): Check that operands for 4 operand 10251 parallel insns are valid, excluding load/store insns. 10252 * config/c4x/c4x.h (valid_parallel_load_store): Add prototype. 10253 * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use 10254 valid_parallel_load_store instead of valid_parallel_operands_4. 10255 (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber, 10256 *negqf2_movqf_clobber, *absqi2_movqi_clobber, 10257 *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber, 10258 *notqi_movqi_clobber): Use valid_parallel_operands_4. 10259 (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber, 10260 *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber, 10261 *subqi3_movqi_clobber): Use valid_parallel_operands_5. 10262 10263Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10264 10265 * config/c4x/c4x.c (iteration_info): Delete extern. 10266 10267Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 10268 10269 * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality. 10270 10271 * final.c (cleanup_subreg_operands): Delete some unused code. 10272 10273 * recog.h (MAX_RECOG_ALTERNATIVES): New macro. 10274 (struct insn_alternative): New structure definition. 10275 (recog_op_alt): Declare variable. 10276 (preprocess_constraints): Declare function. 10277 * recog.c (recog_op_alt): New variable. 10278 (extract_insn): Verify number of alternatives is in range. 10279 (preprocess_constraints): New function. 10280 * reg-stack.c: Include recog.h. 10281 (constrain_asm_operands): Delete. 10282 (get_asm_operand_lengths): Delete. 10283 (get_asm_operand_n_inputs): New function. 10284 (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and 10285 N_OUTPUTS args. All callers changed. 10286 Compute number of inputs and outputs here by calling 10287 get_asm_operand_n_inputs. 10288 Instead of constrain_asm_operands, call extract_insn, 10289 constrain_operands and preprocess_constraints. Use information 10290 computed by these functions throughout. 10291 (record_reg_life): Delete code that is unused due to changes in 10292 record_asm_reg_life. 10293 (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS, 10294 N_INPUTS and N_OUTPUTS args. All callers changed. 10295 Similar changes as in record_asm_reg_life. 10296 (subst_stack_regs): Move n_operands declaration into the if statement 10297 where it's used. 10298 Delete code that is unused due to changes in subst_asm_stack_regs. 10299 * stmt.c (expand_asm_operands): Verify number of alternatives is in 10300 range. 10301 * Makefile.in (reg-stack.o): Depend on recog.h. 10302 10303Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com) 10304 10305 * except.c (set_exception_version_code): Argument is an "int". 10306 10307Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com) 10308 10309 * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now. 10310 * configure: Rebuilt. 10311 10312Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com> 10313 10314 * configure.in (mipsel-*-linux*): New target. 10315 * mips/linux.h: New file, based on other Linux targets. 10316 10317Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com> 10318 10319 * gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook 10320 runs in the context of the deleter, not the deletee, so we must 10321 use taskVarGet to find the correct memory to free. 10322 (__gthread_key_create): Initialize the task 10323 variable subsystem so that the task variable is still active when 10324 the delete hook is run. 10325 103261998-12-03 Joseph S. Myers <jsm28@cam.ac.uk> 10327 10328 * pdp11.h: Use optimize_size for space optimizations. 10329 * pdp11.c: Likewise. 10330 * pdp11.md: Likewise. 10331 10332 * pdp11.h (TARGET_40_PLUS): Fix typo. 10333 10334Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com) 10335 10336 * local-alloc.c (block_alloc): Slightly retune heuristic to widen 10337 qty lifetimes. 10338 10339Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10340 10341 * alias.c (addr_side_effect_eval): New function. 10342 (memrefs_conflict_p): Use it. 10343 * rtl.h (addr_side_effect_eval): Prototype it. 10344 103451998-12-02 Joseph S. Myers <jsm28@cam.ac.uk> 10346 10347 * pdp11.md (extendsfdf2): Fix mode mismatch in SET. 10348 10349Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com> 10350 10351 * reload.c (find_reloads): When force const to memory, put result 10352 in substed_operand not *recog_operand_loc. 10353 103541998-12-02 Ulrich Drepper <drepper@cygnus.com> 10355 10356 * c-lex.c: Fix indentation from last patch. 10357 Remove trailing whitespace. 10358 * real.c: Likewise. 10359 10360Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com) 10361 10362 * flow.c (delete_block): Call set_last_insn after we have reset 10363 NEXT_INSN (kept_tail). 10364 10365Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com) 10366 10367 * mips.md (trap_if): Use "$0" for the value zero. 10368 10369Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com> 10370 Stephen L Moshier <moshier@world.std.com> 10371 Richard Henderson <rth@cygnus.com> 10372 10373 * c-common.c (declare_function_name): Declare predefined variable 10374 `__func__'. 10375 10376 * c-decl.c (flag_isoc9x): Set to 1 by default. 10377 (c_decode_option): Handle -std= option. Remove -flang-isoc9x. 10378 (grokdeclarator): Always emit warning about implicit int for ISO C 9x. 10379 10380 * c-parse.in: Allow constructors in ISO C 9x. 10381 Rewrite designator list handling. 10382 Allow [*] parameters. 10383 Don't warn about comma at end of enum definition for ISO C 9x. 10384 10385 * cccp.c (c9x): New variable. 10386 (rest_extension): New variable. 10387 (print_help): Document new -std= option. 10388 (main): Recognize -std= option. Set c9x appropriately. 10389 (create_definition): Recognize ISO C 9x vararg macros. 10390 10391 * gcc.c (default_compilers): Adjust specs for -std options. 10392 (option_map): Add --std. 10393 (display_help): Document -std. 10394 10395 * toplev.c (documented_lang_options): Add -std and remove 10396 -flang-isoc9x. 10397 10398 * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF 10399 or REAL_VALUE_HTOF based on base of the constants. 10400 * fold-const.c (real_hex_to_f): New function. Replacement function 10401 for hex FP conversion if REAL_ARITHMETIC is not defined. 10402 * real.c (asctoeg): Add handling of hex FP constants. 10403 * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or 10404 real_hex_to_f. 10405 10406Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com> 10407 10408 * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add 10409 -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro 10410 expansion. Use hi/lo as destination register. 10411 (div_trap): New. 10412 (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*, 10413 umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking. 10414 Avoid as macro expansion. Use hi/lo as destination register. 10415 10416 * mips.h (MASK_CHECK_RANGE_DIV): New. 10417 (MASK_NO_CHECK_ZERO_DIV): New. 10418 (ELIMINABLE_REGS): Added GP_REG_FIRST + 31. 10419 (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting 10420 return address for leaf functions out of r31 to support 10421 builtin_return_address. 10422 10423Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 10424 10425 * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x), 10426 NEXT_INSN(x) to check insn x. 10427 10428Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com) 10429 10430 * flow.c (delete_block): Call set_last_insn if we end up deleting the 10431 last insn in the rtl chain. 10432 10433 * reload1.c (reload): Do not set reload_completed or split insns 10434 here. Instead... 10435 * toplev.c (rest_of_compilation): Set reload_completed after 10436 reload returns. Split insns after reload_cse has run. 10437 10438Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com> 10439 10440 * final.c (final_scan_insn): Abort if block_depth falls below 0. 10441 10442Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com> 10443 10444 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc. 10445 10446Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com> 10447 10448 * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove 10449 use of user-label_prefix. 10450 10451Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 10452 10453 * reload1.c (emit_reload_insns): Clear spill_reg_store 10454 when doing a new non-inherited reload from the same pseudo. 10455 10456 * local-alloc.c (function_invariant_p): New function. 10457 (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P 10458 to decide if an equivalence should be recorded. 10459 * reload1.c (num_eliminable_invariants): New static variable. 10460 (reload): Set it. Use function_invariant_p instead of CONSTANT_P 10461 to decide if an equivalence should be recorded. 10462 Unshare PLUS. 10463 (calculate_needs_all_insns): Skip insns that only set an equivalence. 10464 Take num_eliminable_invariants into account when deciding 10465 if register elimination should be done. 10466 (reload_as_needed): Take num_eliminable_invariants into account 10467 when deciding if register elimination should be done. 10468 (eliminate_regs): Handle non-constant reg_equiv_constant. 10469 * rtl.h (function_invariant_p): Declare. 10470 10471Mon Nov 30 02:00:08 1998 Jeff Law (law@cygnus.com) 10472 10473 * version.c: Bump for snapshot. 10474 10475Mon Nov 30 00:42:59 1998 Jeff Law (law@cygnus.com) 10476 10477 * version.c: Bump for snapshot. 10478 10479Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com> 10480 10481 * except.c (add_new_handler): Complain about additional handlers 10482 after one that catches everything. 10483 10484Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com) 10485 10486 * configure.in (alpha*-*-netbsd): Fix typo. 10487 * configure: Rebuilt. 10488 10489Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10490 10491 * system.h: Include libiberty.h. 10492 10493 * c-aux-info.c: Remove prototypes for concat/concat3. Change 10494 function `concat' from fixed parameters to variable parameters, 10495 as is done in libiberty. All callers of concat/concat3 10496 changed to use the new `concat' with variable args. 10497 10498 * cccp.c: Remove things made redundant by libiberty.h and/or 10499 conform to libiberty standards. 10500 * cexp.y: Likewise. 10501 * collect2.c: Likewise. 10502 * config/1750a/1750a.h: Likewise. 10503 * cppalloc.c: Likewise. 10504 * cppexp.c: Likewise. 10505 * cppfiles.c: Likewise. 10506 * cpphash.c: Likewise. 10507 * cpplib.c: Likewise. 10508 * dyn-string.c: Likewise. 10509 * fix-header.c: Likewise. 10510 * gcc.c: Likewise. 10511 * gcov.c: Likewise. 10512 * genattr.c: Likewise. 10513 * genattrtab.c: Likewise. 10514 * gencheck.c: Likewise. 10515 * gencodes.c: Likewise. 10516 * genconfig.c: Likewise. 10517 * genemit.c: Likewise. 10518 * genextract.c: Likewise. 10519 * genflags.c: Likewise. 10520 * gengenrtl.c: Likewise. 10521 * genopinit.c: Likewise. 10522 * genoutput.c: Likewise. 10523 * genpeep.c: Likewise. 10524 * genrecog.c: Likewise. 10525 * getpwd.c: Likewise. 10526 * halfpic.c: Likewise. 10527 * hash.c: Likewise. 10528 * mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes 10529 in NEED_DECLARATION_* macros. 10530 10531 * mips-tfile.c: Remove things made redundant by libiberty.h and/or 10532 conform to libiberty standards. 10533 (fatal): Fix const-ification of variable `format' in 10534 !ANSI_PROTOTYPES case. 10535 10536 * prefix.c: Remove things made redundant by libiberty.h and/or 10537 conform to libiberty standards. 10538 10539 * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid 10540 conflicting with function `spaces' from libiberty. 10541 10542 * profile.c: Remove things made redundant by libiberty.h and/or 10543 conform to libiberty standards. 10544 * protoize.c: Likewise. 10545 * rtl.h: Likewise. 10546 * scan.h: Likewise. 10547 * tlink.c: Likewise. 10548 * toplev.c: Likewise. 10549 * toplev.h: Likewise. 10550 * tree.h: Likewise. 10551 10552Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 10553 10554 * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition. 10555 10556Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10557 10558 * README.C4X: Updated URLs. 10559 * config/c4x/c4x.c (c4x_address_conflict): Fix typo. 10560 (valid_parallel_operands_5): Remove unused variable. 10561 10562Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10563 10564 * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo. 10565 105661998-11-26 Manfred Hollstein <manfred@s-direktnet.de> 10567 10568 * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages 10569 which can be configured. 10570 (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@ 10571 (Makefile): Pass actual LANGUAGES through the environment when 10572 re-configuring. 10573 (cstamp-h): Likewise. 10574 (config.status): Likewise. 10575 10576 * configure.in (enable_languages): Add new configuration parameter 10577 "--enable-languages=lang1,lang2,...". 10578 (${srcdir}/*/config-lang.in): Change handling to configure only 10579 those directories, that the user might have enabled; default to 10580 "all" existing languages. 10581 * configure: Regenerate. 10582 10583Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com> 10584 10585 * rtlanal.c (regs_set_between_p): New function. 10586 * rtl.h (regs_set_between_p): Prototype it. 10587 * jump.c (jump_optimize): Use it instead of modified_between_p 10588 in the Sep 2 change. 10589 10590Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au> 10591 Matthias Pfaller <leo@dachau.marco.de> 10592 10593 * invoke.texi (Option Summary, NS32K Options): Add description 10594 of NS32K specific options. 10595 10596 * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2, 10597 fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2, 10598 fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3, 10599 negdf2, absdf2): Use l instead of f since the double class and 10600 float class are no longer the same. 10601 (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3, 10602 divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2, 10603 ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...): 10604 Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been 10605 fixed. 10606 (cmpsi, cmphi, cmpqi): Use general_operand instead of 10607 non_immediate_operand. Removes erroneous assumption that can't 10608 compare constants. 10609 (movsf, movsi, movhi, movqi,...): New register numbering scheme. 10610 (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded 10611 constants. 10612 (movstrsi, movstrsi1, movstrsi2): Completely new block move 10613 scheme. 10614 (...): Patterns to exploit multiply-add instructions. 10615 (udivmodsi4, udivmodsi_internal4, udivmodhi4, 10616 udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New 10617 patterns to exploit extended divide insns. 10618 (udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi 10619 etc patterns. 10620 10621 * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex 10622 float return values as well as simple scalar floats. 10623 (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES): 10624 Support new flag to denote 32381 fpu. 10625 (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081. 10626 (CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not 10627 compiling for 32381. 10628 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS, 10629 REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES, 10630 REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM, 10631 L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, 10632 LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES, 10633 REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS, 10634 REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE, 10635 REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P, 10636 REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381 10637 fpu registers and special register classes for new 32381 10638 instructions dotf and polyf. 10639 (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to 10640 be tieable. 10641 (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX, 10642 INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is 10643 required. 10644 (SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option. 10645 (MOVE_RATIO): Set to zero because of smart movstrsi implementation. 10646 (REGISTER_MOVE_COST): Move code to register_move_cost function for 10647 ease of coding and debugging. 10648 (CLASS_LIKELY_SPILLED_P): Under new register scheme class 10649 LONG_FLOAT_REGO is likely spilled but not caught by default 10650 definition. 10651 (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro 10652 instead of hard coded numbers in range check. 10653 (ASM_OUTPUT_LABELREF_AS_INT): Delete since unused. 10654 (...): Add prototypes for functions in ns32k.c but disable because 10655 of problems when ns32k.h is included in machine independent files. 10656 10657 * ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h". 10658 (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names, 10659 hard_regno_mode_ok, secondary_reload_class, 10660 print_operand, print_operand_address): New register scheme to 10661 include 32381 fpu registers and special register classes for new 10662 32381 instructions dotf and polyf. 10663 (gen_indexed_expr): Make static to keep namespace clean. 10664 (check_reg): Remove since never called. 10665 (move_tail, expand_block_move): Helper functions for "movstrsi" 10666 block move insn. 10667 (register_move_cost): Helper function for REGISTER_MOVE_COST macro. 10668 Increase cost of moves which go via memory. 10669 * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag. 10670 (CPP_PREDEFINES): No longer predefine "unix". 10671 10672 * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...): 10673 Remove erroneous %$. print_operand() can work out from the rtx is 10674 an immediate prefix is required. 10675 10676 * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE, 10677 VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES, 10678 SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling 10679 convention. 10680 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of 10681 pic operands. 10682 10683 * ns32k.c (symbolic_reference_mentioned_p, print_operand): 10684 Correct handling of pic operands. 10685 (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p, 10686 ns32k_comp_type_attributes, ns32k_return_pops_args): Support for 10687 -mrtd calling convention. 10688 10689Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com> 10690 10691 * gcc.c (option_map): Recognize --output-class-directory. 10692 10693Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10694 10695 * loop.h (precondition_loop_p): Added new mode argument. 10696 * unroll.c (precondition_loop_p): Likewise. 10697 (approx_final_value): Function deleted and subsumed 10698 into loop_iterations. 10699 (loop_find_equiv_value): New function. 10700 (loop_iterations): Use loop_find_equiv_value to find increments 10701 too large to be immediate constants. Also use it to find terms 10702 common to initial and final iteration values that can be removed. 10703 10704Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10705 10706 * loop.h (struct loop_info): Define new structure. 10707 (precondition_loop_p): Added prototype. 10708 (unroll_loop): Added new argument loop_info to prototype. 10709 (final_biv_value, final_giv_value): Added new argument n_iterations 10710 to prototype. 10711 * loop.c (strength_reduce): Declare new structure loop_iteration_info 10712 and new pointer loop_info. 10713 (loop_n_iterations): Replace global variable by element in 10714 loop_info structure. 10715 (check_final_value): New argument n_iterations. 10716 (insert_bct): New argument loop_info. 10717 (loop_unroll_factor): Replace global array by element in 10718 loop_info structure. 10719 (loop_optimize): Remove code to allocate and initialize 10720 loop_unroll_factor_array. 10721 * unroll.c (precondition_loop_p): No longer static since 10722 used by branch on count optimization. 10723 (precondition_loop_p, unroll_loop): New argument loop_info. 10724 (final_biv_value, final_giv_value, find_splittable_regs): New 10725 argument n_iterations. 10726 (loop_iteration_var, loop_initial_value, loop_increment, 10727 loop_final_value, loop_comparison_code, loop_unroll_factor): 10728 Replaced global variables by loop_info structure. 10729 (loop_unroll_factor): Replace global array by element in 10730 loop_info structure. 10731 10732Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10733 10734 * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn 10735 when loop reversed. 10736 10737 * unroll.c (precondition_loop_p): Return loop_initial_value 10738 for initial_value instead of loop_iteration_var. 10739 10740Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10741 10742 * config/c4x/c4x.md: Fix minor formatting problems. Update docs. 10743 (*b, *b_rev, *b_noov, *b_noov_rev, *db, 10744 decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch 10745 to output the instruction sequences. 10746 (rpts): Delete. 10747 (rptb_top): Provide alternatives to use any register or memory 10748 for loop counter. 10749 (rptb_end): Emit use of operands rather than assigning them 10750 explicitly to the RS and RE registers. 10751 10752Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10753 10754 * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p, 10755 c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p, 10756 c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg, 10757 c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after, 10758 c4x_merge_notes, c4x_parallel_process, 10759 c4x_combine_parallel_independent, c4x_combine_parallel_dependent, 10760 c4x_combine_parallel): Delete. 10761 10762Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10763 10764 * config/c4x/c4x.c (c4x_override_options): For compatibility 10765 with old target options clear flag_branch_on_count_reg if 10766 -mno-rptb specified and set flag_argument_alias is -mno-aliases 10767 specified. 10768 (c4x_output_cbranch): Handle a sequence of insns rather than a 10769 single insn. 10770 (c4x_rptb_insert): Do not emit a RPTB insn if the RC register 10771 has not been allocated as the loop counter. 10772 (c4x_address_conflict): Do not allow two volatile memory references. 10773 (valid_parallel_operands_4, valid_parallel_operands_5, 10774 valid_parallel_operands_6): Reject pattern if the register destination 10775 of the first set is used as part of an address in the second set. 10776 10777Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10778 10779 * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG. 10780 (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES 10781 is no longer enabled if PARALLEL_MPY_FLAG set. 10782 (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity. 10783 (REG_CLASS_CONTENTS): Add braces around initializers. 10784 (HAVE_MULTIPLE_PACK): Define. 10785 (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with 10786 REAL_VALUE_TO_DECIMAL. 10787 (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with 10788 REAL_VALUE_TO_DECIMAL. 10789 (ar0_reg_operand): Add prototype. 10790 (ar0_mem_operand): Likewise. 10791 (ar1_reg_operand): Likewise. 10792 (ar1_mem_operand): Likewise. 10793 (ar2_reg_operand): Likewise. 10794 (ar2_mem_operand): Likewise. 10795 (ar3_reg_operand): Likewise. 10796 (ar3_mem_operand): Likewise. 10797 (ar4_reg_operand): Likewise. 10798 (ar4_mem_operand): Likewise. 10799 (ar5_reg_operand): Likewise. 10800 (ar5_mem_operand): Likewise. 10801 (ar6_reg_operand): Likewise. 10802 (ar6_mem_operand): Likewise. 10803 (ar7_reg_operand): Likewise. 10804 (ar7_mem_operand): Likewise. 10805 (ir0_reg_operand): Likewise. 10806 (ir0_mem_operand): Likewise. 10807 (ir1_reg_operand): Likewise. 10808 (ir1_mem_operand): Likewise. 10809 (group1_reg_operand): Likewise. 10810 (group1_mem_operand): Likewise. 10811 (ir1_reg_operand): Likewise. 10812 (arx_reg_operand): Likewise. 10813 (not_rc_reg): Likewise. 10814 (not_modify_reg): Likewise. 10815 (c4x_group1_reg_operand): Remove prototype. 10816 (c4x_group1_mem_operand): Likewise. 10817 (c4x_arx_reg_operand): Likewise. 10818 10819Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com> 10820 10821 * emit-rtl.c (gen_lowpart_common): Remove earlier change. 10822 * real.c (make_nan): Make SIGN arg actually specify the sign bit. 10823 10824Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 10825 10826 * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern 10827 during reload. 10828 10829Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 10830 10831 * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1 10832 unless FMOVD_WORKS is defined. 10833 10834Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 10835 10836 * regclass.c (init_reg_sets): Move code that calculates tables 10837 dependent on reg_class_contents from here... 10838 (init_reg_sets_1): To here. 10839 10840Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu> 10841 10842 * cpplib.h: Delete struct import_file. Add ihash element to 10843 struct cpp_buffer. Delete dont_repeat_files and 10844 import_hash_table elements from cpp_reader; change 10845 all_include_files to a hash table. Delete all foobar_include 10846 / last_foobar_include elements from struct cpp_options; put 10847 back four such: quote_include, bracket_include, 10848 system_include, after_include. Redo struct file_name_list 10849 completely. Add new structure type include_hash. Add 10850 prototypes for merge_include_chains and include_hash. Change 10851 prototypes for finclude, find_include_file, and 10852 append_include_chain to match changes below. 10853 10854 * cppfiles.c (simplify_pathname, include_hash, 10855 remap_filename, merge_include_chains): New functions. 10856 (add_import, lookup_import, open_include_file): Removed. 10857 (INO_T_EQ): Define this (copied from cccp.c). 10858 (hack_vms_include_specification): Remove all calls and #if 0 10859 out the definition. It was being called incorrectly and at 10860 the wrong times. Until a VMSie can look at this, it's better 10861 to not pretend to support it. 10862 (append_include_chain): Change calling convention; now takes 10863 only one directory at a time, and sets up the data structure 10864 itself. 10865 (redundant_include_p): Rewritten - this is now used for all 10866 include redundancy, whether by #ifndef, #import, or #pragma 10867 once. Looks up things in the include hash table. 10868 (file_cleanup): Decrement pfile->system_include_depth here if 10869 it's >0. 10870 (find_include_file): Calling convention changed; now passes 10871 around a struct include_hash instead of 3 separate parameters. 10872 Guts ripped out and replaced with new include_hash mechanism. 10873 (finclude): Calling convention changed as for 10874 find_include_file. Error exits pulled out-of-line. Reformat. 10875 (safe_read): Return a long, not an int. 10876 (deps_output): Don't recurse. 10877 10878 * cpplib.c (is_system_include): Deleted. 10879 (path_include): Fix up call to append_include_chain. 10880 (do_include): Fix up calls to find_include_file and finclude. 10881 Clean up dependency output a bit. Shorten obnoxiously lengthy 10882 #import warning message. Don't decrement 10883 pfile->system_include_depth here. 10884 (do_pragma): Understand the include_hash structure. Reformat. 10885 (do_endif): Correct handling of control macros. Understand 10886 the include_hash. 10887 (cpp_start_read): Fix up calls to finclude. Call 10888 merge_include_chains. 10889 (cpp_handle_option): Fix up calls to append_include_chain. 10890 Understand the four partial include chains. 10891 (cpp_finish): Add debugging code (#if 0-ed out) for the 10892 include_hash. 10893 (cpp_cleanup): Free the include_hash, not the import hash and 10894 the all_include and dont_repeat lists which no longer exist. 10895 10896Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com) 10897 10898 * toplev.c (no_new_pseudos): Define. 10899 (rest_of_compilation): Set no_new_pseudos as needed. 10900 * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo 10901 if no_new_pseudos is set. 10902 * rtl.h (no_new_pseudos): Declare it. 10903 * reload1.c (reload): Update comments. 10904 * md.texi: Corresponding changes. 10905 10906Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 10907 10908 * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo. 10909 (choose_reload_regs): Rename it here as well. When computing it, 10910 also merge in used hardregs. 10911 109121998-11-25 Zack Weinberg <zack@rabi.phys.columbia.edu> 10913 10914 * gcc.c: Split out Objective-C specs to... 10915 * objc/lang-specs.h: here. (New file.) Make the specs cpplib 10916 aware. 10917 10918 * c-lex.c (init_parse): Always initialize the filename global. 10919 * objc/objc-act.c (lang_init): Always call check_newline at 10920 beginning of file. 10921 10922Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk> 10923 10924 * reload1.c (reload): Remove unused variable. 10925 (reload_reg_free_for_value_p): Add missing parameter definition. 10926 10927 * jump.c (jump_optimize): Remove unused variable. 10928 10929Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com) 10930 10931 * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h. 10932 10933 * cse.c (fold_rtx): Make autoincrement addressing mode tests be 10934 runtime selectable. 10935 * expr.c (move_by_pieces): Similarly. 10936 (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly. 10937 * flow.c (find_auto_inc): Similarly. 10938 (try_pre_increment): Similarly. 10939 * loop.c (strength_reduce): Similarly. 10940 * regclass.c (auto_inc_dec_reg_p): Similarly. 10941 * regmove.c (try_auto_increment): Similarly. 10942 (fixup_match_1): Similarly. 10943 * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined. 10944 (HAVE_PRE_DECREMENT): Similarly. 10945 (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly. 10946 * Corresponding changes to all target header files. 10947 * tm.texi: Update docs for autoinc addressing modes. 10948 10949Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com> 10950 10951 * configure.in (m68020-*-elf*, m68k-*-elf*): New targets. 10952 * configure: Rebuild. 10953 * config/elfos.h: New file. 10954 * config/m68k/m68020-elf.h, config/m68k/m68kelf.h, 10955 config/m68k/t-m68kelf: New file. 10956 10957Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com) 10958 10959 * Makefile.in (HOST_AR): Define. 10960 (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly. 10961 (libcpp.a): Use the host tools explicitly. 10962 (STAGESTUFF): Add libcpp.a. 10963 10964Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com> 10965 10966 * config/m32r/m32r.md (movstrsi_internal): Describe changes made 10967 to source and destination registers. 10968 10969Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com> 10970 10971 * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe. 10972 The strategy we now use is to pre allocate the top_elt along 10973 with the EH context so that each thread has its own top_elt. 10974 This is necessary as the dynamic cleanup chain is used on the 10975 top element of the stack and each thread MUST have its own. 10976 (eh_context_static): Likewise. 10977 (new_eh_context): Likewise. 10978 (__sjthrow): Likewise. 10979 10980Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com> 10981 10982 * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while. 10983 * i386.md (prologue_get_pc): Remove unused variable. 10984 10985Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com> 10986 10987 * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_. 10988 10989Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com> 10990 10991 * Makefile.in (OBJS): Add graph.o. 10992 (graph.o): New dependency list. 10993 * flags.h: Declare dump_for_graph and define graph_dump_types type. 10994 * print-rtl.c (dump_for_graph): Define new variable. 10995 (print_rtx): Rewrite to allow use in graph dumping functions. 10996 * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file, 10997 finish_graph_dump_file. 10998 Define graph_dump_format. 10999 (compile_file): If graph dumping is enabled also clear these files. 11000 Finish graph dump files. 11001 (rest_of_compilation): Also dump graph information if enabled. 11002 (main): Recognize -dv to enabled VCG based graph dumping. 11003 * graph.c: New file. Graph dumping functions. 11004 11005Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com> 11006 11007 * configure.in: Look for <sys/stat.h>. 11008 * system.h: Include it before substitute S_ISREG definitions. 11009 11010Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com> 11011 11012 * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage. 11013 * config/mips/iris6.h: Same. 11014 * config/mips/mips.md: Same. 11015 * config/mips/mips.c: Same; also add "-mabi=o64" option. 11016 * config/mips/mips.h: Same; also define ABI_O64. 11017 11018Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11019 11020 * configure.in: Use AC_PREREQ(2.12.1). 11021 11022Mon Nov 23 10:16:38 1998 Melissa O'Neill <oneill@cs.sfu.ca> 11023 11024 * cccp.c (S_ISREG, S_ISDIR): Delete defines. 11025 * cpplib.c, gcc.c: Likewise. 11026 * system.h (S_ISREG, S_ISDIR): Define if not already defined. 11027 11028Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com> 11029 11030 * local-alloc.c (local_alloc): Use malloc not alloca for 11031 reg_qty, reg_offset, ref_next_in_qty. 11032 11033Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11034 11035 * caller-save.c (insert_one_insn): Initialize the live_before and 11036 live_after register sets. 11037 11038 Add SH4 support: 11039 11040 * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define. 11041 (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define. 11042 * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS. 11043 (fp_reg_names, assembler_dialect): New variables. 11044 (print_operand_address): Handle SUBREGs. 11045 (print_operand): Added 'o' case. 11046 Don't use adj_offsettable_operand on PRE_DEC / POST_INC. 11047 Name of FP registers depends on mode. 11048 (expand_block_move): Emit different code for SH4 hardware. 11049 (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate. 11050 (from_compare): Likewise. 11051 (add_constant): New argument last_value. Changed all callers. 11052 (find_barrier): Don't try HImode load for FPUL_REG. 11053 (machine_dependent_reorg): Likewise. 11054 (sfunc_uses_reg): A CLOBBER cannot be the address register use. 11055 (gen_far_branch): Emit a barrier after the new jump. 11056 (barrier_align): Don't trust instruction lengths before 11057 fixing up pcloads. 11058 (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG. 11059 Use auto-inc addressing for fp registers if doubles need to 11060 be loaded in two steps. 11061 Set sh_flag_remove_dead_before_cse. 11062 (push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul. 11063 (pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul. 11064 (calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR. 11065 Support for FIRST_XD_REG .. LAST_XD_REG. 11066 (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG. 11067 (sh_expand_epilogue): Likewise. 11068 (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4. 11069 (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account. 11070 (arith_reg_operand): FPUL_REG is OK for SH4. 11071 (fp_arith_reg_operand, fp_extended_operand): New functions. 11072 (tertiary_reload_operand, fpscr_operand): Likewise. 11073 (commutative_float_operator, noncommutative_float_operator): Likewise. 11074 (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise. 11075 (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise. 11076 (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise. 11077 (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise. 11078 * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only. 11079 (CONDITIONAL_REGISTER_USAGE): Likewise. 11080 (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define. 11081 (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define. 11082 (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define. 11083 (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd. 11084 (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer 11085 to -1 and sh_flag_remove_dead_before_cse to 1. 11086 (ASSEMBLER_DIALECT): Define to assembler_dialect. 11087 (assembler_dialect, fp_reg_names): Declare. 11088 (OVERRIDE_OPTIONS): Add code for TARGET_SH4. 11089 Hide names of registers that are not accessible. 11090 (CACHE_LOG): Take TARGET_CACHE32 into account. 11091 (LOOP_ALIGN): Take TARGET_HARWARD into account. 11092 (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define. 11093 (FIRST_PSEUDO_REGISTER: Now 49. 11094 (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers. 11095 (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG. 11096 (HARD_REGNO_MODE_OK): Update. 11097 (enum reg_class): Add DF_REGS and FPSCR_REGS. 11098 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise. 11099 (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update. 11100 (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define. 11101 (NPARM_REGS): Eight floating point parameter registers on SH4. 11102 (BASE_RETURN_VALUE_REG): SH4 also passes double values 11103 in floating point registers. 11104 (GET_SH_ARG_CLASS): Likewise. 11105 Complex float types are also returned in float registers. 11106 (BASE_ARG_REG): Complex float types are also passes in float registers. 11107 (FUNCTION_VALUE): Change mode like PROMOTE_MODE does. 11108 (LIBCALL_VALUE): Remove trailing semicolon. 11109 (ROUND_REG): Round when double precision value is passed in floating 11110 point register(s). 11111 (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are 11112 passed on the stack. 11113 (FUNCTION_ARG): Little endian adjustment for SH4 SFmode. 11114 (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4. 11115 (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account. 11116 (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD. 11117 (MODE_DISP_OK_8): Not for SH4 DFmode. 11118 (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode. 11119 Allow indexed addressing for PSImode after reload. 11120 (LEGITIMIZE_ADDRESS): Not for SH4 DFmode. 11121 (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode. 11122 Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS. 11123 (DOUBLE_TYPE_SIZE): 64 for SH4. 11124 (RTX_COSTS): Add PLUS case. 11125 Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case. 11126 (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS, 11127 MAC_REGS, PR_REGS, DF_REGS. 11128 (REGISTER_NAMES): Use fp_reg_names. 11129 (enum processor_type): Add PROCESSOR_SH4. 11130 (sh_flag_remove_dead_before_cse): Declare. 11131 (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare. 11132 (PREDICATE_CODES): Add binary_float_operator, 11133 commutative_float_operator, fp_arith_reg_operand, fp_extended_operand, 11134 fpscr_operand, noncommutative_float_operator. 11135 (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR. 11136 (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4. 11137 * sh.md (attribute cpu): Add value sh4. 11138 (attrbutes fmovd, issues): Define. 11139 (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv. 11140 (function units memory, int, mpy, fp): Make dependent on issue rate. 11141 (function units issue, single_issue, load_si, load): Define. 11142 (function units load_store, fdiv, gp_fpul): Define. 11143 (attribute hit_stack): Provide proper default. 11144 (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4. 11145 (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns. 11146 (udivsi3, divsi3): Emit special patterns for SH4 hardware, 11147 (mulsi3_call): Now uses match_operand for function address. 11148 (mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL / 11149 REG_RETVAL notes. 11150 (push, pop, push_e, pop_e): Now define_expands. 11151 (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders. 11152 (movsi_ie): Added y/i alternative. 11153 (ic_invalidate_line_i, movdf_i4): New insns. 11154 (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters. 11155 (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders. 11156 (movdf): Add special code for SH4. 11157 (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible. 11158 (call_valuei, calli, call_value): Likewise. 11159 (movsf): Emit no-op move. 11160 (mov_nop, movsi_y): New insns. 11161 (blt, sge): Generalize to handle DFmode. 11162 (return predicate): Call emit_fpscr_use and remove_dead_before_cse. 11163 (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4. 11164 (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns. 11165 (fpu_switch0, fpu_switch1, movpsi): New expanders. 11166 (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters. 11167 (toggle_sz): New insn. 11168 (addsf3, subsf3, mulsf3, divsf3): Now define_expands. 11169 (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns. 11170 (macsf3): Make use of fpscr visible. Disable for SH4. 11171 (floatsisf2): Make use of fpscr visible. 11172 (floatsisf2_i4): New insn. 11173 (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4. 11174 (ieee_ccmpeqsf_t): Likewise. 11175 (fix_truncsfsi2): Emit different code for SH4. 11176 (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns. 11177 (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns. 11178 (negsf2, sqrtsf2, abssf2): Now expanders. 11179 (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders. 11180 (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns. 11181 (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns. 11182 (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders. 11183 (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns. 11184 (fix_truncdfsi2_i4_2+1): New splitters. 11185 (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns. 11186 (extendsfdf2, truncdfsf2): New expanders. 11187 (truncdfsf2_i4): New insn. 11188 * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4. 11189 (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4. 11190 * float-sh.h: When testing for __SH3E__, also test for 11191 __SH4_SINGLE_ONLY__ . 11192 * va-sh.h (__va_freg): Define to float. 11193 (__va_greg, __fa_freg, __gnuc_va_list, va_start): 11194 Define for __SH4_SINGLE_ONLY__ like for __SH3E__ . 11195 (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise. 11196 (__PASS_AS_FLOAT): Use different definition for __SH4__ and 11197 __SH4_SINGLE__. 11198 (TARGET_SH4_P): Define. 11199 (va_arg): Use it. 11200 11201 * sh.md (movdf_k, movsf_i): Tweak the condition so that 11202 init_expr_once is satisfied about the existence of load / store insns. 11203 11204 * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie): 11205 Change m constraint in source operand to mr / mf. 11206 11207 * va-sh.h (__va_arg_sh1): Use __asm instead of asm. 11208 11209 * (__VA_REEF): Define. 11210 (__va_arg_sh1): Use it. 11211 11212 * va-sh.h (va_start, va_arg, va_copy): Add parentheses. 11213 11214Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com) 11215 11216 * i386/dgux.c (struct option): Add new "description field". 11217 * m88k/m88k.c (struct option): Likewise. 11218 11219Sun Nov 22 16:07:57 1998 Jeff Law (law@cygnus.com) 11220 11221 * version.c: Bump for snapshot. 11222 11223Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 11224 11225 * regmove.c (regmove_profitable_p): Use return value of find_matches 11226 properly. 11227 11228Sun Nov 22 02:47:37 1998 Jeff Law (law@cygnus.com) 11229 11230 * version.c: Bump for snapshot. 11231 11232Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com) 11233 11234 * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called 11235 without reload having been called earlier. 11236 11237 * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP 11238 addressing modes. 11239 (v850_reorg): Similarly. 11240 11241 * loop.c (check_dbra_loop): Avoid using gen_add2_insn. 11242 11243Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11244 11245 * loop.c (move_movables): Start of libcall might be new loop start. 11246 11247Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11248 11249 * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS(). 11250 11251Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 11252 11253 * function.c (nonlocal_goto_handler_slots): Renamed from 11254 nonlocal_goto_handler_slot; now an EXPR_LIST chain. 11255 (push_function_context_to): Adjust for this change. 11256 (pop_function_context_from): Likewise. 11257 (init_function_start): Likewise. 11258 (expand_function_end): Likewise. 11259 * function.h (struct function): Likewise. 11260 * calls.c (expand_call): Likewise. 11261 * explow.c (allocate_dynamic_stack_space): Likewise. 11262 * expr.h (nonlocal_goto_handler_slots): Rename its declaration. 11263 * stmt.c (declare_nonlocal_label): Make a new handler slot for each 11264 label. 11265 (expand_goto): When doing a nonlocal goto, find corresponding handler 11266 slot for it. Don't put the label address in the static chain register. 11267 (expand_end_bindings): Break out nonlocal goto handling code into 11268 three new functions. 11269 (expand_nl_handler_label, expand_nl_goto_receiver, 11270 expand_nl_goto_receivers): New static functions, broken out of 11271 expand_end_bindings and adapted to create one handler per nonlocal 11272 label. 11273 * function.c (delete_handlers): Delete insn if it references any of 11274 the nonlocal goto handler slots. 11275 * i960.md (nonlocal_goto): Comment out code that modifies 11276 static_chain_rtx. 11277 * sparc.md (nonlocal_goto): Likewise. 11278 (goto_handler_and_restore_v9): Comment out. 11279 (goto_handler_and_restore_v9_sp64): Comment out. 11280 11281Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 11282 11283 * expr.c (STACK_BYTES): Delete unused macro. 11284 * calls.c: Provide default for PREFERRED_STACK_BOUNDARY. 11285 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY. 11286 (expand_call): Likewise. 11287 (emit_library_call): Likewise. 11288 (emit_library_call_value): Likewise. 11289 * function.c: Provide default for PREFERRED_STACK_BOUNDARY. 11290 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY. 11291 * explow.c: Provide default for PREFERRED_STACK_BOUNDARY. 11292 (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY. 11293 (allocate_dynamic_stack_space): Likewise. 11294 * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro. 11295 (STACK_BOUNDARY): Update description to reflect the new situation. 11296 11297Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com) 11298 11299 * reorg.c (relax_delay_slots): When optimizing for code size, if a 11300 return with a filled delay slot is followed by a return with an 11301 unfilled delay slot, delete the first return and reemit the insn 11302 that was previously in its delay slot. 11303 11304 * i860.c (single_insn_src_p): Add missing parens. 11305 * ginclude/math-3300.h: Likewise. 11306 11307Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org) 11308 11309 * regclass.c (init_reg_sets_1): Add prototype. 11310 (init_reg_modes): Likewise. 11311 113121998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu> 11313 11314 * c-common.c: Change warning messages to say `comparison is 11315 always true' or `comparison is always false' instead of the 11316 confusing `is always 0', `is always 1'. 11317 11318Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com> 11319 11320 * print-tree.c (print_node): After printing BLOCK or BIND_EXPR, 11321 break instead of return (which loses closing '>'). 11322 11323Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com) 11324 11325 * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not 11326 standard 387 constants. 11327 11328 * i386.md (jump): Explicitly set "memory" attribute. 11329 (indirect_jump, prologue_set_stack_ptr): Likewise. 11330 (prologue_get_pc_and_set_got, pop): Likewise. 11331 (allocate_stack_worder, blockage, return_internal): Likewise. 11332 (return_pop_internal, nop): Likewise. 11333 (epilogue_set_stack_ptr, leave): Likewise. 11334 11335Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com> 11336 11337 * config/arm/coff.h: Set USER_LABEL_PREFIX to "_". 11338 11339Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11340 11341 * reload1.c (reload_reg_free_for_value_p): 11342 Early auto_inc reloads don't conflict with outputs. 11343 11344Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11345 11346 * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h). 11347 Instead call AC_HEADER_SYS_WAIT. 11348 11349 * collect2.c: Don't provide defaults for sys/wait.h macros. 11350 * gcc.c: Likewise. 11351 * protoize.c: Likewise. Also, don't include sys/wait.h. 11352 11353 * system.h: Include sys/wait.h and provide macro defaults. 11354 113551998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 11356 11357 * Makefile.in (mandir): Set to @mandir@. 11358 (man1dir): New variable to hold the former value of $(mandir). 11359 Replace all uses of $(mandir) by $(man1dir). 11360 11361Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com> 11362 11363 * reload.c (find_reloads_address_part): If have a CONST_INT, create 11364 a new one before passing it to force_const_mem. 11365 11366 * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in 11367 find_reloads_address call. 11368 11369Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11370 11371 * expr.c (store_expr): Don't generate load-store pair 11372 if TEMP is identical (according to ==) with TARGET. 11373 11374Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11375 11376 * reload1.c (reload_reg_free_for_value_p): When considered reload 11377 has an output, matching inputs are not sufficient to avoid conflict. 11378 11379Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com> 11380 11381 * hash.h (hash_table_key): New type. 11382 (hash_entry): Change `string' field to generic `key'. 11383 (hash_table): Add `comp' and `hash' functions. 11384 (hash_table_init): Take them as input. 11385 (hash_table_init_n): Likewise. 11386 (hash_lookup): Modify for generic keys. 11387 (hash_newfunc): Likewise. 11388 (hash_traverse): Likewise. 11389 (string_hash): New function. 11390 (string_compare): Likewise. 11391 (string_copy): Likewise. 11392 * hash.c (hash_table_init_n): Modify for generic keys. 11393 (hash_table_init): Likewise. 11394 (hash_lookup): Likewise. 11395 (hash_newfunc): Likewise. 11396 (hash_traverse): Likewise. 11397 (string_hash): Split out from hash_lookup. 11398 (string_compare): New function. 11399 (string_copy): Split out from hash_lookup. 11400 * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash 11401 tables. 11402 (symbol_hash_lookup): Likewise. 11403 (file_hash_newfunc): Likewise. 11404 (file_hash_lookup): Likewise. 11405 (demangled_hash_newfunc): Likewise. 11406 (demangled_hash_lookup): Likewise. 11407 (tlink_int): Likewise. 11408 (read_repo_file): Likewise. 11409 (recompile_files): Likewise. 11410 (demangle_new_symbols): Likewise. 11411 (scan_linker_output): Likewise. 11412 11413Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11414 11415 * flow.c (insn_dead_p): New argument NOTES. Changed all callers. 11416 11417Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@gnu.org> 11418 11419 * rs6000.c (output_mi_thunk): Improve test for local branch. 11420 11421Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 11422 11423 * rs6000.c (output_mi_thunk): Correct test for aggregate values. 11424 11425Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11426 11427 * reload1.c (reload_reg_free_before_p): Delete. 11428 Changed all callers to use reload_reg_free_for_value_p instead. 11429 (reload_reg_free_for_value_p): Handle more reload types. 11430 A RELOAD_FOR_INPUT doesn't conflict with its 11431 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS. 11432 Add special case for OUT == const0_rtx. 11433 Added ignore_address_reloads argument. Changed all callers. 11434 11435Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com> 11436 11437 * toplev.c (compile_file): Don't pedwarn about undefined static 11438 functions just because we passed -Wunused. 11439 11440Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11441 11442 * function.c (purge_addressof_1): Unshare rtl created by 11443 store_bit_field. 11444 11445Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11446 11447 * regmove.c (regmove_optimize): Don't do anything but 11448 optimize_reg_copy[123] when flag_regmove is not set. 11449 11450Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com> 11451 11452 * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode 11453 value in paradoxical SImode result, rather than truncating midpoint. 11454 11455Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com> 11456 11457 * alpha.c (reg_not_elim_operand): New. 11458 * alpha.h (PREDICATE_CODES): Add it. 11459 * alpha.md (s48addq, s48subq patterns): Use it as the predicate 11460 for the multiplicand. 11461 11462Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@gnu.org> 11463 11464 * rs6000.md (movsf): Remove explicit secondary-reload-like 11465 functionality. Only truncate SFmode store if in FPR. 11466 (movsf splitters): Combine const_double splitters. 11467 (movsf_hardfloat): Add GPR support. 11468 11469Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com> 11470 11471 * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to 11472 deprecate -mlive-g0 and -mbroken-saverestore. 11473 * t-splet (MULTILIB_OPTIONS): Likewise. 11474 11475 * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size 11476 in a leaf function. Clarify total_size/extra_size relationship. 11477 11478Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com> 11479 11480 * i386/cygwin32.asm: Delete. 11481 * i386/cygwin.asm: New file, renamed from cygwin32.asm. 11482 * i386/cygwin32.h: Delete. 11483 * i386/cygwin.h: New file, renamed from cygwin32.h. 11484 * i386/t-cygwin32: Delete. 11485 * i386/t-cygwin: New file, renamed from t-cygwin32. Include 11486 cygwin.asm instead of cygwin32.asm. Remove "32" from comment. 11487 * i386/x-cygwin32: Delete. 11488 * i386/x-cygwin: New file, renamed from x-cygwin32. 11489 * i386/xm-cygwin32: Delete. 11490 * i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly 11491 renamed cygwin_ funcs for path translations. 11492 * i386/win32.h: Define __CYGWIN__ when -mcygwin given. 11493 * i386/winnt.c: Remove "32" from comment about cygwin. 11494 * i386/mingw32.h: Fix references to cygwin32.h in light of above. 11495 * rs6000/cygwin32.h: Delete. 11496 * rs6000/cygwin.h: New file, renamed from cygwin32.h. Add 11497 -D__CYGWIN__ to CPP_PREDEFINES. 11498 * rs6000/x-cygwin32: Delete. 11499 * rs6000/x-cygwin: New file, renamed from x-cygwin32. 11500 * rs6000/xm-cygwin32: Delete. 11501 * rs6000/xm-cygwin: New file, renamed from xm-cygwin32. 11502 11503 * configure.in: Check for cygwin* instead of cygwin32. Account 11504 for the rename of cygwin-related config files to lose the "32"s. 11505 * configure: Regenerate. 11506 11507 * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c, 11508 toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__. 11509 11510Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com> 11511 11512 * Makefile.in (JAVAGC): New macro. 11513 * configure: Rebuilt. 11514 * configure.in: Recognize --enable-java-gc argument. Subst 11515 `JAVAGC' variable. 11516 11517Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11518 11519 Handle equivalences that have been obscured by gcse: 11520 11521 * reload1.c (reload): Handle equivalences set up in multiple places. 11522 * local-alloc.c (reg_equiv_init_insns): New variable. 11523 (no_equiv): New function. 11524 (update_equiv_regs): Handle equivalences set up in multiple places. 11525 Don't ignore an insn just because its destination is likely to be 11526 spilled. 11527 11528Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com> 11529 11530 * except.c (expand_eh_return): Readd force_operand call lost in 11531 Sept 15 change. 11532 11533Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@gnu.org> 11534 11535 * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case. 11536 115371998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 11538 11539 * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H. 11540 11541Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 11542 11543 * regmove.c (regmove_optimize): Fix error in last change. 11544 11545Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com> 11546 11547 * mips.c (function_prologue): When TARGET_MIPS16, adjust the register 11548 offset in the .mask pseudo to compensate for frame pointer adjustments. 11549 (mips16_fp_args, build_mips16_call_stub): For little endian, do not 11550 word swap arguments moved to/from FP registers. 11551 * mips16.S (DFREVCMP): Reverse arguments to OPCODE. 11552 11553Mon Nov 9 09:47:06 1998 Jeff Law (law@cygnus.com) 11554 11555 * version.c: Bump for snapshot. 11556 11557Mon Nov 9 02:14:14 1998 Jeff Law (law@cygnus.com) 11558 11559 * version.c: Bump for snapshot. 11560 11561Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com) 11562 11563 * reload1.c (delete_output_reload_insn): If a pseudo is set multiple 11564 times, then it can not be completely replaced. 11565 11566Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com> 11567 11568 * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length. 11569 11570Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11571 11572 * gansidecl.h: Prepend a "G" to the macro wrapping this file 11573 (to distinguish it from the macro wrapping ansidecl.h.) 11574 Include libiberty's ansidecl.h. Remove all redundant definitions. 11575 Define the PROTO() style macros in terms of the PARAMS() ones. 11576 11577 11578 * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not 11579 __STDC__, when deciding whether to use ANSI variable args. 11580 (emit_library_call_value): Likewise. 11581 11582 * cccp.c (error): Likewise. 11583 (warning): Likewise. 11584 (error_with_line): Likewise. 11585 (warning_with_line): Likewise. 11586 (pedwarn): Likewise. 11587 (pedwarn_with_line): Likewise. 11588 (pedwarn_with_file_and_line): Likewise. 11589 (fatal): Likewise. 11590 11591 * cexp.y (error): Likewise. 11592 (pedwarn): Likewise. 11593 (warning): Likewise. 11594 11595 * collect2.c (fatal_perror): Likewise. 11596 (fatal): Likewise. 11597 (error): Likewise. 11598 11599 * combine.c (gen_rtx_combine): Likewise. 11600 11601 * cpperror.c (cpp_message): Likewise. 11602 (cpp_fatal): Likewise. 11603 11604 * cpplib.c (cpp_error): Likewise. 11605 (cpp_warning): Likewise. 11606 (cpp_pedwarn): Likewise. 11607 (cpp_error_with_line): Likewise. 11608 (cpp_warning_with_line): Likewise. 11609 (cpp_pedwarn_with_line): Likewise. 11610 (cpp_pedwarn_with_file_and_line): Likewise. 11611 11612 * cpplib.h: Don't define PARAMS() macro. 11613 11614 * demangle.h: Likewise. 11615 11616 * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__, 11617 when deciding whether to use ANSI variable args. 11618 11619 * emit-rtl.c (gen_rtx): Likewise. 11620 (gen_rtvec): Likewise. 11621 11622 * final.c (asm_fprintf): Likewise. 11623 11624 * fix-header.c (cpp_message): Likewise. 11625 (fatal): Likewise. 11626 (cpp_fatal): Likewise. 11627 11628 * gcc.c (concat): Likewise. 11629 (fatal): Likewise. 11630 (error): Likewise. 11631 11632 * genattr.c (fatal): Likewise. 11633 11634 * genattrtab.c (attr_rtx): Likewise. 11635 (attr_printf): Likewise. 11636 (fatal): Likewise. 11637 11638 * gencodes.c (fatal): Likewise. 11639 11640 * genconfig.c (fatal): Likewise. 11641 11642 * genemit.c (fatal): Likewise. 11643 11644 * genextract.c (fatal): Likewise. 11645 11646 * genflags.c (fatal): Likewise. 11647 11648 * genopinit.c (fatal): Likewise. 11649 11650 * genoutput.c (fatal): Likewise. 11651 (error): Likewise. 11652 11653 * genpeep.c (fatal): Likewise. 11654 11655 * genrecog.c (fatal): Likewise. 11656 11657 * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when 11658 deciding whether to declare `tree_node' and `rtx_def'. 11659 11660 * hash.h: Don't define stuff we get from gansidecl.h. 11661 11662 * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS(). 11663 (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding 11664 whether to use ANSI variable args. 11665 (error): Likewise. 11666 11667 * prefix.c (concat): Likewise. 11668 11669 * scan.h: Likewise. 11670 11671 * system.h: Likewise. 11672 11673 * toplev.c (error_with_file_and_line): Likewise. 11674 (error_with_decl): Likewise. 11675 (error_for_asm): Likewise. 11676 (error): Likewise. 11677 (fatal): Likewise. 11678 (warning_with_file_and_line): Likewise. 11679 (warning_with_decl): Likewise. 11680 (warning_for_asm): Likewise. 11681 (warning): Likewise. 11682 (pedwarn): Likewise. 11683 (pedwarn_with_decl): Likewise. 11684 (pedwarn_with_file_and_line): Likewise. 11685 (sorry): Likewise. 11686 (really_sorry): Likewise. 11687 11688 * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding 11689 whether to declare `tree_node' and `rtx_def'. 11690 11691 * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when 11692 deciding whether to use ANSI variable args. 11693 (build_nt): Likewise. 11694 (build_parse_node): Likewise. 11695 11696Sun Nov 8 13:10:55 1998 Jeff Law (law@cygnus.com) 11697 11698 * version.c: Bump for snapshot. 11699 11700Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11701 11702 * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB. 11703 11704Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@gnu.org> 11705 11706 * collect2.c (main, case 'b'): Use else if. 11707 11708Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11709 11710 * configure.in (host_xm_file, build_xm_file, xm_file, tm_file): 11711 Arrange to include gansidecl.h in {ht}config.h & tm.h just 11712 before the config/ directory headers. 11713 (tm_file_list, host_xm_file_list, build_xm_file_list): Handle 11714 gansidecl.h in the list of dependencies. 11715 11716 * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h. 11717 (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib, 11718 mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o, 11719 gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o, 11720 dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o, 11721 cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o): 11722 Likewise. 11723 11724 * cccp.c: Don't include gansidecl.h. 11725 * cexp.y: Likewise. 11726 * collect2.c: Likewise. 11727 * config/c4x/c4x.c: Likewise. 11728 * config/v850/v850.h: Likewise. 11729 * cppalloc.c: Likewise. 11730 * cpperror.c: Likewise. 11731 * cppexp.c: Likewise. 11732 * cppfiles.c: Likewise. 11733 * cpphash.c: Likewise. 11734 * cpplib.c: Likewise. 11735 * cppmain.c: Likewise. 11736 * cppulp.c: Likewise. 11737 * demangle.h: Likewise. 11738 * doprint.c: Likewise. 11739 * dyn-string.c: Likewise. 11740 * eh-common.h: Likewise. 11741 * fix-header.c: Likewise. 11742 * frame.c: Likewise. 11743 * gcc.c: Likewise. 11744 * gcov.c: Likewise. 11745 * gen-protos.c: Likewise. 11746 * gencheck.c: Likewise. 11747 * halfpic.h: Likewise. 11748 * hash.c: Likewise. 11749 * machmode.h: Likewise. 11750 * mbchar.c: Likewise. 11751 * prefix.c: Likewise. 11752 * protoize.c: Likewise. 11753 * recog.h: Likewise. 11754 * rtl.h: Likewise. 11755 * scan-decls.c: Likewise. 11756 * tree.h: Likewise. 11757 * varray.h: Likewise. 11758 11759Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com> 11760 11761 * i386.md (call_value_pop): If we're not popping anything, 11762 defer to call_value. 11763 (call_pop): Likewise defer to call. 11764 11765Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com> 11766 11767 * function.c (purge_addressof): Clear purge_addressof_replacements 11768 only after processing the whole function. 11769 11770Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com) 11771 11772 * reload1.c (reload): If we can not perform a particular elimination 11773 when we thought we could earlier, then we must always iterate through 11774 the loop at least one more time. 11775 11776Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com> 11777 11778 * alpha.c (add_operand): Simplify the CONST_INT match. 11779 (sext_add_operand): Correct typo in comparison by using 11780 CONST_OK_FOR_LETTER_P. 11781 * alpha.md (s?addq): Use sext_add_operand to allow the negative 11782 constant alternatives to be generated. 11783 (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow 11784 small constants, since the hw instructions do. 11785 11786Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 11787 11788 * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a 11789 previous insn to store directly into our reload register, make sure 11790 that if the source of the previous insn is a reload register, its 11791 spill_reg_store and spill_reg_stored_to values are cleared. 11792 11793Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@gnu.org> 11794 11795 * rs6000.md (floatunssidf2_internal splitter): Use base register 11796 operand, not hard-coded SP. 11797 11798Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 11799 11800 * jump.c (calculate_can_reach_end): Fix thinko. 11801 11802Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com) 11803 11804 * reorg.c (fill_simple_delay_slots): Fix typo. 11805 11806 * romp.h (LEGITIMIZE_ADDRESS): Fix typo. 11807 11808Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz) 11809 11810 * i386.md (extendsidi2): Use # in the output template. 11811 (extendsidi splitters): New splitters. 11812 11813Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com> 11814 11815 * configure.in: Use unknown-elf.h as tm_file for arm-elf 11816 configurations. 11817 * configure: Regenerate. 11818 11819Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 11820 11821 * jump.c (init_label_info, delete_barrier_successors, 11822 mark_all_labels, delete_unreferenced_labels, 11823 delete_noop_moves, calculate_can_reach_end): New functions broken 11824 out of jump_optimize. 11825 (jump_optimize): Use them. 11826 11827Thu Nov 5 07:57:45 1998 Andrew MacLeod <amacleod@cygnus.com> 11828 11829 * except.c (expand_fixup_region_end): Make sure outer context labels 11830 are not issued in an inner context during cleanups. 11831 11832Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com> 11833 11834 * alpha.md (addsi3, subsi3): No new temporaries once cse is 11835 no longer expected. 11836 11837Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com> 11838 11839 * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as 11840 to expose this midpoint to CSE. 11841 11842Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 11843 11844 * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again. 11845 11846Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 11847 11848 * configure.in: Bring over gcc2 change of Nov 19 1997. 11849 11850Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk> 11851 11852 * toplev.c (output_lang_identify): Make definition dependent on 11853 ASM_IDENTIFY_LANGUAGE. 11854 11855 * print-rtl.c (spaces): Make static. 11856 11857Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se> 11858 11859 * extend.texi: Clarify proper uses for register clobbers in asms. 11860 11861Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 11862 11863 * recog.h (enum op_type): Define. 11864 (constrain_operands): Adjust prototype. 11865 (recog_op_type): Declare new variable. 11866 * recog.c (recog_op_type): New variable. 11867 (insn_invalid_p): Allow modifying an asm statement after reload. 11868 (extract_insn): Set up recog_op_type. 11869 (constrain_operands): Lose INSN_CODE_NUM arg. All callers changed. 11870 Don't compute operand types, use recog_op_type. 11871 Use the information computed by extract_insn instead of the previous 11872 method of finding it by insn code number. 11873 * caller-save.c (init_caller_save): Use extract_insn, not insn_extract. 11874 * reorg.c (fill_slots_from_thread): Likewise. 11875 * reload1.c (reload_as_needed): Likewise. 11876 (gen_reload): Likewise. 11877 (inc_for_reload): Likewise. 11878 (reload_cse_simplify_operands): Likewise. 11879 Use the information computed by extract_insn instead of the previous 11880 method of finding it by insn code number. 11881 * genattrtab.c (write_attr_case): Generate call to extract_insn, not 11882 insn_extract. 11883 * final.c (final_scan_insn): Use extract_insn, not insn_extract. 11884 (cleanup_operand_subregs): Use extract_insn, not insn_extract. 11885 Use the information computed by extract_insn instead of the previous 11886 method of finding it by insn code number. 11887 * regmove.c (find_matches): Likewise. Change meaning of the return 11888 value to be nonzero if the optimization can be performed, zero if 11889 not. All callers changed. 11890 Shorten some variable names to fix formatting problems. 11891 (regmove_optimize): Shorten some variable names to fix formatting 11892 problems. 11893 Use the information computed by extract_insn instead of the previous 11894 method of finding it by insn code number. 11895 * regclass.c (scan_one_insn): Likewise. 11896 (record_reg_classes): Don't compute operand types, use recog_op_type. 11897 * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use 11898 recog_constraints instead. 11899 11900Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com) 11901 11902 * rtl.h (flow2_completed): Declare. 11903 * flow.c (flow2_completed): Definition. 11904 * toplev.c (rest_of_compilation): Set and clear flow2_completed 11905 as necessary. 11906 11907Wed Nov 4 19:15:37 1998 Melissa O'Neill <oneill@cs.sfu.ca> 11908 11909 * Makefile.in (libcpp.a): Ranlib libcpp.a. 11910 11911 * cppulp.c (user_label_prefix): Initialize. 11912 11913Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com) 11914 11915 * flow.c (mark_regs_live_at_end): Mark the stack pointer as live 11916 at a RETURN if current_function_sp_is_unchanging is set. 11917 11918Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 11919 11920 * emit-rtl.c (try_split): Fixed error in Oct 10 patch. 11921 11922Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com> 11923 11924 * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL, 11925 TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New. 11926 (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options. 11927 (CPP_PREDEFINES): Don't define __CYGWIN32__ here. 11928 (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options. 11929 (CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition 11930 to __CYGWIN32__. 11931 (LIB_SPEC): Handle -mno-cygwin option. 11932 (LINK_SPEC): Handle -mdll. 11933 11934Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 11935 11936 * reload.c (find_reloads): Fix test for usage by other reload 11937 to handle secondary reloads properly. 11938 11939Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11940 11941 * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an 11942 intermediate structure which has exactly the members provided by 11943 ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the 11944 static intermediate structure. 11945 11946 (init_elim_table): Xmalloc() `reg_eliminate', and initialize it 11947 from the intermediate structure. Do the same analogous fix in 11948 the case where ELIMINABLE_REGS is not defined. 11949 11950Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com) 11951 11952 * pa.h (SELECT_SECTION): Fix thinko. 11953 11954Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com> 11955 11956 * dwarf2out.c (output_call_frame_info): Comments on last change. 11957 11958Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com) 11959 11960 * arm.c (add_constant): When taking the address of an item in the 11961 pool, get the mode of the item addressed. 11962 11963 * arm.c (final_prescan_insn case INSN): If an insn doesn't 11964 contain a SET or a PARALLEL, don't consider it for conditional 11965 execution. 11966 11967 Restore ABI compatibility for NetBSD. 11968 * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in 11969 arm.h. 11970 (RETURN_IN_MEMORY): Likewise. 11971 11972Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com> 11973 11974 * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations. 11975 (m32r_output_block_move): Rewrite bytes < 4 handling. 11976 11977Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 11978 11979 * configure.in: Call AC_FUNC_VFORK. 11980 11981 * collect2.c: Define VFORK_STRING as a printable string for 11982 error messages (either "vfork" or "fork".) If HAVE_VFORK_H is 11983 defined, include vfork.h. If VMS is defined, define vfork() 11984 appropriately. Remove vfork check on USG, we're using autoconf. 11985 (collect_execute): Pass VFORK_STRING to fatal_perror instead of 11986 checking locally what string to pass. 11987 (scan_prog_file): Likewise. 11988 (scan_libraries): Likewise. 11989 11990 * gcc.c: Remove vfork check on USG, we're using autoconf. 11991 Besides, no calls to vfork/fork occur in this file. 11992 11993 * protoize.c: Likewise. 11994 11995Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 11996 11997 * configure.in (DEFAULT_LINKER): Renamed from LD. 11998 (DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch. 11999 (gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS. 12000 * configure: Rebuilt. 12001 12002Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 12003 12004 * BUGS: Fix the regexp for `more' to find the appropriate node. 12005 Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch> 12006 12007 * BUGS: Added link to the WWW FAQ. 12008 12009Sun Nov 1 18:27:15 1998 Jeff Law (law@cygnus.com) 12010 12011 * version.c: Bump for snapshot. 12012 12013Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com) 12014 12015 * From Christian Gafton: 12016 * i386/linux.h (CPP_PREDEFINES): Add -D__i386__. 12017 * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__. 12018 * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__. 12019 12020Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com> 12021 12022 * c-common.c (c_get_alias_set): Allow all type-punning through 12023 unions. Don't get confused about the type of a bit-field, despite 12024 the antics of build_modify_expr. 12025 12026Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com> 12027 12028 * fixinc.sco: Parameterize #include_next values. 12029 * fixinc/fixinc.sco: Likewise. 12030 12031Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com) 12032 12033 * toplev.c (rest_of_compilation): No longer set reload_completed. 12034 * reload1.c (reload): Set it here. Perform instruction splitting 12035 after reload has completed if we will be running the scheduler 12036 again. 12037 12038Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com) 12039 12040 * jump.c (jump_optimize): Initialize mappings from INSN_UID to 12041 EH region if exceptions are enabled and we're performing cross 12042 jump optimizations. 12043 (find_cross_jump): Exit loop if the insns are in different EH regions. 12044 12045Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com> 12046 12047 * dwarf2out.c (output_call_frame_info): Use 12048 ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c. 12049 12050Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12051 12052 Reinstall Apr 24th fix, lost during May 6th gcc2 merge: 12053 * c-common.c (check_format_info): Don't check for the 'x' 12054 format character twice, instead check for 'x' and 'X' 12055 12056Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com) 12057 12058 * configure.in (assembler features): Also make gas is configured if 12059 we find it in the source tree. 12060 12061Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com> 12062 12063 * i386.c (i386_comp_type_attributes): Compare whether the 12064 attributes are defined, not their tree nodes. 12065 12066Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 12067 12068 * configure.in (gxx_include_dir): Bitten by autoconf quoting 12069 characters. :-( 12070 * configure: Rebuilt. 12071 12072Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 12073 12074 * configure.in: Ignore non-absolute value in $AS. 12075 12076Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de> 12077 12078 * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko. 12079 12080Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net> 12081 12082 * configure.in (msdosdjgpp): Set exeext and target_alias. 12083 12084Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12085 12086 * flow.c (XNMALLOC): New macro. 12087 (flow_int_list_blocks, basic_block_succ, basic_block_pred): New 12088 static variables. 12089 (add_edge, add_edge_to_label): New static functions. 12090 (free_bb_memory): New function. 12091 (flow_delete_insn): Delete function. 12092 (basic_block_drops_in): Delete variable. 12093 (find_basic_blocks): Allocate and initialize basic_block_head, 12094 basic_block_succ. Don't allocate basic_block_drops_in. 12095 Call free_bb_memory at the beginning. 12096 (find_basic_blocks_1): Don't do multiple passes. 12097 Delete code to compute basic_block_drops_in. 12098 After calling make_edges, mark blocks reached by current block live. 12099 Update test for unreachable live blocks. 12100 (mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers 12101 changed. 12102 Simplify to call add_edge_to_label when a LABEL_REF is found. 12103 (make_edges): Simplify to call add_edge_to_label instead of 12104 mark_label_ref most of the time. 12105 Compute here whether control drops into the next block. 12106 (delete_unreachable_blocks): Return void. All callers changed. 12107 Delete unreachable blocks in reverse order. 12108 After deleting all unreachable blocks, renumber the remaining ones 12109 and update n_basic_blocks. 12110 (delete_block): Speed up deletion a bit. 12111 Don't set basic_block_drops_in for deleted blocks. 12112 (free_basic_block_vars): Don't free basic_block_drops_in. 12113 (life_analysis_1): Update to use new edge representation. 12114 (dump_flow_info): Delete code to print basic block info; call 12115 dump_bb_data instead. 12116 (compute_preds_succs): Delete code to recompute basic_block_drops_in 12117 and uid_block_number. 12118 Simply copy the previously computed cfg. 12119 (dump_bb_data): New arg LIVE_INFO. All callers changed. 12120 Print register lifetime information if LIVE_INFO is nonzero. 12121 * basic-block.h (dump_bb_data): Adjust prototype. 12122 * gcse.c (gcse_main): Update call to dump_bb_data. 12123 * rtl.h (free_bb_memory): Declare. 12124 * toplev.c (rest_of_compilation): Call free_bb_memory. 12125 12126 * reload1.c (struct elim_table): Delete MAX_OFFSET member. 12127 (update_eliminable_offsets): Don't compute it. 12128 (set_initial_elim_offsets): Don't initialize it. 12129 Break out some code into set_initial_label_offsets so the rest of 12130 this function can be called from reload_as_needed. 12131 Assume that INITIAL_FRAME_POINTER_OFFSET is defined when 12132 ELIMINABLE_REGS isn't. 12133 (set_initial_label_offsets): New function, broken out of 12134 set_initial_elim_offsets. 12135 (set_offsets_for_label): New function, broken out of set_label_offsets 12136 and reload_as_needed. 12137 (reload): Call the two new functions. 12138 (reload_as_needed): Call set_initial_elim_offsets instead of 12139 duplicating the code. Likewise for set_offsets_for_label. 12140 12141 * reload1.c (choose_reload_regs): Fix typo in Oct 17 change. 12142 (emit_reload_insns): Ensure that when we set reg_reloaded_valid for 12143 any hard reg, reg_reloaded_dead contains valid data. 12144 12145Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de> 12146 12147 * i386.c (i386_comp_type_attributes): Return nonzero for mismatched 12148 "stdcall" and "cdecl" attributes. 12149 12150Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com> 12151 12152 * sched.c (update_flow_info): Add code to ! found_orig_dest case to 12153 handle deleted no-op moves of hard registers. 12154 * haifa-sched.c (update_flow_info): Likewise. 12155 12156Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com) 12157 12158 * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end 12159 of the sequences to reload the HILO register which do not actually 12160 reference HILO. 12161 12162Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com> 12163 12164 * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field. 12165 12166Thu Oct 29 14:10:22 1998 Andrew MacLeod <amacleod@cygnus.com> 12167 12168 * except.c (emit_eh_context): Make the EH context register stay alive 12169 at -O0 so stupid.c doesn't get confused. 12170 121711998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 12172 12173 * emit-rtl.c (try_split): Do not try to split a BARRIER. 12174 12175Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz> 12176 Jeffrey A Law (law@cygnus.com) 12177 12178 * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM. 12179 (zero_extendsidi2): Use # in output template and handle completely by 12180 splits. 12181 (zero_extend splitters): New define_splits. 12182 (ashiftrt_32): New pattern. 12183 12184Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com> 12185 12186 * tree.c (append_random_chars): New fn. 12187 (get_file_function_name_long): Use it. 12188 12189Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com> 12190 12191 * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last. 12192 (LIBCPP_OBJS): New. Add cppulp.o. 12193 (cppmain, fix-header): Depend on and use libcpp.a. 12194 * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead 12195 of the individual object files. 12196 * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@, 12197 last. 12198 12199 * cccp.c (user_label_prefix): New. 12200 (main): Set it off -f*leading-underscore. 12201 (special_symbol): Use it. 12202 * cpplib.c (special_symbol): Likewise. 12203 (cpp_handle_option): Handle -f*leading-underscore. 12204 * cppulp.c: New file. 12205 12206 * output.h (user_label_prefix): Declare it. 12207 * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix. 12208 * toplev.c (f_options, main): Handle -f*leading-underscore. 12209 12210 * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of 12211 referencing USER_LABEL_PREFIX directly. 12212 * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise. 12213 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise. 12214 * final.c (asm_fprintf): Use user_label_prefix instead. 12215 * arm/thumb.c (thumb_print_operand): Likewise. 12216 12217 * gcc.c (default_compilers): Pass -f*leading-underscore on to 12218 cpp wherever appropriate. 12219 12220Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com> 12221 12222 * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer- 12223 specific compiler switches. 12224 12225Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com) 12226 12227 * Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead 12228 of rtl.h. 12229 12230Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12231 12232 * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate 12233 structure which has exactly the members provided by EXTRA_SPECS. 12234 Xmalloc() the real `extra_specs', and initialize it from this 12235 intermediate structure. 12236 12237 * alpha.h (EXTRA_SPECS): Revert change for missing initializers. 12238 12239 * mips.h (EXTRA_SPECS): Likewise. 12240 12241 * sparc.h (EXTRA_SPECS): Likewise. 12242 12243Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 12244 12245 * function.c (purge_addressof_1): Instead of aborting when a 12246 bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not 12247 work just put the ADDRESSOF on stack. Otherwise remember all such 12248 successful replacements, so that exactly the same replacements 12249 can be made on the REG_NOTEs. Remove the special case for CALL 12250 insns again. 12251 (purge_addressof_replacements): New variable. 12252 (purge_addressof): Clear it at end. 12253 122541998-10-28 Zack Weinberg <zack@rabi.phys.columbia.edu> 12255 12256 * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB. 12257 (lang_init): Call check_newline always. 12258 * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling 12259 cpp_start_read, set yy_cur and yy_lim to read from 12260 parse_in.token_buffer, so that we'll see the first #line 12261 directive. 12262 * cpplib.c (cpp_start_read): finclude the main input file 12263 before processing -include/-imacros. Process -imacros and 12264 -include separately, and handle -include by stacking a 12265 buffer for the file in question as if it'd been #included. 12266 * toplev.c (documented_lang_options): Recognize -H when 12267 USE_CPPLIB is on. 12268 122691998-10-28 Zack Weinberg <zack@rabi.phys.columbia.edu> 12270 12271 * cpplib.c: Merge do_once into do_pragma. Break file handling 12272 code out of do_include. 12273 Move append_include_chain, deps_output, 12274 file_cleanup, redundant_include_p, import_hash, 12275 lookup_import, add_import, read_filename_string, read_name_map, 12276 open_include_file, finclude, safe_read to cppfiles.c. 12277 Move prototypes for deps_output, append_include_chain, 12278 finclude to cpplib.h. Move definition of struct 12279 file_name_list there also. 12280 12281 * cppfiles.c: New file. Contains all the above functions 12282 broken out of cpplib.c; also hack_vms_include_specification 12283 from cccp.c and find_include_file, a new function broken out of 12284 do_include. 12285 12286 * Makefile.in (cppmain): Depend on cppfiles.o. 12287 (fix-header): Likewise. 12288 (cppfiles.o): New target. 12289 * configure.in (--enable-c-cpplib): Add cppfiles.o to 12290 extra_c_objs. Add ../cppfiles.o to extra_cxx_objs. 12291 12292Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com> 12293 12294 * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort 12295 if pending_types is non-zero. 12296 (dwarfout_finish): Verify pending_types is zero before finishing. 12297 12298Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com> 12299 12300 * expr.c (convert_move): Use shifts to perform the move if a 12301 suitable extend pattern cannot be found. Code written by 12302 Richard Henderson <rth@cygnus.com>. 12303 12304Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12305 12306 * regclass.c (renumber, regno_allocated): New static variables, moved 12307 out of allocate_reg_info. 12308 (allocate_reg_info): Move these two variables outside the function. 12309 Move code to free memory into new function free_reg_info. 12310 (free_reg_info): New function, broken out of allocate_reg_info. 12311 * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info. 12312 * rtl.h (allocate_reg_info): Don't declare. 12313 (free_reg_info): Declare. 12314 12315 * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment. 12316 12317Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com> 12318 12319 * toplev.c (compile_file): Temporarily revert last change. 12320 12321Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com> 12322 12323 * c-typeck.c (convert_for_assignment): Parenthesize. 12324 123251998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 12326 12327 * reload1.c (delete_output_reload): Avoid ambigous else. 12328 12329Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com) 12330 12331 * toplev.c (compile_file): Call allocate_reg_info to free register 12332 table memory. 12333 * rtl.h (allocate_reg_info): Declare. 12334 12335 * PROJECTS: Remove entry for local spilling. 12336 12337 * final.c (cleanup_subreg_operands): New function. 12338 (final_scan_insn): Use it. 12339 (alter_subreg): Clear the "used" field when we turn a SUBREG into 12340 a REG. 12341 * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG 12342 operands when reload has finished. 12343 * reload.h (cleanup_subreg_operands): Declare.. 12344 * flow.c (life_analysis_1): No longer delete CLOBBER insns after 12345 reload. Handled in reload itself. 12346 12347Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12348 12349 * reload1.c (verify_initial_offsets): New function. 12350 (reload): Call it after reload_as_needed. Also verify that the frame 12351 size stays constant during reload_as_needed. 12352 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change. 12353 12354 * reload.h (struct insn_chain): Add need_operand_change element. 12355 * reload1.c (new_insn_chain): Clear it. 12356 (calculate_needs_all_insns): Set it; don't overload need_reload. 12357 (reload_as_needed): Use it. 12358 12359 * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of 12360 reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS 12361 and reload_address_index_reg_class. 12362 (find_reloads_address_1): Likewise. 12363 * reload.h (reload_address_base_reg_class, 12364 reload_address_index_reg_class): Don't declare. 12365 * reload1.c (reg_old_renumber, pseudo_previous_regs, 12366 pseudo_forbidden_regs, bad_spill_regs_global): New static variables. 12367 (used_spill_regs): Now static. 12368 (reload_address_base_reg_class, reload_address_index_reg_class, 12369 regs_explicitly_used, counted_for_groups, counted_for_nongroups, 12370 basic_block_needs, max_needs, group_size, group_mode, max_groups, 12371 max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn, 12372 forbidden_regs): 12373 Deleted variables. 12374 (init_reload): Delete code to compute base/index reg classes. 12375 (reload): Delete variable J. 12376 Delete code to manage basic_block_needs. 12377 Don't compute regs_explicitly_used. 12378 Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs, 12379 pseudo_previous_regs. 12380 Initialize bad_spill_regs_global. 12381 Don't call order_regs_for_reload here. 12382 Don't initialize spill_reg_order and n_spills. 12383 Don't forbid explicitly used regs to be used for spill regs. 12384 Change main loop to infinite loop, with explicit break statements. 12385 Make SOMETHING_CHANGED variable local to that loop. 12386 Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn, 12387 max_groups_insn, max_nongroups_insn, group_size, group_mode. 12388 Make sure spilled_pseudos is cleared before calling spill_hard_reg or 12389 new_spill_reg. 12390 Don't call dump_needs. 12391 Delete code to reset potential_reload_regs. 12392 Delete code to terminate loop conditional on the global needs variables 12393 showing no further needs. 12394 (calculate_needs_all_insns): Return void. All callers changed. 12395 Initialize something_needs_elimination here, not in reload. 12396 Delete avoid_return_reg kludge. 12397 (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void. 12398 All callers changed. 12399 Initialize the group_mode and group_size elements of the arg CHAIN. 12400 Delete code to manage basic_block_needs. 12401 Operate on elements of CHAIN instead of global variables. 12402 Delete avoid_return_reg kludge. 12403 (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void. 12404 All callers changed. 12405 Operate on elements of CHAIN instead of global variables. 12406 Delete special SMALL_REGISTER_CLASSES code. 12407 Delete spill_failure code; now in new_spill_reg. 12408 (find_group): Lose GLOBAL arg, take CHAIN arg, return void. 12409 All callers changed. 12410 Operate on elements of CHAIN instead of global variables. 12411 (maybe_mark_pseudo_spilled): New static function. 12412 (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void. 12413 All callers changed. 12414 Operate on elements of CHAIN instead of global variables. 12415 Call order_regs_for_reload here, not in reload. 12416 Initialize spill_reg_order and n_spills. 12417 Simplify test whether an asm insn is involved. 12418 Delete spill_failure code; now in new_spill_reg. 12419 Call maybe_mark_pseudo_spilled for everything marked as live in 12420 CHAIN. Merge CHAIN's used_spill_regs into the global variable 12421 used_spill_regs. 12422 (dump_needs): Take CHAIN arg. No longer static, to prevent the 12423 compiler from optimizing this function (now unused) away. 12424 Operate on elements of CHAIN instead of global variables. 12425 (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers 12426 changed. 12427 Operate on elements of CHAIN instead of global variables. 12428 (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args, 12429 take CHAIN arg. All callers changed. 12430 Operate on elements of CHAIN instead of global variables. 12431 (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take 12432 CHAIN, NONGROUP args. Return void. All callers changed. 12433 Verify caller isn't trying to spill a pseudo. 12434 Simplify test for illegal reg, just use bad_spill_regs. 12435 Generate better error messages. 12436 Operate on elements of CHAIN instead of global variables. 12437 Mark spilled register in CHAIN's used_spill_regs element. 12438 Don't call spill_hard_reg. 12439 (spill_hard_reg): Lose GLOBAL arg, return void. All callers changed. 12440 Mark spilled hard regs in bad_spill_regs_global. 12441 Mark affected pseudos in spilled_pseudos, but don't spill them. 12442 (ior_hard_reg_set): New static function. 12443 (finish_spills): Return int. All callers changed. 12444 Compute spill_reg_order, n_spills and spill_regs here. Also update 12445 regs_ever_live for regs used as spills. 12446 For every pseudo in spilled_pseudos, spill it and mark the previous 12447 hard reg it had in pseudo_previous_regs. Compute which hard regs 12448 are used as spills in insns during which it is live, and retry global 12449 register allocation. Update all life information in the 12450 reload_insn_chain not to include pseudos without hard regs. 12451 Call alter_reg for all affected speudos. 12452 12453 (scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special 12454 case, it's not clear what it's supposed to do. 12455 12456 (hard_reg_use_compare): Take bad_spill_regs into account. 12457 (pseudos_counted): New static variable. 12458 (count_pseudo): New static function. 12459 (order_regs_for_reload): Take CHAIN arg. All callers changed. 12460 Initialize bad_spill_regs from bad_spill_regs_global, then merge any 12461 hard registers explicitly used across the current insn into the set. 12462 Compute hard_reg_n_uses taking only pseudos live across this insn 12463 into account. 12464 Tweak sorting of potential_reload_regs. 12465 (compare_spill_regs): Delete function. 12466 (reload_as_needed): Don't sort the spill_regs array, it's computed 12467 in proper order in finish_spills. 12468 Delete avoid_return_reg kludge. 12469 Delete code to manage basic_block_needs. 12470 (allocate_reload_reg): Minor speed/readability tweaks. 12471 Operate on elements of CHAIN instead of global variables. 12472 (choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed. 12473 Delete avoid_return_reg kludge. 12474 Initialize reload_reg_used from CHAIN's used_spill_regs element. 12475 Delete unused label FAIL. 12476 (reload_combine): Replace reload_address_index_reg_class with 12477 INDEX_REGS. 12478 Don't use used_spill_regs to determine information about lifetime of 12479 hard regs. 12480 12481Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com> 12482 12483 * toplev.c (display_help): Ignore empty target specific 12484 options, and if -W is also specified on the command line then 12485 display undocumented options. 12486 12487 * config/arm/arm.c: Updated with changes in devo sources. 12488 * config/arm/arm.h: Updated with changes in devo sources. 12489 * config/arm/lib1funcs.asm: Updated with changes in devo sources. 12490 * config/arm/lib1thumb.asm: Add ELF support. 12491 12492Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@gnu.org> 12493 12494 * collect2.c (aix64_flag): New variable. 12495 (main, case 'b'): Parse it. 12496 (GCC_CHECK_HDR): Object magic number must match mode. 12497 (scan_prog_file): Only check for shared object if valid header. 12498 Print debugging if header/mode mismatch. 12499 12500Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com> 12501 12502 Added support for arm-elf-linux configuration, submitted by Philip 12503 Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf 12504 code developed by Catherine Moore <clm@cygnus.com>. The following 12505 files are affected: 12506 12507 * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf 12508 targets. 12509 12510 * configure: Regenerated. 12511 12512 * config/arm/aout.h: Add default definitions of REGISTER_PREFIX, 12513 USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro 12514 definitions conditional on their not having been already defined. 12515 12516 * config/arm/lin1funcs.asm: Add ELF only macros to generate .size 12517 and .type directives, and add "(PLT)" qualification to function 12518 calls. 12519 12520 * config/arm/linux.h: Deleted. This file is now superseded by 12521 either linux-elf.h or linux-aout.h. 12522 12523 * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling. 12524 (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel 12525 support). 12526 Move definitions from old linux.h file here. 12527 12528 * config/arm/elf.h: New file. Generic ARM/ELF support. 12529 12530 * config/arm/linux-aout.h: New file. Support for Linux with a.out. 12531 12532 * config/arm/linux-elf.h: New file. Support for Linux with ELF. 12533 12534 * config/arm/linux-elf26.h: New file. Support for Linux with ELF 12535 using the 26bit APCS. 12536 12537 * config/arm/unknown-elf.h: New file. Support for OS'es other 12538 than Linux with ELF. 12539 12540 * config/arm/t-arm-elf: New file. makefile fragment for arm-elf 12541 builds. 12542 12543 * config/arm/coff.h: Include aout.h for basic assembler macros. 12544 Add support for -mstructure_size_boundary=<n> command line option. 12545 12546 * config/arm/arm.h: Add support for -mstructure_size_boundary=<n> 12547 command line option. Make macro definitions conditional on their 12548 not having been already defined. 12549 12550 * config/arm/arm.c: Add support for -mstructure_size_boundary=<n> 12551 command line option. 12552 12553 12554Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com> 12555 12556 * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING 12557 has been changed to not include a newline. Use this macro instead. 12558 (output_enumeral_list, const_value_attribute, name_attribute, 12559 comp_dir_attribute, prototyped_attribute, producer_attribute, 12560 inline_attribute, pure_or_virtual_attribute, output_inheritance_die, 12561 dwarfout_file_scope_decl, generate_new_sfname_entry, 12562 generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use 12563 ASM_OUTPUT_DWARF_STRING_NEWLINE macro. 12564 12565Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com> 12566 12567 * combine.c (subst): Process the inputs to a parallel asm_operands 12568 only once. 12569 12570Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com> 12571 12572 * stmt.c (expand_asm_operands): Accept `=' or `+' at any position. 12573 12574Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com) 12575 12576 * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document. 12577 12578Mon Oct 26 00:36:58 1998 Jeff Law (law@cygnus.com) 12579 12580 * version.c: Bump for snapshot. 12581 12582Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com> 12583 12584 * stmt.c (expand_fixup): Set fixup->before_jump to a 12585 NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG. 12586 12587Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12588 12589 * Makefile.in (recog.o): Depend on toplev.h. 12590 (insn-emit.o): Depend on recog.h. 12591 (insn-peep.o): Depend on recog.h and insn-config.h. 12592 12593 * combine.c (simplify_set): Remove unused variable `scratches'. 12594 12595 * final.c (final_scan_insn): Wrap declaration of variables `vlen' 12596 and `idx' in macro conditional controlling their use. 12597 12598 * genemit.c (main): Make the generated output file include 12599 recog.h. Don't have it declare `insn_operand_constraint', since 12600 we get it from recog.h. 12601 12602 * genpeep.c (main): Make the generated output file include 12603 insn-config.h and recog.h. 12604 12605 * recog.c: Include toplev.h. 12606 (extract_insn): Remove unused variable `p'. 12607 12608 * regclass.c (fix_register): Add missing braces around initializer 12609 for `what_option'. 12610 (allocate_reg_info): Move variable `i' into the scope where it is 12611 used. Change its type to `size_t'. 12612 12613Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12614 12615 * reload.c (push_reload): When merging reloads, make sure 12616 that reload_in_reg and reload_in are from the same reload in 12617 all cases. 12618 12619Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu> 12620 12621 * i386/crtdll.h (CPP_PREDEFINES): Fix typo. 12622 * i386/mingw32.h (CPP_PREDEFINES): Likewise. 12623 12624Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@gnu.org> 12625 12626 * loop.c (loop_has_tablejump): New variable. 12627 (prescan_loop): Scan for it. 12628 (insert_bct): Replace explicit scan with use of it. 12629 * regclass.c (regclass): Restore loop variable j. 12630 (record_reg_classes): Deterine op_types modifiers and initialize 12631 classes[i] before matching constraints. Handle matching 12632 constraints 5-9. 12633 12634Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com> 12635 12636 * m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete 12637 subreg support. 12638 12639Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12640 12641 * mips.h (EXTRA_SPECS): Add missing initializers. 12642 12643Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12644 12645 * sparc.h (EXTRA_SPECS): Add missing initializers. 12646 (sparc_defer_case_vector): Provide a prototype. 12647 12648 * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when 12649 comparing it to the result of a pointer subtraction. 12650 12651Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12652 12653 * alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast 12654 the argument to (unsigned char). 12655 12656 * alpha.h (EXTRA_SPECS): Add missing initializers. 12657 (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the 12658 format specifier. 12659 12660Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com) 12661 12662 * flow.c (life_analysis_1): Enable "rescan" code after reload. 12663 (propagate_block): Delete dead code after reload. 12664 12665 * sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings 12666 back Oct 15, 1998 change. 12667 * haifa-sched.c (update_flow_info): Likewise. 12668 * flow.c (life_analysis_1): Delete CLOBBER insns after reload. 12669 12670 * mn10200.md (truncated shift): Accept constant inputs too. 12671 12672Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com) 12673 12674 * machmode.h (mode_mask_array): No longer const. 12675 * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined. 12676 12677Fri Oct 23 11:19:06 1998 Martin v. L�wis <loewis@informatik.hu-berlin.de> 12678 12679 * frame.c: Somewhat explain `FDE'. 12680 Suggested by Brendan Kehoe 12681 12682Fri Oct 23 00:56:11 1998 Jason Merrill <jason@yorick.cygnus.com> 12683 12684 * expr.c (pending_chain): Move up. 12685 (save_expr_status): Do save pending_chain. 12686 (restore_expr_status): And restore it. 12687 * function.h (struct function): Add pending_chain. 12688 126891998-10-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 12690 12691 * reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The 12692 did not match the code. 12693 12694Fri Oct 23 00:07:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12695 12696 * regclass.c (regclass): Break out some code into new function 12697 scan_one_insn, and into regclass_init. 12698 (init_cost): New static variable, moved out of regclass. 12699 (regclass_init): Initialize it here, not in . 12700 (scan_one_insn): New static function, broken out of regclass. 12701 * recog.c (apply_change_group): Break out some code into new 12702 function insn_invalid_p. 12703 (insn_invalid_p): New static fn, broken out of apply_change_group. 12704 12705Thu Oct 22 22:34:42 1998 Jim Wilson <wilson@cygnus.com> 12706 12707 * reload1.c (reload_as_needed): When rewrite POST_INC, verify 12708 reg_reloaded_contents matches incremented pseudo. 12709 12710 * v850/v850.c (v850_reorg): Call alter_subreg. Delete subreg support. 12711 12712Fri Oct 23 11:11:56 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 12713 12714 * rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for 12715 addressing modes with side effects. These are currently 12716 placeholders for the C4x target. 12717 12718Thu Oct 22 16:46:35 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12719 12720 * loop.c (express_from): Make sure that when generating a PLUS of 12721 a PLUS, any constant expression appears on the outermost PLUS. 12722 12723Thu Oct 22 15:46:23 1998 Per Bothner (bothner@cygnus.com) 12724 12725 * Makefile.in (distdir-cvs, distdir-start): Clean up so it 12726 works if "$(srcdir)" != ".". 12727 12728Wed Oct 21 19:23:59 1998 Jim Wilson <wilson@cygnus.com> 12729 12730 * expmed.c (store_bit_field): If need to add a SUBREG, then remove 12731 existing SUBREG if we can, otherwise abort. 12732 12733Wed Oct 21 09:58:51 1998 Mark Mitchell <mark@markmitchell.com> 12734 12735 * c-common.c (c_apply_type_quals_to_decl): Don't crash when 12736 `restrict' is applied to a non-pointer variable. 12737 12738Wed Oct 21 09:18:58 1998 Mark Mitchell <mark@markmitchell.com> 12739 12740 * invoke.texi: Document -flang-isoc9x. 12741 12742 * Makefile.in (OBJS): Add splay-tree.o. 12743 (c-common.o): Depend on rtl.h. 12744 (splay-tree.o): List dependencies and provide build rule. 12745 12746 * rtl.h (record_alias_subset): New function. 12747 * alias.c: Include splay-tree.h. 12748 (alias_set_entry): New type. 12749 (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove. 12750 (DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p. 12751 (mems_in_disjoin_alias_sets_p): New function. 12752 (alias_set_compare): Likewise. 12753 (insert_subset_children): Likewise. 12754 (get_alias_set_entry): Likewise. 12755 12756 * tree.h (TYPE_RESTRICT): New macro. 12757 (TYPE_UNQUALIFIED): New manifest constant. 12758 (TYPE_QUAL_CONST): Likewise. 12759 (TYPE_QUAL_VOLATILE): Likewise. 12760 (TYPE_QUAL_RESTRICT): Likewise. 12761 (tree_type): Add restrict_flag. Reduce count of free bits. 12762 (DECL_POINTER_ALIAS_SET): New macro. 12763 (DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise. 12764 (tree_decl): Add pointer_alias_set. 12765 (build_qualified_type): New function. 12766 (build_type_variant): Define in terms of build_qualified_type. 12767 * tree.c (set_type_quals): New function. 12768 (make_node): Initialize DECL_POINTER_ALIAS_SET. 12769 (build_type_attribute_variant): Use build_qualified_type and 12770 set_type_quals. 12771 (build_type_variant): Rename, and modify, to become... 12772 (build_qualified_type): New function. 12773 (build_complex_type): Use set_type_quals. 12774 12775 * c-tree.h (C_TYPE_OBJECT_P): New macro. 12776 (C_TYPE_FUNCTION_P): Likewise. 12777 (C_TYPE_INCOMPLETE_P): Likewise. 12778 (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. 12779 (c_apply_type_quals_to_decl): New function. 12780 (c_build_qualified_type): New function. 12781 (c_build_type_variant): Define in terms of c_build_qualified_type. 12782 (flag_isoc9x): Declare. 12783 * c-typeck.c (qualify_type): Use c_build_qualified_type. 12784 (common_type): Change to use TYPE_QUALS. 12785 (comptypes): Likewise. 12786 (convert_for_assignment): Likewise. 12787 * c-aux-info.c (gen_type): Likewise. Deal with `restrict'. 12788 * c-decl.c (flag_isoc9x): Define. 12789 (c_decode_option): Handle -flang-isoc9x. 12790 (grokdeclarator): Update to handle restrict. Use TYPE_QUALS, 12791 c_build_qualified_type, etc. Use c_apply_type_quals_to_decl. 12792 * c-lex.c (init_lex): Deal with restrict. 12793 (init_lex): Don't treat restrict as a reserved word in 12794 -traditional mode, or without -flang-isoc9x. 12795 * c-lex.h (rid): Add RID_RESTRICT. 12796 * c-parse.gperf (restrict, __restrict, __restrict__): Make 12797 equivalent to RID_RESTRICT. 12798 * c-parse.in (TYPE_QUAL): Update comment. 12799 * c-common.c: Include rtl.h. 12800 (c_find_base_decl): New function. 12801 (c_build_type_variant): Rename, and modify, to become ... 12802 (c_build_qualified_type): New function. 12803 (c_apply_type_quals_to_decl): Likewise. 12804 (c_get_alias_set): For INDIRECT_REFs, check to see if we can find 12805 a particular alias set for the reference. 12806 * toplev.c (documented_lang_options): Add -flang-isoc9x. 12807 12808Wed Oct 21 09:15:06 1998 Nick Clifton <nickc@cygnus.com> 12809 12810 * config/arm/arm.h (TARGET_SWITCHES): Document arm specific 12811 command line switches. 12812 12813Tue Oct 20 10:04:51 1998 Graham <grahams@rcp.co.uk> 12814 12815 * reload.c (loc_mentioned_in_p): Add missing braces to bind 12816 else to correct if. 12817 12818Mon Oct 19 16:34:05 1998 Tom Tromey <tromey@cygnus.com> 12819 12820 * gcc.c (option_map): Added --classpath and --CLASSPATH. 12821 12822Tue Oct 20 10:59:02 1998 Gavin Romig-Koch <gavin@cygnus.com> 12823 12824 * regclass.c (fix_register): Add error message. 12825 * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the 12826 new error message. 12827 12828Tue Oct 20 10:12:17 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12829 12830 * c-decl.c (warn_missing_noreturn): New global variable. 12831 (c_decode_option): Check for new flags -W{no-}missing-noreturn. 12832 (finish_function): Implement missing noreturn warning. 12833 12834 * c-tree.h (warn_missing_noreturn): Declare extern. 12835 12836 * invoke.texi: Document new flags. 12837 12838 * toplev.c (documented_lang_options): Add description. 12839 12840Tue Oct 20 22:16:11 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 12841 12842 * config/c4x/c4x.c (c4x_parallel_process): Disable until BCT 12843 loop optimization stable for the C4x. 12844 (c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop, 12845 c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get, 12846 c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT 12847 loop optimization). 12848 (c4x_address_conflict): Be more paranoid when packing a volatile 12849 memref in a parallel load/store. 12850 12851Tue Oct 20 21:56:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 12852 12853 * config/c4x/c4x.md (repeat_block_top, repeat_block_end, 12854 repeat_block_filler): Deleted. 12855 (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber): 12856 Condition code not set if destination register from 'c' class. 12857 (*subbqi3_carry_clobber): Fix typo. 12858 128591998-10-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 12860 12861 * reorg.c (steal_delay_list_from_target): Check for insns that 12862 modify the condition codes and effect the direction of the jump 12863 in the sequence. 12864 12865Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk> 12866 12867 * function.c (purge_addressof_1): Replace call to 12868 emit_insns_before() with emit_insn_before(). 12869 12870Mon Oct 19 19:34:03 1998 Mike Stump <mrs@wrs.com> 12871 12872 * libgcc2.c (__pure_virtual): Call __terminate instead of _exit. 12873 12874Mon Oct 19 13:26:24 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12875 12876 * jump.c (sets_cc0_p): Compile only if HAVE_cc0. 12877 12878Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com) 12879 12880 * gcse.c (compute_hash_table): Correctly identify hard regs which are 12881 clobbered across calls. 12882 12883 * loop.c (scan_loop): Be more selective about what invariants are 12884 moved out of a loop. 12885 12886Mon Oct 19 10:46:58 1998 Jeff Law (law@cygnus.com) 12887 12888 * version.c: Bump for snapshot. 12889 12890Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com) 12891 12892 * libgcc2.c (eh_context_static): Do not call malloc to allocate the 12893 static eh_context structure. 12894 12895Mon Oct 19 10:45:40 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12896 12897 * combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg. All 12898 callers changed. 12899 (try_combine): Don't update max_scratch. 12900 * flow.c (max_scratch, num_scratch): Delete variables. 12901 (life_analysis_1): Don't initialize max_scratch. 12902 (propagate_block): Don't update max_scratch. 12903 (mark_set_1): Don't increment num_scratch. 12904 * regs.h (max_scratch): Delete declaration. 12905 12906Mon Oct 19 10:28:15 1998 Jeffrey A Law (law@cygnus.com) 12907 12908 * reload1.c (reload_reg_free_before_p): Hack. Return 0 if EQUIV 12909 is nonzero. This is temporary! 12910 12911 * sched.c (update_flow_info): Handle death notes made invalid by 12912 instruction splitting. Partially reverts Oct 15, 1998 patch. 12913 * haifa-sched.c (update_flow_info): Likewise. 12914 12915Sun Oct 18 17:31:26 1998 Jeffrey A Law (law@cygnus.com) 12916 12917 * function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL 12918 if it has a nonzero DECL_INITIAL. 12919 12920Sat Oct 17 23:18:08 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 12921 12922 * Makefile.in (flow.o): Depend on recog.h. 12923 12924 * cpplib.h (directive_table): Add missing initializiers. 12925 (finclude): Change type of variable `bsize' to size_t. 12926 12927 * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED. 12928 12929 * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE. 12930 12931 * fix-header.c (lookup_std_proto): Cast the result of `strlen' to 12932 `int' when comparing against one. 12933 (cpp_file_line_for_message): Mark parameter `pfile' with 12934 ATTRIBUTE_UNUSED. 12935 (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED. 12936 12937 * flow.c: Include recog.h. 12938 (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR). 12939 12940 * function.c (thread_prologue_and_epilogue_insns): Mark parameter 12941 `f' with ATTRIBUTE_UNUSED. 12942 (reposition_prologue_and_epilogue_notes): Likewise. 12943 12944 * genopinit.c (gen_insn): Cast argument of ctype functions to 12945 `unsigned char'. 12946 12947 * haifa-sched.c: Include recog.h. 12948 (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when 12949 comparing against one. 12950 12951 * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now. 12952 12953 * mips-tfile.c (parse_end): Cast the argument of ctype function to 12954 `unsigned char'. 12955 (parse_ent): Likewise. 12956 (parse_input): Likewise. 12957 12958 * optabs.c (init_libfuncs): Likewise. 12959 12960 * protoize.c (find_rightmost_formals_list): Likewise. 12961 12962 * recog.h (const_double_operand): Fix typo in prototype. 12963 12964 * tlink.c (scan_linker_output): Cast the argument of ctype 12965 function to `unsigned char'. 12966 12967 * toplev.c (check_lang_option): Cast the result of `strlen' to 12968 `int' when comparing against one. 12969 12970Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk> 12971 12972 * gcse.c (dump_cuid_table): Correct typo. 12973 12974Sat Oct 17 11:02:47 1998 Nick Clifton <nickc@cygnus.com> 12975 12976 * toplev.c (display_help): Prepend '-m' to target specific 12977 options. 12978 (check_lang_option): Ignore text after end of first word of a 12979 language specific option. 12980 12981Sat Oct 17 02:26:03 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 12982 12983 * reload1.c (reg_used_by_pseudo): New static variable. 12984 (choose_reload_regs): Initialize it. 12985 Use it instead of testing spill_reg_order to determine whether a 12986 pseudo is live in a hard register across the current insn. 12987 Fix a typo in a reference to reload_reg_rtx. 12988 12989 * flow.c (propagate_block): Replace code that computes and uses 12990 regs_sometimes_live with simpler code that just walks the set of 12991 currently live registers. 12992 12993 * Makefile.in (insn-extract.o): Fix dependencies. 12994 * genextract.c (main): Generate includes for insn-config.h and 12995 recog.h. 12996 Delete generation of declarations which are now in recog.h. 12997 * genrecog.c (main): Delete generation of definitions which are 12998 now in recog.c. 12999 * local-alloc.c (block_alloc): Use extract_insn and the variables 13000 it sets up instead of looking up values by insn_code. 13001 * recog.c (recog_operand, recog_operand_loc, recog_dup_loc, 13002 recog_dup_num): Define here instead of generating the definition in 13003 genrecog.c. 13004 (recog_n_operands, recog_n_dups, recog_n_alternatives, 13005 recog_operand_mode, recog_constraints, recog_operand_address_p): 13006 New variables. 13007 (extract_insn): New function. 13008 * recog.h (extract_insn): Declare function. 13009 (which_alternative, recog_n_operands, recog_n_dups, 13010 recog_n_alternatives, recog_operand_mode, recog_constraints, 13011 recog_operand_address_p): Declare variables. 13012 * regclass.c (n_occurrences): New static function. 13013 * reload.c (n_occurrences): Delete function. 13014 (find_reloads): Use extract_insn. 13015 * reload.h (n_occurrences): Delete declaration. 13016 13017Sat Oct 17 01:17:51 1998 Jeffrey A Law (law@cygnus.com) 13018 13019 * reload1.c (reload_as_needed): Fix test for when to call 13020 update_eliminable_offsets. 13021 13022Fri Oct 16 20:40:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 13023 13024 Fix consistency problems with reg_equiv_{mem,address}; 13025 Improve reload inheritance; 13026 13027 * reload.c (reload_out_reg): New variable. 13028 (loc_mentioned_in_p, remove_address_replacements): New functions. 13029 (remove_replacements): Deleted. 13030 (push_reload): Set reload_out_reg[i]. 13031 When merging, also set reload_{in,out}_reg[i], and remove 13032 duplicate address reloads. 13033 (combine_reloads): Copy reload_out_reg[i]. 13034 (find_reloads): Do make_memloc substitution also when 13035 reg_equiv_memory_loc[regno] and num_not_at_initial_offset 13036 are both nonzero. 13037 Include *recog_operand_loc in commutativity operand changes. 13038 Generate optional output reloads. 13039 Delete reference to n_memlocs. Don't set *recog_operand_loc before 13040 processing operands. Call make_memloc in reg_equiv_address code. 13041 Set *recog_operand_loc only after processing operands, and only 13042 if replace is true. Return a value. 13043 When changing address reload types for operands that didn't get 13044 reloaded, use RELOAD_FOR_OPADDR_ADDRESS for 13045 RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads. 13046 Don't emit USEs for pseudo SUBREGs when not replacing. 13047 (find_reloads_address): Do make_memloc substitution also when 13048 reg_equiv_memory_loc[regno] and num_not_at_initial_offset 13049 are both nonzero. 13050 (find_reloads_toplev): Likewise. 13051 Call make_memloc in reg_equiv_address code. 13052 (debug_reload_to_stream): Add code to output reload_out_reg. 13053 (make_memloc): Delete local variable i, ifdefed out code, and 13054 references to memlocs and n_memlocs. 13055 (memlocs, n_memlocs): Delete. 13056 (push_secondary_reload): Clear reload_out_reg. 13057 (find_reloads_address_1): Provide memrefloc argument to all calls 13058 to find_reloads_address. 13059 In AUTO_INC code, handle non-directly addressable equivalences properly. 13060 * reload.h (reload_out_reg, num_not_at_initial_offset): Declare. 13061 (find_reloads): Add return type. 13062 (remove_address_replacements, deallocate_reload_reg): Declare. 13063 * reload1.c (num_not_at_initial_offset): No longer static. 13064 (delete_address_reloads, delete_address_reloads_1): Likewise. 13065 (deallocate_reload_reg): New function. 13066 (spill_reg_stored_to): New array. 13067 (eliminate_regs): Don't substitute from reg_equiv_memory_loc. 13068 (eliminate_regs_in_insn): Move assignments of previous_offset and 13069 max_offset fields, and recalculation of num_not_at_initial_offset 13070 into new static function: 13071 (update_eliminable_offsets) . 13072 (reload_as_needed): Call update_eliminable_offsets after calling 13073 find_reloads. 13074 Call forget_old_reloads_1 with contents of reloaded auto_inc 13075 expressions if the actual addressing can't be changed to match the 13076 auto_inc. 13077 (choose_reload_regs): For inheritance, replace 13078 reload_reg_free_before_p test with reload_reg_used_at_all test, and 13079 remove stand-alone reload_reg_used_at_all test. 13080 Use reload_out_reg to determine which reload regs have output reloads. 13081 Treat reload_override_in more similar to inherited reloads. 13082 Handle (subreg (reg... for inheritance. 13083 For flag_expensive_optimizations, add an extra pass to remove 13084 unnecessary reloads from known working inheritance. 13085 Delete obsolete code for pseudos replaced with MEMs. 13086 Handle inheritance from auto_inc expressions. 13087 (emit_reload_insns): If reload_in is a MEM, set OLD to 13088 reload_in_reg[j]. 13089 Don't reload directly from oldequiv; if it's a pseudo with a 13090 stack slot, use reload_in[j]. 13091 Check that reload_in_reg[j] is a MEM before replacing reload_in 13092 from reg_reloaded_contents. 13093 Include non-spill registers in reload inheritance processing. 13094 Also try to use reload_out_reg to set spill_reg_store / 13095 reg_last_reload_reg. 13096 In code to set new_spill_reg_store, use single_set to find out if 13097 there is a single set. 13098 Add code that allows to delete optional output reloads. 13099 Add code to allow deletion of output reloads that use no spill reg. 13100 At the end, set reload_override_in to oldequiv. 13101 Also call delete_output_reload if reload_out_reg is equal to old 13102 in oldequiv code. 13103 Add code to call delete_output_reload for stores with no matching load. 13104 Set / use spill_reg_stored_to. 13105 Handle case where secondary output reload uses a temporary, but 13106 actual store isn't found. 13107 When looking for a store of a value not loaded in order to call 13108 delete_output_reload, count_occurrences should return 0 for no 13109 loads; but discount inherited input reloadill_reg_stored_to. 13110 Do checks for extra uses of REG. Changed all 13111 callers. 13112 Use delete_address_reloads. 13113 (reload): Take return value of find_reloads into account. 13114 If a no-op set needs more than one reload, delete it. 13115 (reload_reg_free_before_p): RELOAD_FOR_INPUT 13116 can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS 13117 for the same operand. 13118 (clear_reload_reg_in_use): Check for other reloads that keep a 13119 register in use. 13120 (reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS / 13121 RELOAD_FOR_OPADDR_ADDR. 13122 Take into account when an address address reload is only needed 13123 for the address reload we are considering. 13124 (count_occurrences): Use rtx_equal_p for MEMs. 13125 (inc_for_reload): Return instruction that stores into RELOADREG. 13126 New argument two, IN, and rtx. Changed all callers. 13127 (calculate_needs_all_insns, reload_as_needed): 13128 Don't clear after_call for a CLOBBER. 13129 Keep track of how many hard registers need to be copied from 13130 after_call, and don't clear after_call before we have seen 13131 that much copies, or we see a different instruction. 13132 13133Fri Oct 16 10:58:23 1998 Jeffrey A Law (law@cygnus.com) 13134 13135 * flow.c (find_basic_blocks_1): Do not delete unreachable blocks 13136 after reload has completed. 13137 13138Fri Oct 16 17:26:10 1998 Dave Brolley <brolley@cygnus.com> 13139 13140 * cpplib.c (cpp_get_token): Replace whitespace that occurs between 13141 a macro name and the next token with a single blank if that whitespace 13142 is in a macro buffer and the next token is not '('. 13143 13144Fri Oct 16 15:44:02 1998 Dave Brolley <brolley@cygnus.com> 13145 13146 * cccp.c (rescan): Handle multibyte characters ending in backslash. 13147 (rescan): Likewise. 13148 (skip_if_group): Likewise. 13149 (skip_to_end_of_comment): Likewise. 13150 (macarg1): Likewise. 13151 (discard_comments): Likewise. 13152 (change_newlines): Likewise. 13153 13154Fri Oct 16 15:26:24 1998 Dave Brolley <brolley@cygnus.com> 13155 13156 * c-lex.c (yylex): Fix unaligned access of wchar_t. 13157 13158Fri Oct 16 10:47:53 1998 Nick Clifton <nickc@cygnus.com> 13159 13160 * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation. 13161 (TARGET_OPTIONS): Add --help documentation. 13162 13163Fri Oct 16 11:49:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 13164 13165 * rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change. 13166 13167Fri Oct 16 07:08:46 1998 Bruce Korb <korb@datadesign.com> 13168 13169 * fixinc/* Moved in from ../contrib directory in preparation 13170 for integrating it into the normal build process. In particular, 13171 fixinc/Makefile.in must be config-ed into the build directory 13172 as fixinc/Makefile. Proposed patches to ./Makefile.in and 13173 ./configure.in will be "in the mail" momentarily. 13174 13175Fri Oct 16 08:13:46 1998 David S. Miller <davem@pierdol.cobaltnet.com> 13176 13177 * cse.c (cse_basic_block): Fixup hash flushing loop so we do not 13178 accidently walk into the free list. Comment how that can happen. 13179 (invalidate): Fix indentation. 13180 13181Thu Oct 15 23:53:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 13182 Jeffrey A Law (law@cygnus.com) 13183 13184 * flow.c (life_analysis_1): Do not clobber regs_ever_live after 13185 reload. Never perform rescans of the insn chain after reload. 13186 (propagate_block): Do not delete insn or create new autoinc addressing 13187 modes after reload. 13188 13189 * jump.c (jump_optimize): Unconditionally use the code that was 13190 previously conditional on PRESERVE_DEATH_INFO_REGNO_P. 13191 * reload1.c (reload): When reloading is finished, delete all 13192 REG_DEAD and REG_UNUSED notes. 13193 (emit_reload_insns): Delete all code that was conditional on 13194 PRESERVE_DEATH_INFO_REGNO_P. 13195 (no_longer_dead_regs): Delete variable. 13196 (reload_cse_delete_death_notes): Delete function. 13197 (reload_cse_no_longer_dead): Delete function. 13198 (reload_cse_regs_1): Delete all code to handle deletion of death 13199 notes. 13200 (reload_cse_noop_set_p): Likewise. 13201 (reload_cse_simplify_set): Likewise. 13202 (reload_cse_simplify_operands): Likewise. 13203 (reload_cse_move2add): Likewise. 13204 * reorg.c (used_spill_regs): Delete declaration. 13205 (max_label_num_after_reload): Delete declaration. 13206 (find_dead_or_set_registers): Don't assume that spill regs are 13207 dead at a CODE_LABEL. 13208 * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate, 13209 even after reload. 13210 * sched.c (sched_analyze_insn): Likewise. 13211 (update_flow_info): Likewise. 13212 * haifa-sched.c (sched_analyze_insn): Likewise. 13213 (update_flow_info): Likewise. 13214 * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation. 13215 * toplev.c (max_label_num_after_reload): Delete variable. 13216 (rest_of_compilation): Don't set max_label_num_after_reload. 13217 Call life_analysis after reload_cse_regs if optimizing. 13218 * config/gmicro/gmicro.h: Delete comment referring to 13219 PRESERVE_DEATH_INFO_REGNO_P. 13220 * config/i386/i386.h: Likewise. 13221 * config/m88k/m88k.h: Likewise. 13222 * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition. 13223 * config/sh/sh.h: Likewise. 13224 13225Thu Oct 15 19:48:41 1998 David Edelsohn <edelsohn@gnu.org> 13226 13227 * loop.c (strength_reduce): Restore marking bct_p as 13228 ATTRIBUTE_UNUSED. 13229 * rs6000.c (optimization_options): Change #ifdef HAIFA to 13230 HAVE_decrement_and_branch_on_count. 13231 (small_data_operand): Remove TARGET_ELF condition for marking 13232 parameters ATTRIBUTE_UNUSED. 13233 13234Thu Oct 15 11:45:51 1998 Robert Lipe <robertl@dgii.com> 13235 13236 * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define. 13237 (SELECT_SECTION): Resync with svr4.h. 13238 13239Thu Oct 15 12:42:13 1998 David Edelsohn <edelsohn@gnu.org> 13240 13241 * loop.c (strength_reduce): Undo Oct 14 change marking bct_p 13242 ATTRIBUTE_UNUSED. 13243 13244Thu Oct 15 00:57:55 1998 Robert Lipe <robertl@dgii.com> 13245 13246 * c-pragma.c (handle_pragma_token): Test for null tree before 13247 dereferencing TREE_CODE. 13248 13249Thu Oct 15 17:36:48 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 13250 13251 * config/c4x/c4x.c: Convert to use GEN_INT. 13252 (c4x_parallel_process): Rework to handle new repeat loop structure. 13253 13254 * config/c4x/c4x.md: Convert to use GEN_INT. 13255 (rptb_end): Convert to use GE test. Replace uses with clobbers. 13256 (decrement_and_branch_on_count): Likewise. 13257 13258 * config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that 13259 loop.c has the desired functionality. 13260 (rc_reg_operand): New prototype. 13261 13262 * config/c4x/t-c4x: Can now build all front ends. 13263 13264Wed Oct 14 23:27:08 1998 Didier FORT (didier.fort@fedex.com) 13265 13266 * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS. 13267 13268Wed Oct 14 22:13:28 1998 Joel Sherrill (joel@OARcorp.com) 13269 13270 * Makefile.in (stmp-fixinc): Do not install assert.h if not desired. 13271 * config/t-rtems: Do not install assert.h -- use newlib's. 13272 13273Wed Oct 14 21:57:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 13274 13275 * combine.c (combine_instructions): When finished, call init_recog. 13276 * regmove.c (optimize_reg_copy_3): Reject volatile MEMs. 13277 13278Wed Oct 14 16:10:22 1998 Per Bothner <bothner@cygnus.com> 13279 13280 * toplev.c: If flag_syntax_only, don't open or write assembler file. 13281 13282Wed Oct 14 13:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 13283 13284 * cppalloc.c (memory_full): Mark function prototype with 13285 ATTRIBUTE_NORETURN. 13286 13287 * demangle.h (collect_exit): Likewise. 13288 13289 * fix-header.c (v_fatal, fatal): Likewise. 13290 13291 * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort): 13292 Likewise. 13293 13294 * gcov.c (print_usage): Likewise. 13295 13296 * genattr.c (fatal, fancy_abort): Likewise. 13297 13298 * genattrtab.c (fatal, fancy_abort): Likewise. 13299 13300 * gencodes.c (fatal, fancy_abort): Likewise. 13301 13302 * genconfig.c (fatal, fancy_abort): Likewise. 13303 13304 * genemit.c (fatal, fancy_abort): Likewise. 13305 13306 * genextract.c (fatal, fancy_abort): Likewise. 13307 13308 * genflags.c (fatal, fancy_abort): Likewise. 13309 13310 * genopinit.c (fatal, fancy_abort): Likewise. 13311 13312 * genoutput.c (fatal, fancy_abort): Likewise. 13313 13314 * genpeep.c (fatal, fancy_abort): Likewise. 13315 13316 * genrecog.c (fatal, fancy_abort): Likewise. 13317 13318 * libgcc2.c (__eprintf, __default_terminate, __sjthrow, 13319 __sjpopnthrow, __throw): Likewise. 13320 13321 * objc/objc-act.c (objc_fatal): Likewise. 13322 13323 * protoize.c (usage, aux_info_corrupted, 13324 declare_source_confusing): Likewise. 13325 13326 * rtl.c (dump_and_abort): Likewise. 13327 13328 * rtl.h (sets_cc0_p): Likewise. 13329 13330 * toplev.c (float_signal, pipe_closed): Likewise. 13331 133321998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 13333 13334 * dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges 13335 when generating the decision tree for the general case. 13336 13337 * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes 13338 wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs. 13339 13340Wed Oct 14 11:14:02 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 13341 13342 * Makefile.in (sched.o): Depend on recog.h. 13343 13344 * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to 13345 (unsigned) when comparing against one. 13346 (find_base_value): Likewise. 13347 (record_base_value): Cast variable `regno' to (unsigned) when 13348 comparing against one. Cast the result of REGNO() macro to 13349 (unsigned) when comparing against one. 13350 (memrefs_conflict_p): Change type of variables `r_x' and `r_y' to 13351 unsigned. 13352 (init_alias_analysis): Add unsigned variable `ui'. Use it as loop 13353 variable where an unsigned index is needed. 13354 13355 * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code) 13356 before comparing against one. 13357 13358 * collect2.c: Add prototypes for functions `error', `fatal' and 13359 `fatal_perror'. Make these functions take variable arguments 13360 instead of faking it with a fixed number of args. 13361 (write_c_file_stat): Cast the argument of ctype macro to (unsigned 13362 char). 13363 13364 * combine.c (can_combine_p): Mark parameter `pred' with 13365 ATTRIBUTE_UNUSED. 13366 (find_split_point): Cast variable `src' to (unsigned 13367 HOST_WIDE_INT) when comparing against one. 13368 (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift. 13369 (simplify_logical): Likewise. 13370 (force_to_mode): Cast result of INTVAL() macro to (unsigned 13371 HOST_WIDE_INT) when comparing against one. Cast 1 to (unsigned 13372 HOST_WIDE_INT) in shift. 13373 (simplify_and_const_int): Cast result of INTVAL() macro to 13374 `unsigned HOST_WIDE_INT' when comparing against one. 13375 (merge_outer_ops): Cast variable const0 to `unsigned 13376 HOST_WIDE_INT' when comparing against the result of 13377 GET_MODE_MASK() macro. 13378 (simplify_comparison): Likewise for variable `c0'. Cast variable 13379 `const_op' to `unsigned HOST_WIDE_INT' when comparing against 13380 one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast the 13381 result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing 13382 against one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast 13383 result of INTVAL() macro to `unsigned HOST_WIDE_INT' when 13384 comparing against one. 13385 (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'. 13386 13387 config/mips/mips.c (gen_int_relational): Cast result of INTVAL() 13388 macro to `unsigned HOST_WIDE_INT' when comparing against one. 13389 (output_block_move): Cast `sizeof' expression to (int) when 13390 comparing against one. 13391 (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing 13392 against one. 13393 (save_restore_insns): Cast `base_offset' to `long' to match format 13394 specifier in fprintf. 13395 13396 * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro 13397 to `enum machine_mode'. 13398 13399 * flow.c (life_analysis_1): Remove unused variable `insn'. 13400 13401 * gcc.c (translate_options): Move variables `j' and `k' into the 13402 scope in which they are used. Change their types to `size_t'. 13403 (set_spec): Cast the argument of ctype macro to `unsigned char'. 13404 (read_specs): Likewise. 13405 (process_command): Cast `sizeof' to (int) when comparing against one. 13406 (do_spec_1): Cast the argument of ctype macro to `unsigned char'. 13407 (handle_braces): Cast both sides of `==' expression to `long' to 13408 ensure sign matching. 13409 (main): Cast variable `i' to `int' when comparing against one. 13410 13411 * gcov-io.h (__fetch_long): Change type of parameter `bytes' from 13412 int to size_t. Cast variable `i' to size_t when comparing against 13413 one. 13414 13415 * genattrtab.c (convert_set_attr_alternative): Remove unused 13416 parameter `insn_code'. All callers changed. 13417 (convert_set_attr): Likewise. 13418 13419 * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to 13420 size_t when comparing against one. Likewise for variable `len'. 13421 13422 * global.c (global_alloc): Cast variable `max_regno' to size_t 13423 when comparing against one. Likewise for variable `max_allocno'. 13424 13425 * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED. 13426 13427 * local-alloc.c (validate_equiv_mem_from_store): Mark parameter 13428 `set' with ATTRIBUTE_UNUSED. 13429 (find_free_reg): Cast `sizeof' expression to (int) when comparing 13430 against one. 13431 13432 * loop.c (count_loop_regs_set): Remove unused variable `dest'. 13433 (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED. 13434 (get_condition): Cast variable `const_val' to `unsigned 13435 HOST_WIDE_INT' when comparing against one. Cast unsigned 13436 expression to HOST_WIDE_INT when comparing against one. 13437 (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED. 13438 (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to 13439 `unsigned' when comparing against one. 13440 13441 * protoize.c (is_id_char): Change type of parameter `ch' to 13442 unsigned char. 13443 (munge_compile_params): Cast argument of ctype macro to (const 13444 unsigned char). 13445 (process_aux_info_file): Cast variable `aux_info_size' to int when 13446 comparing against one. 13447 (forward_to_next_token_char): Cast argument of ctype macro to 13448 `const unsigned char'. 13449 (edit_formals_lists): Likewise. 13450 (find_rightmost_formals_list): Likewise. 13451 (add_local_decl): Likewise. 13452 (add_global_decls): Likewise. 13453 (edit_fn_definition): Likewise. 13454 (do_cleaning): Likewise. 13455 (scan_for_missed_items): Likewise. 13456 (edit_file): Cast variable `orig_size' to (int) when comparing 13457 against one. 13458 (main): Cast argument of ctype macro to `const unsigned char'. 13459 13460 * recog.c (const_int_operand): Mark parameter `mode' with 13461 ATTRIBUTE_UNUSED. 13462 13463 * regclass.c (record_reg_classes): Change type of variable `c' to 13464 `unsigned char'. Cast `char' array index to `unsigned char'. 13465 13466 * reload.c (push_secondary_reload): Cast argument to 13467 REG_CLASS_FROM_LETTER() macro to `unsigned char'. 13468 13469 * reload1.c (calculate_needs): Cast `char' array index to 13470 `unsigned char'. 13471 (set_label_offsets): Change type of variable `i' to unsigned int. 13472 Cast result of XVECLEN() macro to unsigned when comparing against 13473 one. 13474 (mark_not_eliminable): Change type of variable `i' to unsigned. 13475 (order_regs_for_reload): Likewise. Cast `max_regno' to unsigned 13476 when comparing against one. 13477 (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when 13478 comparing against one. 13479 (choose_reload_regs): Hide unused label `fail'. 13480 (reload_cse_simplify_operands): Cast `char' array index to 13481 `unsigned char'. 13482 (reload_combine_note_store): Mark parameter `set' with 13483 ATTRIBUTE_UNUSED. Cast UNITS_PER_WORD to unsigned when comparing 13484 against one. 13485 (reload_cse_move2add): Remove unused variable `src2'. 13486 13487 * sched.c: Include recog.h. 13488 (sched_note_set): Remove unused parameter `b'. All callers 13489 changed. 13490 (split_hard_reg_notes): Likewise for parameter `orig_insn'. 13491 (blockage_range): Cast result of UNIT_BLOCKED() macro to (int) 13492 when comparing against one. 13493 13494 * stupid.c (stupid_find_reg): Mark parameter `changes_size' with 13495 ATTRIBUTE_UNUSED. Cast `sizeof' expression to (int) when 13496 comparing against one. 13497 13498 * unroll.c (precondition_loop_p): Remove unused parameter 13499 `loop_end'. All callers changed. 13500 13501Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 13502 13503 * reload1.c (maybe_fix_stack_asms): New static function. 13504 (reload): Call it. 13505 13506 * reload.h (compute_use_by_pseudos): Declare. 13507 13508 * reload1.c (spilled_pseudos, insns_need_reload): New variables. 13509 (something_needs_reloads): Delete variable. 13510 (finish_spills): New function. 13511 (compute_use_by_pseudos): New function. 13512 13513 (delete_caller_save_insns): Lose argument FIRST. All callers changed. 13514 Use the reload_insn_chain instead of walking the rtl directly. 13515 13516 (reload): Allocate and free spilled_pseudos. 13517 Ensure that all calls of spill_hard_reg are followed by a call to 13518 finish_spills. 13519 Use the insns_need_reload list instead of something_needs_reloads 13520 to find out if reload_as_needed must be called. 13521 Clear unused_insn_chains at the end. 13522 13523 (calculate_needs_all_insns): Lose FIRST parameter. All callers 13524 changed. 13525 Delete code to keep track of current basic block. 13526 Walk reload_insn_chain instead of the rtl structure. Build the 13527 insns_need_reload chain. 13528 Remember which insns need reloading/elimination by setting the 13529 appropriate fields in struct insn_chain, not by putting modes on the 13530 insn. 13531 13532 (calculate_needs): Lose THIS_BLOCK arg. Accept arg CHAIN instead of 13533 arg INSN. All callers changed. 13534 Delete declaration of struct needs. 13535 Don't set something_needs_reloads. 13536 Record insn needs in the CHAIN argument. 13537 13538 (spill_hard_reg): Record the affected pseudos in spilled_pseudos. 13539 13540 (reload_as_needed): Lose FIRST arg. All callers changed. 13541 Walk the reload_insn_chain instead of the rtx structure. 13542 Delete code to keep track of current basic block. 13543 Rename one of the NEXT variables to OLD_NEXT. 13544 13545 (allocate_reload_reg): Accept arg CHAIN instead of arg INSN. All 13546 callers changed. 13547 (choose_reload_regs): Likewise. 13548 13549 (emit_reload_insns): Replace INSN and BB args with arg CHAIN. All 13550 callers changed. 13551 13552 * caller-save.c (MOVE_MAX_WORDS): New macro. Use it throughout 13553 instead of (MOVE_MAX / UNITS_PER_WORD) computation. 13554 (hard_regs_live, hard_regs_need_restore): Delete variables. 13555 (n_regs_saved): Now static. 13556 (referenced_regs, this_insn_sets): New variables. 13557 13558 (setup_save_areas): Restructure the code a bit. 13559 13560 (restore_referenced_regs): Delete function. 13561 (mark_referenced_regs): New function, similar to the old 13562 restore_referenced_regs, but mark registers in referenced_regs. 13563 13564 (clear_reg_live): Delete function. 13565 (mark_set_regs): Renamed from set_reg_live. All callers changed. 13566 Only mark registers in this_insn_sets. 13567 13568 (save_call_clobbered_regs): Rework this function to walk the 13569 reload_insn_chain instead of using the list of instructions directly. 13570 Delete code to keep track of register lives, compute live regs on the 13571 fly from information in the chain. 13572 Instead of calling restore_referenced_regs, use mark_referenced_regs, 13573 then walk the set it computes and call insert_restore as appropriate. 13574 13575 (insert_restore): Lose INSN and BLOCK args. Add CHAIN arg. All 13576 callers changed. 13577 Restructure the code a bit. Test hard_regs_saved instead of 13578 hard_regs_need_restore. 13579 (insert_save): Lose INSN and BLOCK args. Add CHAIN and TO_SAVE 13580 args. All callers changed. 13581 Restructure the code a bit. Use TO_SAVE to determine which regs to 13582 save instead of more complicated test. 13583 (insert_one_arg): Lose INSN and BLOCK args. Add CHAIN arg. All 13584 callers changed. 13585 Create a new insn_chain structure for the new insn and place it 13586 into the chain. 13587 13588 * rtl.texi: Update documentation to reflect that reload no longer 13589 puts modes on the insns. 13590 135911998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> 13592 13593 * function.c (purge_addressof_1): Force the first argument of a 13594 CALL insn to memory. 13595 13596Wed Oct 14 00:38:40 1998 Jeffrey A Law (law@cygnus.com) 13597 13598 * rtl.h: Delete duplicate prototypes. Add some missing 13599 prototypes. 13600 * rtlanal.c (for_each_rtx): Formatting tweak. 13601 136021998-10-13 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 13603 13604 * real.c (emdnorm and etoasc): Disable round to even for c4x target 13605 to be compatible with TI compiler. 13606 13607 * Makefile.in (USER_H): Add va-c4x.h to definition. 13608 13609Tue Oct 13 23:03:37 1998 Richard Henderson <rth@cygnus.com> 13610 13611 * function.c (purge_addressof_1): Fix typo in inequality: do 13612 bitfield optimization for equal mode sizes. 13613 * expmed.c (store_bit_field): Don't take subregs of subregs in 13614 the movstrict case. Tidy a potential problem in the multi-word case. 13615 (extract_bit_field): Likewise. 13616 13617Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 13618 13619 * flow.c (find_basic_blocks): Emit NOPs after normal calls in this 13620 function. 13621 Compute max_uid_for_flow by calling get_max_uid after the scan. 13622 (find_basic_blocks_1): Don't emit NOPs here. 13623 13624Tue Oct 13 22:05:49 1998 Richard Henderson <rth@cygnus.com> 13625 13626 * alias.c (base_alias_check): Accept new args for the modes of the 13627 two references. Use them to determine if an AND can overlap. Update 13628 all callers. 13629 (memrefs_conflict_p): Assume sizes are aligned, and uses them 13630 to determine if an AND can overlap. 13631 13632Tue Oct 13 17:51:04 1998 Jim Wilson <wilson@cygnus.com> 13633 13634 * config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16 13635 check. Add comment to document problems with TARGET_SUN_FPA version 13636 of this macro. 13637 * config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves. 13638 13639Tue Oct 13 17:46:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 13640 13641 * Makefile.in (gencheck.o): Depend on gansidecl.h. 13642 13643 * c-common.c (print_char_table): Add missing initializers. 13644 (scan_char_table): Likewise. 13645 (time_char_table): Likewise. 13646 13647 * c-decl.c (c_decode_option): Mark parameter `argc' with 13648 ATTRIBUTE_UNUSED. 13649 (declare_parm_level): Mark parameter `definition_flag' with 13650 ATTRIBUTE_UNUSED. 13651 13652 * c-lex.c (readescape): Use `(unsigned)1' in shift. 13653 (yylex): Likewise. Cast `sizeof' to an (int) when comparing 13654 against one. 13655 13656 * calls.c (store_one_arg): Remove unused parameter `fndecl'. All 13657 callers changed. 13658 (emit_call_1): Mark parameters `fndecl' and `funtype' with 13659 ATTRIBUTE_UNUSED. 13660 (expand_call): Cast result of MIN() to (unsigned int) when 13661 comparing against an unsigned value. 13662 13663 * cccp.c (pcfinclude): Remove unused parameter `limit'. All 13664 callers changed. 13665 (make_definition): Remove unused parameter `op'. All callers 13666 changed. 13667 (create_definition): Cast REST_EXTENSION_LENGTH to (long) when 13668 comparing against the result of pointer arithmetic. 13669 13670 * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned) 13671 when comparing against one. 13672 13673 * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and 13674 HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against 13675 one. 13676 (output_die): Move variable `i' into the scope in which it is 13677 used. Change its type to `unsigned'. 13678 (output_die): Cast the result of `strlen' to (int) when passing it 13679 to ASM_OUTPUT_ASCII(). 13680 (output_pubnames): Likewise. 13681 (output_line_info): Likewise. 13682 13683 * emit-rtl.c (global_rtl): Add missing initializers. 13684 13685 * explow.c (promote_mode): Mark parameter `for_call' with 13686 ATTRIBUTE_UNUSED. 13687 13688 * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to 13689 `unsigned HOST_WIDE_INT' when comparing against one. 13690 (synth_mult): Change type of variable `cost' to int. 13691 (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift. 13692 13693 * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned) 13694 when comparing against one. 13695 (get_inner_reference): Change variable `alignment' to unsigned. 13696 (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned 13697 int) when comparing against one. 13698 (expand_builtin_setjmp): Change type of variable `i' to size_t. 13699 13700 * fold-const.c (div_and_round_double): Cast BASE to 13701 (HOST_WIDE_INT) when comparing against one. 13702 13703 * gencheck.c: Include gansidecl.h. 13704 (main): Mark parameter `argv' with ATTRIBUTE_UNUSED. 13705 13706 * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and 13707 `tcode' with ATTRIBUTE_UNUSED. 13708 13709 * real.c (edivm): Cast constant value to (unsigned long) in 13710 expression compared against an unsigned value. 13711 13712 * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when 13713 comparing against one. 13714 (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int) 13715 when comparing against one. 13716 13717 * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to 13718 (unsigned int) when comparing against one. Likewise for 13719 GET_MODE_BITSIZE. 13720 (smallest_mode_for_size): Likewise. 13721 (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED. 13722 (restore_storage_status): Likewise. 13723 13724 * toplev.c (debug_args): Add missing initializer. 13725 (f_options): Spelling correction. Add missing initializers. 13726 (documented_lang_options): Likewise. 13727 (debug_end_source_file): Mark parameter `lineno' with 13728 ATTRIBUTE_UNUSED. 13729 13730 * tree.c (valid_machine_attribute): Mark parameters `attr_args', 13731 `decl' and `type' with ATTRIBUTE_UNUSED. 13732 13733 * varasm.c (decode_reg_name): Cast `sizeof' expression to (int) 13734 when comparing against one. 13735 (assemble_variable): Mark parameter `top_level' with 13736 ATTRIBUTE_UNUSED. 13737 (assemble_external_libcall): Mark parameter `fun' with 13738 ATTRIBUTE_UNUSED. 13739 (output_constant_pool): Mark parameters `fnname' and `fndecl' with 13740 ATTRIBUTE_UNUSED. 13741 13742Tue Oct 13 12:51:04 1998 Nick Clifton <nickc@cygnus.com> 13743 13744 * config/v850/lib1funcs.asm (_udivsi3): Add .type declaration. 13745 Replace use of r5 with use of r19. 13746 13747 * config/v850/v850.h (LINK_POINTER_REGNUM): Define. 13748 13749 * config/v850/v850.c (compute_register_save_size): Allow for the 13750 fact that helper functions save all registers, not just those used 13751 by the function. 13752 13753 Replace constant 31 with macro LINK_POINTER_REGNUM. 13754 13755 * config/v850/v850.md: Use 'indirect_operand' rather than 13756 'memory_operand' for bit test/set/clear patterns. 13757 13758Tue Oct 13 11:49:14 1998 Jason Merrill <jason@yorick.cygnus.com> 13759 13760 * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL. 13761 * varasm.c (assemble_start_function et al): Don't call 13762 ASM_GLOBALIZE_LABEL for weak symbols. 13763 13764Tue Oct 13 11:37:45 1998 Nick Clifton <nickc@cygnus.com> 13765 13766 * cse.c (equiv_constant): Check for NULL return from 13767 gen_lowpart_if_possible(). 13768 13769Tue Oct 13 11:24:51 1998 Jeffrey A Law (law@cygnus.com) 13770 13771 * mn10200.md (addsi3, subsi3, negsi2): Only allow register operands. 13772 13773 * collect2.c (main): Pass -EL/-EB through to the compiler. 13774 137751998-10-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 13776 13777 * expr.c (push_block): Handle targets where the stack grows 13778 to higher addresses, but args grow to lower addresses and 13779 ACCUMULATE_OUTGOING_ARGS is not defined. 13780 13781Tue Oct 13 08:00:52 1998 Catherine Moore <clm@cygnus.com> 13782 13783 * config/v850/v850.c (print_operand): Extend meaning 13784 of 'c' operands to support .vtinherit. 13785 13786Tue Oct 13 21:38:35 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 13787 13788 * config/c4x/c4x.c: Convert to gen_rtx_FOO. 13789 Added ATTRIBUTE_UNUSED to unused function arguments. 13790 (rc_reg_operand): New predicate. 13791 (c4x_rptb_insert): New function. 13792 (c4x_rptb_nop_p): Recognize modified rptb_top pattern. 13793 (c4x_optimization_options): New function. 13794 13795 * config/c4x/c4x.md: Convert to gen_rtx_FOO. 13796 (decrement_and_branch_on_count): New pattern. 13797 (rptb_top): Modified pattern to work with BCT optimization. 13798 13799 * config/c4x/c4x.h (RC_REG): New register class. 13800 (rc_reg_operand): Define prototype. 13801 (IS_RC_REG): New macro. 13802 (IS_RC_OR_PSEUDO_REG): New macro. 13803 (IS_RC_OR_PSEUDO_REGNO): New macro. 13804 (OPTIMIZATION_OPTIONS): Define. 13805 13806Mon Oct 12 19:57:34 1998 Jason Merrill <jason@yorick.cygnus.com> 13807 13808 * collect2.c (extract_init_priority): No priority is 65535. 13809 13810Mon Oct 12 12:10:37 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 13811 13812 * Makefile.in (build_tooldir): New variable, same as old 13813 $(tooldir), but without depending on $(libdir)/$(unlibsubdir). 13814 (GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/. 13815 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise. 13816 13817 * configure.in (gxx_include_dir): Set default based on unlibsubdir. 13818 * Makefile.in (tooldir): Likewise. 13819 (cccp.o, cpplib.o): Use unlibsubdir implicitly through 13820 gxx_include_dir, includedir and tooldir. 13821 (protoize.o, unprotoize.o): Likewise. 13822 13823Mon Oct 12 10:50:44 1998 Nick Clifton <nickc@cygnus.com> 13824 13825 * config/arm/arm.md: Replace (reg 24) with (reg:CC 24). 13826 13827 * config/arm/thumb.c (thumb_override_options): Add warning about 13828 PIC code not being supported just yet. 13829 13830Sun Oct 11 16:49:15 1998 John Wehle (john@feith.com) 13831 13832 * flow.c: Update comment. 13833 (notice_stack_pointer_modification): New static function. 13834 (record_volatile_insns): Use it. 13835 (mark_regs_live_at_end): Mark the stack pointer as alive 13836 at the end of the function if current_function_sp_is_unchanging 13837 is set. 13838 (life_analysis_1): Set current_function_sp_is_unchanging. 13839 * function.c: Define it. 13840 (init_function_start): Initialize it. 13841 * output.h: Declare it. 13842 * reorg.c (fill_simple_delay_slots, dbr_schedule): Mark 13843 the stack pointer as alive at the end of the function if 13844 current_function_sp_is_unchanging is set. 13845 * i386.c (ix86_epilogue): Optimize the restoring 13846 of the stack pointer. 13847 13848Mon Oct 12 01:22:53 1998 Jeff Law (law@cygnus.com) 13849 13850 * version.c: Bump for snapshot. 13851 13852Sun Oct 11 23:04:30 1998 Robert Lipe <robertl@dgii.com> 13853 13854 * c-pragma.c (handle_pragma_token): If passed a token instead 13855 of a tree, use that as the pack value. 13856 13857Sun Oct 11 14:21:14 1998 Mark Mitchell <mark@markmitchell.com> 13858 13859 * flow.c (find_basic_blocks_1): Fix prototype. 13860 13861Sun Oct 11 05:03:41 1998 Ken Raeburn <raeburn@cygnus.com> 13862 13863 * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros. 13864 (struct tree_decl): New fields no_check_memory_usage. 13865 * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE. 13866 (init_attributes): Register it as a new attribute. 13867 (decl_attributes): Set flags on functions given that attribute. 13868 * c-decl.c (duplicate_decls): Merge new attribute. 13869 * expr.h (current_function_check_memory_usage): Declare new var. 13870 * calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c, 13871 pa.c, sparc.c: Replace uses of flag_check_memory_usage with 13872 current_function_check_memory_usage. 13873 * function.h: Add field to struct function. 13874 * function.c (current_function_check_memory_usage): Define it. 13875 (push_function_context_to, pop_function_context_from): Save and 13876 restore it. 13877 (expand_function_start): Set it, based on global flag and function 13878 attribute. 13879 13880 * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do 13881 check non-automatic variables, to permit detection of writes to 13882 read-only locations in embedded systems without memory management. 13883 * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument 13884 when emitting chkr_set_right_libfunc call, even if the argument is 13885 BLKmode or variable-sized; don't abort. 13886 13887 * optabs.c (init_optabs): Create Checker and __cyg_profile_* 13888 symbols in Pmode, not VOIDmode. 13889 13890Sun Oct 11 01:03:05 1998 Zack Weinberg <zack@rabi.phys.columbia.edu> 13891 13892 * cppexp.c: When forcing unsigned comparisons, cast both sides 13893 of the operation. 13894 13895 * cpphash.h: Move static declaration of hashtab[]... 13896 * cpphash.c: ...here. 13897 13898 * cpplib.c: Cast difference of two pointers to size_t before 13899 comparing it to size_t. Cast signed to unsigned 13900 before comparing to size_t. (FIXME: struct argdata should use 13901 unsigned buffer sizes.) 13902 * cpplib.h (struct cpp_reader): Declare token_buffer_size as 13903 unsigned int. (CPP_WRITTEN): Cast return value to size_t. 13904 (CPP_RESERVE): Parenthesize N for evaluation order, cast to 13905 size_t before comparison. 13906 13907Sun Oct 11 00:15:29 1998 Jeffrey A Law (law@cygnus.com) 13908 13909 * flow.c (find_basic_blocks): Delete "live_reachable_p" argument. 13910 (find_basic_blocks_1): Similarly. 13911 * output.h (find_basic_blocks): Fix prototype. 13912 * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to 13913 find_basic_blocks anymore. 13914 13915Sat Oct 10 22:00:34 1998 Richard Henderson <rth@cygnus.com> 13916 13917 * basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro. 13918 (sbitmap_free, sbitmap_vector_free): New macros. 13919 * output.h (rtl_dump_file): Declare. 13920 13921Sat Oct 10 17:01:42 1998 Jeffrey A Law (law@cygnus.com) 13922 13923 * regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION. 13924 13925Fri Oct 9 22:08:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 13926 13927 * fp-bit.c (SFtype): Don't implicitly use int in declaration. 13928 (DFtype): Likewise. 13929 (_fpdiv_parts): Remove unused parameter `tmp', all callers changed. 13930 (divide): Remove unused variable `tmp'. 13931 (si_to_float): Cast numeric constant to (SItype) before comparing 13932 it against one. 13933 13934Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk> 13935 13936 * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use. 13937 * gcc.c (add_preprocessor_option): Correct typo when allocating 13938 memory, sizeof() argument had one too many `*'. 13939 (add_assembler_option): Likewise. 13940 (add_linker_option): Likewise. 13941 * gcov.c (output_data): Likewise. 13942 * local-alloc.c (memref_used_between_p): Likewise. 13943 (update_equiv_regs): Likewise. 13944 * loop.c (strength_reduce): Likewise. 13945 * reg-stack.c (record_asm_reg_life): Likewise. 13946 (subst_asm_stack_reg): Likewise. 13947 * reorg.c (dbr_schedule): Likewise. 13948 13949Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 13950 13951 * flow.c (life_analysis_1): Break out some functions. 13952 (find_basic_blocks_1): Likewise. Also move some variables out and 13953 make them static. 13954 Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize 13955 new static var nonlocal_label_list with it. 13956 (active_eh_region, nested_eh_region, label_value_list, 13957 nonlocal_label_list): New static variables. 13958 (make_edges, delete_unreachable_blocks, delete_block): New static 13959 functions, broken out of find_basic_blocks_1. 13960 (record_volatile_insns, mark_regs_live_at_end, set_noop_p, 13961 noop_move_p): New static functions, broken out of life_analysis_1. 13962 13963Fri Oct 9 15:49:29 1998 Richard Henderson <rth@cygnus.com> 13964 13965 * expmed.c (store_bit_field): Pun non-integral str_rtx modes. 13966 Take extra care for op0 now possibly being a subreg. 13967 (extract_bit_field): Likewise. 13968 * function.c (purge_addressof_1): Revert Oct 4 change. Drop 13969 the reg to memory if there is no equal sized integral mode. 13970 * stor-layout.c (int_mode_for_mode): New function. 13971 * machmode.h: Prototype it. 13972 13973Fri Oct 9 14:26:44 1998 Jeffrey A Law (law@cygnus.com) 13974 13975 * global.c (build_insn_chain): Verify no real insns exist past the 13976 end of the last basic block, then exit the loop. 13977 13978Fri Oct 9 11:44:47 1998 David Edelsohn <edelsohn@gnu.org> 13979 13980 * loop.c (insert_bct): Ensure loop_iteration_var non-zero before use. 13981 13982Thu Oct 8 21:59:47 1998 Dave Brolley <brolley@cygnus.com> 13983 13984 * emit-rtl.c (init_emit_once): Call INIT_EXPANDERS. 13985 13986Thu Oct 8 22:03:45 1998 David Edelsohn <edelsohn@gnu.org> 13987 13988 * rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases. 13989 13990Thu Oct 8 17:00:18 1998 Richard Henderson <rth@cygnus.com> 13991 13992 * flow.c (find_basic_blocks): Correctly determine when a call 13993 is within an exception region. 13994 13995Thu Oct 8 17:15:04 1998 Jeffrey A Law (law@cygnus.com) 13996 13997 * toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'. 13998 13999 * cpplib.h: Protect from multiple inclusions. 14000 * cpplib.c: Fix minor formatting problems. 14001 14002 * i386/xm-cygwin32.h: Only define POSIX if it is not already defined. 14003 14004 * jump.c (jump_optimize): Revert accidental patch. 14005 14006 * Makefile.in (cpplib.o): Use unlibsubdir. 14007 14008Thu Oct 8 12:50:47 1998 Jim Wilson <wilson@cygnus.com> 14009 14010 * loop.c (get_condition): Allow combine when either compare is 14011 VOIDmode. 14012 14013Thu Oct 8 11:31:01 1998 Jeff Law (law@cygnus.com) 14014 14015 * version.c: Bump for snapshot. 14016 14017Thu Oct 8 12:21:14 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk> 14018 14019 * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF. 14020 (init_lex): Initialize ridpointers[RID_BYREF]. 14021 * c-lex.h (enum rid): Add RID_BYREF. 14022 * c-parse.gperf: Add RID_BYREF as a type qualifier. 14023 * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF. 14024 (encode_type_qualifiers): Similarly. 14025 * c-gperf.h: Rebuilt. 14026 14027Thu Oct 8 05:56:00 1998 Jeffrey A Law (law@cygnus.com) 14028 14029 * c-common.c (type_for_mode): Only return TItype nodes when 14030 HOST_BITS_PER_WIDE_INT is >= 64 bits. 14031 * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare 14032 when HOST_BITS_PER_WIDE_INT is >= 64 bits. 14033 (init_decl_processing): Only create TItype nodes when 14034 HOST_BITS_PER_WIDE_INT is >= 64 bits. 14035 * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare 14036 when HOST_BITS_PER_WIDE_INT is >= 64 bits. 14037 14038Thu Oct 8 05:05:34 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 14039 14040 * stmt.c (n_occurrences): New static function. 14041 (expand_asm_operands): Verify that all constrains match in the 14042 number of alternatives. 14043 Verify that '+' or '=' are at the beginning of an output constraint. 14044 Don't allow '&' for input operands. 14045 Verify that '%' isn't written for the last operand. 14046 * reload.c (find_reloads): Abort if an asm is found with invalid 14047 constraints; all possible problems ought to be checked for earlier. 14048 14049Thu Oct 8 04:26:20 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 14050 14051 * flags.h (flag_branch_on_count_reg): Always declare. 14052 * toplev.c (flag_branch_on_count_reg): Likewise. 14053 * toplev.c: Fix typos. 14054 14055 * real.c (c4xtoe): Remove unused variables. Add some missing parens. 14056 (toc4x): Similarly. 14057 14058Thu Oct 8 01:25:22 1998 Richard Henderson <rth@cygnus.com> 14059 14060 * flow.c (find_basic_blocks): Calc upper bound for extra nops in 14061 max_uids_for_flow. 14062 (find_basic_blocks_1): Add a nop to the end of a basic block when 14063 a trailing call insn does not have abnormal control flow. 14064 * gcse.c (pre_transpout): New variable. 14065 (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it. 14066 (compute_pre_transpout): Calculate it. 14067 (compute_pre_ppinout): Use it to eliminate impossible placements 14068 due to abnormal control flow through calls. 14069 (compute_pre_data): Call compute_pre_transpout. 14070 14071Wed Oct 7 21:40:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 14072 14073 * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo. 14074 14075Wed Oct 7 21:19:46 1998 Ken Raeburn <raeburn@cygnus.com> 14076 14077 * config/mips/mips.md (tablejump_internal3, tablejump_internal4 14078 and matching define_insns): Tack on a `use' of the table label, so 14079 flow analysis will recognize a tablejump. 14080 14081Wed Oct 7 17:33:39 1998 Richard Henderson <rth@cygnus.com> 14082 14083 * gcse.c (pre_insert_insn): Tweek to notice that calls do not 14084 always end basic blocks for abnormal edge reasons. 14085 14086Wed Oct 7 14:40:43 1998 Nick Clifton <nickc@cygnus.com> 14087 14088 * config/i386/i386.h: Remove definition of 14089 HANDLE_PRAGMA_PACK_PUSH_POP. 14090 14091 * config/i386/go32.h: Add definition of 14092 HANDLE_PRAGMA_PACK_PUSH_POP. 14093 14094 * config/i386/win32.h: Add definition of 14095 HANDLE_PRAGMA_PACK_PUSH_POP. 14096 14097 * config/i386/cygwin32.h: Add definition of 14098 HANDLE_PRAGMA_PACK_PUSH_POP. 14099 14100 * c-pragma.c (insert_pack_attributes): Do not insert 14101 attributes unless #pragma pack(push,<n>) is in effect. 14102 14103Wed Oct 7 12:10:46 1998 Jim Wilson <wilson@cygnus.com> 14104 14105 * expr.c (emit_group_store): Handle a PARALLEL destination. 14106 14107Wed Oct 7 10:07:29 1998 Richard Henderson <rth@cygnus.com> 14108 14109 * gcse.c (pre_insert_insn): When a call ends a bb, insert 14110 the new insns before the argument regs are loaded. 14111 14112Wed Oct 7 12:55:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14113 14114 * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf. 14115 (c-parse.gperf): Update comments describing invocation flags. 14116 (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs). 14117 141181998-10-07 Manfred Hollstein <manfred@s-direktnet.de> 14119 14120 * reload1.c (reload): Call free before clobbering the memory 14121 locations or constants pointers. 14122 14123Wed Oct 7 02:05:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 14124 14125 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework 14126 for efficiency by checking whether we need to modify the current 14127 stack permission at all. 14128 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define. 14129 * config/sparc/sparc.c (sparc_initialize_trampoline): Emit 14130 __enable_execute_stack libcall here too if 14131 TRANSFER_FROM_TRAMPOLINE is defined. 14132 * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if 14133 IN_LIBGCC2. 14134 14135Wed Oct 7 02:27:52 1998 Jeffrey A Law (law@cygnus.com) 14136 14137 * Makefile.in (DRIVER_DEFINES): Remove last change. 14138 14139Wed Oct 7 01:08:43 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 14140 14141 * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all 14142 insns we're going to copy. 14143 * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX. 14144 14145 * loop.c (count_one_set): Add prototype. 14146 14147 * caller-save.c (restore_referenced_regs): Lose mode argument. 14148 (insert_save): Lose mode argument. 14149 (insert_restore): Lose mode argument. 14150 (insert_one_insn): Lose mode argument. 14151 (save_call_clobbered_regs): Lose mode argument. 14152 (setup_save_areas): Take no argument and return void. All callers 14153 changed. 14154 Don't verify validity of memory addresses. 14155 * reload.h (setup_save_ares): Adjust prototype. 14156 (save_call_clobbered_regs): Likewise. 14157 * reload1.c (delete_caller_save_insns): New function. 14158 (caller_save_spill_class): Delete variable. 14159 (caller_save_group_size): Delete variable. 14160 (reload): Call setup_save_areas and save_call_clobbered_regs 14161 in the main loop, before calling calculate_needs_all_insns. 14162 Don't call save_call_clobbered_regs after the loop. 14163 Call delete_caller_save_insns at the end of an iteration if 14164 something changed. 14165 Delete code to manage caller_save_spill_class. 14166 Emit the final note before setting reload_first_uid. 14167 Simplify test that determines whether reload_as_needed gets run. 14168 (calculate_needs): Delete code to manage caller_save_spill_class. 14169 14170Tue Oct 6 15:42:27 1998 Richard Henderson <rth@cygnus.com> 14171 14172 * collect2.c (main): Initialize ld_file_name. 14173 14174Tue Oct 6 15:45:15 1998 Catherine Moore <clm@cygnus.com> 14175 14176 * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't 14177 check for flag_function_sections. 14178 14179Tue Oct 6 20:02:31 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14180 14181 * cse.c (insert_regs): Fix bug in Sep 24 change. 14182 14183Tue Oct 6 17:00:42 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14184 14185 * flags.h (flag_dump_unnumbered): Declare. 14186 * toplev.c (flag_dump_unnumbered): Don't declare. 14187 * print-rtl.c (flags.h): Include. 14188 (print_rtl_single): Add return value. 14189 * rtl.h (print_rtl_single): Update declaration. 14190 * flow.c (flag_dump_unnumbered): Don't declare. 14191 (print_rtl_with_bb): Use return value of print_rtl_single. 14192 14193Tue Oct 6 01:36:00 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 14194 14195 * loop.c (count_one_set): New static function, broken out of 14196 count_loop_regs_set. 14197 (count_loop_regs_set): Call it. 14198 * global.c (mark_reg_store): Handle clobbers here by not calling 14199 set_preference. 14200 (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER 14201 is in fact a clobber. 14202 * integrate.c (process_reg_param): New function, broken out of 14203 expand_inline_function. 14204 (expand_inline_function): Call it. 14205 14206 * i386.md (addsidi3_1): Delete unused variable temp. 14207 (addsidi3_2): Likewise. 14208 (clstrstrsi): Delete unused variable addr1. 14209 14210 * rtl.h: Don't declare any functions also declared in recog.h. 14211 14212 * Makefile.in (stupid.o): Update dependencies. 14213 (global.o): Likewise. 14214 14215 * global.c: Include reload.h. 14216 (reg_becomes_live): New function. 14217 (reg_dies): New function. 14218 (build_insn_chain): New function. 14219 (global_alloc): Call build_insn_chain before calling reload. 14220 14221 * reload.h (struct needs): New structure definition. 14222 (struct insn_chain): Likewise. 14223 (reload_insn_chain): Declare variable. 14224 (new_insn_chain): Declare function. 14225 14226 * reload1.c (reload_startobj): New variable. 14227 (reload_insn_chain): New variable. 14228 (unused_insn_chains): New variable. 14229 (new_insn_chain): New function. 14230 (init_reload): Initialize reload_startobj, not reload_firstobj. 14231 (reload): Initialize reload_firstobj. 14232 Before returning, free everything on the reload_obstack. 14233 14234 * stupid.c: Include insn-config.h, reload.h and basic-block.h. 14235 (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber, 14236 current_chain): New variables. 14237 (reg_where_born): Delete variable. 14238 (REG_WHERE_BORN): New macro. 14239 (find_clobbered_regs): New function. 14240 (stupid_life_analysis): Don't allocate/free reg_where_born. 14241 Allocate and free reg_where_born_exact, reg_where_born_clobber, 14242 reg_where_dead_chain. 14243 Use REG_WHERE_BORN instead of reg_where_born. 14244 While processing the insns, build the reload_insn_chain with 14245 information about register lifetimes. 14246 (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born. 14247 (stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers 14248 changed. 14249 Compute and information about birth and death of pseudo registers in 14250 reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber. 14251 Delete code to set elements of reg_where_born. 14252 14253Mon Oct 5 22:34:30 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 14254 14255 * tree.def (GOTO_EXPR): Modified documentation. 14256 * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed 14257 goto. 14258 14259Mon Oct 5 22:43:36 1998 David Edelsohn <edelsohn@gnu.org> 14260 14261 * unroll.c (loop_iteration_var, loop_initial_value, loop_increment 14262 loop_final_value, loop_comparison_code): No longer static. 14263 (unroll_loop): Delete loop_start_value update. 14264 * loop.h (loop_iteration_var, loop_initial_value, loop_increment, 14265 loop_final_value, loop_comparison_code): Extern. 14266 (loop_start_value): Delete extern. 14267 * loop.c (loop_can_insert_bct, loop_increment, loop_start_value, 14268 loop_comparison_value, loop_comparison_code): Delete. 14269 (loop_optimize): Remove initialization for deleted variables. 14270 (strength_reduce): Delete analyze_loop_iterations call. Only call 14271 insert_bct if flag_branch_count_on_reg set. 14272 (analyze_loop_iterations): Delete. 14273 (insert_bct): Remove iteration count calculation. Move checks for 14274 viable BCT optimization to here. Obtain iteration count from 14275 loop_iterations and correct for unrolling. Check for enough 14276 iteration to be beneficial. Comment out runtime iteration count 14277 case. 14278 (insert_bct): Print iteration count in dump file. Remove 14279 loop_var_mode and use word_mode directly. 14280 14281 * rs6000.h (processor_type): Add PROCESSOR_PPC604e. 14282 * rs6000.c (rs6000_override_options): Use it. 14283 (optimization_options): Enable use of flag_branch_on_count_reg. 14284 * rs6000.md (define_function_unit): Describe 604e. 14285 142861998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 14287 14288 * loop.c (move_movables): Corrected threshold calculation for 14289 moved_once registers. 14290 14291Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 14292 14293 * loop.c (combine_givs_p): Fix test for identical givs. 14294 14295Mon Oct 5 10:11:28 1998 Nick Clifton <nickc@cygnus.com> 14296 14297 * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't 14298 call abort if the function is already defined. 14299 14300Mon Oct 5 10:02:36 1998 Jeffrey A Law (law@cygnus.com) 14301 14302 * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if 14303 truncation is not a no-op. 14304 14305Mon Oct 5 09:02:04 1998 Jeff Law (law@cygnus.com) 14306 14307 * version.c: Bump for snapshot. 14308 14309Mon Oct 5 08:19:55 1998 Jeff Law (law@cygnus.com) 14310 14311 * version.c: Bump for snapshot. 14312 14313Mon Oct 5 01:07:23 1998 Torbjorn Granlund <tege@matematik.su.se> 14314 14315 * expmed.c (expand_divmod): Don't widen for computing remainder 14316 if we seem to have a divmod pattern for needed mode. 14317 14318Mon Oct 5 01:01:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu> 14319 14320 * cpplib.c (macroexpand): Correct off-by-one error in handling 14321 of escapes. 14322 14323Sun Oct 4 23:58:30 1998 Richard Henderson <rth@cygnus.com> 14324 14325 * combine.c (expand_field_assignment): Don't do bitwise operations 14326 on MODE_FLOAT; pun to MODE_INT if possible. 14327 14328Sun Oct 4 18:33:24 1998 Jason Merrill <jason@yorick.cygnus.com> 14329 scott snyder <snyder@d0sgif.fnal.gov> 14330 14331 * tlink.c (scan_linker_output): Recognize errors from irix 6.2 14332 linker. Recognize mangled names in quotes. 14333 14334Sun Oct 4 02:58:20 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> 14335 14336 * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64. 14337 (ashlsi3_const1, ashldi3_const1): New combiner patterns. 14338 (ashrsi3_extend, ashrsi3_extend2): New combiner patterns. 14339 (lshrsi3_extend, lshrsi3_extend2): Likewise. 14340 14341Sun Oct 4 00:23:00 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 14342 14343 * function.c (purge_addressof_1): If trying to take a sub-word 14344 integral piece of a floating point mode, put it on the stack. 14345 14346Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com> 14347 14348 * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake. 14349 14350Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com> 14351 14352 * PROJECTS: Remove template friends. 14353 14354 * collect2.c (sort_ids): Remove unused variable. 14355 14356 * tm.texi (MATH_LIBRARY): Document. 14357 (NEED_MATH_LIBRARY): Remove. 14358 14359 * varasm.c (assemble_start_function, assemble_variable, weak_finish, 14360 assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too. 14361 14362Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu> 14363 14364 * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize 14365 last_end to 0x7fffffff. 14366 14367Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 14368 14369 * function.c (purge_addressof_1): Do not perform endianness 14370 corrections on bitpos, who we call will do it for us. 14371 14372Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com) 14373 14374 * h8300.c (WORD_REG_USED): Fix typo. 14375 (initial_offset): Use WORD_REG_USED. 14376 14377 * h8300.c (handle_pragma): Fix typo. 14378 14379Fri Oct 2 10:51:35 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 14380 14381 * caller-save.c (insert_save_restore): Break this function up 14382 into new functions insert_restore, insert_save and insert_one_insn. 14383 All callers changed. 14384 (insert_restore): New function, mostly broken out of 14385 insert_save_restore. 14386 (insert_save): Likewise. 14387 (insert_one_insn): Likewise. 14388 (restore_referenced_regs): New argument BLOCK. All callers changed. 14389 (save_call_clobbered_regs): Don't keep track of basic block boundaries 14390 in this function, do it in insert_one_insn instead. 14391 14392 * reload1.c (reload): Break out some more pieces into separate 14393 functions. 14394 (dump_needs): New function, broken out of reload. 14395 (set_initial_elim_offsets): Likewise. 14396 (init_elim_table): Likewise. 14397 (update_eliminables): Likewise. 14398 14399 * global.c (global_alloc): Delete code to manage the scratch_list. 14400 * local-alloc.c (qty_scratch_rtx): Delete. 14401 (scratch_block): Delete. 14402 (scratch_list): Delete. 14403 (scratch_list_length): Delete. 14404 (scratch_index): Delete. 14405 (alloc_qty_for_scratch): Delete. 14406 (local-alloc): Update initialization of max_qty. 14407 Delete code to manage the scratch list. 14408 Delete code to allocate/initialize qty_scratch_rtx. 14409 (block_alloc): Don't allocate quantities for scratches. 14410 Delete code to manage the scratch list. 14411 * regs.h (scratch_list): Delete declaration. 14412 (scratch_block): Delete declaration. 14413 (scratch_list_length): Delete declaration. 14414 * reload1.c (reload): Delete code to manage the scratch list. 14415 (spill_hard_reg): Likewise. 14416 (mark_scratch_live): Delete. 14417 14418 * recog.c (alter_subreg): Delete declaration. 14419 144201998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> 14421 14422 * Makefile.in (cccp.o): Fix typo in last patch. 14423 14424Fri Oct 2 16:13:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14425 14426 * t-sh (LIB1ASMFUNCS): Add _set_fpscr . 14427 * config/sh/lib1funcs.asm (___set_fpscr): Add. 14428 14429Fri Oct 2 02:01:59 1998 Jeffrey A Law (law@cygnus.com) 14430 14431 * regclass.c (reg_scan_mark_refs): Return immediately if passed a 14432 NULL_RTX as an argument. 14433 14434 * Makefile.in (unlibsubdir): Define. 14435 (DRIVER_DEFINES): Use unlibsubdir. 14436 (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly. 14437 (stmp-fixinc): Similarly. 14438 14439Thu Oct 1 19:58:30 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 14440 14441 * regmove.c (regmove_optimize): Add variable old_max_uid. 14442 At the end of the function, update basic_block_end. 14443 14444Thu Oct 1 17:58:25 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 14445 14446 * dwarf2out.c (expand_builtin_dwarf_reg_size): Use 14447 FIRST_PSEUDO_REGISTER as upper bound for last_end, not an 14448 arbitrary constant. 14449 14450Thu Oct 1 17:57:14 1998 Nick Clifton <nickc@cygnus.com> 14451 14452 * config/arm/arm.c: Improve interworking support. 14453 14454Thu Oct 1 18:43:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14455 14456 * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was 14457 copied from reload_out[r] . 14458 14459Thu Oct 1 19:20:09 1998 John Carr <jfc@mit.edu> 14460 14461 * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work 14462 with more than three size ranges. 14463 14464 * flow.c (sbitmap_copy): Use bcopy to copy bitmap. 14465 14466 * rtl.c (mode_name): Add a null string at the end of the array. 14467 (mode_wider_mode): Change type to unsigned char. 14468 (mode_mask_array): New variable. 14469 (init_rtl): Update for mode_wider_mode type change. 14470 14471 * rtl.h (mode_wider_mode): Change type to unsigned char. 14472 (mode_mask_array): Declare. 14473 (GET_MODE_MASK): Use mode_mask_array. 14474 14475Thu Oct 1 15:56:01 1998 Gavin Romig-Koch <gavin@cygnus.com> 14476 14477 * calls.c (expand_call) : Encapsulate code into 14478 copy_blkmode_from_reg. 14479 * expr.c (copy_blkmode_from_reg): New function. 14480 * expr.h (copy_blkmode_from_reg): New function. 14481 * integrate.c (function_cannot_inline_p): We can inline 14482 these now. 14483 (expand_inline_function): Use copy_blkmode_from_reg 14484 if needed. Avoid creating BLKmode REGs. 14485 (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode 14486 object. 14487 14488Thu Oct 1 10:42:27 1998 Nick Clifton <nickc@cygnus.com> 14489 14490 * config/v850/v850.c: Add function prototypes. 14491 Add support for v850 special data areas. 14492 14493 * config/v850/v850.h: Add support for v850 special data areas. 14494 14495 * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and 14496 HANDLE_PRAGMA_PACK_PUSH_POP. 14497 (push_alignment): New function: Cache an alignment requested 14498 by a #pragma pack(push,<n>). 14499 (pop_alignment): New function: Pop an alignment from the 14500 alignment stack. 14501 (insert_pack_attributes): New function: Generate __packed__ 14502 and __aligned__ attributes for new decls whilst a #pragma pack 14503 is in effect. 14504 (add_weak): New function: Cache a #pragma weak directive. 14505 (handle_pragma_token): Document calling conventions. Add 14506 support for #pragma pack(push,<n>) and #pragma pack (pop). 14507 14508 * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP 14509 are defined enable HANDLE_PRAGMA_PACK. 14510 Move 'struct weak_syms' here (from varasm.c). 14511 Add pragma states for push and pop pragmas. 14512 14513 * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES 14514 if it is defined. 14515 14516 * c-lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with 14517 HANDLE_GENERIC_PRAGMAS. 14518 14519 * varasm.c: Move definition of 'struct weak_syms' into 14520 c-pragma.h. 14521 (handle_pragma_weak): Deleted. 14522 14523 * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP. 14524 14525 * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP. 14526 14527 * c-decl.c (start_function): Add invocation of 14528 SET_DEFAULT_DECL_ATTRIBUTES, if defined. 14529 14530 * tm.texi: Remove description of non-existent macro 14531 SET_DEFAULT_SECTION_NAME. 14532 14533 (HANDLE_SYSV_PRAGMA): Document. 14534 (HANDLE_PRAGMA_PACK_PUSH_POP): Document. 14535 14536Wed Sep 30 22:27:53 1998 Robert Lipe <robertl@dgii.com> 14537 14538 * config.sub: Recognize i[34567]86-pc-udk as new target. 14539 * configure.in: Likewise. 14540 * config/i386/t-udk: New file. 14541 * config/i386/udk.h: New file. 14542 14543Wed Sep 30 19:33:07 1998 Jeffrey A Law (law@cygnus.com) 14544 14545 * reorg.c (check_annul_list_true_false): Remove unused variables. 14546 (steal_delay_list_from_target): Add missing "used_annul" variable. 14547 (try_merge_delay_insns): Close out half formed comment. 14548 14549Wed Sep 30 19:13:20 1998 Zack Weinberg <zack@rabi.phys.columbia.edu> 14550 14551 * cpplib.c (macroexpand): If arg->raw_before or 14552 arg->raw_after, remove any no-reexpansion escape at the 14553 beginning of the pasted token. Correct handling of whitespace 14554 markers and no-reexpand markers at the end if arg->raw_after. 14555 14556 * toplev.c (documented_lang_options): Recognize -include, 14557 -imacros, -iwithprefix, -iwithprefixbefore. 14558 * cpplib.c (cpp_start_read): Process -imacros and -include 14559 switches at the same time and in command-line order, after 14560 initializing the dependency-output code. Emit properly nested 14561 #line directives for them. Emit a #line for the main file 14562 before processing these switches, and don't do it again 14563 afterward. 14564 14565Wed Sep 30 18:03:22 1998 Richard Henderson <rth@cygnus.com> 14566 14567 * function.c (purge_addressof_1): Use bitfield manipulation 14568 routines to handle mem mode < reg mode. 14569 14570Wed Sep 30 18:43:32 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl> 14571 14572 * reorg.c (try_merge_delay_insns): Account for resources referenced 14573 in each instruction in INSN's delay list before trying to eliminate 14574 useless instructions. Similarly when looking at a trial insn's delay 14575 slots. 14576 14577 * reorg.c (check_annul_list_true_false): New function. 14578 (steal_delay_list_from_{target,fallthrough}): Call it and also 14579 refine tests for when we may annul if already filled a slot. 14580 (fill_slots_from_thread): Likewise. 14581 (delete_from_delay_slot): Return newly-created thread. 14582 (try_merge_delay_isns): Use its new return value. 14583 14584Wed Sep 30 18:29:26 1998 Jeffrey A Law (law@cygnus.com) 14585 14586 * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is 14587 used to compute a giv or as some other non-counting use. 14588 14589Wed Sep 30 18:19:27 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 14590 14591 * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro. 14592 * local-alloc.c (find_free_reg): Use it. 14593 * global.c (find_reg): Likewise. 14594 * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED. 14595 14596 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro. 14597 * caller-save.c (init_caller_save): Use it. 14598 * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE. 14599 14600Wed Sep 30 12:57:30 1998 Zack Weinberg <zack@rabi.phys.columbia.edu> 14601 14602 * configure.in: Add --enable-cpplib option which uses cpplib 14603 for cpp, but doesn't link cpplib into cc1. Make help text 14604 capitalization consistent. 14605 * configure: Rebuilt. 14606 14607Wed Sep 30 10:09:39 1998 Mark Mitchell <mark@markmitchell.com> 14608 14609 * function.c (gen_mem_addressof): If the address REG is 14610 REG_USERVAR_P make the new REG be so also. 14611 * loop.c (scan_loop): Apply DeMorgan's laws and add documentation 14612 in an attempt to clarify slightly. 14613 14614Wed Sep 30 09:57:40 1998 Jeffrey A Law (law@cygnus.com) 14615 14616 * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF 14617 and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE. 14618 14619Wed Sep 30 10:13:39 1998 Catherine Moore <clm@cygnus.com> 14620 14621 * toplev.c: Fix last patch. 14622 14623Tue Sep 29 20:03:18 1998 Jim Wilson <wilson@cygnus.com> 14624 14625 * loop.c (get_condition): Fix typo in May 9 change. 14626 14627Tue Sep 29 11:11:38 1998 Andrew MacLeod <amacleod@cygnus.com> 14628 14629 * invoke.texi (-fexceptions): Merge 2 different descriptions. 14630 14631Mon Sep 28 22:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14632 14633 * toplev.c (documented_lang_options): Spelling corrections. 14634 14635Mon Sep 28 19:41:24 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 14636 14637 * configure.in: New flags --with-ld and --with-as, equivalent 14638 to setting LD and AS environment variables. Test whether 14639 specified arguments are GNU commands, and report them with 14640 checking messages. Use the specified AS for configure 14641 tests too. 14642 * configure: Likewise. 14643 * acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER. 14644 * config.in: Likewise. 14645 * gcc.c (find_a_file): When looking for `as' and `ld', return 14646 the DEFAULT program if it exists. 14647 * collect2.c (main): Use DEFAULT_LINKER if it exists. 14648 14649 * gcc.c (find_a_file): The test for existence of a full 14650 pathname was reversed. 14651 14652Mon Sep 28 17:34:35 1998 Michael Meissner <meissner@cygnus.com> 14653 14654 * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems. 14655 * rs6000.c (output_mi_thunk): Always use a raw jump for now. 14656 14657Mon Sep 28 14:24:03 1998 Mark Mitchell <mark@markmitchell.com> 14658 14659 * tree.h (TYPE_BINFO): Document. 14660 14661Mon Sep 28 12:55:49 1998 Stan Cox <scox@cygnus.com> 14662 14663 * i386-coff.h (dbxcoff.h): Added. 14664 14665Mon Sep 28 12:51:00 1998 Catherine Moore <clm@cygnus.com> 14666 14667 * toplev.c: Fix bad patch around flag_data_sections. 14668 14669Mon Sep 28 10:32:28 1998 Nick Clifton <nickc@cygnus.com> 14670 14671 * reload1.c (reload): Use reload_address_index_reg_class and 14672 reload_address_base_reg_class when setting 14673 caller_save_spill_class. (Patch generated by Jim Wilson: 14674 wilson@cygnus.com). 14675 14676Mon Sep 28 07:43:34 1998 Mark Mitchell <mark@markmitchell.com> 14677 14678 * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs 14679 and ARRAY_TYPEs. Tidy up. Improve support for type-punning. 14680 * expr.c (store_field): Add alias_set parameter. Set the 14681 MEM_ALIAS_SET accordingly, if the target is a MEM. 14682 (expand_assignment): Use it. 14683 (store_constructor_field): Pass 0. 14684 (expand_expr): Likewise. 14685 14686Mon Sep 28 07:54:03 1998 Catherine Moore <clm@cygnus.com> 14687 14688 * flags.h: Add flag_data_sections. 14689 * toplev.c: Add option -fdata-sections. Add flag_data_sections. 14690 (compile_file): Error if flag_data_sections not supported. 14691 * varasm.c (assemble_variable): Handle flag_data_sections. 14692 * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME. 14693 * config/mips/elf.h: Likewise. 14694 * config/mips/elf64.h: Likewise. 14695 * invoke.texi: Describe -fdata-sections. 14696 14697Mon Sep 28 04:15:44 1998 Craig Burley <burley@melange.gnu.org> 14698 14699 * invoke.texi (-ffloat-store): Clarify that this option 14700 does not affect intermediate results -- only variables. 14701 14702Mon Sep 28 04:11:35 1998 Jeffrey A Law (law@cygnus.com) 14703 14704 * cpp.texi: Update for Fortran usage from Craig. 14705 14706Fri Sep 25 22:09:47 1998 David Edelsohn <edelsohn@gnu.org> 14707 14708 * rs6000.c (function_arg_boundary): Revert accidental change on 14709 September 18. 14710 14711Fri Sep 25 20:30:00 1998 Michael Meissner <meissner@cygnus.com> 14712 14713 * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk. 14714 (output_mi_thunk): Declare. 14715 14716 * rs6000.c (output_mi_thunk): Function to create thunks for MI. 14717 (output_function_profiler): Use r12 for temp, instead of r11 so 14718 that we preserve the static chain register. 14719 14720Fri Sep 25 14:18:33 1998 Jim Wilson <wilson@cygnus.com> 14721 14722 * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums. 14723 14724Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14725 14726 * sh.c (gen_shl_sext): Fix case 5. 14727 14728Fri Sep 25 17:35:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14729 14730 * reload1.c (reload_combine): Re-add line that got accidentally lost. 14731 14732Fri Sep 25 10:43:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 14733 14734 * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid 14735 accessing variables until they are initialized via va_arg(). 14736 14737Thu Sep 24 22:12:16 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 14738 14739 * reload1.c (reload_combine): Initialize set before using. 14740 14741Thu Sep 24 18:53:20 1998 Jason Merrill <jason@yorick.cygnus.com> 14742 14743 * sdbout.c (sdbout_field_types): Don't emit the types of fields we 14744 won't be emitting. 14745 14746Thu Sep 24 17:05:30 1998 Nick Clifton <nickc@cygnus.com> 14747 14748 * config/arm/arm.md (insv): Add comment. In CONST_INT case, and 14749 operand3 with mask before using it. Patch provided by Jim Wilson. 14750 14751Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> 14752 14753 * config/sparc/sparc.c (function_value): Perform the equivalent of 14754 PROMOTE_MODE for ARCH64. 14755 (eligible_for_epilogue_delay): Allow DImode operations in delay 14756 slot of a return for ARCH64. 14757 14758Thu Sep 24 22:17:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14759 14760 * sh.md (sqrtsf2): Fix mode of sqrt. 14761 14762Thu Sep 24 21:48:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14763 14764 * reload1.c (choose_reload_regs): Also try inheritance when 14765 reload_in is a stack slot of a pseudo, even if we already got a 14766 reload reg. 14767 14768Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14769 14770 * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs. 14771 (reload_cse_regs): New function body: call reload_cse_regs_1, 14772 reload_combine, reload_cse_move2add. 14773 When doing expensive_optimizations, call reload_cse_regs_1 a 14774 second time after reload_cse_move2add. 14775 (reload_combine, reload_combine_note_store): New functions. 14776 (reload_combine_note_use): New function. 14777 (reload_cse_move2add, move2add_note_store): New functions. 14778 14779Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14780 14781 * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR 14782 reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing. 14783 14784 Properly keep track of first RELOAD_FOR_X_ADDRESS also for 14785 more than 3 such reloads. 14786 14787 If there is not more than one RELOAD_FOR_X_ADDRESS, don't change 14788 RELOAD_FOR_X_ADDR_ADDR reload. 14789 14790Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 14791 14792 * expr.c (store_constructor): When initializing a field that is smaller 14793 than a word, at the start of a word, try to widen it to a full word. 14794 14795 * cse.c (cse_insn): When we are about to change a register, 14796 remove any invalid references to it. 14797 14798 (remove_invalid_subreg_refs): New function. 14799 (mention_regs): Special treatment for SUBREGs. 14800 (insert_regs): Don't strip SUBREG for call to mention_regs. 14801 Check if reg_tick needs to be bumped up before that call. 14802 (lookup_as_function): Try to match known word_mode constants when 14803 looking for a norrower constant. 14804 (canon_hash): Special treatment for SUBREGs. 14805 14806Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 14807 14808 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define. 14809 * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is 14810 defined, emit libcall to __enable_execute_stack. Also fix opcodes 14811 and offsets in actual stack trampoline code so they match the 14812 commentary and actually work. 14813 14814Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> 14815 14816 * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for 14817 tmake_file. 14818 (sparc64-*-linux): Use t-linux and sparc/t-linux64 for 14819 tmake_file. Set extra_parts to needed crt objects. 14820 * configure: Rebuilt. 14821 * config/sparc/linux64.h (SPARC_BI_ARCH): Define. 14822 (TARGET_DEFAULT): Set if default is v9 or ultra. 14823 (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros. 14824 (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH. 14825 (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise. 14826 (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC, 14827 LINK_SPEC, LINK_ARCH_SPEC): Likewise. 14828 (TARGET_VERSION): Define. 14829 (MULTILIB_DEFAULT): Define. 14830 * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that 14831 mixed 32/64 bit compilers based upon SPARC_BI_ARCH work. 14832 (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define 14833 appropriately. 14834 (TARGET_SWITCHES): Allow ptr32/ptr64 options once more. 14835 * config/sparc/sparc.c (sparc_override_options): If arch and 14836 pointer size disagree, emit diagnostic and fix it up. If 14837 SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off 14838 V8PLUS in 64-bit mode. 14839 * config/sparc/t-linux64: New file. 14840 * config/sparc/t-sol2-64: New file. 14841 * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS. 14842 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define. 14843 (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC, 14844 CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define. 14845 (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those. 14846 (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC): 14847 Define. 14848 (STARTFILE_SPEC): Set appropriately based upon those. 14849 (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon 14850 disposition of DEFAULT_ARCH32_P. 14851 (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define. 14852 (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those. 14853 (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P. 14854 (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH. 14855 * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on 14856 arch64/v9. 14857 * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise. 14858 14859Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com> 14860 14861 * rtl.h (init_virtual_regs): New function. 14862 * emit-rtl.c (init_virtual_regs): Define. 14863 (insn_emit): Use it. 14864 * integrate.c (save_for_inline_copying): Likewise. 14865 14866Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com> 14867 14868 * config/arm/thumb.h: The following patches were made by Jim Wilson: 14869 (enum reg_class): Add NONARG_LO_REGS support. 14870 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS, 14871 PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise. 14872 (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload 14873 completes. Re-enable HImode REG+OFFSET addresses. 14874 (LEGITIMIZE_RELOAD_ADDRESS): Define. 14875 14876 * expmed.c (extract_bit_field): Add comment from Jim Wilson. 14877 14878Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com> 14879 14880 * alpha.c (get_aligned_mem): Revert Sep 20 change. 14881 (alpha_set_memflags, alpha_set_memflags_1): Likewise. 14882 (alpha_align_insns): Properly calculate initial offset wrt max_align. 14883 14884Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com) 14885 14886 * arm.c (find_barrier): Revert change of Apr 23. Handle table 14887 jumps as a single entity, taking into account the size of the 14888 table. 14889 14890Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 14891 14892 * tree.def (SWITCH_EXPR): New tree node definition. 14893 14894Mon Sep 21 23:40:38 1998 Jeff Law (law@cygnus.com) 14895 14896 * version.c: Bump for snapshot. 14897 14898Mon Sep 21 22:31:14 1998 Jeff Law (law@cygnus.com) 14899 14900 * version.c: Bump for snapshot. 14901 14902Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com) 14903 14904 * configure.in: Recognize i[34567]86-*-openbsd* and handle it like 14905 NetBSD. 14906 14907Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com) 14908 14909 * Revert this patch. 14910 * reload.c (find_reloads): Do not replace a pseudo with 14911 (MEM (reg_equiv_addr)) in the initializing insn for the 14912 pseudo. 14913 14914Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu> 14915 14916 * final.c (final_scan_insn): Disable tracking CC across branches. 14917 14918Mon Sep 21 17:15:26 1998 Andrew MacLeod <amacleod@cygnus.com> 14919 14920 * expr.h (eh_rtime_match_libfunc): New extern declaration. 14921 * optabs.c (init_optabs): Set eh_rtime_match_libfunc. 14922 * except.c (start_catch_handler): Use eh_rtime_match_libfunc. 14923 * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is 14924 NULL. Only include <stdio.h> if inhibit_libc is not defined. 14925 14926Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com> 14927 14928 * toplev.c (rest_of_compilation): Skip compiling anything with 14929 DECL_EXTERNAL set, not just if it has DECL_INLINE as well. 14930 14931Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com> 14932 14933 * flow.c (find_basic_blocks): Delete check for in_libcall_block when 14934 prev_code is a CALL_INSN. Change check for REG_RETVAL note to 14935 use in_libcall_block. 14936 (find_basic_blocks_1): Delete check for in_libcall_block when prev_code 14937 is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code 14938 to INSN. 14939 14940Mon Sep 21 14:02:23 1998 Robert Lipe <robertl@dgii.com> 14941 14942 * i386.h (TARGET_SWITCHES): Improve doc for align-double. Fix 14943 typo in no-fancy-math-387 description. 14944 14945Mon Sep 21 09:27:18 1998 Jeff Law (law@cygnus.com) 14946 14947 * version.c: Bump for snapshot. 14948 14949Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com> 14950 14951 * i386-coff.h (DBX_DEBUGGING_INFO): Added. 14952 14953Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com> 14954 14955 * i386.h (TARGET_SWITCHES): Add description fields for flags 14956 documented in install.texi. 14957 (TARGET_OPTIONS): Likewise. 14958 14959Mon Sep 21 01:39:03 1998 Jeff Law (law@cygnus.com) 14960 14961 * version.c: Bump for snapshot. 14962 14963Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com> 14964 14965 * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT (). 14966 * cccp.c (main): Likewise. 14967 14968 * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h: 14969 Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some 14970 macro-use bugs. 14971 14972Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com> 14973 14974 * Makefile.in (LIBS): Link in libiberty.a. 14975 * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy. 14976 14977Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com> 14978 14979 * reload1.c (emit_reload_insns): Accept a new arg for the bb. Use 14980 it to update bb boundaries. Update caller. 14981 * function.c (reposition_prologue_and_epilogue_notes): Update 14982 bb boundaries wrt the moved note. 14983 14984Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com> 14985 14986 * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder 14987 problems. 14988 * configure: Regenerate. 14989 14990Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com> 14991 14992 * alpha.c (alpha_sr_alias_set): New variable. 14993 (override_options): Set it. 14994 (alpha_expand_prologue, alpha_expand_epilogue): Use it. 14995 (mode_mask_operand): Fix signed-unsigned comparison warning. 14996 (alpha_expand_block_move): Likewise. 14997 (print_operand): Likewise. 14998 (get_aligned_mem): Use change_address. 14999 (alpha_set_memflags, alpha_set_memflags_1): Set the alias set. 15000 (alphaev4_insn_pipe, alphaev4_next_group): New functions. 15001 (alphaev4_next_nop, alphaev5_next_nop): New functions. 15002 (alpha_align_insns): Remade from old alphaev5_align_insns 15003 to handle multiple processors. 15004 (alpha_reorg): Call alpha_align_insns for both ev4 and ev5. 15005 * output.h (label_to_alignment): Prototype. 15006 15007 * tree.c (new_alias_set): New function. 15008 * tree.h (new_alias_set): Declare it. 15009 * c-common.c (c_get_alias_set): Use it. 15010 15011Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com> 15012 15013 * fold-const.c (fold): Yet another COND_EXPR bug: when folding 15014 to an ABS expr, convert an unsigned input to signed. 15015 15016Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com) 15017 15018 * fold-const.c (fold): Fix another type in COND_EXPR handling code. 15019 150201998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 15021 15022 * configure.in: Add support for c4x targets. 15023 * configure: Rebuilt. 15024 15025Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com> 15026 15027 * combine.c (distribute_notes): If an insn is a cc0 user, only 15028 delete it if we can also delete the cc0 setter. 15029 15030Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org> 15031 15032 * fold-const.c (fold): Fix typo in COND_EXPR handling code. 15033 (invert_truthvalue): Enable truthvalue inversion for 15034 floating-point operands if -ffast-math. 15035 15036Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca> 15037 15038 * configure.in: Disable collect2 for nextstep. Instead use 15039 crtbegin/crtend. 15040 * configure: Rebuilt. 15041 * config/nextstep.h (STARTFILE_SPEC): Add crtbegin. 15042 (ENDFILE_SPEC): Define. 15043 (OBJECT_FORMAT_MACHO): Define. 15044 (EH_FRAME_SECTION_ASM_OP): Define. 15045 * crtstuff.c: Handle MACHO. 15046 15047Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com> 15048 15049 * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define. 15050 150511998-09-19 Torbjorn Granlund <tege@matematik.su.se> 15052 15053 * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0. 15054 (_fpadd_parts): Get sign right for 0. 15055 150561998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 15057 15058 * ginclude/varargs.h: Add support for C4x target. 15059 * ginclude/stdargs.h: Likewise. 15060 15061Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com> 15062 15063 * alpha.c (alpha_return_addr): SET should be VOIDmode. 15064 (alpha_emit_set_long_const): Rewrite to be callable from reload 15065 and 32-bit hosts. 15066 (alpha_expand_epilogue): Update for alpha_emit_set_long_const. 15067 * alpha.md (movdi): Likewise. 15068 15069Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com) 15070 15071 * arm.c (add_constant): New parameter address_only, change caller. 15072 Set it non-zero if taking the address of an item in the pool. 15073 (arm_reorg): Handle cases where we need the address of an item in 15074 the pool. 15075 15076 * arm.c (bad_signed_byte_operand): Check both arms of a sum in 15077 a memory address. 15078 * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle 15079 memory addresses that are not in standard canonical form. 15080 15081Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz) 15082 15083 * README.C4X: New file with information about the c4x ports. 15084 * ginclude/va-c4x.h: New file for c4x varargs support. 15085 * config/c4x: New directory with c4x port files. 15086 15087Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com) 15088 15089 * reload.c (find_reloads): Do not replace a pseudo with 15090 (MEM (reg_equiv_addr)) in the initializing insn for the 15091 pseudo. 15092 15093Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@gnu.org> 15094 15095 * toplev.c (rest_of_compilation): Set bct_p on second call to 15096 loop_optimize. 15097 * loop.c (loop_optimize, scan_loop, strength_reduce): New argument 15098 bct_p. 15099 (strength_reduce): Only call analyze_loop_iterations and 15100 insert_bct if bct_p set. 15101 (check_dbra_loop): Fix typo. 15102 (insert_bct): Use word_mode instead of SImode. 15103 (instrument_loop_bct): Likewise. Do not delete iteration count 15104 condition code generation insn. Initialize iteration count before 15105 loop start. 15106 * rtl.h (loop_optimize): Update prototype. 15107 15108 * ginclude/va-ppc.h (va_arg): longlong types in overflow area are 15109 not doubleword aligned. 15110 15111 * rs6000.c (optimization_options): New function. 15112 (secondary_reload_class): Only call true_regnum for PSEUDO_REGs. 15113 * rs6000.h (OPTIMIZATION_OPTIONS): Define. 15114 (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters 15115 first; cr1 can be used for FP record condition insns. 15116 15117Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com> 15118 15119 * config/m32r/m32r.h (m32r_block_immediate_operand): Add to 15120 PREDICATE_CODES. 15121 15122 * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal" 15123 patterns. 15124 15125 * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p' 15126 operators. 15127 (block_move_call): New function: Call a library routine to copy a 15128 block of memory. 15129 (m32r_expand_block_move): New function: Expand a "movstrsi" 15130 pattern into a sequence of insns. 15131 (m32r_output_block_move): New function: Expand a 15132 "movstrsi_internal" pattern into a sequence of assembler opcodes. 15133 (m32r_block_immediate_operand): New function: Return true if the 15134 RTL is an integer constant, less than or equal to MAX_MOVE_BYTES. 15135 15136Thu Sep 17 16:42:16 1998 Andrew MacLeod <amacleod@cygnus.com> 15137 15138 * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and 15139 re-align some code. 15140 * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>. 15141 15142Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 15143 15144 * regmove.c (copy_src_to_dest): Check that modes match. 15145 15146Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com> 15147 15148 * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF. 15149 15150Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com> 15151 15152 * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class 15153 narrower than FLOAT_REGS. 15154 15155Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 15156 15157 * cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR. 15158 * cccp.c: Likewise. 15159 * Makefile.in (old_gxx_include_dir): Removed. 15160 15161Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com> 15162 15163 * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match 15164 new specification. 15165 15166 * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma(). 15167 (sh_handle_pragma): Change function arguments to match new 15168 specification for HANDLE_PRAGMA. 15169 15170Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 15171 15172 * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to 15173 `unsigned char'. 15174 (main): Mark parameter `argc' with ATTRIBUTE_UNUSED. 15175 When generating output, initialize missing struct member to zero. 15176 15177Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 15178 15179 * regmove.c (copy_src_to_dest): Don't copy if that requires 15180 (a) new register(s). 15181 15182Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 15183 15184 * global.c (reg_allocno): Now static. 15185 * reload1.c (reg_allocno): Delete declaration. 15186 (order_regs_for_reload): Take no arguments. Don't treat regs 15187 allocated by global differently than those allocated by local-alloc. 15188 15189Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl> 15190 15191 * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q 15192 condition, fix format strings. 15193 (output_function_epilogue): Likewise. 15194 15195 * m68k/m68k.c: Don't include <stdlib.h> directly. 15196 15197Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au> 15198 15199 * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set, 15200 mem_first_set, mem_last_set; because 0 can be a CUID. 15201 (oprs_unchanged_p): Use new definition. 15202 (record_last_reg_set_info): Likewise. 15203 (record_last_mem_set_info): Likewise. 15204 (compute_hash_table): Likewise. 15205 15206Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com) 15207 15208 * rs6000.c (output_epilogue): Handle Chill. 15209 15210 * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define. 15211 * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define. 15212 15213 * combine.c (make_extraction): If no mode is specified for 15214 an operand of insv, extv, or extzv, default it to word_mode. 15215 (simplify_comparison): Similarly. 15216 * expmed.c (store_bit_field): Similarly. 15217 (extract_bit_field): Similarly. 15218 * function.c (fixup_var_regs_1): Similarly. 15219 * recog.c (validate_replace_rtx_1): Similarly. 15220 * mips.md (extv, extzv, insv expanders): Default modes for most 15221 operands. Handle TARGET_64BIT. 15222 (movdi_uld, movdi_usd): New patterns. 15223 15224 * pa.c (emit_move_sequence): Do not replace a pseudo with its 15225 equivalent memory location unless we have been provided a scratch 15226 register. Similarly do not call find_replacement unless a 15227 scratch register has been provided. 15228 15229Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 15230 15231 * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants, 15232 return FLOAT_REGS. 15233 15234Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com> 15235 15236 * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill. 15237 (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill. 15238 (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill. 15239 (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New. 15240 * c-decl.c (init_decl_processing): Update accordingly. 15241 * expr.c (expand_builtin): Likewise. 15242 15243 * rtl.h (global_rtl): Add cfa entry. 15244 (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New. 15245 (LAST_VIRTUAL_REGISTER): Update. 15246 * emit-rtl.c (global_rtl): Add cfa entry. 15247 (init_emit): Initialize it. 15248 * function.c (cfa_offset): New. 15249 (instantiate_virtual_regs): Initialize it. 15250 (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx. 15251 (expand_function_end): Call expand_eh_return. 15252 * tm.texi (ARG_POINTER_CFA_OFFSET): New. 15253 15254 * except.c (current_function_eh_stub_label): Kill. 15255 (current_function_eh_old_stub_label): Likwise; update all references. 15256 (expand_builtin_set_return_addr_reg): Kill. 15257 (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill. 15258 (expand_builtin_set_eh_regs): Kill. 15259 (eh_regs): Produce a third reg for the actual handler address. 15260 (eh_return_context, eh_return_stack_adjust): New. 15261 (eh_return_handler, eh_return_stub_label): New. 15262 (init_eh_for_function): Initialize them. 15263 (expand_builtin_eh_return, expand_eh_return): New. 15264 * except.h: Update prototypes. 15265 * flow.c (find_basic_blocks_1): Update references to the stub label. 15266 * function.h (struct function): Kill stub label elements. 15267 15268 * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the 15269 register number is one that would be in the previous window. 15270 Provide a dummy definition for non-windowed targets. 15271 (get_reg_addr): New function. 15272 (get_reg, put_reg, copy_reg): Use it. 15273 (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub 15274 generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa. 15275 15276 * alpha.c (alpha_eh_epilogue_sp_ofs): New. 15277 (alpha_init_expanders): Initialize it. 15278 (alpha_expand_epilogue): Use it. 15279 * alpha.h: Declare it. 15280 * alpha.md (eh_epilogue): New. 15281 15282 * m68h.h (ARG_POINTER_CFA_OFFSET): New. 15283 * sparc.h (ARG_POINTER_CFA_OFFSET): New. 15284 15285Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com> 15286 15287 * i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant 15288 flag bit mask. 15289 15290Tue Sep 15 14:10:54 1998 Andrew MacLeod <amacleod@cygnus.com> 15291 15292 * except.h (struct eh_entry): Add false_label field. 15293 (end_catch_handler): Add prototype. 15294 * except.c (push_eh_entry): Set false_label field to NULL_RTX. 15295 (start_catch_handler): When using old style exceptions, issue 15296 runtime typematch code before continuing with the handler. 15297 (end_catch_handler): New function, generates label after handler 15298 if needed by older style exceptions. 15299 (expand_start_all_catch): No need to check for new style exceptions. 15300 (output_exception_table_entry): Only output the first handler label 15301 for old style exceptions. 15302 * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching 15303 mechanism into one function, if a runtime matcher is provided. 15304 15305Tue Sep 15 13:53:59 1998 Andrew MacLeod <amacleod@cygnus.com> 15306 15307 * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1. 15308 15309Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com> 15310 15311 * integrate.c (copy_decl_list): Fix typo. 15312 15313Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15314 15315 * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length 15316 attribute. 15317 15318Mon Sep 14 14:02:53 1998 Jeff Law (law@cygnus.com) 15319 15320 * version.c: Bump for snapshot. 15321 15322Mon Sep 14 10:33:56 1998 Jeff Law (law@cygnus.com) 15323 15324 * version.c: Bump for snapshot. 15325 15326Mon Sep 14 09:51:05 1998 Jeff Law (law@cygnus.com) 15327 15328 * version.c: Bump for snapshot. 15329 15330Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15331 15332 * invoke.texi (C Dialect Options): Put back missing @end itemize. 15333 15334Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br> 15335 15336 * configure.in: Remove usage of `!' to negate the result of a 15337 command; some common shells do not support it. 15338 15339Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15340 15341 * configure.in: In sparc9-sol2 config, use 'if test' not 15342 brackets. 15343 * configure: Rebuilt. 15344 15345 * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to 15346 CM_MEDANY. 15347 (CPP_CPU_SPEC): Do not define _LP64, header files do this. 15348 (CPP_CPU_DEFAULT_SPEC): Likewise. 15349 * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right 15350 for arch64 libfuncs. 15351 15352 * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode 15353 for operand zero. 15354 15355Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 15356 15357 * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub. 15358 15359 * collect2.c: Don't declare `sys_siglist' here. 15360 (my_strsignal): Prototype and define new function. Use it in 15361 place of `sys_siglist' hacks. 15362 15363 * mips_tfile.c: Likewise. 15364 15365 * configure.in (AC_CHECK_FUNCS): Check for strsignal. 15366 (GCC_NEED_DECLARATIONS): Likewise. 15367 15368 * system.h (strsignal): Prototype it, if necessary. 15369 (sys_siglist): Declare it, if necessary. 15370 15371Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15372 15373 * loop.c (move_movables): While removing insn sequences, preserve 15374 the next pointer of the most recently deleted insn when we skip 15375 over a NOTE. 15376 15377Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com> 15378 15379 * objc/config-lang.in: Do not output the name of the selected 15380 thread file when building the front-end. The Makefile for the 15381 runtime library will do this. 15382 15383 * objc/Make-lang.in: Do not build the runtime library or install 15384 the Objective C header files. The Makefile for the runtime 15385 library will do this. 15386 15387 * objc/Makefile.in (all.indirect): Only build the front-end. 15388 (compiler): Rename to `frontend'. 15389 (obj-runtime): Remove target. 15390 (copy-headers): Likewise. 15391 (clean): No need to remove `libobjc.a' any longer. 15392 15393Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com> 15394 15395 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines 15396 supported with -mcpu=xxx. 15397 15398Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15399 15400 * flow.c (mark_set_1): Recognize multi-register structure return 15401 values in CALL insns. 15402 (mark_used_regs): Likewise. 15403 (count_reg_sets_1): Likewise. 15404 (count_reg_references): Likewise. 15405 * rtlanal.c (note_stores): Likewise. 15406 (reg_overlap_mentioned_p): Likewise. 15407 * haifa-sched.c (check_live_1): Likewise. 15408 (update_live_1): Likewise. 15409 (sched_analyze_1): Likewise. 15410 (sched_note_set): Likewise. 15411 (birthing_insn_p): Likewise. 15412 (attach_deaths): Likewise. 15413 15414 * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable. 15415 15416Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com> 15417 15418 * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h. 15419 15420Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15421 15422 * glimits.h (__LONG_MAX__): Recognize __sparcv9 too. 15423 15424Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> 15425 15426 * configure.in: Add check for GAS subsection -1 support. 15427 * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add. 15428 * configure config.in: Rebuilt. 15429 * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use 15430 SImode is subsection -1 works, else use DImode. 15431 (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if 15432 subsection -1 works. 15433 * config/sparc/sparc.c (sparc_output_addr_vec, 15434 sparc_output_addr_diff_vec): Use them if defined. 15435 15436Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com> 15437 15438 * tree.h (DECL_ORIGIN): New macro. 15439 * integrate.c (copy_and_set_decl_abstract_origin): New function. 15440 (copy_decl_list): Use it. 15441 (integrate_parm_decls): Likewise. 15442 (integrate_decl_tree): Likewise. 15443 * dwarf2out.c (decl_ultimate_origin): Simplify. 15444 * dwarfout.c (decl_ultimate_origin): Likewise. 15445 * c-decl.c (duplicate_decls): Use DECL_ORIGIN. 15446 (pushdecl): Likewise. 15447 15448Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com> 15449 15450 * config/rs6000/rs6000.c (output_epilog): Add Java support. 15451 15452Thu Sep 10 14:48:59 1998 Martin von L�wis <loewis@informatik.hu-berlin.de> 15453 15454 * invoke.texi (C++ Dialect Options): Document -fhonor-std. 15455 15456Thu Sep 10 01:38:05 1998 Jeffrey A Law (law@cygnus.com) 15457 15458 * reg-stack.c (straighten_stack): Do nothing if the virtual stack is 15459 empty or has a single entry. 15460 15461 * toplev.c (rest_of_compilation): Open up the dump file for reg-stack 15462 before calling reg_to_stack. 15463 15464Thu Sep 10 00:03:34 1998 Richard Henderson <rth@cygnus.com> 15465 15466 * alpha.c (alphaev5_insn_pipe): Abort on default case. 15467 (alphaev5_next_group): Swallow CLOBBERs and USEs. 15468 15469 * c-tree.h (warn_long_long): Declare it. 15470 15471Wed Sep 9 23:31:36 1998 (Stephen L Moshier) <moshier@world.std.com> 15472 15473 * emit-rtl.c (gen_lowpart_common): Disable optimization of 15474 initialized float-int union if the value is a NaN. 15475 15476Wed Sep 9 23:00:48 1998 Nathan Sidwell <nathan@acm.org> 15477 15478 * c-lex.c (real_yylex): Don't warn about long long constants if 15479 we're allowing long long 15480 15481Wed Sep 9 21:58:41 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> 15482 15483 * except.h (current_function_eh_stub_label): Declare. 15484 (current_function_eh_old_stub_label): Declare. 15485 * function.h (struct function): New members eh_stub_label and 15486 eh_old_stub_label. 15487 * except.c (current_function_eh_stub_label): New variable. 15488 (current_function_eh_old_stub_label): New variable. 15489 (init_eh_for_function): Clear them. 15490 (save_eh_status): Save them. 15491 (restore_eh_status): Restore them. 15492 (expand_builtin_eh_stub): Set current_function_eh_stub_label. 15493 (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label. 15494 * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't 15495 make an edge from the block that contains it to the block starting 15496 with the label if this label is one of the eh stub labels. 15497 If eh stub labels exist, show they are reachable from the last block 15498 in the function. 15499 15500 * reload1.c (reload): Break out several subroutines and make some 15501 variables global. 15502 (calculate_needs_all_insns): New function, broken out of reload. 15503 (calculate_needs): Likewise. 15504 (find_reload_regs): Likewise. 15505 (find_group): Likewise. 15506 (find_tworeg_group): Likewise. 15507 (something_needs_reloads): New global variable, formerly in reload. 15508 (something_needs_elimination): Likewise. 15509 (caller_save_spill_class): Likewise. 15510 (caller_save_group_size): Likewise. 15511 (max_needs): Likewise. 15512 (group_size): Likewise. 15513 (max_groups): Likewise. 15514 (max_nongroups): Likewise. 15515 (group_mode): Likewise. 15516 (max_needs_insn): Likewise. 15517 (max_groups_insn): Likewise. 15518 (max_nongroups_insn): Likewise. 15519 (failure): Likewise. 15520 15521 * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET. 15522 15523Wed Sep 9 13:14:41 1998 Richard Henderson <rth@cygnus.com> 15524 15525 * loop.c (load_mems): Copy rtx for output mem. 15526 15527Wed Sep 9 15:16:58 1998 Gavin Romig-Koch <gavin@cygnus.com> 15528 15529 * mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for 15530 mips1 or mips2 either. 15531 15532Wed Sep 9 12:31:35 1998 Jeffrey A Law (law@cygnus.com) 15533 15534 * pa.c (pa_reorg): New marking scheme for jumps inside switch 15535 tables. 15536 (pa_adjust_insn_length): Update to work with new marking scheme 15537 for jumps inside switch tables. 15538 * pa.md (switch_jump): Remove pattern. 15539 (jump): Handle jumps inside jump tables. 15540 15541 * Makefile.in (profile.o): Depend on insn-config.h 15542 15543Wed Sep 9 09:36:51 1998 Jim Wilson <wilson@cygnus.com> 15544 15545 * iris6.h (DWARF2_UNWIND_INFO): Undef. 15546 15547Wed Sep 9 01:32:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15548 15549 Add preliminary native sparcv9 Solaris support. 15550 * configure.in: Recognize sparv9-*-solaris2* 15551 * configure: Rebuilt. 15552 * config.sub: Recognize sparcv9 just like sparc64. 15553 * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm 15554 config/sparc/sol2-cn.asm: Macroize so it can be shared between 15555 32-bit and 64-bit Solaris systems. 15556 * config/sparc/t-sol2: Assemble those with cpp. 15557 * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9. 15558 (*TF*_LIBCALL): If ARCH64 use V9 names. 15559 * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files. 15560 15561Wed Sep 9 01:07:30 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> 15562 15563 * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation. 15564 (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and 15565 not doing pic. 15566 (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not 15567 Pmode. 15568 * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0 15569 to Pmode if CASE_VECTOR_MODE is something else. 15570 15571Wed Sep 9 00:10:31 1998 Jeffrey A Law (law@cygnus.com) 15572 15573 * prefix.c (update_path): Correctly handle cases where PATH is 15574 a substring of the builtin prefix, but specifies a different 15575 directory location. 15576 15577Tue Sep 8 23:46:04 1998 Hans-Peter Nilsson <hp@axis.se> 15578 15579 * expr.c: Corrected comment about what MOVE_RATIO does. 15580 * config/alpha/alpha.h: Likewise. 15581 * config/1750a/1750a.h: Likewise. 15582 * config/clipper/clipper.h: Likewise. 15583 * config/i386/i386.h: Likewise. 15584 15585Tue Sep 8 22:56:12 1998 Jeffrey A Law (law@cygnus.com) 15586 15587 * configure.in (m68k-next-nextstep3*): Use collect2. 15588 Similarly for x86 NeXT configurations. 15589 * configure: Rebuilt. 15590 15591Tue Sep 8 01:38:57 1998 Nathan Sidwell <nathan@acm.org> 15592 15593 * configure.in: Don't assume srcdir is .../gcc. 15594 * configure: Rebuilt. 15595 15596Sat Sep 5 16:34:34 1998 John Wehle (john@feith.com) 15597 15598 * global.c: Update comments. 15599 (global_alloc): Assign allocation-numbers 15600 even for registers allocated by local_alloc in case 15601 they are later spilled and retry_global_alloc is called. 15602 (mark_reg_store, mark_reg_clobber, 15603 mark_reg_conflicts, mark_reg_death): Always record a 15604 conflict with a pseudo register even if it has been 15605 assigned to a hard register. 15606 (dump_conflicts): Don't list pseudo registers already assigned to 15607 a hard register as needing to be allocated, but do list their 15608 conflicts. 15609 * local-alloc.c: Update comment. 15610 15611Mon Sep 7 23:38:01 1998 Jeffrey A Law (law@cygnus.com) 15612 15613 * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH. 15614 * configure: Rebuilt. 15615 15616Mon Sep 7 22:41:46 1998 Michael Meissner <meissner@cygnus.com> 15617 15618 * rs6000.c (rs6000_override_options): Fix name for ec603e, to add 15619 missing 'c'. 15620 * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx 15621 for all targets that set -msoft-float. 15622 15623Mon Sep 7 23:30:07 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 15624 15625 * toplev.c (print_switch_values): Make static to match prototype. 15626 15627Mon Sep 7 19:13:59 1998 Jeffrey A Law (law@cygnus.com) 15628 15629 * configure.in: If we are unable to find the "gnatbind" program, 15630 then do not configure the ada subdir. 15631 * configure: Rebuilt. 15632 15633Sun Sep 6 14:03:58 1998 Jeff Law (law@cygnus.com) 15634 15635 * version.c: Bump for snapshot. 15636 15637Sun Sep 6 13:28:07 1998 Jeff Law (law@cygnus.com) 15638 15639 * version.c: Bump for snapshot. 15640 15641Sun Sep 6 08:54:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 15642 15643 * Makefile.in (toplev.o): Depend on $(EXPR_H). 15644 (insn-extract.o, insn-attrtab.o): Depend on toplev.h. 15645 15646 * gansidecl.h: Define ATTRIBUTE_NORETURN. 15647 15648 * genattrtab.c: Have insn-attrtab.c include toplev.h. 15649 15650 * genextract.c: Have insn-extract.c include toplev.h. 15651 15652 * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'. 15653 15654 * toplev.c: Include expr.h. 15655 (really_sorry, fancy_abort): Remove prototypes. 15656 (set_target_switch): Add argument in prototype. 15657 (vfatal): Mark prototype with ATTRIBUTE_NORETURN. 15658 (v_really_sorry): Likewise. 15659 (print_version, print_single_switch, print_switch_values): Make 15660 static and add prototype arguments. 15661 (decl_printable_name): Add prototype arguments. 15662 (lang_expand_expr_t): New typedef. 15663 (lang_expand_expr): Declare as a lang_expand_expr_t. 15664 (incomplete_decl_finalize_hook): Add prototype argument. 15665 (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED. 15666 (botch): Likewise for variable `s'. 15667 (rest_of_type_compilation): Mark variables `type' and `toplev' 15668 with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO, 15669 XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined. 15670 (display_help): Make variable `i' an `unsigned long'. 15671 (main): Remove unused parameter `envp'. 15672 Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'. 15673 Cast -1 when comparing it with a `size_t'. 15674 15675 * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark 15676 prototype with ATTRIBUTE_NORETURN. 15677 (fatal_insn_not_found, fatal_insn, really_sorry, 15678 push_float_handler, pop_float_handler): Add prototypes. 15679 (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN. 15680 (do_abort, botch): Add prototypes. 15681 15682Sat Sep 6 12:05:18 1998 John Carr <jfc@mit.edu> 15683 15684 * final.c (final): If a label is reached only from a single jump, 15685 call NOTICE_UPDATE_CC on the jump and its predecessor before 15686 emitting the insn after the label. 15687 15688 * i386.h: Add AMD K6 support. 15689 Change TARGET_* macros to use table lookup. 15690 (INITIALIZE_TRAMPOLINE): Improve trampoline code. 15691 (ADJUST_COST): Change definition to call function in i386.c. 15692 (ISSUE_RATE): Define as 2 for anything newer than an 80486. 15693 * i386.c: Add AMD K6 support. 15694 Add constants for feature tests used by TARGET_* macros. 15695 (split_di): If before reload, call gen_lowpart and gen_highpart. 15696 (x86_adjust_cost): New function. 15697 (put_jump_code): New function. 15698 (print_operand): New codes 'D' and 'd'. 15699 * i386.md: New insn types. New insn attribute "memory". 15700 Redefine scheduling parameters to use new types and add AMD K6 15701 support. Explicitly set type of most insns. 15702 (move insns): K6 prefers movl $0,reg to xorl reg,reg. Pentium 15703 Pro and K6 prefer movl $1,reg to incl reg. 15704 (adddi3, subdi3): Set cc_status. 15705 (DImode shift patterns): Change label counters from HOST_WIDE_INT 15706 to int; x86 can't have more than 2^31 DImode shifts per file. 15707 (setcc): Combine all setcc patterns. Allow writing memory. 15708 Combine all jump patterns using match_operator. 15709 (*bzero): Name pattern. Emit multiple stos instructions when that 15710 is faster than rep stos. 15711 (xordi3, anddi3, iordi3): Simplify DImode logical patterns and 15712 add define_split. 15713 15714Sun Sep 6 11:17:20 1998 Dave Love <d.love@dl.ac.uk> 15715 15716 * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771 15717 linking. 15718 15719Sat Sep 5 22:05:25 1998 Richard Henderson <rth@cygnus.com> 15720 15721 * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence, 15722 not whatever we're generating now. 15723 15724 * alpha.c (set_frame_related_p, FRP): New. 15725 (alpha_expand_prologue): Mark frame related insns. 15726 (alpha_expand_epilogue): Likewise, but with a null FRP. 15727 * alpha.h (INCOMING_RETURN_ADDR_RTX): New. 15728 * alpha.md (exception_receiver): New. 15729 * alpha/crtbegin.asm (.eh_frame): New beginning. 15730 (__do_frame_setup, __do_frame_takedown): New. 15731 * alpha/crtend.asm (.eh_frame): New ending. 15732 * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define. 15733 (ASM_SPEC): Don't emit both dwarf2 and mdebug. 15734 (ASM_FILE_START): Don't emit .file for dwarf2. 15735 15736 * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR. 15737 * rtl.c (reg_note_name): Likewise. 15738 * rtl.texi (REG_NOTES): Likewise. 15739 * dwarf2out.c (dwarf2out_frame_debug): Use it. Recognize a store 15740 without an offset. 15741 15742Sat Sep 5 14:47:17 1998 Richard Henderson <rth@cygnus.com> 15743 15744 * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS. 15745 * i386.md (movsf, movdf, movxf): Validate memory address returned 15746 from force_const_mem. Kill useless REG_EQUAL setting code. 15747 15748Sat Sep 5 14:23:31 1998 Torbjorn Granlund <tege@matematik.su.se> 15749 15750 * m68k.md (zero_extendsidi2): Fix typo. 15751 15752Sat Sep 5 13:40:24 1998 Krister Walfridsson <cato@df.lth.se> 15753 15754 * configure.in: Removed references to the removed file. 15755 * config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for 15756 arm*-*-netbsd* and ns32k-*-netbsd*. 15757 * config/i386/xm-netbsd.h: Removed unnecessary file. 15758 * config/m68k/xm-netbsd.h: Likewise. 15759 * config/sparc/xm-netbsd.h: Likewise. 15760 * config/mips/xm-netbsd.h: Likewise. 15761 15762Sat Aug 29 13:32:58 1998 Mumit Khan <khan@xraylith.wisc.edu> 15763 15764 * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define. 15765 (PCC_BITFIELD_TYPE_MATTERS): Define to be 0. 15766 15767 * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for 15768 for exact section attributions. 15769 15770 * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc 15771 runtime. 15772 * i386/crtdll.h (CPP_PREDEFINES): Define. 15773 15774Sat Sep 5 03:23:05 1998 Jeffrey A Law (law@cygnus.com) 15775 15776 * m68k.md (5200 movqi): Do not allow byte sized memory references 15777 using address regs. 15778 * m68k.c (output_move_qimode): Do not use byte sized operations on 15779 address registers. 15780 15781 * Makefile.in (pexecute.o): Use pexecute.c from libiberty. Provide 15782 explicit rules for building. Similarly for alloca, vfprintf, 15783 choose-temp and mkstemp, getopt, getopt1, and obstack. 15784 (INCLUDES): Add $(srcdir)/../include. 15785 * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete. 15786 * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise. 15787 15788Fri Sep 4 11:57:50 1998 Tom Tromey <tromey@cygnus.com> 15789 15790 * gcc.c (do_spec_1): [case 'o'] Account for 15791 lang_specific_extra_outfiles. 15792 (main): Correctly clear all slots in outfiles for 15793 lang_specific_extra_outfiles. Set input_file_number before 15794 calling lang_specific_pre_link. 15795 15796Fri Sep 4 10:37:07 1998 Jim Wilson <wilson@cygnus.com> 15797 15798 * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call. 15799 15800Fri Sep 4 02:01:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15801 15802 * config/sparc/sparc.c (output_double_int): In all V9 symbolic 15803 cases, use xword. 15804 (sparc_output_deferred_case_vectors): If no work to do, return. 15805 Fix thinko in Sept 1 change. 15806 158071998-09-03 SL Baur <steve@altair.xemacs.org> 15808 15809 * Makefile.in: Add semicolon in BISON definition for portability. 15810 15811Thu Sep 3 13:34:41 1998 Toon Moene <toon@moene.indiv.nluug.nl> 15812 15813 * config/nextstep.c (handle_pragma): Correct name of third 15814 argument. 15815 15816Tue Sep 1 11:30:33 1998 Nick Clifton <nickc@cygnus.com> 15817 15818 * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17). 15819 * config/m32r/m32r.h: Make register 17 be fixed. 15820 * config/m32r/m32r.c: Use SImode for cc operations. 15821 15822Thu Sep 3 18:17:34 1998 Benjamin Kosnik <bkoz@cygnus.com> 15823 15824 * invoke.texi (Warning Options): Add -Wnon-template-friend 15825 documentation. 15826 15827Thu Sep 3 18:16:16 1998 Michael Meissner <meissner@cygnus.com> 15828 15829 * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}. 15830 15831Thu Sep 3 18:05:16 1998 David Edelsohn <edelsohn@gnu.org> 15832 15833 * rs6000.md (movsf): Disable explicit secondary-reload-like 15834 functionality if TARGET_POWERPC64. 15835 (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like 15836 functionality. 15837 15838Thu Sep 3 11:41:40 1998 Robert Lipe <robertl@dgii.com> 15839 15840 * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h 15841 and term.h from fixinc.wrap. 15842 15843Thu Sep 3 09:47:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 15844 15845 * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is 15846 safe to include both string.h and strings.h together. 15847 (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding 15848 which headers to search for function declarations. Continue to 15849 prefer string.h over strings.h when both are not acceptable. 15850 15851 * acconfig.h (STRING_WITH_STRINGS): Add stub. 15852 15853 * configure.in: Call GCC_HEADER_STRING. 15854 15855 * system.h: Test STRING_WITH_STRINGS when deciding which headers 15856 to include. Continue to prefer string.h over strings.h when both 15857 are not acceptable. 15858 15859Wed Sep 2 23:56:29 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15860 15861 * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do 15862 not assume top 32-bits of symbolic addresses are zero if 15863 flag_pic. 15864 15865Thu Sep 3 00:23:21 1998 Richard Henderson <rth@cygnus.com> 15866 15867 * ginclude/va-alpha.h: Protect entire second portion of the 15868 file against double inclusion. 15869 15870Thu Sep 3 00:37:55 1998 Ovidiu Predescu <ovidiu@aracnet.com> 15871 15872 Added support for the Boehm's garbage collector. 15873 * configure.in: Handle --enable-objc-gc. 15874 * configure: Rebuilt. 15875 * Makefile.in (CHECK_TARGETS): Add check-objc. 15876 (check-objc): New rule. 15877 * objc/Make-lang.in: Build a different Objective-C library that 15878 runs with the Boehm's collector. 15879 * objc/encoding.c (objc_round_acc_size_for_types): New function. 15880 * objc/encoding.c: Correctly compute the size of compound types in 15881 the presence of bitfields. Skip the variable name of the type if 15882 any. Added support for long long. 15883 * objc/encoding.h (_C_GCINVISIBLE): New specifier. 15884 (_F_GCINVISIBLE): New mask. 15885 * objc/gc.c: New file. Compute the type memory mask associated with 15886 a class based on the runtime information. 15887 * objc/misc.c: Added the hooks that use the Boehm's collector 15888 allocation functions. 15889 * objc/objc-act.c (build_class_template): Generate a new class 15890 member (gc_object_type) to hold the class' type memory mask. 15891 (build_shared_structure_initializer): Initialize the new member to 15892 NULL. 15893 (encode_complete_bitfield): New function. Generate the new 15894 encoding. 15895 (encode_field_decl): Generate the new encoding only for the GNU 15896 runtime. 15897 * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the 15898 long long types. 15899 (class_get_gc_object_type): New function to mark a pointer instance 15900 variable as a weak pointer. 15901 * objc/objc-features.texi: New file. 15902 * objc/objc.h (gc_object_type): New class member. 15903 * objc/objects.c (class_create_instance): Create a typed memory 15904 object when compiled with Boehm's collector support. 15905 * objc/sendmsg.c (__objc_init_install_dtable): Call 15906 __objc_send_initialize instead of setting the initialize flag. 15907 (__objc_send_initialize): Call __objc_generate_gc_type_description 15908 to generate the class type memory mask. Rewrite the code that 15909 sends the +initialize so that it is called only once (bug report 15910 and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>). 15911 * testsuite/objc: New testsuite for Objective-C type encoding. 15912 * testsuite/lib/objc-torture.exp: New file. 15913 * testsuite/lib/objc.exp: New file. 15914 15915Wed Sep 2 14:47:36 1998 Jim Wilson <wilson@cygnus.com> 15916 15917 * jump.c (jump_optimize): In if/then/else transformations, add 15918 another call to modified_between_p for the jump insn. 15919 15920Wed Sep 2 14:16:49 1998 Jeffrey A Law (law@cygnus.com) 15921 15922 * fix-header.c (symlink): Treat like readlink. 15923 15924Wed Sep 2 19:30:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 15925 15926 * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles 15927 as FT_float. 15928 15929Wed Sep 2 10:06:07 1998 Nick Clifton <nickc@cygnus.com> 15930 15931 * config/nextstep.h: Update HANDLE_PRAGMA macro. 15932 * config/h8300/h8300.h: Update HANDLE_PRAGMA macro. 15933 * config/i960/i960.h: Update HANDLE_PRAGMA macro. 15934 15935 * config/nextstep.c (handle_pragma): Take three arguments, as per 15936 the new HANDLE_PRAGMA macro specification. 15937 * config/h8300/h8300.c (handle_pragma): Take three arguments, as 15938 per the new HANDLE_PRAGMA macro specification. 15939 * config/i960/i960.c (process_pragma): Take three arguments, as 15940 per the new HANDLE_PRAGMA macro specification. 15941 15942Wed Sep 2 09:25:29 1998 Nick Clifton <nickc@cygnus.com> 15943 15944 * c-lex.c (check_newline): Call HANDLE_PRAGMA before 15945 HANDLE_SYSV_PRAGMA if both are defined. Generate warning messages 15946 if unknown pragmas are encountered. 15947 (handle_sysv_pragma): Interpret return code from 15948 handle_pragma_token (). Return success/failure indication rather 15949 than next unprocessed character. 15950 (pragma_getc): New function: retrieves characters from the 15951 input stream. Defined when HANDLE_PRAGMA is enabled. 15952 (pragma_ungetc): New function: replaces characters back into the 15953 input stream. Defined when HANDLE_PRAGMA is enabled. 15954 15955 * c-pragma.c (handle_pragma_token): Return success/failure status 15956 of the parse. 15957 15958 * c-pragma.h: Change prototype of handle_pragma_token(). 15959 15960 * varasm.c (handle_pragma_weak): Only create this function if 15961 HANDLE_PRAGMA_WEAK is defined. 15962 15963 * c-common,c (decl_attributes): If defined call the expression 15964 contained within the INSERT_ATTRIBUTES macro before adding 15965 attributes to a decl. 15966 15967 * tm.texi (HANDLE_PRAGMA): Document the new version of 15968 HANDLE_PRAGMA, which takes three arguments. 15969 (INSERT_ATTRIBUTES): Document this new macro. 15970 15971 * LANGUAGES: Document the new version of HANDLE_PRAGMA and the 15972 new INSERT_ATTRIBUTES macro. 15973 15974Wed Sep 2 02:03:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15975 15976 * config/sparc/sparc.md (movdf): Only generate special RTL for 15977 LABEL_REFs when PIC. 15978 (move_label_di): Remove. 15979 (movdi_pic_label_ref, movdi_high_pic_label_ref, 15980 movdi_lo_sum_pic_label_ref): New patterns for 64-bit label 15981 references when PIC. 15982 * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT, 15983 ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW, 15984 output an .xword for all 64-bit cases. 15985 15986Tue Sep 1 15:55:17 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15987 15988 * config/sparc/sparc.c (finalize_pic): Don't output arbitrary 15989 alignment, use FUNCTION_BOUNDARY instead. 15990 (sparc_output_deferred_case_vectors): Likewise. 15991 15992Mon Aug 31 17:25:41 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 15993 15994 * config/sparc/sparc.md (movsf_const_intreg): Kill warning. 15995 (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives. 15996 15997Mon Aug 31 13:57:55 1998 Richard Henderson <rth@cygnus.com> 15998 15999 * alpha/va_list.h: New file. 16000 * alpha/x-alpha (EXTRA_HEADERS): New. Add va_list.h. 16001 16002Mon Aug 31 14:55:02 1998 Jeffrey A Law (law@cygnus.com) 16003 16004 * NEWS: Add SCO Openserver and Unixware 7 notes. 16005 16006 * NEWS: Fix typos. 16007 16008Mon Aug 31 15:42:18 1998 Dave Brolley <brolley@cygnus.com> 16009 16010 * varasm.c (compare_constant_1): Handle RANGE_EXPR. 16011 (record_constant_1): Handle RANGE_EXPR. 16012 16013Mon Aug 31 10:54:03 1998 Richard Henderson <rth@cygnus.com> 16014 16015 * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap. 16016 * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START 16017 and NOTE_INSN_RANGE_END specially. 16018 (reemit_notes): Likewise. 16019 16020Mon Aug 31 10:18:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 16021 16022 * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'. 16023 (ultrasparc_sched_init): Remove unneeded &. 16024 16025Mon Aug 31 10:47:16 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 16026 16027 * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040 16028 for m68020-60, to prevent the use of fintrz. 16029 16030Sun Aug 30 22:17:20 1998 Mark Mitchell <mark@markmitchell.com> 16031 16032 * configure.in: If the native compiler is GCC use $(WARN_CFLAGS) 16033 even in stage1. 16034 * Makefile.in: Likewise. 16035 * configure: Regenerated. 16036 16037Sun Aug 30 22:15:41 1998 H.J. Lu (hjl@gnu.org) 16038 16039 * configure.in (gxx_include_dir): Changed to 16040 '${prefix}/include/g++'-${libstdcxx_interface}. 16041 * configure: Rebuilt. 16042 16043Sun Aug 30 20:19:43 1998 Hans-Peter Nilsson <hp@axis.se> 16044 16045 * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use 16046 consistent. 16047 * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move 16048 *sequences* *below* which scalar moves will be used. 16049 16050Sun Aug 30 17:18:43 1998 Jeffrey A Law (law@cygnus.com) 16051 16052 * collect2.c (mktemp): Delete unused declaration. 16053 16054 * config/xm-netbsd.h: Remove unnecessary file. 16055 * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h 16056 file anymore, it is not needed. 16057 16058Sun Aug 30 16:05:45 1998 Mark Mitchell <mark@markmitchell.com> 16059 16060 * convert.c (convert_to_integer): Issue an error on conversions to 16061 incomplete types. 16062 16063Sun Aug 30 16:47:20 1998 Martin von Lvwis <loewis@informatik.hu-berlin.de> 16064 16065 * Makefile.in: Add lang_tree_files and gencheck.h. 16066 * configure.in: Generate them. 16067 * gencheck.c: Include gencheck.h. 16068 16069Sat Aug 29 21:38:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16070 16071 * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to 16072 movdi_lo_sum_pic and movdi_high_pic and make visible. 16073 * config/sparc/sparc.c (legitimize_pic_address): For -fPIC, 16074 emit these when Pmode is not SImode. 16075 * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW. 16076 16077Sat Aug 29 14:59:32 1998 Mumit Khan <khan@xraylith.wisc.edu> 16078 16079 * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit 16080 .linkonce directive after the first time. 16081 16082Sat Aug 29 12:39:56 1998 Jeffrey A Law (law@cygnus.com) 16083 16084 * m68k.md (beq0_di): Generate correct (and more efficient) code when 16085 the clobbered operand overlaps with an input. 16086 (bne0_di): Similarly. 16087 16088 * Makefile.in (INSTALL): Remove "--no-header" argument. 16089 16090 * NEWS: Various updates. 16091 16092Fri Aug 28 19:00:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16093 16094 * config/sparc/sparc.c (arith_operand, const64_operand, 16095 const64_high_operand, arith_double_4096_operand): Mark mode as 16096 unused. 16097 (create_simple_focus_bits): Remove unused arg highest_bit_set, all 16098 callers changed. 16099 (sparc_emit_set_const64): Remove unused variable i. 16100 (sparc_splitdi_legitimate): Likewise for addr_part. 16101 (ultra_code_from_mask): Likewise for mask. 16102 (ultra_cmove_results_ready_p): Fixup entry modulo calc. and 16103 reverse return values so it matches usage and comments. 16104 (ultra_flush_pipeline): Likewise. 16105 (ultra_fpmode_conflict_exists): Likewise, remove unused variable 16106 this_type, and allow loads and stores of differing FP modes as 16107 they do not create a conflict. 16108 (ultra_find_type): Initialize fpmode to SFmode, fix 16109 parenthesization thinkos in large conditional. 16110 (ultrasparc_sched_init): Mark dump and sched_verbose as unused. 16111 Init free_slot_mask after ultra_cur_hist is reset, not before. 16112 (ultrasparc_rescan_pipeline_state): Remove unused variable ucode. 16113 (ultrasparc_sched_reorder): Don't bzero current pipeline state, 16114 use ultra_flush_pipeline instead, then re-init group pointer. 16115 Fix statement with no effect. If no progress made in, and no 16116 instructions scheduled at all, advance to new pipeline cycle else 16117 we get into an endless loop. 16118 (ultrasparc_adjust_cost): Remove previous arg. 16119 * config/sparc/sparc.h (ADJUST_COST): Update to reflect that. 16120 16121Fri Aug 28 13:52:35 1998 Jim Wilson <wilson@cygnus.com> 16122 16123 * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference 16124 code. Use reg_overlap_mentioned_p to detect when source and 16125 destination overlap. 16126 (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands. 16127 161281998-08-28 Brendan Kehoe <brendan@cygnus.com> 16129 16130 * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not 16131 COMPARISON_VAL, into invariant_p. 16132 16133Fri Aug 28 15:13:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 16134 16135 * regmove.c (regclass_compatible_p): New function. 16136 (regmove_optimize): Use it. 16137 16138 Use NREGS parameter instead of calling max_reg_num. 16139 16140 (fixup_match_1): Don't use code = MINUS when later tieing with 16141 a hard register is likely. 16142 16143Fri Aug 28 14:54:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 16144 16145 * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when 16146 COMPARISON_VAL was normalized. 16147 16148Thu Aug 27 20:10:46 1998 Jeffrey A Law (law@cygnus.com) 16149 16150 * loop.c (check_dbra_loop): The loop ending comparison value 16151 must be an invariant or we can not reverse the loop. 16152 16153 * loop.c (scan_loop): Count down from max_reg_num - 1 to 16154 FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration 16155 of the loop. 16156 (load_mems_and_recount_loop_regs_set): Likewise. 16157 16158 * i386.c (print_operand): Remove obsolete 'c' docs. 16159 16160Wed Aug 26 17:13:37 1998 Tom Tromey <tromey@cygnus.com> 16161 16162 * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION. 16163 * frame.c (init_object_mutex): New function. 16164 (init_object_mutex_once): Likewise. 16165 (find_fde): Call it. 16166 (__register_frame_info): Likewise. 16167 (__register_frame_info_table): Likewise. 16168 (__deregister_frame_info): Likewise. 16169 16170Thu Aug 27 15:14:18 1998 Jeffrey A Law (law@cygnus.com) 16171 16172 * haifa-sched.c (sched_analyze_insn): Fix thinko in last change. 16173 16174Thu Aug 27 16:34:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 16175 16176 * loop.c (check_dbra_loop): Enable code for reversal 16177 of some loops without a known constant loop end. 16178 16179Wed Aug 26 18:38:15 1998 Richard Henderson <rth@cygnus.com> 16180 16181 * haifa-sched.c (last_clock_var): New. 16182 (schedule_block): Initialize it. 16183 (schedule_insn): Use it to fill insn modes with issue information. 16184 16185 * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit. 16186 Tag trapb and next insn with TImode. 16187 (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New. 16188 (alpha_reorg): Add conditional for alpha_handle_trap_shadows. 16189 Invoke alphaev5_align_insns as appropriate. 16190 * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER. 16191 (MD_SCHED_VARIABLE_ISSUE): New. 16192 * alpha.md (attr type): Add multi. 16193 (define_asm_attributes): New. 16194 (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi. 16195 (arg_home): Likewise. 16196 (fnop, unop, realign): New. 16197 16198Wed Aug 26 15:55:41 1998 Jim Wilson <wilson@cygnus.com> 16199 16200 * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef. 16201 * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define. 16202 16203 * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*. 16204 (rs6000-ibm-aix4.[12]*): Likewise. 16205 * configure: Regenerate. 16206 16207Wed Aug 26 09:30:59 1998 Nick Clifton <nickc@cygnus.com> 16208 16209 * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it 16210 already contains the return address. 16211 16212Wed Aug 26 12:57:09 1998 Jeffrey A Law (law@cygnus.com) 16213 16214 * calls.c (expand_call): Use bitfield instructions to extract/deposit 16215 word sized hunks when loading unaligned args into registers. 16216 16217 * haifa-sched.c (sched_analyze_insn): Only create scheduling 16218 barriers for LOOP, EH and SETJMP notes on the loop_notes list. 16219 16220 * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too. 16221 16222Wed Aug 26 16:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 16223 16224 * loop.c (check_dbra_loop): Add some code that would allow reversal 16225 of some loops without a known constant loop end if it were enabled. 16226 16227Wed Aug 26 11:08:44 1998 Gavin Romig-Koch <gavin@cygnus.com> 16228 16229 * mips.md (lshrsi3_internal2+2): Fix type-o. 16230 16231Wed Aug 26 10:53:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 16232 16233 * system.h: Include stdarg.h/varargs.h, make sure they are ordered 16234 correctly with regards to stdio.h. 16235 16236 * calls.c: Remove stdarg.h/varargs.h. 16237 * cccp.c: Likewise. 16238 * cexp.y: Likewise. 16239 * combine.c: Likewise. 16240 * cpperror.c: Likewise. 16241 * cpplib.c: Likewise. 16242 * cpplib.h: Likewise. 16243 * doprint.c: Likewise. 16244 * emit-rtl.c: Likewise. 16245 * final.c: Likewise. 16246 * fix-header.c: Likewise. 16247 * gcc.c: Likewise. 16248 * genattr.c: Likewise. 16249 * genattrtab.c: Likewise. 16250 * gencodes.c: Likewise. 16251 * genconfig.c: Likewise. 16252 * genemit.c: Likewise. 16253 * genextract.c: Likewise. 16254 * genflags.c: Likewise. 16255 * genopinit.c: Likewise. 16256 * genoutput.c: Likewise. 16257 * genpeep.c: Likewise. 16258 * genrecog.c: Likewise. 16259 * mips-tfile.c: Likewise. 16260 * prefix.c: Likewise. 16261 * protoize.c: Likewise. 16262 * regmove.c: Likewise. 16263 * toplev.c: Likewise. 16264 * tree.c: Likewise. 16265 16266Wed Aug 26 05:09:27 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> 16267 16268 * config/sparc/sparc.c (sparc_override_options): If not 16269 TARGET_FPU, turn off TARGET_VIS. 16270 * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis. 16271 (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS. 16272 * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero. 16273 (movdi_insn_sp64): Add VIS fzero alternative. 16274 (clear_sf, clear_df): New VIS patterns. 16275 (movsf, movdf expanders): Allow fp_zero_operand flat out when 16276 TARGET_VIS. 16277 (one_cmpldi2_sp64): Provide new fnot1 VIS alternative. 16278 16279Tue Aug 25 10:57:41 1998 Mark Mitchell <mark@markmitchell.com> 16280 16281 * loop.c (n_times_set, n_times_used, may_not_optimize, 16282 reg_single_usage): Convert to varrays. All uses changed. 16283 (insert_loop_mem): Return a value. 16284 (scan_loop): Tweak AVOID_CC_MODE_COPIES code. 16285 (load_mems_and_recount_loop_regs_set): Likewise. Grow the arrays, if 16286 necessary. 16287 16288Tue Aug 25 23:57:12 1998 Jeffrey A Law (law@cygnus.com) 16289 16290 * From Alexandre: 16291 * configure.in: Do not set thread_file to "irix" since no such 16292 support exists yet. 16293 16294 * sparc.md (float abs/neg splits): Check reload_completed before 16295 calling alter_subreg. 16296 16297Tue Aug 25 19:17:59 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16298 16299 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New 16300 function. 16301 * config/sparc/sparc.h: Declare it. 16302 * config/sparc/sparc.md (float abs/neg splits): Use it. 16303 (all other splits): Handle SUBREGs properly where necessary. 16304 (unnamed (1<<x)-1 V8PLUS pattern): Disable for now. 16305 16306Tue Aug 25 19:48:46 1998 Jeffrey A Law (law@cygnus.com) 16307 16308 * reorg.c (fill_simple_delay_slots): Do not abort if we encounter 16309 an insn on the unfilled_slots_list that has no delay slots. 16310 (fill_eager_delay_slots): Similarly. 16311 16312Tue Aug 25 13:35:20 1998 Nick Clifton <nickc@cygnus.com> 16313 16314 * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX 16315 as an ordinary operand. 16316 16317Tue Aug 25 12:54:57 1998 Jason Merrill <jason@yorick.cygnus.com> 16318 16319 * tree.c (valid_machine_attribute): Don't apply attributes to both 16320 decl and type. 16321 16322Tue Aug 25 12:23:20 1998 Richard Henderson <rth@cygnus.com> 16323 16324 * reload.c (operands_match_p): Handle rtvecs. 16325 16326 * i386.c (legitimate_pic_address_disp_p): New. 16327 (legitimate_address_p): Use it. 16328 (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF. 16329 Handle constant pool symbols just like statics. 16330 (emit_pic_move): Use Pmode not SImode for clarity. 16331 (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks. 16332 [UNSPEC]: New, handling what we killed above. 16333 [PLUS]: Detect and abort on invalid symbol arithmetic. 16334 * i386.h (CONSTANT_ADDRESS_P): Remove HIGH. 16335 16336Tue Aug 25 12:02:23 1998 Mark Mitchell <mark@markmitchell.com> 16337 16338 * alias.c: Include output.h. 16339 (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as 16340 different if we're in a varargs function. 16341 * Makefile.in (alias.o): Depend on output.h 16342 16343Tue Aug 25 19:20:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 16344 16345 * sh.h (GIV_SORT_CRITERION): Delete. 16346 16347Tue Aug 25 13:19:46 1998 Dave Brolley <brolley@cygnus.com> 16348 16349 * regclass.c (regclass): Use xmalloc/free instead of alloca. 16350 * stupid.c (stupid_life_analysis): Likewise. 16351 * reload1.c (reload): Likewise. 16352 16353Tue Aug 25 05:48:18 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> 16354 16355 * config/sparc/sparc.c (arith_4096_operand, arith_add_operand, 16356 arith_double_4096_operand, arith_double_add_operand): New 16357 predicates. 16358 * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them. 16359 * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use 16360 them to transform add/sub 4096 into add/sub -4096. 16361 16362Mon Aug 24 23:31:03 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16363 16364 * loop.c (scan_loop): Allocate some slop to handle pseudos 16365 generated by move_movables. 16366 (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES 16367 here too. 16368 16369Mon Aug 24 19:45:40 1998 Jim Wilson <wilson@cygnus.com> 16370 16371 * tree.def (DECL_RESULT): Correct documentation. 16372 16373Tue Aug 25 01:15:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 16374 16375 * reload1.c (reload_reg_free_before_p): New argument EQUIV; Changed 16376 all callers. Abort for RELOAD_FOR_INSN. RELOAD_FOR_OUTADDR_ADDR: 16377 conflicts will all RELOAD_FOR_OUTPUT reloads. 16378 16379 * reload1.c (reload_cse_regs_1): When deleting a no-op move that 16380 loads the function result, substitute with a USE. 16381 16382Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@gnu.org> 16383 16384 * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64 16385 when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode. 16386 (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup. 16387 * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4. 16388 (print_operand, cases 'O' and 'T'): Fix typos in lossage strings. 16389 * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT 16390 operand. 16391 (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change 16392 'o' to 'm' for GPR variant constraints. 16393 16394Mon Aug 24 10:25:46 1998 Jeffrey A Law (law@cygnus.com) 16395 16396 * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES. 16397 16398 * h8300.h (STRIP_NAME_ENCODING): Fix typo. 16399 16400 * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect 16401 when the source and destination overlap. 16402 16403 * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid 16404 clash with global type. 16405 16406Mon Aug 24 00:53:53 1998 Jason Merrill <jason@yorick.cygnus.com> 16407 16408 * fixinc.irix: Add curses.h handling from fixinc.wrap. 16409 16410 * c-common.c (combine_strings): Also set TREE_READONLY. 16411 Change warn_write_strings to flag_const_strings. 16412 * c-decl.c, c-tree.h: Likewise. 16413 16414Sun Aug 23 18:39:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16415 16416 * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a 16417 CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM 16418 sequence, use SET/IOR instead so CSE can see it. 16419 * config/sparc/sparc.md (movhi_const64_special, 16420 movsi_const64_special): New patterns necessitated by that change. 16421 (movhi_high): Remove. 16422 (movhi_lo_sum): Change to match an IOR. 16423 (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64. 16424 (movdf_insn_v9only): New pattern for when V9 but not ARCH64. 16425 (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64. 16426 (movdf splits): Allow when not V9 or when not ARCH64 and integer 16427 registers are involved. 16428 (snesi_zero_extend split): Remove reload_completed test. 16429 (unnamed plus and minus zero_extend sidi splits): Add it. 16430 16431Sun Aug 23 11:56:08 1998 Mark Mitchell <mark@markmitchell.com> 16432 16433 * extend.texi: Remove description of extension to explicit 16434 instantiation that is now endorsed by standard C++. 16435 16436Sun Aug 23 09:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16437 16438 * config/arc/arc.c (arc_initialize_pic): Remove. 16439 * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does 16440 nothing on any platform and is invoked by no-one, it does not even 16441 appear in the documentation. 16442 * config/sparc/sparc.h (INITIALIZE_PIC): Likewise. 16443 * config/sparc/sparc.c (initialize_pic): Likewise. 16444 (find_addr_reg): Remove this as well, no longer referenced after 16445 my rewrite. 16446 16447Sun Aug 23 00:17:14 1998 Jeffrey A Law (law@cygnus.com) 16448 16449 * recog.c (validate_replace_rtx_group): New function. 16450 * recog.h (validate_replace_rtx_group): Declare it. 16451 * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo 16452 the entire group of substitutions. 16453 16454Sat Aug 22 23:31:00 1998 Klaus-Georg Adams (Klaus-Georg.Adams@chemie.uni-karlsruhe.de) 16455 16456 * loop.c (load_mems): Fix initializers. 16457 16458Fri Aug 21 23:07:46 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16459 16460 * config/sparc/sparc.md (TFmode splits): Handle destination 16461 registers being referenced in the address correctly. 16462 16463 * expmed.c (make_tree) [CONST_INT]: Sign extend even if 16464 TREE_UNSIGNED, when bitsize of type's mode is larger than 16465 HOST_BITS_PER_WIDE_INT. 16466 16467Fri Aug 21 19:31:31 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 16468 16469 * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes. 16470 * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, 16471 EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New 16472 macros. 16473 * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and 16474 EXIT_BLOCK_EXPR. 16475 16476Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com) 16477 16478 * h8300.c (h8300_encode_label): Use '&' for tiny data items. 16479 * h8300.h (TINY_DATA_NAME_P): Likewise. 16480 (STRIP_NAME_ENCODING): Handle '&'. 16481 16482 * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the 16483 register (it could be accessed via an outer SUBREG). 16484 (REG_OK_FOR_BASE_P): Likewise. 16485 (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P. 16486 16487 * remove.c (optimize_reg_copy_3): Abort instead of silently generating 16488 bogus rtl. 16489 16490 * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative. 16491 16492Thu Aug 20 17:35:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16493 16494 * config/sparc/sparc.md (movtf_insn_sp32): All memory operands 16495 must be offsettable so the splits can be made. 16496 16497Thu Aug 20 13:56:53 1998 Michael Meissner <meissner@cygnus.com> 16498 16499 * config/i386/winnt.c: Include system.h, not stdio.h to get 16500 sys/param.h pulled in before rtl.h in case the system defines MIN 16501 and MAX. 16502 16503Thu Aug 20 13:44:20 1998 David Edelsohn <edelsohn@gnu.org> 16504 16505 * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX. 16506 16507Thu Aug 20 13:15:11 1998 Dave Brolley <brolley@cygnus.com> 16508 16509 * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for 16510 arrays of bits. 16511 * cpplib.c (cpp_define): Handle macros with parameters. 16512 16513Wed Aug 19 21:33:19 1998 David Edelsohn <edelsohn@gnu.org> 16514 16515 * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit. 16516 (output_toc): Use single TOC slot or llong minimal-toc for DFmode 16517 and DImode 64-bit. Use llong for minimal-toc SFmode and 16518 SYMBOL_REF / LABEL_REF 64-bit. 16519 (output_function_profiler): Use llong for profiler label and ld to 16520 load 64-bit label address. 16521 16522Wed Aug 19 17:52:27 1998 Nick Clifton (nickc@cygnus.com) 16523 16524 * config/arm/thumb.md (extendqisi2_insn): Cope with REG + 16525 OFFSET addressing. 16526 16527Wed Aug 19 14:13:31 1998 Jeff Law (law@cygnus.com) 16528 16529 * version.c: Bump for snapshot. 16530 16531Wed Aug 19 13:10:30 1998 Jeff Law (law@cygnus.com) 16532 16533 * version.c: Bump for snapshot. 16534 16535Wed Aug 19 13:06:47 1998 Jason Merrill <jason@yorick.cygnus.com> 16536 16537 * collect2.c (extract_init_priority): Use atoi instead of strtoul. 16538 16539Wed Aug 19 13:51:35 1998 Hans-Peter Nilsson <hp@axis.se> 16540 16541 * tm.texi (Misc): Fix typo "teh". 16542 16543 * tm.texi (PIC): Fix typo "PPIC". 16544 16545 * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no 16546 effect when -O2 and higher. 16547 * invoke.texi (Optimize Options): Likewise for -fcaller-saves. 16548 165491998-08-19 Michael Hayes <michaelh@ongaonga.chch.cri.nz> 16550 16551 * regclass.c: Changed register set documentation to be consistent 16552 with GCC behavior. 16553 16554 * final.c (final_start_function): Removed redundant test for 16555 call_fixed_regs. 16556 16557Wed Aug 19 13:28:41 1998 Mark Mitchell <mark@markmitchell.com> 16558 16559 * rtl.h (rtx_function): New type. 16560 (for_each_rtx): New function. 16561 * rtlanal.c (for_each_rtx): Define it. 16562 16563 * recog.c (change_t): New type. 16564 (change_objects, change_old_codes, change_locs, change_olds): 16565 Replace with ... 16566 (changes): New variable. 16567 (validate_change): Dynamically allocate room for more changes, if 16568 necessary. Uses changes array instead of change_objects, etc. 16569 (apply_change_group): Use changes array instead of 16570 change_objects, etc. 16571 16572 * loop.c (loop_mem_info): New type. 16573 (loop_mems): New variable. 16574 (loop_mems_idx): Likewise. 16575 (looop_mems_allocated): Likewise. 16576 (scan_loop): Remove nregs parameter. 16577 (next_insn_in_loop): New function. 16578 (load_mems_and_recount_loop_regs_set): Likewise. 16579 (load_mems): Likewise. 16580 (insert_loop_mem): Likewise. 16581 (replace_loop_mem): Likewise. 16582 (replace_label): Likewise. 16583 (INSN_IN_RANGE_P): New macro. 16584 (loop_optimize): Don't pass max_reg_num() to scan_loop. 16585 (scan_loop): Remove nregs parameter, compute it after any new 16586 registers are created by load_mems. Use INSN_IN_RANGE_P and 16587 next_insn_in_loop rather than expanding them inline. Call 16588 load_mems to load memory into pseudos, if appropriate. 16589 (prescan_loop): Figure out whether or not there are jumps from the 16590 loop to targets other than the label immediately following the 16591 loop. Call insert_loop_mem to notice all the MEMs used in the 16592 loop, if it could be safe to pull MEMs into REGs for the duration 16593 of the loop. 16594 (strength_reduce): Use next_insn_in_loop. Tweak comments. 16595 16596Wed Aug 19 08:29:44 1998 Richard Earnshaw (rearnsha@arm.com) 16597 16598 * arm.c (arm_override_options): Remove lie about ignoring PIC flag. 16599 16600Wed Aug 19 07:08:15 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16601 16602 * config/sparc/sparc.c (finalize_pic): Check for the correct 16603 nonlocal_goto_receiver UNSPEC number. 16604 * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment 16605 making note of this dependency existing in sparc.c. 16606 (negtf2_notv9 split): Give NEG SFmode. 16607 (negsf2): Fix insn output string. 16608 16609Tue Aug 18 12:40:27 1998 Richard Henderson <rth@cygnus.com> 16610 16611 * c-common.c (decl_attributes): Issue an error if the argument 16612 to alias is not a string. 16613 16614Tue Aug 18 10:33:30 1998 Jeffrey A Law (law@cygnus.com) 16615 16616 * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last 16617 pending memory flush list. 16618 16619 * combine.c (can_combine_p): Allow combining insns with REG_RETVAL 16620 notes. 16621 (try_combine): Allow combining insns with REG_LIBCALL notes. 16622 16623 * expr.c (emit_block_move): Do not call memcpy as a libcall 16624 instead build up a CALL_EXPR and call it like any other 16625 function. 16626 (clear_storage): Similarly for memset. 16627 16628 * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p 16629 on notes. 16630 16631 * Makefile.in (cplus-dem.o): Provide explicit rules for building 16632 cplus-dem.o. 16633 16634 * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED 16635 and REG_LIVE_LENGTH as successful substitutions are made. 16636 16637Tue Aug 18 07:15:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 16638 16639 * config/sparc/sparc.c (ultra_find_type): Add empty semicolon 16640 statement after end of loop label. 16641 16642Tue Aug 18 07:13:27 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16643 16644 * config/sparc/sparc.c (ultra_types_avail): New variable. 16645 (ultra_build_types_avail): New function to record mask of insn 16646 types in ready list at this cycle. 16647 (ultrasparc_sched_reorder): Call it. 16648 (ultra_find_type): Use it to quicken the search. Also simplif 16649 dependency check, don't use rtx_equal_p because we know exactly 16650 what we are looking for. 16651 16652Tue Aug 18 03:20:53 1998 Richard Earnshaw (rearnsha@arm.com) 16653 16654 * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling 16655 for architecture v4. 16656 16657Mon Aug 17 21:26:38 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16658 16659 * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call 16660 gen_compare_reg. 16661 (movsf_const_intreg, movsf_const_high, movsf_const_lo, 16662 movdf_const_intreg and helper splits): New patterns to move float 16663 constants into integer registers. 16664 (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and 16665 splits. 16666 16667Mon Aug 17 11:46:19 1998 Jeffrey A Law (law@cygnus.com) 16668 16669 * From Graham 16670 * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype 16671 to itype. 16672 * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem. 16673 16674 * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that 16675 a BASE_REGS register is needed as an intermediate when copying 16676 a symbolic value into any register class other than BASE_REGS. 16677 16678 * expr.c (move_by_pieces): No longer static. Remove prototype. 16679 * rtl.h (move_by_pieces): Add extern prototype. 16680 * mips.c (expand_block_move): Handle aligned straight line copy by 16681 calling move_by_pieces. 16682 16683 * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs 16684 and VAR_DECLs. 16685 16686Mon Aug 17 10:28:52 1998 Mark Mitchell <mark@markmitchell.com> 16687 16688 * stmt.c (expand_end_loop): Tidy. Allow unconditional 16689 jumps out of the loop to be treated as part of the exit test. 16690 16691Mon Aug 17 10:06:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 16692 Jeff Law <law@cygnus.com> 16693 16694 * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty. 16695 * cplus-dem.c: Delete. 16696 16697 * Makefile.in (fold-const.o): Depend on $(RTL_H). 16698 16699 * fold-const.c: Include rtl.h to get the prototype for 16700 `set_identifier_local_value'. 16701 16702 * loop.c (express_from_1): Remove unused variable `tmp'. 16703 (combine_givs): Cast the first argument of bzero to char *. 16704 16705 * toplev.c (display_help): Remove unused variable `looking_for_start'. 16706 16707 * c-decl.c (init_decl_processing): Remove unneeded &. 16708 16709 * alpha.h (alpha_initialize_trampoline): Provide prototype. 16710 16711 * except.c (set_exception_lang_code, set_exception_version_code): 16712 Change parameter from `short' to `int' to avoid using a gcc 16713 extension. 16714 16715 * except.h (set_exception_lang_code, set_exception_version_code): 16716 Likewise for prototypes. 16717 16718 * flow.c (count_reg_references): Remove unused variables `regno' 16719 and `i'. 16720 16721 * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'. 16722 16723 * prefix.c (translate_name): Cast the result of `alloca'. 16724 16725 * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement. 16726 16727Mon Aug 17 09:23:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 16728 16729 * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>. 16730 Include "toplev.h". 16731 (valid_dbcc_comparison_p): Mark mode argument as unused. 16732 (symbolic_operand): Likewise. 16733 (legitimize_pic_address): Likewise. 16734 (const_uint32_operand): Likewise. 16735 (const_sint32_operand): Likewise. 16736 * sched.c [!INSN_SCHEDULING]: Define only dummy function 16737 schedule_insns and comment out rest of file. 16738 16739 * m68k.c (output_move_simode_const): Use subl to move a zero into an 16740 address register. 16741 (output_move_[hq]imode): Likewise. 16742 16743Mon Aug 17 09:15:47 1998 Jeffrey A Law (law@cygnus.com) 16744 16745 * toplev.c (main): Enable -fstrict-aliasing for -O2 and above. 16746 * invoke.texi: Corresponding changes. 16747 16748Mon Aug 17 02:03:55 1998 Richard Henderson <rth@cygnus.com> 16749 16750 * regclass.c (allocate_reg_info): Respect MIN when clearing data. 16751 16752Sun Aug 16 17:37:06 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16753 16754 * config/sparc/sparc.c (ultra_code_from_mask, 16755 ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists, 16756 ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline, 16757 ultrasparc_sched_init, ultrasparc_variable_issue, 16758 ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New 16759 functions to describe UltraSPARC pipeline exactly to Haifa. 16760 (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost, 16761 as there is nothing the scheduler can do about it. Indicate that 16762 REG_DEP_OUTPUT's collide. Fixup formatting. 16763 * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and 16764 divide costs on Ultra for DImode. 16765 (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE): 16766 Define. 16767 * config/sparc/sparc.md (ieu_unnamed function unit): Rename to 16768 ieuN and add call_no_delay_slot to type list. 16769 (cti function unit): New unit for branches on UltraSPARC. 16770 (subx/addx insns): Set type to misc. 16771 (sidi zero/sign extension insns on arch64): Set type to shift. 16772 (sign_extendhidi2_insn): Set type to sload. 16773 16774Sun Aug 16 13:52:00 1998 David Edelsohn <edelsohn@gnu.org> 16775 16776 * rs6000.c (rs6000_stack_info): Use if == 0 for sizes. 16777 (output_epilog): Use if != 0 for offset. 16778 (rs6000_fatal_bad_address): Prepare for Intl. 16779 * rs6000.h (rs6000_fatal_bad_address): Declare. 16780 * rs6000.md (movsfcc, movdfcc): Use else if. 16781 (elf_high): Use {liu|lis}. 16782 (elf_low): Use {cal|la}. Remove %a template from old mnemonics. 16783 (movsi): Use rs6000_fatal_bad_address. 16784 16785Sun Aug 16 01:53:21 1998 Richard Henderson <rth@cygnus.com> 16786 16787 * reload.c (find_equiv_reg): Reject equivalences separated 16788 by a volatile instruction. 16789 16790Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 16791 16792 * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define. 16793 16794Sat Aug 15 20:51:35 1998 Richard Henderson <rth@cygnus.com> 16795 16796 * alpha.md (movsicc): Fix mode mismatch. 16797 16798Sat Aug 15 20:22:33 1998 H.J. Lu (hjl@gnu.org) 16799 16800 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated 16801 return type. 16802 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise. 16803 16804Sat Aug 15 08:39:49 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16805 16806 * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove 16807 write-only modifier from operand 1 constraint. 16808 16809Sat Aug 15 06:28:19 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16810 16811 * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If 16812 emitting a XOR of -1 at the end, emit a NOT instead for combine's 16813 sake. 16814 (sparc_emit_set_const64): Likewise, also when computing trailing 16815 bits do not negate low_bits and make fast_int an int. 16816 16817Fri Aug 14 21:07:03 1998 Jeffrey A Law (law@cygnus.com) 16818 16819 * loop.c (add_label_notes): Do not ignore references to labels 16820 before dispatch tables. Mirrors Apr 8 change to mark_jump_label. 16821 * gcse.c (add_label_notes): Similarly. 16822 16823 * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding. 16824 16825 * m68k.md (adddi_dilshr32): One of the operands must be a register. 16826 (adddi_dishl32): Similarly. 16827 16828Fri Aug 14 14:12:59 1998 Jason Merrill <jason@yorick.cygnus.com> 16829 16830 * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings. 16831 * alias.c (memrefs_conflict_p): Add braces to shut up warnings. 16832 * cse.c (cse_basic_block): Add parens to shut up warnings. 16833 16834Fri Aug 14 12:58:21 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16835 16836 * config/sparc/sparc.c (sparc_emit_set_const64_quick2, 16837 sparc_emit_set_const64_longway, const64_is_2insns, 16838 create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs 16839 in 64-bit constant formation. 16840 * config/sparc/sparc.md (snesi_zero_extend split): Generate 16841 rtl for addx not subx. 16842 (define_insn movdi_const64_special): Make available even when 16843 HOST_BITS_PER_WIDE_INT is not 64. 16844 (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove. 16845 (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand. 16846 (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both 16847 instances of operand 1 inside a QI subreg. 16848 (xordi3_sp64_dbl): Remove '%' constraint for op1. 16849 (one_cmpldi2_sp64): Fix output string. 16850 (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra 16851 alternative case. 16852 (unnamed arch64 ashift DI): Truncate shift count if greater than 16853 63, not 31. 16854 16855Fri Aug 14 21:52:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk> 16856 16857 * expr.c (store_expr): Don't optimize away load-store pair 16858 when either source or destination have a side effect. 16859 16860Fri Aug 14 16:50:10 1998 John Carr <jfc@mit.edu> 16861 16862 * genrecog.c (add_to_sequence): Fatal error if the modes of the 16863 operands of SET are incompatible. 16864 16865 * alpha.md: Fix max and min patterns so modes of SET operands match. 16866 16867Fri Aug 14 12:22:55 1998 Ian Lance Taylor <ian@cygnus.com> 16868 16869 * configure.in: Avoid [[ by using test and changequote. 16870 * configure: Rebuild. 16871 16872Fri Aug 14 01:22:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16873 16874 * rtl.def (CONSTANT_P_RTX): Fix typo in string name. 16875 16876 * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc, 16877 seqsi_special_extend, snesi_special_extend, snesi_zero_extend and 16878 split, snedi_zero_trunc and split, seqsi_zero_extend and split, 16879 seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di, 16880 movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and 16881 split, addx_extend_sp64, subx_extend_sp64, subx_extend and split): 16882 Fix mismatching modes in SET operands. 16883 (conditional move patterns): Fix formatting. 16884 (unnamed subx arch64 pattern): Remove duplicate insn. 16885 16886Fri Aug 14 00:34:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 16887 16888 * config/sparc/sparc.c (const64_operand, const64_high_operand): 16889 Get it right when HOST_BITS_PER_WIDE_INT is not 64. 16890 (input_operand): Fixup test for what we accept for constant 16891 integers. 16892 (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give 16893 set VOIDmode. 16894 (safe_constDI): Remove. 16895 (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64, 16896 gen_safe_XOR64): New functions. 16897 (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2, 16898 sparc_emit_set_const64_longway, sparc_emit_set_const64): Use 16899 them. 16900 * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make 16901 available when HOST_BITS_PER_WIDE_INT is not 64. 16902 (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and 16903 move before movdi_insn_sp64 pattern. 16904 (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove. 16905 (define_insn sethi_di_medlow, seth44, setm44, sethh): Use 16906 symbolic_operand as predicate for second operand. 16907 (DImode minus split on arch32, negsi2 expander, one_cmplsi2 16908 expander): Give set VOIDmode. 16909 16910Fri Aug 14 01:45:06 1998 Mumit Khan <khan@xraylith.wisc.edu> 16911 16912 * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define. 16913 16914Fri Aug 14 01:40:21 1998 Geoffrey Keating <geoffk@ozemail.com.au> 16915 16916 * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker. 16917 16918Fri Aug 14 01:23:23 1998 Richard Earnshaw (rearnsha@arm.com) 16919 16920 * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating 16921 point. 16922 (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly. 16923 16924Fri Aug 14 01:19:08 1998 Robert Lipe <robertl@dgii.com> 16925 16926 * install.texi: Various SCO OpenServer tweaks. 16927 16928Thu Aug 13 20:14:40 1998 Jim Wilson <wilson@cygnus.com> 16929 16930 * reload1.c (eliminate_regs_in_insn): Handle another case when 16931 eliminating the frame pointer to the hard frame pointer. Add 16932 missing ep->to_rtx check to one existing case. 16933 16934 * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI. 16935 16936Thu Aug 13 17:08:11 1998 Jason Merrill <jason@yorick.cygnus.com> 16937 16938 * tree.h: De-conditionalize init_priority code. 16939 16940 * mips.h (NM_FLAGS): Change from -Bp to -Bn. 16941 * collect2.c (NM_FLAGS): Change from -p to -n. 16942 16943 * configure.in: Turn on collect2 for mipstx39-elf. 16944 Handle use_collect2=no properly. 16945 16946 * c-common.c: De-conditionalize init_priority code. 16947 * collect2.c (extract_init_priority, sort_ids): New fns. 16948 (main): Call sort_ids. 16949 Move sequence_number to file scope. 16950 16951 * configure.in: Handle --enable-init-priority. 16952 * c-common.c (attrs): Add A_INIT_PRIORITY. 16953 (init_attributes, decl_attributes): Likewise. 16954 * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros. 16955 * tree.c (get_file_function_name_long): Split out... 16956 (get_file_function_name): ...from here. 16957 16958Thu Aug 13 16:09:53 1998 Martin von Loewis <loewis@informatik.hu-berlin.de> 16959 16960 * expr.c (safe_from_p): Change code to ERROR_MARK only when not 16961 accessing nodes. 16962 16963Thu Aug 13 15:24:48 1998 Jason Merrill <jason@yorick.cygnus.com> 16964 16965 * toplev.c (display_help): Add braces to shut up warnings. 16966 * tree.c (simple_cst_equal): Likewise. 16967 16968 * fold-const.c (non_lvalue): Don't deal with null pointer 16969 constants here. 16970 (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR. 16971 16972 * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0 16973 of any size to a pointer. 16974 16975Thu Aug 13 12:53:13 1998 Jim Wilson <wilson@cygnus.com> 16976 16977 * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED. 16978 16979Wed Aug 12 17:25:18 1998 Jeffrey A Law (law@cygnus.com) 16980 16981 * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers 16982 which will be saved. 16983 * mn10300.md (prologue insn): Only save registers which need saving. 16984 (epilogue insn): Similarly. 16985 16986 * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register" 16987 optimizations. 16988 16989Wed Aug 12 12:39:16 1998 Gavin Romig-Koch <gavin@cygnus.com> 16990 16991 * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for 16992 VAR_DECL's in gp addressable sections. 16993 16994Tue Aug 11 23:02:31 1998 John Carr <jfc@mit.edu> 16995 16996 * sparc.c: Change return <exp> to <exp>; return; in functions 16997 returning void. 16998 * sparc.md: Add empty semicolon statement after final label in 16999 move expanders. 17000 17001Tue Aug 11 22:42:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 17002 17003 * config/sparc/sparc.md (define_insn addx_extend): Rename to 17004 addx_extend_sp64, only allow when TARGET_ARCH64. 17005 (define_insn addx_extend_sp32 and split): Version that works when 17006 not TARGET_ARCH64. 17007 (define_insn subx_extend): Likewise. 17008 (define_split adddi3 and subdi3 with zero extension): Fixup and 17009 correct bugs when not TARGET_ARCH64. 17010 17011Tue Aug 11 16:04:34 1998 John Carr <jfc@mit.edu> 17012 17013 * except.c (set_exception_lang_code, set_exception_version_code): 17014 Use prototype-style definition if __STDC__, to match declaration 17015 in except.h. 17016 17017 * genemit.c: Change FAIL and DONE macros not to use loops. 17018 17019Tue Aug 11 12:27:03 1998 Jim Wilson <wilson@cygnus.com> 17020 17021 * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use 17022 ASM_OUTPUT_DWARF2_ADDR_CONST if defined. 17023 17024 * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16. 17025 17026Tue Aug 11 18:12:53 1998 Dave Love <d.love@dl.ac.uk> 17027 17028 * README.g77: Update from Craig. 17029 17030Tue Aug 11 04:46:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 17031 17032 * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of 17033 type HOST_WIDE_INT. 17034 (safe_constDI sparc_emit_set_const64_quick1, 17035 sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway, 17036 analyze_64bit_constant, const64_is_2insns, 17037 create_simple_focus_bits): Fix some bugs when compiled on real 17038 64-bit hosts. 17039 (function_arg_record_value_3, function_arg_record_value_2, 17040 function_arg_record_value): Add fully prototyped forward decls. 17041 * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back 17042 to cmpsi_insn and use on both 64 and 32 bit targets. 17043 (define_insn cmpsi_insn_sp64): Remove. 17044 (define_expand zero_extendsidi2): Allow for 32-bit target too. 17045 (define_insn zero_extendsidi2_insn): Rename to 17046 zero_extendsidi2_insn_sp64. 17047 (define_insn zero_extendsidi2_insn_sp32): New pattern and 17048 associated forced split for it. 17049 17050 * config/sparc/sparc.c (const64_operand, const64_high_operand): 17051 New predicates. 17052 * config/sparc/sparc.h: Declare them. 17053 (PREDICATE_CODES): Add them. 17054 * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl, 17055 movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them. 17056 17057Mon Aug 10 22:57:24 1998 John Carr <jfc@mit.edu> 17058 17059 * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt 17060 in v9 case as the latter makes the Solaris assembler crash. 17061 17062Mon Aug 10 22:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 17063 17064 * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM 17065 for TFmode when !v9. We require offsettable memory addresses. 17066 * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to 17067 DFmode register number conversions. 17068 * config/sparc/sparc.md (define_split DFmode moves): If register 17069 is a SUBREG do alter_subreg on it before using. 17070 (define_expand movtf): Fixup comment about alignment on v9. 17071 (define_split TFmode moves): Don't use gen_{high,low}part, create 17072 explicit SUBREGs instead. 17073 17074Mon Aug 10 19:02:55 1998 John Carr <jfc@mit.edu> 17075 17076 * Makefile.in (mbchar.o): Depend on mbchar.c. 17077 17078Mon Aug 10 04:28:13 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 17079 Richard Henderson <rth@cygnus.com> 17080 17081 Rewrite Sparc backend for better code generation and 17082 improved sparc64 support. 17083 * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to 17084 zero. 17085 * config/sparc/sysv4.h: Likewise. 17086 * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand, 17087 move_operand, v8plus_regcmp_op, emit_move_sequence, 17088 singlemove_string, doublemove_string, mem_aligned_8, 17089 output_move_double, output_move_quad, output_fp_move_double, 17090 move_quad_direction, output_fp_move_quad, output_scc_insn): 17091 Remove. 17092 (small_int_or_double): New predicate. 17093 (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission. 17094 (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of 17095 old pic_{sethi,lo_sum}_si patterns. 17096 (mem_min_alignment): New generic function to replace 17097 mem_aligned_8, which uses REGNO_POINTER_ALIGN information when 17098 available and can test for arbitrary alignments. All callers 17099 changed. 17100 (save_regs, restore_regs, build_big_number, 17101 output_function_prologue, output_cbranch, output_return, 17102 sparc_flat_save_restore, sparc_flat_output_function_prologue, 17103 sparc_flat_output_function_epilogue): Prettify 17104 insn output. 17105 (output_function_epilogue): Likewise and add code to output 17106 deferred case vectors. 17107 (output_v9branch): Likewise, add new arg INSN and use it to tack 17108 on branch prediction settings. All callers changed. 17109 (print_operand): Likewise and output %l44 for LO_SUMs when 17110 TARGET_CM_MEDMID. 17111 (sparc_splitdi_legitimate): New function to make sure DImode 17112 splits can be run properly when !arch64. 17113 (sparc_initialize_trampoline, sparc64_initialize_trampoline): 17114 Reformat example code in comments. 17115 (set_extends): Remove UNSPEC/v8plus_clear_high case. 17116 (sparc_addr_diff_list, sparc_addr_list): New statics to keep track 17117 of deferred case vectors we need to output. 17118 (sparc_defer_case_vector): Record a case vector. 17119 (sparc_output_addr_vec, sparc_output_addr_diff_vec, 17120 sparc_output_deferred_case_vectors): New functions to output them. 17121 (sparc_emit_set_const32): New function to form 32-bit constants in 17122 registers when that requires more than one instruction. 17123 (safe_constDI, sparc_emit_set_const64_quick1, 17124 sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway, 17125 analyze_64bit_constant, const64_is_2insns, 17126 create_simple_focus_bits, sparc_emit_set_const64): New functions 17127 which do the same for 64-bit constants when arch64. 17128 (sparc_emit_set_symbolic_const64): New function to emit address 17129 loading for all code models on v9. 17130 * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make 17131 %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0. 17132 (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1. 17133 (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix 17134 inaccuracies in comments, add symbolic and text_segment operands 17135 when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively. Use 17136 GENERAL_REGS in these cases as a temp REG is needed to load these 17137 addresses into a register properly. 17138 (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it 17139 is no longer used. 17140 (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp 17141 quads are guaranteed to have 16-byte alignment. 17142 (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use 17143 copy_to_suggested_reg instead of explicit LO_SUM and HIGH. 17144 (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for 17145 deferred case vector implementation. 17146 (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline. 17147 (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls. 17148 Generate "internal label - label" instead of "label - 1b". 17149 (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID. 17150 (PREDICATE_CODES): Remove sparc_operand, move_operand, 17151 v8plus_regcmp_op. Add small_int_or_double, input_operand, and 17152 zero_operand. 17153 (doublemove_string, output_block_move, output_fp_move_double, 17154 output_fp_move_quad, output_move_double, output_move_quad, 17155 output_scc_insn, singlemove_string, mem_aligned_8, move_operand, 17156 sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs. 17157 (sparc_emit_set_const32, sparc_emit_set_const64, 17158 sparc_emit_set_symbolic_const64, input_operand, zero_operand, 17159 mem_min_alignment, small_int_or_double): Add externs. 17160 * config/sparc/sparc.md: Document the many uses of UNSPEC and 17161 UNSPEC_VOLATILE in this backend. 17162 (define_function_unit ieu): Rename to ieu_unnamed. Add move and 17163 unary to types which execute in it. 17164 (define_function_unit ieu_shift): Rename to ieu0. 17165 (define_function_unit ieu1): New, executes compare, call, and 17166 uncond_branch type insns. 17167 (define_function_units for type fdivs, fdivd, fsqrt): These 17168 execute in the fpu multiply unit not the adder on UltraSparc. 17169 (define_expand cmpdi): Disallow TARGET_V8PLUS. 17170 (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32. 17171 (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it 17172 allows the arith_double_operand predicate and rHI constraint when 17173 TARGET_ARCH64. 17174 (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe, 17175 cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn, 17176 neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn, 17177 sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu, 17178 sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64, 17179 movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64, 17180 movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64, 17181 movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64, 17182 movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn, 17183 cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn, 17184 sign_extendqihi2_insn, sign_extendqisi2_insn, 17185 sign_extendqidi2_insn, sign_extendhidi2_insn, 17186 extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2, 17187 trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2, 17188 floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2, 17189 fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2, 17190 adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64, 17191 subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3, 17192 muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus, 17193 const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3, 17194 smulsi3_highpart_v8plus, unnamed subreg mult, 17195 const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32, 17196 const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32, 17197 const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus, 17198 const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32, 17199 const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3, 17200 udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64, 17201 andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3, 17202 or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64, 17203 xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op, 17204 cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not, 17205 cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not, 17206 cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set, 17207 cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg, 17208 cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not, 17209 cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3, 17210 addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3, 17211 muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2, 17212 negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2, 17213 ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1, 17214 cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt, 17215 ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt, 17216 lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32, 17217 call_symbolic_sp32, call_address_sp64, call_symbolic_sp64, 17218 call_address_struct_value_sp32, call_symbolic_struct_value_sp32, 17219 call_address_untyped_struct_value_sp32, 17220 call_symbolic_untyped_struct_value_sp32, call_value_address_sp32, 17221 call_value_symbolic_sp32, call_value_address_sp64, 17222 call_value_symbolic_sp64, branch_sp32, branch_sp64, 17223 flush_register_windows, goto_handler_and_restore, 17224 goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64, 17225 flush, all ldd/std peepholes, return_qi, return_hi, return_si, 17226 return_addsi, return_di, return_adddi, return_sf, all call+jump 17227 peepholes, trap, unnamed trap insns): Prettify output strings. 17228 (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32, 17229 or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2): 17230 Likewise and force + implement splits for integer cases. 17231 (define_insn return_sf_no_fpu): Likewise and allow to match when 17232 no-fpu because of our subreg SFmode splits. 17233 (define_insn zero_extendqihi2, zero_extendqisi2_insn, 17234 zero_extendqidi2_insn, zero_extendhidi2_insn, 17235 zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use 17236 input_operand for second operand. 17237 (cmp_minus_cc, cmp_minus_cc_set): Likewise and use 17238 reg_or_0_operand for operand 2 so new splits can use it. 17239 (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus, 17240 cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0 17241 too. 17242 (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow 17243 CONST_DOUBLEs for operand 2. 17244 (define_insn move_label_di): Likewise and label distance 17245 optimization because it no longer works with new deferred case 17246 vector scheme. To be revisited. 17247 (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise 17248 and allow reg_or_0_operand and J constraint for second operand. 17249 (define_insn jump): Set branch predict taken on V9. 17250 (define_insn tablejump): Emit LABEL_REF + PLUS memory address for 17251 new deferred case vector scheme. 17252 (define_insn pic_tablejump_32, pic_tablejump_64): Remove. 17253 (define_insn negdi2_sp32): Force + implement splits. 17254 (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and 17255 one_cmplsi2_not_liveg0 respectively, and create expander of original 17256 names which emit special rtl for TARGET_LIVE_G0. 17257 (define_insn cmpdi_v8plus, scc_si, scc_di): Remove. 17258 (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do 17259 gen_compare_reg, FAIL instead. 17260 (define_insn sgtu, sleu): Likewise and check gen_s*() return 17261 values when trying to reverse condition codes, if they FAIL then 17262 do likewise. 17263 (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend, 17264 snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero, 17265 neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero, 17266 seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0, 17267 x_minus_i_eq_0): Add new splits to perform these multi-insn cases, 17268 set output string to # to indicate they are mandatory splits. 17269 (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di, 17270 pic_sethi_di, move_pic_label_si): Remove. 17271 (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic, 17272 movsi_high_pic, movsi_pic_label_reg): New patterns to take their 17273 place. 17274 (define_expand movsi_pic_label_ref, define_insn 17275 movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New 17276 expander and insns to handle PIC label references and deferred 17277 case vectors. 17278 (define_insn get_pc_via_rdpc): Comment out as it is no longer 17279 used. 17280 (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf): 17281 Rewrite to not use emit_move_sequence, make use of new constant 17282 formation code, and new splits for all multi-insn cases. 17283 (define_insn movqi_insn): Remove sethi case, it can never happen. 17284 Use reg_or_zero_operand instead of const0_rtx explicit test, 17285 use input_operand instead of move_operand for source, and use 17286 general_operand now for dest. 17287 (define_insn movhi_insn): Similar but leave sethi case. 17288 (define_insn lo_sum_qi, store_qi, store_hi): Remove. 17289 (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and 17290 movhi_lo_sum respectively, prettify output string. 17291 (define_insn movsi_zero_liveg0): New pattern to put zero into a 17292 register when needed on TARGET_LIVE_G0. 17293 (define_insn movsi_insn): Use general_operand and input_operand 17294 for dest and src respectively. Simplify applicability test. 17295 Prettify output strings, and add clr alternative for J 17296 constraint. 17297 (define_insn movdi_sp32_v9, movdi_sp32, define_splits for 17298 deprecated std and reg-reg DI moves): Remove and... 17299 (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new 17300 implementation which uses forced splits for all non-single insn 17301 cases. 17302 (define_split DI move cases on !arch64): New splits to handle all 17303 situations of 64-bit double register DImode on 32bit, and 17304 unaligned registers and memory addresses for all subtargets. 17305 (define_insn movsf_const_insn, movdf_const_insn, store_sf): 17306 Remove. 17307 (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and 17308 input_operand for dest and src respectively, prettify output 17309 strings. 17310 (define_insn movdf_insn, movdf_no_e_insn, store_df, 17311 movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove 17312 and... 17313 (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32, 17314 movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn, 17315 movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64, 17316 movtf_no_e_insn_sp64): Replace with new 17317 implementation which uses forced splits for all non-single insn 17318 cases. 17319 (define_split DF move cases): New splits in similar vein to DI 17320 move counterparts. 17321 (define_insn sethi_di_medlow, sethi_di_medium_pic, 17322 sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64, 17323 movdi_sp64_insn): Remove old v9 code model and constant loading 17324 support insns and.. 17325 (define_insn pic_lo_sum_di, pic_sethi_di, 17326 sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow, 17327 seth44, setm44, setl44, sethh, setlm, sethm, setlo, 17328 embmedany_sethi, embmedany_losum, embmedany_brsum, 17329 embmedany_textuhi, embmedany_texthi, embmedany_textulo, 17330 embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl, 17331 movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new 17332 scheme, using unspecs, secondary reloads, and one to one sparc 17333 insn to rtl insn mapping for better scheduling and code gen. 17334 (define_expand reload_indi, reload_outdi): Reload helpers for 17335 MEDANY and EMBMEDANY symbol address loading cases which require a 17336 temporary register. 17337 (define_expand movsicc): Remove v8plus_regcmp cases. 17338 (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, 17339 cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc, 17340 cmp_diqi_trunc_set): New patterns used by some of the new scc 17341 splits on arch64. 17342 (define_insn xordi3_sp64_dbl): New pattern used for constant 17343 formation when crossing from 32-bit targets. 17344 (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper 17345 split): Remove. 17346 (define_insn addx, subx): Make visible and prettify. 17347 (define_insn adddi3_insn_sp32): Likewise and force split. 17348 (define_insn addx_extend, subx_extend, unnamed): New patterns for 17349 64bit scc split usage. 17350 (define_insn unnamed plusDI zero_extend, unnamed minusDI 17351 zero_extend, subdi3): Force and implement splits. 17352 17353 * final.c (final_scan_insn): Don't output labels if target 17354 specifies ASM_OUTPUT_ADDR_{DIFF}_VEC. Do these macro operations 17355 instead. 17356 17357 * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end, 17358 don't forget to walk inside SEQUENCESs too as these are what the 17359 delay slot scheduler will create. 17360 17361Mon Aug 10 01:21:01 1998 Richard Henderson <rth@cygnus.com> 17362 17363 * alpha.md (extxl+1,+2): New patterns to work around 17364 combine lossage. 17365 17366Sat Aug 8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org) 17367 17368 * rs6000.c (rs6000_allocate_stack_space): Fix typo which 17369 caused bad assembly code to be generated. 17370 17371Sat Aug 8 18:53:28 1998 Jeffrey A Law (law@cygnus.com) 17372 17373 * netbsd.h: Fix typo. 17374 17375Mon Aug 3 00:06:42 1998 Robert Lipe <robertl@dgii.com> 17376 17377 * config.sub: Fix typo. 17378 17379Sun Aug 2 22:39:08 1998 Hans-Peter Nilsson <hp@axis.se> 17380 17381 * invoke.texi (Environment Variables): Typo: Change "ascpects" 17382 into "aspects". 17383 (Running Protoize): Typo: Change "ther" into "other". 17384 17385Sun Aug 2 00:42:50 1998 Jeffrey A Law (law@cygnus.com) 17386 17387 * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO. 17388 * m68k/netbsd.h: Likewise. 17389 * ns32k/netbsd.h: Likewise. 17390 * sparc/netbsd.h: Likewise. 17391 17392Sat Aug 1 17:59:30 1998 Richard Henderson <rth@cygnus.com> 17393 17394 * ginclude/va-alpha.h (va_list): Use a typedef, not a define. 17395 * ginclude/va-clipper.h (va_list): Likewise. 17396 17397Fri Jul 31 20:22:02 1998 Michael Meissner <meissner@cygnus.com> 17398 17399 * rs6000.c (rs6000_override_options): If big endian and -Os, use 17400 load/store multiple instructions unless user overrides. 17401 17402Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com) 17403 17404 * ns32k/netbsd.h: Fix typo. 17405 17406Fri Jul 31 10:23:55 1998 Doug Evans <devans@canuck.cygnus.com> 17407 17408 * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number 17409 labels with .debugsym if no parallel insns. 17410 17411Thu Jul 30 19:15:53 1998 Richard Henderson <rth@cygnus.com> 17412 17413 * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN. 17414 (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap. 17415 17416Thu Jul 30 19:50:15 1998 David Edelsohn <edelsohn@gnu.org> 17417 17418 * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete. 17419 (AR_FOR_TARGET): Define. 17420 17421Thu Jul 30 12:29:12 1998 Mark Mitchell <mark@markmitchell.com> 17422 17423 * dyn-string.h: New file. 17424 * dyn-string.c: Likewise. 17425 * Makefile.in (OBJS): Add dyn-string.o. 17426 (dwarf2out.o): Add dyn-string.h dependency. 17427 (dyn-string.o): List dependencies. 17428 * dwarf2out.c: Include dyn-string.h. 17429 (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy. 17430 (addr_const_to_string): Take a dyn_string_t, not a char* as a 17431 prototype. Use dyn_string_append rather than strcat, throughout. 17432 (addr_to_string): Use dyn_string_t. 17433 17434Thu Jul 30 13:08:07 1998 Ken Raeburn <raeburn@cygnus.com> 17435 17436 Function entry/exit profiling instrumentation: 17437 * expr.h (profile_function_entry_libfunc, 17438 profile_function_exit_libfunc): Declare new variables. 17439 * optabs.c: Define them here. 17440 (init_optabs): Initialize them. 17441 * tree.h (struct tree_decl): New flag 17442 no_instrument_function_entry_exit. 17443 (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro. 17444 * c-decl.c (duplicate_decls): Merge it. 17445 * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION. 17446 (init_attributes): Use it for "no_instrument_function". 17447 (decl_attributes): Handle it, for functions that have not yet been 17448 compiled. Set decl flag. 17449 * flags.h (flag_instrument_function_entry_exit): Declare new 17450 variable. 17451 * toplev.c (flag_instrument_function_entry_exit): Define it here. 17452 (f_options): New option "instrument-functions". 17453 * function.h (struct function): New field instrument_entry_exit. 17454 * function.c (current_function_instrument_entry_exit): New 17455 variable. 17456 (push_function_context_to, pop_function_context_from): Save and 17457 restore. 17458 (expand_function_start): Set current_ variable, maybe emit return 17459 label and entry profile call. 17460 (expand_function_end): Maybe emit exit profile call. 17461 17462Thu Jul 30 00:58:34 1998 Jeffrey A Law (law@cygnus.com) 17463 17464 * i386.md (movqi): When optimizing a load of (const_int 1) into a 17465 NON_QI_REG_P, pretend the register is SImode. 17466 17467Wed Jul 29 23:49:23 1998 Todd Vierling <tv@netbsd.org> 17468 17469 * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist). 17470 Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any 17471 manufacturer id for ns32k. 17472 * configure: Regenerated. 17473 * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too. 17474 * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc. 17475 * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0. 17476 * config/m68k/netbsd.h: Same. 17477 * config/ns32k/netbsd.h: Same. 17478 * config/sparc/netbsd.h: Same. 17479 17480Wed Jul 29 22:39:21 1998 Jeffrey A Law (law@cygnus.com) 17481 17482 * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO 17483 or UNROLL_COMPLETELY loop that starts with a jump to its 17484 exit code. 17485 17486Wed Jul 29 22:18:14 1998 David Edelsohn <edelsohn@gnu.org> 17487 17488 * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS. 17489 * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT. 17490 (print_operand, case 'B'): Don't fall through. 17491 (print_operand, case 'S'): Correct mask begin/end computation. 17492 Use HOST_BITS_PER_WIDE_INT. 17493 * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG. 17494 (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT. 17495 * rs6000/aix41.h (CPP_PREDEFINES): Same. 17496 * rs6000/aix43.h (CPP_PREDEFINES): Same. 17497 17498Wed Jul 29 11:47:10 1998 Nick Clifton <nickc@cygnus.com> 17499 17500 * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber 17501 constraint from second alternative. 17502 17503Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com> 17504 17505 * configure.in: Fix --without/--disable cases for local-prefix, 17506 gxx-include-dir and checking. 17507 17508Tue Jul 28 22:01:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 17509 17510 * configure.in (enable_haifa): Set by default for sparc64 too. 17511 configure: Rebuilt. 17512 17513Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com> 17514 17515 * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro. 17516 * i386/winnt.c (associated_type): New fn. 17517 (i386_pe_valid_type_attribute_p): New fn. 17518 (i386_pe_check_vtable_importexport): Remove. 17519 (i386_pe_dllexport_p): Use associated_type. 17520 (i386_pe_dllimport_p): Likewise. 17521 17522 From Antonio M. O. Neto <anmendes@cruzeironet.com.br>: 17523 * i386.c (i386_valid_type_attribute_p): Also accept 17524 attributes for METHOD_TYPEs. 17525 17526Tue Jul 28 23:17:39 1998 Peter Gerwinski <peter@gerwinski.de> 17527 17528 * tree.c (build_range_type): Copy TYPE_SIZE_UNIT. 17529 17530Tue Jul 28 22:31:12 1998 Craig Burley <burley@gnu.org> 17531 17532 * gcc.c: Fix commentary describing %g, %u, %U, and %O. 17533 17534 * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent 17535 them from generating a new base name for each occurrence of 17536 a specific suffix. 17537 175381998-07-28 Vladimir N. Makarov <vmakarov@cygnus.com> 17539 17540 * cse.c (cse_insn): Enable substitution inside libcall only for REG, 17541 SUBREG, MEM. 17542 * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE. 17543 17544 * cplus-dem.c (type_kind_t): New type. 17545 (demangle_template_value_parm): Add type_kind_t parameter. Rely 17546 on this parameter, rather than demangling the type again. 17547 (demangle_integral_value): Pass tk_integral. 17548 (demangle_template_: Pass the value returned from do_type. 17549 (do_type): Return a type_kind_t. Pass tk_integral to 17550 demangle_template_value_parm for array bounds. 17551 (demangle_fund_type): Likewise. 17552 17553Mon Jul 27 00:54:41 1998 Jason Merrill <jason@yorick.cygnus.com> 17554 17555 * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are 17556 identical. 17557 17558Mon Jul 27 22:18:36 1998 Jeffrey A Law (law@cygnus.com) 17559 17560 * pa.c (move_operand): Accept CONSTANT_P_RTX. 17561 17562Mon Jul 27 17:18:52 1998 Dave Brolley <brolley@cygnus.com> 17563 17564 * stor-layout.c (layout_type): Handle arrays of bits, for Chill. 17565 17566 * expr.c (get_inner_reference): Handle zero-based, unsigned, array 17567 index conversion. 17568 17569Mon Jul 27 14:51:33 1998 Jeffrey A Law (law@cygnus.com) 17570 17571 * mn10300.h (DEBUGGER_AUTO_OFFSET): Define. 17572 (DEBUGGER_ARG_OFFSET): Likewise. 17573 17574 * mn10300.md (movsf): Remove last change. Not needed. 17575 17576Mon Jul 27 14:22:36 1998 Dave Brolley <brolley@cygnus.com> 17577 17578 * c-lex.c (yylex): Fix boundary conditions in character literal and 17579 string literal loops. 17580 17581Mon Jul 27 11:43:54 1998 Stan Cox <scox@cygnus.com> 17582 17583 * longlong.h (count_leading_zeros): Sparclite scan instruction was 17584 being invoked incorrectly. 17585 17586 * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation. 17587 * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): 17588 Add -pg support. 17589 * i386/win32.h: New file. Hybrid mingw32.h/cygwin32.h configuration. 17590 * configure.in: Added i[34567]86-*-win32. 17591 * config.sub: Likewise. 17592 * configure: Rebuilt. 17593 17594Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org) 17595 17596 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating 17597 the frame pointer and compiling PIC code and reload has not completed. 17598 17599 * i386.c (output_to_reg): Add code to emulate non-popping DImode 17600 case. 17601 17602Sun Jul 26 01:01:32 1998 Jeffrey A Law (law@cygnus.com) 17603 17604 * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head. 17605 17606Sat Jul 25 23:29:23 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> 17607 17608 * Makefile.in (install-info): Only try to update the info 17609 directory file if it exists in the first place. 17610 17611Fri Jul 24 18:58:37 1998 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de> 17612 17613 * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete. 17614 17615Fri Jul 24 14:20:26 1998 Jeffrey A Law (law@cygnus.com) 17616 17617 * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle 17618 CONST_DOUBLE source. 17619 17620Fri Jul 24 11:17:04 1998 Nick Clifton <nickc@cygnus.com> 17621 17622 * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm 17623 strings as the insertion of USER_LABEL_PREFIX. 17624 * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a 17625 valid code. 17626 * config/arm/thumb.md: Use %_ as a prefix to gcc library function 17627 calls. 17628 17629Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com> 17630 17631 * dbxout.c (dbxout_range_type): Only call dbxout_type_index for 17632 already defined type. 17633 17634Thu Jul 23 13:49:41 1998 Jeffrey A Law (law@cygnus.com) 17635 17636 * expr.c (check_max_integer_computation_mode): Allow conversions 17637 of constant integers to MAX_INTEGER_COMPUTATION_MODE. 17638 (expand_expr): Likewise. 17639 17640Thu Jul 23 11:12:06 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 17641 17642 * expr.c (expand_expr): Expand RETURN_EXPR. 17643 17644Thu Jul 23 11:00:29 1998 Jim Wilson <wilson@cygnus.com> 17645 17646 * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION. 17647 17648Wed Jul 22 19:10:00 1998 Catherine Moore <clm@cygnus.com> 17649 17650 * dwarf2out.c (output_aranges): Call stripattributes 17651 for TEXT_SECTION references. 17652 (output_line_info): Likewise. 17653 17654Wed Jul 22 14:08:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 17655 17656 * profile.c (branch_prob): Call allocate_reg_info after outputting 17657 profile rtl in instrument_arcs. 17658 17659Wed Jul 22 12:47:49 1998 Jim Wilson <wilson@cygnus.com> 17660 17661 * fixinc.irix (math.h): Install wrapper instead of copying. 17662 17663Wed Jul 22 12:37:14 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> 17664 17665 * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression 17666 so WFL are expanded correctly when contained in a COMPOUND_EXPR. 17667 * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use 17668 lang_flag_0. Added documentation in the flag table. 17669 17670Tue Jul 21 23:28:35 1998 Klaus Kaempf <kkaempf@rmi.de> 17671 17672 * cccp.c (do_include): Fix vax c style include handling. 17673 17674Tue Jul 21 13:28:19 1998 Jason Merrill <jason@yorick.cygnus.com> 17675 17676 * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays. 17677 17678Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com> 17679 17680 * fold-const.c (non_lvalue): Don't deal with null pointer 17681 constants here. 17682 (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR. 17683 17684Tue Jul 21 15:49:31 1998 David Edelsohn <edelsohn@gnu.org> 17685 17686 * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX. 17687 * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX. 17688 * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX. 17689 (u_short_cint_operand): Same. 17690 (reg_or_cint_operand): Same. 17691 (logical_operand): Same. 17692 (input_operand): Same. 17693 (reg_or_short_operand): Use u_short_cint_operand. 17694 17695Tue Jul 21 08:56:42 1998 Richard Henderson <rth@cygnus.com> 17696 17697 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands, 17698 but keep the insns and splits. Adjust so when the ultimate destination 17699 is memory, use cvtql. 17700 17701Tue Jul 21 08:55:09 1998 Richard Henderson <rth@cygnus.com> 17702 17703 * flow.c (regno_uninitialized): Fixed regs are never uninitialized. 17704 17705Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com) 17706 17707 * gcc.c (do_spec): Call "error" not "warning". 17708 17709 * configure.in: Fix minor problems with gas feature detection code. 17710 * configure: Rebuilt. 17711 17712 * gcc.c (do_spec): Issue a warning for '%[]' usage. 17713 17714 * Undo this change. 17715 * gcc.c: Delete %[spec] support. 17716 (do_spec_1, case '('): Likewise. 17717 (do_spec_1, case '['): Call error. 17718 17719Mon Jul 20 22:34:17 1998 Richard Henderson <rth@cygnus.com> 17720 17721 * alpha.h (CPP_SPEC): Tidy. Hook to cpp_cpu and cpp_subtarget. 17722 (CPP_SUBTARGET_SPEC): Default to empty string. 17723 (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New. 17724 (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New. 17725 * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker). 17726 * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New. 17727 (LIB_SPEC): Tidy. 17728 * alpha/linux.h (CPP_PREDEFINES): Tidy. 17729 * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New. 17730 * alpha/netbsd.h (CPP_PREDEFINES): Tidy. 17731 * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC. 17732 * alpha/win-nt.h (CPP_PREDEFINES): Likewise. 17733 * alpha/vsf.h (CPP_PREDEFINES): Likewise. 17734 (CPP_SUBTARGET_SPEC): New. Do this instead of overriding CPP_SPEC. 17735 * alpha/vxworks.h: Likewise. 17736 17737Mon Jul 20 22:51:57 1998 Ken Raeburn <raeburn@cygnus.com> 17738 17739 * mips.md (reload_outsi): Added missing REGNO call. 17740 (smulsi3_highpart, umulsi3_highpart): Provide prototype for 17741 function pointer. 17742 (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use 17743 another match_operator and compare the codes. 17744 17745 * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero. 17746 17747 * MIPS multiply pattern fixes: 17748 * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): 17749 Add union classes for HI, LO, or HILO plus general registers. 17750 (GENERATE_MADD): Deleted. 17751 * mips.md (mulsi3_mult3): Don't disparage output-LO alternative. 17752 Add TARGET_MAD to condition. 17753 (mulsi3): Test HAVE_mulsi3_mult3, not specific flags. 17754 (mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use 17755 "*d" for accumulator, to give preference to LO initially but not 17756 during reload. 17757 17758Mon Jul 20 16:16:38 1998 Dave Brolley <brolley@cygnus.com> 17759 17760 * configure.in (enable_c_mbchar): New configure option. 17761 (extra_cpp_objs): Always available now. 17762 17763 * cexp.y (mbchar.h): #include it. 17764 (yylex): Handle Multibyte characters in character literals. 17765 17766 * cccp.c (mbchar.h): #include it. 17767 (main): Set character set based on LANG environment variable. 17768 (rescan): Handle multibyte characters in comments. 17769 (skip_if_group): See above. 17770 (validate_else): See above. 17771 (skip_to_end_of_comment): See above. 17772 (macarg1): See above. 17773 (discard_comments): See above. 17774 (rescan): Handle multibyte characters in string and character literals. 17775 (collect_expansion): See above. 17776 (skip_quoted_string): See above. 17777 (macroexpand): See above. 17778 (macarg1): See above. 17779 (discard_comments): See above. 17780 (change_newlines): See above. 17781 17782 * c-lex.c (mbchar.h): #include it. 17783 (GET_ENVIRONMENT): New macro. 17784 (init_lex): Set character set based on LANG environment variable. 17785 (yylex): Handle multibyte characters in character literals. 17786 (yylex): Handle multibyte characters in string literals. 17787 17788 * Makefile.in (mbchar.o): New target. 17789 (cccp$(exeext)): @extra_cpp_objs@ is always available. 17790 (cppmain$(exeext)): @extra_cpp_objs@ is always available. 17791 17792 * mbchar.[ch]: New files for multibyte character handling. 17793 17794Mon Jul 20 01:11:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com> 17795 17796 * jump.c (jump_optimize): When simplifying noop moves and 17797 PUSH_ROUNDING, fix thinko so we use same criterion for identifying 17798 the PUSHes to rewrite in second loop as we did in the first. 17799 17800Sun Jul 19 08:23:53 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 17801 17802 * cplus-dem.c (demangle_nested_args): Make function definition 17803 static to match the prototype. 17804 17805Fri Jul 17 14:58:44 1998 Richard Henderson <rth@cygnus.com> 17806 17807 * alloca.c: Respect USE_C_ALLOCA. 17808 * gencheck.c (xmalloc): Ignore __GNUC__ for definition. 17809 * gengenrtl.c (xmalloc): Likewise. 17810 17811Fri Jul 17 14:18:14 1998 Richard Henderson <rth@cygnus.com> 17812 17813 * loop.h (struct induction): Add no_const_addval. 17814 * loop.c (the_movables, reg_address_cost): New variables. 17815 (init_loop): Init reg_address_cost. 17816 (loop_optimize): Call end_alias_analysis. 17817 (scan_loop): Init the_movables. 17818 (record_giv): Init induction->no_const_addval. 17819 (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==. 17820 [REG]: Rearrange loop search test to catch more cases. 17821 (general_induction_var): Return success not benefit; take an extra 17822 argument for that. Change all callers. 17823 (simplify_giv_expr) [PLUS]: Always combine invariants. Use sge_plus. 17824 [MULT]: Use rtx_equal_p instead of ==. Combine simple invariants. 17825 [default]: Search the_movables for additional combinations. 17826 (sge_plus_constant, sge_plus): New functions. 17827 (express_from_1): New function. 17828 (express_from): Always define. Rewrite using express_from_1. 17829 (combine_givs_p): Handle more cases. Ignore address cost. 17830 (cmp_combine_givs_stats): New function. 17831 (combine_givs_used_once, combine_givs_benefit_from): New functions. 17832 (combine_givs): Rewrite to do best-fit combination. 17833 17834 * fold-const.c (operand_equal_p): Handle RTL_EXPR. 17835 (fold): Do a complete (A*C)+(B*C) association check. 17836 17837Fri Jul 17 11:21:55 1998 Jim Wilson <wilson@cygnus.com> 17838 17839 * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT. 17840 17841Fri Jul 17 11:48:55 1998 Jeffrey A Law (law@cygnus.com) 17842 17843 * mn10300.c (MODES_TIEABLE_P): Fix typo. 17844 17845Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com) 17846 17847 * tree.c (valid_machine_attribute): Only create a new type variant if 17848 there is a decl to use it. 17849 17850Thu Jul 16 14:48:04 1998 Nick Clifton <nickc@cygnus.com> 17851 17852 * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have 17853 a suffix. 17854 17855Fri Jul 17 03:24:40 1998 Hans-Peter Nilsson <hp@axis.se> 17856 17857 * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may 17858 be deleted" 17859 17860Thu Jul 16 14:48:47 1998 Jeffrey A Law (law@cygnus.com) 17861 17862 * mn10300.c (count_tst_insns): New arg oreg_countp. Callers changed. 17863 Simplify tests for clearing an address register. 17864 (expand_prologue): Corresponding changes. 17865 17866 * mn10300.md (movXX patterns): Make sure the destination is an 17867 ADDRESS_REG when substituting "zero_areg" for (const_int 0). 17868 (logical patterns): Split into expanders + patterns. 17869 (zero and sign extension patterns): Similarly. 17870 (shift patterns): Similarly. 17871 17872Thu Jul 16 01:17:44 1998 Richard Henderson <rth@cygnus.com> 17873 17874 * loop.c (emit_iv_add_mult): Scan the entire insn list generated 17875 for the sequence, recording base values. 17876 17877Wed Jul 15 10:49:55 1998 Richard Henderson <rth@cygnus.com> 17878 17879 * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix). 17880 17881Tue Jul 14 14:15:30 1998 Nick Clifton <nickc@cygnus.com> 17882 17883 * gcc.c: Remove ANSI-C ism from --help code. 17884 17885 * toplev.c: Support --help with USE_CPPLIB. 17886 17887Tue Jul 14 14:46:08 1998 Jeffrey A Law (law@cygnus.com) 17888 17889 * configure.in: Rework gas feature code to work with symlink based 17890 source trees. 17891 17892 * extend.texi: Clarify some issues related to local variables 17893 assigned to explicit registers. 17894 17895 * mn10300.md (mulsi): Turn into expander + pattern. 17896 17897 * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a 17898 alternative. 17899 17900Tue Jul 14 07:41:59 1998 Richard Earnshaw (rearnsha@arm.com) 17901 17902 * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h. 17903 17904Tue Jul 14 03:02:44 1998 Jeffrey A Law (law@cygnus.com) 17905 17906 * version.c: Bump again to distinguish mainline tree from the 17907 egcs-1.1 branch. 17908 17909See ChangeLog.0 for earlier changes. 17910 17911Local Variables: 17912add-log-time-format: current-time-string 17913End: 17914