1 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3 * config/m68k/t-rtems (m68k-*-rtems*): New.
4 * config.gcc: Use config/m68k/t-rtems.
6 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8 * config/mips/t-rtems: New.
9 * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
11 2003-09-19 Kelley Cook <kelleycook@wideopenwest.com>
13 * cgraph.c: Fix typo in debugging output.
15 2003-09-19 T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
16 Eric Botcazou <ebotcazou@libertysurf.fr>
19 * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
21 2003-09-18 Mike Stump <mrs@apple.com>
23 * c-ppoutput.c (print): Use fileline typedef for field 'line'.
24 (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
25 cb_ident, cb_def_pragma): Use fileline typedef.
26 * cpphash.h (struct cpp_reader): Likewise for field out.first_line.
28 2003-09-18 Danny Smith <dannysmith@users.sourceforge.net>
30 * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
31 total parm size if a parm has incomplete type.
32 (gen_fastcall_suffix): Likewise.
34 2003-09-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
36 * except.c (output_function_exception_table): Adjust last change
37 to handle TYPE of INTEGER_CST.
39 2003-09-18 Mark Mitchell <mark@codesourcery.com>
42 * builtins.c (expand_builtin_apply): Use convert_memory_address
43 before returning the value.
45 * alias.c (find_base_value): Simplify use of
46 convert_memory_address.
47 (find_base_term): Likewise.
48 * builtins.c (expand_builtin_stejmp_setup): Likewise.
49 (expand_builtin_longjmp): Likewise.
50 (expand_builtin_prefetch): Likewise.
51 (get_memory_rtx): Likewise.
52 (expand_builtin_return): Likewise.
53 (expand_builtin_memcpy): Likewise.
54 (expand_builtin_strncpy): Likewise.
55 (expand_builtin_memset): Likewise.
56 (expand_builtin_va_arg): Likewise.
57 (expand_builtin_va_copy): Likewise.
58 (expand_builtin_alloca): Likewise.
59 * calls.c (expand_call): Likewise.
60 * except.c (expand_builtin_extract_return_addr): Likewise.
61 (expand_builtin_eh_return): Likewise.
62 * explow.c (convert_memory_address): Define even when
63 POINTER_EXTEND_UNSIGNED is not defined. Do nothing if the address
64 is already in the right mode.
65 * explow.c (memory_address): Simplify use of convert_memory_address.
66 (probe_stack_range): Likewise.
67 * expmed.c (make_tree): Likewise.
68 * expr.c (emit_block_move_in_libcall): Likewise.
69 (expand_assignment): Likewise.
70 (expand_expr): Likewise.
71 * function.c (assign_parms): Likewise.
72 (expand_function_end): Likewise.
73 * integrate.c (copy_rtx_and_substitute): Likewise.
74 * stmt.c (expand_computed_goto): Likewise.
76 2003-09-18 Roger Sayle <roger@eyesopen.com>
78 * simplify-rtx.c (simplify_unary_operation): Only transform
79 (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
80 is -1. RTL "not" is a bit-wise not, "~", not a logical not "!".
82 2003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
85 * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
87 2003-09-18 Roger Sayle <roger@eyesopen.com>
89 * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
90 PARITY_EXPR): Delete unused tree codes.
91 * c-common.c (c_common_truthvalue_conversion): Delete references
92 to FFS_EXPR and POPCOUNT_EXPR.
93 * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
94 (pp_c_expression): Likewise.
95 * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
96 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
97 * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
98 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR. Add support for calls to
99 BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
100 and long long variants.
102 2003-09-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
104 * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
105 * c-pretty-print.c: Fix formatting.
106 (pp_c_integer_constant): Append type annotation to literals. Tidy.
107 (pp_c_type_specifier): Tidy.
108 (pp_c_compound_literal): New function.
109 (pp_c_initializer): Simplify..
110 (pp_c_initializer_list): Likewise.
111 (pp_c_brace_enclosed_initializer_list): New function.
112 (pp_c_postfix_expression): Simplify.
114 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
116 * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
117 one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
119 2003-09-17 Richard Henderson <rth@redhat.com>
121 * tree-optimize.c (tree_rest_of_compilation): Save and restore
124 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
126 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
128 2003-09-17 Richard Henderson <rth@redhat.com>
130 * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
132 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
134 * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
135 * configure: Regenerate.
137 2003-09-17 Mark Mitchell <mark@codesourcery.com>
140 * dbxout.c (dbxout_init): Use a langhook to find builtin types.
141 * langhooks-def.h (lhd_return_null_tree_v): New function.
142 (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
143 (LANG_HOOKS_DECLS): Add it to the intializer.
144 * langhooks.c (lhd_return_null_tree_v): New function.
145 * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
147 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
149 * configure.in: Quote gcc_config_arguments for configargs.h.
150 * configure: Regenerated.
151 * gccbug.in: Don't shell-expand gcc_config_arguments.
153 2003-09-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
156 * c-pretty-print.c (pp_c_floating_constant): Append
157 type-annotation to floating constants.
159 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
161 * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
163 Use it for _MIPS_SIM.
164 * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
166 * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
168 * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
170 Fixes PR target/10190.
172 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
174 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
177 2003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr>
179 PR optimization/11646
180 * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
181 EDGE_ABNORMAL flag for EH edges.
182 * toplev.c (rest_of_handle_cse): Delete unreachable blocks
183 if dead edges were purged.
185 2003-09-16 Bernardo Innocenti <bernie@develer.com>
187 * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
188 * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
189 * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
190 * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
192 2003-09-16 Ian Lance Taylor <ian@wasabisystems.com>
194 * cfgcleanup.c (label_is_jump_target_p): Correct use of table
195 returned by tablejump_p.
197 2003-09-16 Joel Brobecker <brobecker@gnat.com>
199 * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
201 2003-09-16 Roger Sayle <roger@eyesopen.com>
204 * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
205 argument to be VOIDmode, taking the mode of the comparison from
206 the operands. Only call simplify_relational_operation if we
207 know the mode of the comparison. Honor FLOAT_STORE_FLAG_VALUE
208 if comparison has a floating point result. Ensure that the
209 result is always of the specified mode.
210 (simplify_replace_rtx): Simplify call to simplify_gen_relational.
211 (simplify_unary_operation): Ensure the correct mode and cmp_mode
212 are always passed to simplify_gen_relational. Simplify NOT of
213 comparison operator in any mode, not just BImode.
214 (simplify_ternary_operation): Correct tests on the return value
215 of simplify_relational_operation to use const_true_rtx, not
216 const1_rtx. Abort if it ever returns a non-constant result.
218 * cfgloopanal.c (count_strange_loop_iterations): Use the function
219 simplify_relational_operation, not simplify_gen_relational, if
220 we're only interested in constant comparisons and will ignore
221 non-constant results.
223 2003-09-16 Roger Sayle <roger@eyesopen.com>
225 * fold-const.c (tree_swap_operands_p): New function to determine
226 the prefered ordering of operands.
227 (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
228 operands to commutative, comparison or ternary operators. Replace
229 uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
230 transformation of A ? B : C into !A ? C : B.
232 2003-09-16 Jakub Jelinek <jakub@redhat.com>
234 * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
235 * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
236 * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
237 * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
238 * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
239 * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
240 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
241 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
243 2003-09-16 Jason Merrill <jason@redhat.com>
244 Jakub Jelinek <jakub@redhat.com>
246 * c-common.c (handle_warn_unused_result_attribute): New function.
247 (c_common_attribute_table): Add warn_unused_result.
248 (c_expand_expr): Issue warning when result of inlined function
249 with warn_unused_result attribute is ignored.
250 * calls.c (expand_call): Issue warning when result of function
251 with warn_unused_result attribute is ignored.
252 * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
253 * expr.c (expr_wfl_stack): Define.
254 (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
255 pass const0_rtx as target. Chain locations into expr_wfl_stack.
256 * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
257 bit if inlined function has warn_unused_result attribute.
258 * input.h (expr_wfl_stack): Declare.
259 * doc/extend.texi: Document warn_unused_result attribute.
261 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
263 * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
265 2003-09-15 Bob Wilson <bob.wilson@acm.org>
267 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
269 (call_insn_operand): For PIC, don't allow a direct call to a
270 function in a different section than the current one.
272 2003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
274 * doc/invoke.texi (Warning Options): Add missing hyphen before
275 "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
276 Move "-Wold-style-definition" to the C-only section.
277 Fix the ordering of the warning options.
279 2003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
280 Jeff Law <law@redhat.com>
282 * gcse.c (remove_reachable_equiv_notes): New.
283 replace_store_insn): Call it. Update antic list.
284 (store_killed_in_insn): Take REG_EQUAL notes into account.
285 (build_store_vectors, delete_store): Add parameter to
286 replace_store_insn call.
288 2003-09-15 Bob Wilson <bob.wilson@acm.org>
290 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
293 2003-09-15 Kazu Hirata <kazu@cs.umass.edu>
295 * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
296 (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
297 * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
299 * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
301 * config/rs6000/rs6000.c (function_arg_padding): Likewise.
302 * config/sparc/sparc.c (function_arg_padding): Likewise.
304 2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
306 * haifa-sched.c (schedule_block): Use ready_remove_first instead
307 of choose_ready for non-dfa insn scheduling.
309 2003-09-15 Andreas Jaeger <aj@suse.de>
310 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
312 * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
313 * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
314 * c-parse.in: Warn about old-style parameter definition.
315 * c-common.c: Define warn_old_style_defintion.
316 * c-common.h: Declare it.
317 * c.opt: Add Wold-style-defintion.
319 2003-09-15 Andreas Jaeger <aj@suse.de>
321 * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
322 * config/rs6000/rs6000.c: Likewise.
324 2003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
326 PR optimization/10914
327 * expr.h (get_condition, canonicalize_condition): Declaration changed.
328 * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
329 and canonicalize_condition calls.
330 * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
331 delete_null_pointer_checks): Ditto.
332 * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
333 * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
334 * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
335 (canonicalize_condition, get_condition): Allow to return comparisons
336 of cc mode registers.
337 * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
338 cc mode registers comparison in condition.
340 2003-09-12 Mark Mitchell <mark@codesourcery.com>
342 * coverage.c (create_coverage): Do not call pushlevel/poplevel.
343 * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
345 * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
347 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
349 * combine.c (simplify_comparison): Convert
350 (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
351 (eq (and (lshiftrt X Y) 1) 0).
353 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
355 * alias.c: Follow spelling conventions.
356 * cpphash.h: Likewise.
357 * fold-const.c: Likewise.
359 2003-09-14 Alexandre Oliva <aoliva@redhat.com>
361 * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
362 * c-lex.c (cb_line_change): Skip line changing whenever
365 2003-09-14 Steven Bosscher <steven@gcc.gnu.org>
367 * ra.c: Convert to ISO C90 prototypes.
368 * ra-build.c: Likewise.
369 * ra-colorize.c: Likewise.
370 * ra-debug.c: Likewise.
371 * ra-rewrite.c: Likewise.
373 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
375 * Makefile.in (%.dvi): Remove excess $(docdir).
377 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
379 * function.c (STACK_BYTES): Move definition to head of file.
380 (assign_parms): Don't pass current_function_pretend_args_size
381 directly to SETUP_INCOMING_VARARGS. For partial register arguments,
382 round current_function_pretend_args_size up to STACK_BYTES. Skip any
383 excess before laying out the argument.
385 2003-09-14 Andreas Jaeger <aj@suse.de>
387 * objc/objc-act.c: Convert to ISO C90 prototypes.
388 * objc/objc-act.h: Likewise.
390 2003-09-14 Olaf Hering <olh@suse.de>
392 * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
394 2003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
397 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
398 as they already are done in config/m68k/m68k.h.
399 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
401 * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
402 (machopic_output_stub): Only generate pic base symbols when using pic
403 and generate them in the form L00000000$spb.
405 2003-09-13 Richard Henderson <rth@redhat.com>
407 * cgraphunit.c (cgraph_assemble_pending_functions): Export.
408 (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
411 2003-09-12 Dale Johannesen <dalej@apple.com>
413 * config/rs6000/rs6000.c: Fix typos in previous.
415 2003-09-12 Ziemowit Laski <zlaski@apple.com>
417 * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
418 when allocating pp->buffer.
420 2003-09-12 Geoffrey Keating <geoffk@apple.com>
422 * config/darwin.c (machopic_select_rtx_section): Use
423 const_data_section for things that might require relocation.
425 2003-09-12 H.J. Lu <hongjiu.lu@intel.com>
428 * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
430 2003-09-12 Bob Wilson <bob.wilson@acm.org>
432 * config/xtensa/elf.h (ASM_SPEC): Remove no-density option. Reformat.
433 * config/xtensa/linux.h (ASM_SPEC): Likewise.
434 * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
435 -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
436 -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
437 -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
438 -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
439 -m[no-]hard-float-rsqrt options. Delete corresponding MASK_* macros
440 and redefine corresponding TARGET_* macros with constants from the
441 xtensa-config.h header.
442 * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
443 for the options listed above.
445 2003-09-12 Dale Johannesen <dalej@apple.com>
447 * config/rs6000/rs6000-protos.h: Use C90 prototypes.
448 * config/rs6000/rs6000-c.c: Ditto.
449 * config/rs6000/rs6000.c: Ditto.
450 * config/rs6000/ sysv4.h: Ditto.
452 2003-09-12 Chris Lattner <sabre@nondot.org>
454 * loop.c: Move comments describing BIV's and GIV's to top of file
456 2003-09-12 Roger Sayle <roger@eyesopen.com>
459 * alias.c (write_dependence_p): Modify to take an additional constp
460 argument that controls whether the UNCHANGING_RTX_P flags are used.
461 (anti_dependence, output_dependence): Adjust write_dependence_p
462 callers to pass this additional argument, to return the same result.
463 (unchanging_anti_dependence): New variant of anti_dependence that
464 ignores the UNCHANGING_RTX_P property on memory references.
465 * rtl.h (unchaning_anti_dependence): Prototype here.
466 * flow.c (init_propagate_block): Place fake constant mem writes on
467 the mem_set_list so that dead writes to const variables are deleted.
468 (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
469 (mark_used_regs): Likewise.
471 2003-09-12 Richard Sandiford <rsandifo@redhat.com>
473 * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
474 (mcore_secondary_reload_class): Declare.
475 (mcore_output_inline_const_forced): Remove.
476 * config/mcore/mcore.md (movsi): Remove the code that forced
477 non-inlineable constants into a register if the target was r15
478 or the stack pointer. Remove constant restrictions from the main
479 define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
480 of an r <- P alternative. Remove fallback define_insn for reload.
481 (movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
482 define_insn. Use mcore_output_move in the remaining define_insn.
483 Adjust condition and constraints in the way as for movsi.
484 (movdi): Always split unacceptable constants into two. Use
485 simplify_gen_subreg instead of operand_subword{,_force}.
486 * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
487 (mcore_output_move): Support HImode and QImode moves as well.
488 (mcore_m15_operand_p): New function.
489 (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
490 (mcore_secondary_reload_class): New function.
491 * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
492 terms of mcore_secondary_reload_class.
494 2003-09-11 Mike Stump <mrs@apple.com>
496 * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
498 2003-09-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
500 * builtins.c (fold_builtin_logarithm): if N can't be truncated to
501 MODE exactly, then only convert logN(N) -> 1.0 if
502 flag_unsafe_math_optimizations is set.
504 * builtins.c (builtin_dconsts_init, dconstpi, dconste,
505 init_builtin_dconsts): Delete.
506 * emit-rtl.c (dconstpi, dconste): Define.
507 (init_emit_once): Initialize dconstpi & dconste.
508 * real.h (dconstpi, dconste): Declare.
510 2003-09-11 Alexandre Oliva <aoliva@redhat.com>
513 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
514 for ultimate origin even if block is abstract.
516 2003-09-11 Roger Sayle <roger@eyesopen.com>
518 * combine.c (combine_simplify_rtx): Move several NOT and NEG
519 optimizations from here...
520 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
521 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
523 2003-09-11 Richard Henderson <rth@redhat.com>
525 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
526 Tweek tests for function already generated.
527 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
528 * cgraph.h (cgraph_finalize_function): Update for extra arg.
529 * c-decl.c (finish_function): Likewise.
531 2003-09-10 Joe Buck <jbuck@welsh-buck.org>
533 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
535 2003-09-10 Jerry Quinn <jlquinn@optonline.net>
537 * real.c: Update URL to VAX floating point docs.
538 (decode_vax_d): Extract 8 exponent bits instead of 7.
540 2003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
542 * combine.c (force_to_mode): Set fuller_mask based only on mask,
545 2003-09-11 Jan Hubicka <jh@suse.cz>
547 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
548 on why function is not inlinable; do not check
550 (inline_forbidden_p): Move to...
551 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
552 deal with alloca, longjmp.
553 (inline_forbidden_p): New static function.
554 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
555 find_builtin_longjmp_call): Kill.
557 2003-09-10 Richard Henderson <rth@redhat.com>
559 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
560 * cgraphunit.c: Update to match.
561 (record_call_1): Rearrange. Call lang hook for language nodes.
562 (cgraph_analyze_function): Don't call lower_function.
563 * langhooks.h (struct lang_hooks_for_callgraph): Replace
564 lower_function with analyze_expr.
565 * langhooks-def.h: Update to match.
566 * langhooks.c (lhd_callgraph_analyze_expr): New.
568 2003-09-10 Martin Husemann <martin@duskware.de>
571 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
572 constants greater than 63.
573 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
574 against constants greater than 31.
575 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
576 constants greater than 63.
578 2003-09-09 Richard Henderson <rth@redhat.com>
580 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
581 * cgraph.h (cgraph_finalize_function): Update.
582 * c-decl.c (finish_function): Update.
584 2003-09-09 Devang Patel <dpatel@apple.com>
586 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
587 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
589 2003-09-09 Eric Christopher <echristo@redhat.com>
591 * configure.in: Change usage of 'head' to 'sed 1q'.
592 * configure: Regenerate.
594 2003-09-09 Richard Henderson <rth@redhat.com>
596 * except.c: Include cgraph.h.
597 (output_function_exception_table): Invoke
598 cgraph_varpool_mark_needed_node.
599 * Makefile.in (except.o): Update.
601 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
603 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
604 and use it throughout.
606 2003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
608 * builtins.c (real_dconstp, fold_builtin_logarithm,
609 fold_builtin_exponent): New, split out from fold_builtin. Also
610 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
611 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
612 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
613 of hardcoded array size.
614 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
615 (tree_expr_nonnegative_p): Likewise.
616 * real.h (dconst3, dconst10, dconstthird): New.
618 2003-09-09 Jan Hubicka <jh@suse.cz>
620 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
622 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
625 2003-09-09 Roger Sayle <roger@eyesopen.com>
627 * builtins.c (fold_builtin_cabs): Protect the complex argument
628 against multiple evaluation when optimizing cabs* into sqrt*.
630 2003-09-09 Jan Hubicka <jh@suse.cz>
632 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
634 2003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
636 * Makefile.in: Revert yesterday's change.
638 2003-09-08 Bernardo Innocenti <bernie@develer.com>
639 Peter Barada <peter@baradas.org>
641 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
642 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
643 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
644 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
645 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
646 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
647 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
648 (m68k_compute_frame_layout): New function.
649 (m68k_initial_elimination_offset): New function.
650 (m68k_output_function_prologue): ColdFire-specific movem handling.
651 (m68k_output_function_epilogue): Likewise.
652 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
653 (ARG_POINTER_REGNUM): Add new definition.
654 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
655 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
656 (CAN_ELIMINATE): Likewise.
657 (INITIAL_ELIMINATION_OFFSET): Likewise.
659 2003-09-08 Bernardo Innocenti <bernie@develer.com>
661 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
662 by removing redundant variable cfa_store_offset.
664 2003-09-08 Mark Mitchell <mark@codesourcery.com>
666 * langhooks-def.h (lhd_register_builtin_type): New function.
667 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
668 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
669 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
670 * langhooks.c (lhd_register_builtin_type): New function.
671 * c-common.h (c_register_builtin_type): Declare.
672 * c-common.c (c_register_builtin_type): New function.
673 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
674 c_register_builtin_type.
675 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
676 __float80, and __float128 macros.
677 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
678 __float80, and __float128 types.
680 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
683 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
684 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
685 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
686 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
687 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
688 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
689 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
690 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
691 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
692 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
693 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
694 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
695 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
696 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
697 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
698 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
699 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
701 * doc/extend.texi: Document new builtins.
703 2003-09-09 Jan Hubicka <jh@suse.cz>
705 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
707 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
708 functions, check for COMDAT.
709 (cgraph_assemble_pending_functions): Break out from...
710 (cgraph_finalize_function): ... here; allow redefinig of extern inline
712 (record_call_1): Record function references only in non-unit-at-a-time
714 (cgraph_analyze_function): Reset current_function_decl.
715 (cgraph_finalize_compilation_unit): Assemble pending functions.
717 2003-09-08 Mark Mitchell <mark@codesourcery.com>
719 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
720 (libgov.a): Likewise.
721 (libgcc_eh.a): Likewise.
723 2003-09-08 Roger Sayle <roger@eyesopen.com>
725 * fold-const.c (operand_equal_p): Clarify documentation.
727 2003-09-08 Richard Henderson <rth@redhat.com>
729 * c-decl.c (c_expand_body_1): Push and pop function context here.
730 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
731 nested argument instead of computing nesting ourselves.
733 2003-09-08 Jakub Jelinek <jakub@redhat.com>
735 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
736 regstack if optimizing but not scheduling after reload.
738 2003-09-08 Jakub Jelinek <jakub@redhat.com>
740 * config/sparc/sparc.c (struct machine_function): New type.
741 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
742 (sparc_override_options): Initialize init_machine_status.
743 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
744 tie_symbolic_operand, tle_symbolic_operand): New functions.
745 (symbolic_operand): Disallow tls_symbolic_operand.
746 (symbolic_memory_operand): Likewise.
747 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
748 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
750 (sparc_tls_symbol): New variable.
751 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
752 legitimize_address): New functions.
753 (print_operand): Handle %&.
754 (sparc_init_machine_status, get_some_local_dynamic_name,
755 get_some_local_dynamic_name_1): New functions.
756 (sparc_output_dwarf_dtprel): New function.
757 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
759 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
760 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
761 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
762 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
763 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
764 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
765 (ASM_OUTPUT_DWARF_DTPREL): Define.
766 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
767 tie_symbolic_operand, tle_symbolic_operand.
768 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
769 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
770 (tls_call_delay): New attribute.
771 (in_call_delay): Use it.
772 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
773 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
774 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
775 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
776 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
777 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
778 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
779 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
780 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
781 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
782 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
783 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
784 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
785 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
787 * config/sparc/sparc-protos.h (legitimate_constant_p,
788 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
789 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
790 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
791 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
792 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
793 * configure.in (sparc*-*-*): Add TLS check.
794 * configure: Rebuilt.
796 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
799 * config/i386/i386.c (memory_address_length): Fix computation when
800 the base is esp or ebp.
802 2003-09-07 Mark Mitchell <mark@codesourcery.com>
805 * varasm.c (initializer_constant_valid_p): Correct logic for
808 2003-09-07 Roger Sayle <roger@eyesopen.com>
810 * expr.c (expand_operands): New function to expand an operand pair.
811 (expand_expr): Call expand_operands whenever we need to expand both
812 operands of a binary operator.
813 (do_store_flag): Likewise for operands of comparison operations.
815 2003-09-07 Roger Sayle <roger@eyesopen.com>
817 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
818 (-A)*B if we care about sign-dependent rounding.
820 2003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
822 * c-pretty-print.h (pp_c_left_brace): Declare.
823 (pp_c_right_brace): Likewise.
824 * c-pretty-print.c (pp_c_left_brace): Now a function
825 (pp_c_right_brace): Likewise.
827 2003-09-07 Jan Hubicka <jh@suse.cz>
829 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
831 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
833 * diagnostic.c (warn_deprecated_use): Move to toplev.c
835 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
837 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
838 * Makefile.in (langhooks.o): Depend on diagnostic.h
840 2003-09-06 James E Wilson <wilson@tuliptree.org>
842 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
845 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
847 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
848 and use it throughout.
850 2003-09-07 Jan Hubicka <jh@suse.cz>
852 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
854 * toplev.c (rest_of_decl_compilation): Do not finalize external
857 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
859 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
861 2003-09-06 Jan Hubicka <jh@suse.cz>
864 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
867 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
869 2003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
871 * diagnostic.c (announce_function): Move to toplev.c.
873 2003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
875 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
878 2003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
880 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
881 when gc checking is enabled.
883 2003-09-06 Steven Bosscher <steven@gcc.gnu.org>
886 * c-decl.c (c_expand_body_1): Move return warning from here...
887 (finish_function): ...to here.
889 2003-09-05 Geoffrey Keating <geoffk@apple.com>
891 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
892 a subset of the input class.
894 2003-09-05 Kazu Hirata <kazu@cs.umass.edu>
896 * config/i860/i860.c: Follow spelling conventions.
897 * config/i860/i860.h: Likewise.
898 * config/sh/sh.h: Likewise.
900 2003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
902 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
903 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
904 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
906 2003-09-05 Roger Sayle <roger@eyesopen.com>
907 Richard Henderson <rth@redhat.com>
910 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
911 multiplication to implement division by constant integer.
913 2003-09-05 Jan Hubicka <jh@suse.cz>
915 * opts.c (decode_options): Enable unit-at-a-time at -O2.
916 * params.def (max-inline-insns-single): Set to 500
917 (max-inline-insns-auto): Set to 150
918 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
920 2003-09-04 Richard Henderson <rth@redhat.com>
922 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
923 (cgraph_mark_needed_node): Remove needed argument.
924 * cgraph.h: Update to match.
925 * cgraphunit.c (decide_is_function_needed): Split out from ...
926 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
927 if we generated the function.
928 (record_call_1): Update for cgraph_mark_reachable_node.
929 * varasm.c (mark_referenced): Likewise.
930 * objc/objc-act.c (mark_referenced_methods): Likewise.
932 2003-09-04 DJ Delorie <dj@redhat.com>
934 * targhooks.c: Add comment explaining the migration process.
936 2003-09-04 Eric Christopher <echristo@redhat.com>
938 * config/frv/t-frv: Fix path for frv-abi.h.
939 * config/frv/frv-asm.h: Fix string concatenation.
941 2003-09-04 DJ Delorie <dj@redhat.com>
943 * builtins.c (apply_args_size): Guard against a NULL cfun.
944 (expand_builtin_apply_args_1): Likewise.
945 (expand_builtin_apply): Likewise.
946 Fixes PR bootstrap/12172.
948 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
950 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
951 assembler supports Sun syntax for cmov.
952 * configure: Regenerate.
953 * config.in: Likewise.
954 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
955 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
956 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
957 Fixes PR target/12101.
959 2003-09-04 Matt Austern <austern@apple.com>
961 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
962 with verbosity 0, instead of DECL_NAME, for human-readable string.
964 2003-09-04 Eric Christopher <echristo@redhat.com>
966 * targhooks.c (default_return_in_memory): Allow
969 2003-09-04 Eric Christopher <echristo@redhat.com>
971 * targhooks.c (default_return_in_memory): Fix typo
974 2003-09-04 Eric Christopher <echristo@redhat.com>
976 * targhooks.c (default_return_in_memory): Fix default
979 2003-09-04 Bernardo Innocenti <bernie@develer.com>
981 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
983 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
984 enable coff-only code in m68k.c.
986 2003-09-04 Nick Clifton <nickc@redhat.com>
988 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
990 * config/v850/v850.h: Accept v850e1 as a default CPU.
991 Accept -mv850e1 as a command line option.
992 * doc/invoke.texi: Document new -mv850e1 command line switch.
993 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
996 2003-09-04 Nick Clifton <nickc@redhat.com>
998 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
999 * config/v850/t-v850: Only produce one extra multilib - for
1001 * config/v850/t-v850e: New file: Only produce one extra
1002 multilib - for the v850.
1004 2003-09-04 Jakub Jelinek <jakub@redhat.com>
1006 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
1007 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
1008 * unwind.h (_Unwind_GetBSP): New prototype.
1009 * libgcc-std.ver: Add empty GCC_3.3.2 version.
1010 * mkmap-symver.awk: For symbol versions with no exported symbols,
1011 don't put anything into version script, just change all symbol
1012 versions which inherit from it to inherit from its ancestor.
1014 2003-09-04 Eric Christopher <echristo@redhat.com>
1016 * config/mips/mips.c (mips_expand_prologue): Convert to
1017 calls.struct_value_rtx hook.
1018 (reg_or_const_float_1_operand): New.
1019 * config/mips/mips.h: Update Comments.
1020 (mips_arg): Add reg_or_const_float_1_operand.
1021 * config/mips/mips.md (divdf3); Convert to expander.
1023 (*divdf3): New pattern.
1026 2003-09-04 Jan Hubicka <jh@suse.cz>
1028 * toplev.c (wrapup_global_declarations): Fix final pass in
1031 2003-09-04 Mark Mitchell <mark@codesourcery.com>
1033 * doc/extend.texi: Document removal of cast-as-lvalue extension in
1036 2003-09-04 Nicolas Roche <roche@act-europe.fr>
1038 * gcc.c (process_command): Fix typo.
1040 2003-09-03 David O'Brien <obrien@FreeBSD.org>
1043 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
1044 (PTRDIFF_TYPE): Likewise.
1045 (WCHAR_TYPE_SIZE): Likewise.
1047 2003-09-03 DJ Delorie <dj@redhat.com>
1049 * targhooks.c: New file.
1050 * targhooks.h: New file.
1051 * Makefile.in: Add targhooks.o support.
1052 (function.o): Depend on$(TARGET_H).
1054 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
1055 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
1056 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
1057 (expand_builtin_saveregs): Convert to
1058 calls.expand_builtin_saveregs hook.
1059 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
1060 here, instead of ...
1061 (get_parm_info) ... here.
1062 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
1064 (finish_function): Handle calls.promote_prototypes hook here too.
1065 * c-typeck.c (convert_arguments): Convert to
1066 calls.promote_prototypes hook.
1067 (c_convert_parm_for_inlining): Likewise.
1068 * calls.c (initialize_argument_information): Convert to
1069 calls.promote_function_args hook.
1070 (expand_call): Convert to calls.struct_value_rtx,
1071 calls.strict_argument_naming,
1072 calls.pretend_outgoing_varargs_named, and
1073 calls.promote_function_return hooks. Pass fndecl to
1074 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
1075 hooks, so they can use that.
1076 (emit_library_call_value_1): Likewise.
1077 * combine.c (setup_incoming_promotions): Convert to
1078 calls.promote_function_args hook.
1079 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
1080 * expr.c (expand_assignment): Pass call to aggregate_value_p.
1081 (expand_expr): Likewise.
1082 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
1083 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1084 RETURN_IN_MEMORY macro defaults.
1085 * final.c (profile_function): Convert to calls.struct_value_rtx
1087 * function.c (aggregate_value_p): Accept function type tree as
1088 second parameter; try to deduce fntype from it. Convert to
1089 calls.return_in_memory hook.
1090 (assign_parms): Convert to calls.setup_incoming_varargs,
1091 calls.strict_argument_naming, calls.promote_function_args,
1092 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
1094 (expand_function_start): Likewise. Convert to
1095 calls.struct_value_rtx hook.
1096 (expand_function_end): Convert to calls.promote_function_return hook.
1097 (allocate_struct_function): Pass fndecl to aggregate_value_p.
1098 * hard-reg-set.h: Update comments to new hook names.
1099 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
1100 * reg-stack.c (stack_result): Likewise.
1101 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
1102 * stmt.c (expand_value_return): Convert to
1103 calls.promote_function_return hook.
1104 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
1105 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
1106 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
1107 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
1108 TARGET_STRICT_ARGUMENT_NAMING,
1109 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
1110 * target.h: Likewise.
1111 * tree.h (aggregate_value_p): Also takes a tree to deduce function
1112 attributes from (for target hooks).
1113 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
1114 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
1115 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
1116 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
1117 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
1120 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
1121 to aggregate_value_p.
1122 * config/arm/arm.c (arm_init_cumulative_args,
1123 arm_output_mi_thunk): Likewise.
1124 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
1126 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
1127 mips_can_use_return_insn): Likewise.
1128 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1129 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
1130 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
1132 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
1133 function to aggregate_value_p.
1134 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
1137 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
1138 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
1139 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
1140 (sh_handle_renesas_attribute, sh_promote_prototypes,
1141 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
1142 sh_setup_incoming_varargs, sh_strict_argument_naming,
1143 sh_pretend_outgoing_varargs_named): New decls.
1144 (targetm): Add new hooks.
1145 (calc_live_regs): Save MACL and MACH if the function has the
1147 (sh_expand_prologue): Support renesas attribute.
1148 (sh_builtin_saveregs): Make static.
1149 (sh_build_va_list): Support renesas attribute.
1150 (sh_va_start): Likewise.
1151 (sh_va_arg): Likewise.
1152 (sh_promote_prototypes): New.
1153 (sh_function_arg): New, moved from sh.h. Support renesas
1155 (sh_function_arg_advance): Likewise.
1156 (sh_return_in_memory): Likewise.
1157 (sh_strict_argument_naming): Likewise.
1158 (sh_pretend_outgoing_varargs_named): Likewise.
1159 (sh_struct_value_rtx): New.
1160 (sh_attribute): Add renesas attribute.
1161 (sh_handle_renesas_attribute): New.
1162 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
1163 (sh_ms_bitfield_layout_p): Support renesas attribute also.
1164 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
1165 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
1167 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
1169 (sh_args): Add renesas_abi flag.
1170 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
1171 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
1172 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
1173 stack for the renesas abi.
1174 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1175 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
1176 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
1177 call cookie to indicate renesas calls.
1179 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
1181 * gcse.c (replace_one_set): New function.
1182 (pre_insert_copy_insn): Change the order of copying
1183 to make copy propagation discover additional PRE opportunities.
1185 2003-09-03 Roger Sayle <roger@eyesopen.com>
1187 PR optimization/11700.
1188 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
1189 of a hard register is representable before trying to simplify it
1190 using subreg_hard_regno.
1192 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1194 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
1195 * configure: Regenerate.
1197 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1199 * intl.h (N_): Remove parentheses.
1201 2003-09-03 Bernardo Innocenti <bernie@develer.com>
1203 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
1204 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
1205 definition and code blocks compiled when not defined.
1206 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
1207 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
1208 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
1209 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
1211 2003-09-03 Jeff Sturm <jsturm@one-point.com>
1213 * cgraphunit.c (visited_nodes): New static variable.
1214 (record_call_1): Use walk_tree with visited_nodes.
1215 (cgraph_create_edges): Use walk_tree with visited_nodes.
1216 Setup/teardown visited_nodes hashtable.
1218 2003-09-03 Roger Sayle <roger@eyesopen.com>
1220 * toplev.c (flag_rounding_math): New global variable.
1221 (f_options): Add to the list of language independent options.
1222 * flags.h (flag_rounding_math): Prototype here.
1223 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
1224 * common.opt (frounding-math): New common command line option.
1225 * opts.c (common_handle_option): Handle OPT_frounding_math.
1226 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
1228 * doc/invoke.texi: Document this new command line option.
1230 2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1232 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
1234 2003-09-03 Jan Hubicka <jh@suse.cz>
1236 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
1237 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
1238 * c-objc-common.c: Kill include of gt-c-objc-common.h
1239 (expand_deferred_fns, deffer_fn): Kill function.
1240 (deferred_fns): Kill variable.
1241 (finish_cdtor): Update finish_function call.
1242 (c_objc_common_finish_file): Always call cgraph code.
1243 * c-parse.c: Regenerate.
1244 * c-parse.y: Regenerate.
1245 * c-tree.h (finish_function): Update prototype.
1246 * objc-acct.c (build_module_descriptor, finish_method_def):
1247 Update call of finish_function.
1248 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
1250 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
1251 function and assemble it if needed.
1252 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
1254 (cgraph_optimize): Likewise.
1255 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
1256 even when it has no inline callees.
1257 * c-parse.in: Update calls to finish_function.
1259 2003-09-03 Nick Clifton <nickc@redhat.com>
1261 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
1262 Use #error to generate the message if TARGET_DEFAULT is not
1265 2003-09-03 Richard Sandiford <rsandifo@redhat.com>
1267 * config/mips/mips.h (MASK_UNUSED1): Remove.
1268 (MASK_XGOT, TARGET_XGOT): Define.
1269 (TARGET_SWITCHES): Add an entry for -mxgot.
1270 (ASM_SPEC): Map -mxgot to -xgot.
1271 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
1272 whether we're using a big-GOT sequences.
1273 (mips_legitimize_const_move, mips_expand_call): Likewise.
1274 (override_options): Revert 2003-01-09 change.
1275 * doc/invoke.texi: Document -mxgot.
1277 2003-09-02 Jason Merrill <jason@redhat.com>
1279 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
1280 * config/sparc/sol2.h: Not here.
1282 2003-09-02 Roger Sayle <roger@eyesopen.com>
1284 * expr.c (expand_expr): The code following both_summands performs
1285 the same task as simplify_gen_binary. Replace all gotos to
1286 both_summands with a call to simplify_gen_binary and delete the
1289 2003-09-02 Jason Merrill <jason@redhat.com>
1292 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
1294 2003-09-02 Jeff Sturm <jsturm@one-point.com>
1296 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
1297 (cgraph_optimize_function): Set current_function_decl to the
1298 fndecl we're integrating from.
1300 2003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1302 * builtins.def: Break out _Complex math functions into their
1305 2003-09-02 Andreas Jaeger <aj@suse.de>
1307 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
1309 2003-09-02 Josef Zlomek <zlomekj@suse.cz>
1311 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
1312 finding the note again.
1314 2003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
1316 * config.gcc: Remove host-specific rewrites of target_alias.
1318 2003-09-01 Mark Mitchell <mark@codesourcery.com>
1320 * Makefile.in (genprogs): Fix typo.
1322 * Makefile.in (gencheck.o): Remove build commands.
1323 (dummy-conditions.o): Likewise.
1324 (read-rtl.o): Likewise.
1325 (gensupport.o): Likewise.
1326 (genconfig$(build_exeext)): Remove rule.
1327 (genconfig.o): Remove build commands.
1328 (genflags$(build_exeext)): Remove rule.
1329 (genflags.o): Remove build commands.
1330 (gencodes$(build_exeext)): Remove rule.
1331 (gencodes.o): Remove build commands.
1332 (genconstants.o): Remove build commands.
1333 (genemit$(build_exeext)): Remove rule.
1334 (genemit.o): Remove build commands.
1335 (genrecog$(build_exeext)): Remove rule.
1336 (genrecog.o): Remove build commands.
1337 (genextract$(build_exeext)): Remove rule.
1338 (genextract.o): Remove build commands.
1339 (genpeep$(build_exeext)): Remove rule.
1340 (genpeep.o): Remove build commands.
1341 (genattr$(build_exeext)): Remove rule.
1342 (genattr.o): Remove build commands.
1343 (genprognames): New variable.
1344 (genprogs): Likewise.
1345 (genobjs): Likewise.
1346 (genprogs): New rule.
1347 (genobjs): Likewise.
1348 (genattrtab.o): Remove build commands.
1349 (genautomata.o): Likewise.
1350 (genoutput$(build_exeext)): Remove rule.
1351 (genoutput.o): Remove build commands.
1352 (gengenrtl.o): Likewise.
1353 (genpreds.o): Likewise.
1354 (gengtype.o): Likewise.
1355 (genconditions.o): Likewise.
1356 (gen-protos.o): Likewise.
1358 (fix-header.o): Likewise.
1359 (scan-decls.o): Likewise.
1360 (check-g++): Combine with other check targets.
1361 (check-gcc): Likewise.
1362 (check-g77): Likewise.
1363 (check-objc): Likewise.
1365 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
1367 * config.gcc: Remove host-specific stuff which is unused here
1368 since the introduction of config.host.
1370 * doc/fragments.texi: Mention config.host.
1371 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
1372 of config.build, config.host, and config.gcc.
1374 2003-09-01 Zack Weinberg <zack@codesourcery.com>
1376 * c-decl.c (pushdecl): Don't put variables on
1377 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
1380 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
1382 * config.host: New file.
1383 * config.gcc: Remove some host-specific stuff and some
1384 logic needed only for repeated invocation.
1385 * configure.in: Use config.host.
1386 * configure: Regenerate.
1388 2003-09-01 Josef Zlomek <zlomekj@suse.cz>
1390 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
1391 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
1392 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
1393 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
1394 * tree.def (BIT_ANDTC_EXPR): Kill.
1396 2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
1398 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
1399 * configure: Regenerate.
1401 * config.gcc: Remove references to install_headers_dir, now unused
1402 since introduction of config.build.
1403 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
1405 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
1408 * config.build: New file.
1409 * config.gcc: Remove some build-specific stuff.
1410 * configure.in: Use config.build.
1411 * configure: Regnerate.
1413 2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
1414 Roger Sayle <roger@eyesopen.com>
1417 * stmt.c (expand_end_case_type): Only use jump tables for dense
1418 switch statements when optimizing for size.
1420 2003-08-31 Olivier Hainque <hainque@act-europe.fr>
1422 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
1423 the != 0 case, which ensures pending stack adjustments are flushed.
1425 2003-08-30 Zack Weinberg <zack@codesourcery.com>
1427 * configure.frag: Delete file.
1428 * configure.in: Rename the substitution variables
1429 dep_host_xmake_file and dep_tmake_file to xmake_file and
1430 tmake_file respectively. Do not expand $srcdir in the
1431 value of these; leave that for Make. Introduce a new
1432 substitution varaible, all_lang_makefrags, which lists
1433 subdirectory Make-lang.in files; exclude these from
1434 all_lang_makefiles, which is now only for subdirectory
1435 outputs. Do not invoke configure.frag. Do not set nor
1436 AC_SUBST_FILE target_overrides, host_overrides, or
1437 language_fragments. Create build subdirectories in
1438 config.status extra commands.
1439 * configure: Regenerate.
1440 * Makefile.in: Update substitutions to match changes to
1441 configure. Use include directives instead of @-insertions
1442 to read in host, target, and language fragments.
1443 (Makefile rule): Do not invoke configure.frag. Do not copy
1444 config.status to config.run before executing it. Set
1445 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
1447 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
1449 2003-08-30 Zack Weinberg <zack@codesourcery.com>
1451 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
1452 * c-typeck.c (same_translation_unit_p): New function.
1453 (comptypes): Use it instead of flags parameter to identify
1454 structure types from different translation units.
1455 * c-decl.c (duplicate_decls): Always call comptypes with
1456 COMPTYPE_STRICT flags argument.
1457 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
1460 2003-08-30 Zack Weinberg <zack@codesourcery.com>
1462 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
1463 * c-decl.c (struct c_scope): Remove "incomplete" field.
1464 (pushdecl): Attach variables with incomplete types to
1465 the TYPE_MAIN_VARIANT of the incomplete type in question.
1466 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
1467 to complete, not at current_scope->incomplete. All such
1468 variables do need completion.
1470 2003-08-30 Richard Earnshaw <rearnsha@arm.com>
1471 Nicolas Pitre <nico@cam.org>
1473 * arm/lib1funcs.asm (RETCOND): Delete.
1474 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
1475 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
1476 (__ARM_ARCH__): Move here from ieee754-?f.S.
1477 (RET, RETc): Clean up definitions.
1478 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
1479 (FUNC_END): New macro that marks the end of any function.
1480 (ARM_FUNC_START): New macro that allows an assembler routine to be
1481 implemented in ARM code even if a Thumb-only build.
1482 Unconditionally include ieee754-?f.S.
1483 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
1484 Mark ends of functions.
1485 Split into separate conditionally-compiled units.
1486 Use RETLDM to return from routines.
1487 * arm/ieee754-sf.S: Similarly.
1488 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
1489 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
1490 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
1491 _fixsfsi and _fixunssfsi.
1493 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
1494 multiplication underflows to zero.
1495 (__adddf3): Fix bug when using VFP ordering on little-endian
1497 (__fixdfsi): Use rrx to extract the carry into a register instead of
1498 MRS instruction. Optimize later use of result.
1499 * arm/ieee754-sf.S (__fixsfsi): Likewise.
1500 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
1502 2003-08-29 Richard Henderson <rth@redhat.com>
1504 * tree-optimize.c: New file.
1505 * Makefile.in (OBJS-archive): Add tree-optimize.o.
1506 (tree-optimize.o): New.
1507 * c-decl.c (store_parm_decls): Use allocate_struct_function.
1508 (finish_function): Don't free_after_parsing or free_after_compilation.
1509 (set_save_expr_context): Move to tree-optimize.c.
1510 (c_expand_body_1): Use tree_rest_of_compilation.
1511 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1512 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1513 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
1514 iterate until closure.
1515 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
1516 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
1517 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
1518 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
1519 * toplev.h (tree_rest_of_compilation): Declare it.
1521 2003-08-29 Richard Henderson <rth@redhat.com>
1523 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
1524 * integrate.c (save_for_inline): Set saved_for_inline.
1525 * c-semantics.c (genrtl_scope_stmt): Check it.
1526 * toplev.c (wrapup_global_declarations): Check it.
1527 (rest_of_handle_inlining): Set and check rtl_inline_init.
1528 (rest_of_compilation): Remove out of date comment.
1530 2003-08-29 Richard Henderson <rth@redhat.com>
1532 * function.c (allocate_struct_function): New, split out of ...
1533 (prepare_function_start, init_function_start): ... here.
1534 * expr.c (init_expr): Use ggc_alloc_cleared.
1535 * stmt.c (init_stmt_for_function): Likewise.
1536 * tree.h (allocate_struct_function): Declare.
1538 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1540 * config.gcc: Don't use negated character class in shell case
1543 2003-08-29 Richard Henderson <rth@redhat.com>
1545 * function.h (struct function): Move function_frequency and
1546 max_jumptable_ents before start of bit field members.
1548 2003-08-29 Richard Henderson <rth@redhat.com>
1550 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
1551 (fold_builtin_constant_p) ... not here.
1553 2003-08-29 Richard Henderson <rth@redhat.com>
1555 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
1556 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
1557 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
1559 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1561 * builtins.def: Fix typos.
1562 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
1563 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
1564 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
1565 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
1566 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
1568 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
1569 Use ATTR_MATHFN_FPROUNDING_ERRNO.
1571 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1573 * config.gcc (i386-*-vsta): Fix obvious bogosity.
1575 * fixinc/inclhack.def: Remove special cases for unsupported
1576 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
1577 * fixinc/fixincl.x: Regenerate.
1579 2003-08-29 Mark Mitchell <mark@codesourcery.com>
1581 * Makefile.in (cpp.info): Just state dependencies.
1582 (gcc.info): Likewise.
1583 (gccint.info): Likewise.
1584 (gccinstall.info): Likewise.
1585 (cppinternals.info): Likewise.
1586 (cpp.dvi): Likewise.
1587 (gcc.dvi): Likewise.
1588 (gccint.dvi): Likewise.
1589 (gccinstall.dvi): Likewise.
1590 (cppinternals.dvi): Likewise.
1596 (fsf-funding.7): Likewise.
1597 ($(objdir)/%.info): New pattern rule.
1600 2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
1602 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
1603 (restage2): Likewise.
1604 (restage3): Likewise.
1605 (restage4): Likewise.
1606 (restageprofile): Likewise.
1607 (restagefeedback): Likewise.
1608 (bubblestrap): Likewise.
1610 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1612 * config.gcc: Narrow unsupported target match to avoid clobbering
1613 i?86-sequent-sysv4*.
1615 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1617 * builtins.c (mathfn_built_in): Handle new math builtins.
1619 2003-08-28 Per Bothner <per@bothner.com>
1621 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
1622 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
1623 (_cpp_lex_buffer): Likewise.
1624 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
1626 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1628 * config/s390/s390.md ("*mulsi3_sign"): New insn.
1629 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
1630 ("mulsidi3"): ... this new insn.
1631 ("umulsidi3"): New insn.
1632 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
1633 mixed-mode matching constraints.
1634 ("udivmodsi4", "udivmoddisi3"): New insns.
1635 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1637 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1639 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1640 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1641 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1642 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1643 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1644 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1645 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1646 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1647 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1648 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1649 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1650 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1651 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1652 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1653 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1654 * tree.c: Assign new type_nodes.
1655 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1656 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1657 (float_ptr_type_node, double_ptr_type_node,
1658 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1660 * doc/extend.texi: Document new builtins.
1662 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1664 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1665 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
1667 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1668 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1669 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1670 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1671 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1672 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1673 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1674 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1675 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1676 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
1678 * doc/extend.texi: Document new builtins.
1680 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
1682 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1683 variants of i?86, powerpcle, and thumb.
1684 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1685 arm and hppa variants.
1687 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1689 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1690 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1691 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1692 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1693 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1694 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1695 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1696 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1697 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1698 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1700 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1701 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1702 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1703 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1704 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1705 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1706 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1707 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1708 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1709 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1710 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1711 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1712 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1713 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1714 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1715 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1716 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1717 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1718 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1719 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1720 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1721 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1722 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1723 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1724 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1725 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1726 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1727 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1728 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1729 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1730 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1732 * doc/extend.texi: Document new builtins.
1734 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1736 * config/s390/s390.c (legitmate_constant_p): Use LARL on
1737 zSeries machines even in 31-bit addressing mode.
1738 (legitimate_reload_constant_p): Likewise.
1739 (legitimize_pic_address): Likewise.
1740 (legitimize_tls_address): Likewise.
1741 (s390_split_branches): Likewise.
1742 (s390_dump_pool): Likewise.
1743 (s390_mainpool_finish): Likewise.
1744 (s390_chunkify_start): Likewise.
1745 (s390_select_rtx_section): Likewise.
1746 * config/s390/s390.md ("doloop_si"): Likewise.
1747 ("pool_start_31", "pool_end_31"): Likewise.
1748 ("pool_start_64", "pool_end_64"): Likewise.
1749 ("main_base_31_small", "main_base_31_large"): Likewise.
1750 ("main_base_64"): Likewise.
1751 ("reload_base_31", "reload_base_64"): Likewise.
1752 ("*movsi_larl"): New insn.
1753 ("cjump", "icjump"): Use long branches on zSeries machines.
1755 ("call"): Use BRASL on zSeries machines.
1756 ("call_value", "call_value_tls"): Likewise.
1757 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
1759 ("*bras", "*brasl", "*basr") ... these new insns.
1760 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
1761 "bas_31_r"): Remove and replace by ...
1762 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
1763 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
1764 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1765 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1766 ("*return_si", "*return_di"): Remove and replace by ...
1767 ("*return"): ... this new insn.
1768 ("rotlsi3"): Allow on zSeries machines.
1770 * config/s390/s390.c (legitimize_reload_constant_p): Use
1771 LL/LH type instructions in z/Architecture mode.
1772 * config/s390/s390.md ("*movsi_lli"): Likewise.
1773 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1774 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1775 ("*extendqisi2"): Use LB in z/Architecture mode.
1776 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
1777 z/Architecture mode.
1778 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
1781 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1783 ("ptr_extend"): Allow only in 64-bit mode.
1785 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
1787 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1788 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1790 (main): Only use standard_startfile_prefix if native.
1791 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1793 2003-08-27 Per Bothner <pbothner@apple.com>
1795 * cpperror.c (print_location): Don't check for !pfile->buffer. That
1796 test fails following my 08-21 change, and it seems unnecessary anyway.
1797 (cpp_error): Likewise.
1799 2003-08-27 Jason Merrill <jason@redhat.com>
1801 * real.c (do_multiply): Initialize with memset.
1803 2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1805 * gcov.c (typedef struct arc_info): New field cs_count.
1806 (accumulate_line_counts): Find cycles correctly.
1808 2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
1810 * config/s390/s390.c (struct machine_function): Remove member
1812 (s390_optimize_prolog): Replace TEMP_REG argument with
1813 TEMP_USED and BASE_USED. Do not check get_pool_size ().
1814 (general_s_operand): Accept all immediates before reload if
1815 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
1817 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1818 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1819 (s390_alloc_pool): New function.
1820 (s390_new_pool): Call it.
1821 (s390_dump_pool): Add REMOTE_LABEL argument.
1822 (s390_chunkify_start): Add BASE_REG argument. Do not check
1824 (s390_chunkify_finish): Add BASE_REG argument. Adapt
1825 s390_dump_pool call.
1826 (s390_pool_count, s390_nr_constants): Remove.
1827 (s390_output_constant_pool): Remove.
1828 (s390_mainpool_start): New function.
1829 (s390_mainpool_finish): New function.
1830 (s390_mainpool_cancel): New function.
1831 (s390_reorg): Implement main literal pool handling.
1832 (s390_emit_prologue): Emit main_pool placeholder instead of
1833 literal_pool_31 / literal_pool_64 insns.
1834 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1835 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1836 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1837 ("main_base_31_small", "main_base_31_large"): New insns.
1838 ("main_base_64", "main_pool"): New insns.
1839 ("literal_pool_31", "literal_pool_64"): Remove.
1841 2003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
1843 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1845 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
1847 * fixinc/fixincl.x: Regenerate.
1849 2003-08-27 Richard Earnshaw <rearnsha@arm.com>
1851 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
1852 (L_ieee754_dp): New. Include ieee754-df.S.
1853 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1854 and compilation in apcs-26 mode.
1855 * arm/ieee754-df.S: Likewise.
1856 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1857 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1859 2003-08-27 Nicolas Pitre <nico@cam.org>
1861 * arm/ieee754-sf.S: New.
1862 * arm/ieee754-df.S: New.
1864 2003-08-27 Jakub Jelinek <jakub@redhat.com>
1866 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
1867 and restore it if returning NULL.
1869 2003-08-27 Richard Sandiford <rsandifo@redhat.com>
1871 * calls.c (initialize_argument_information): If an argument has no
1872 stack space associated with it, and BLOCK_REG_PADDING is defined,
1873 use it to decide at which end the argument should be padded.
1874 * function.c (assign_parms): Allocate BLKmode stack slots.
1875 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
1876 (mips_pad_reg_upward): Declare.
1877 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
1878 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
1879 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
1880 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
1881 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
1882 (mips_expand_call): Remove code for generating structure shifts.
1883 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
1884 types unless using the EABI.
1885 (function_arg_advance): Don't generate shift instructions.
1886 (function_arg): Don't return them. Don't short-circuit the
1887 check for double structure chunks for DFmode arguments.
1888 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
1889 (mips_expand_prologue): Remove code to emit structure shifts.
1890 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
1891 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
1892 comments to say that only structure returns are a problem.
1894 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1896 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
1897 Fix to match produced versions.
1898 * fixinc/inclhack.def (longlong_t): New disabled test, ported
1900 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
1902 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
1903 ported from fixinc.ptx.
1905 2003-08-26 Per Bothner <pbothner@apple.com>
1907 * cpplib.h (struct cpp_token): Change type of field line to fileline.
1908 (cpp_error_with_line): Use fileline for appropriate parameter.
1909 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
1910 (struct cpp_reader): Likewise for fields line and directive_line.
1911 (_cpp_begin_message): Use fileline for appropriate parameter.
1912 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
1913 cpp_error): Use fileline for appropriate parameters and variables.
1914 (print_location): New local lin, since it is not a fileline.
1916 2003-08-26 Roger Sayle <roger@eyesopen.com>
1919 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
1920 (FLOAT_TYPE_P): Define in terms of these two new macros.
1921 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
1922 for complex floating point types.
1924 2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
1926 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
1927 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
1928 s390_output_pool_entry.
1930 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1932 * fixinc/inclhack.def (svr4_preproc_lint_on,
1933 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
1934 fixes, ported from fixinc.svr4.
1936 2003-08-26 Mark Mitchell <mark@codesourcery.com>
1938 * doc/install.texi (Prerequisites): Mention GNU make requirement.
1940 * Makefile.in (AR_FOR_TARGET): Export it.
1941 (AR_CREATE_FOR_TARGET): Likewise.
1942 (AR_FLAGS_FOR_TARGET): Likewise.
1943 (AR_EXTRACT_FOR_TARGET): Likewise.
1945 (BUILD_PREFIX): Likewise.
1946 (BUILD_PREFIX_1): Likewise.
1947 (DESTDIR): Likewise.
1948 (GCC_FOR_TARGET): Likewise.
1949 (INCLUDES): Likewise.
1950 (INSTALL_DATA): Likewise.
1951 (LIB1ASMSRC): Likewise.
1952 (LIBGCC2_CFLAGS): Likewise.
1953 (MACHMODE_H): Likewise.
1954 (NM_FOR_TARGET): Likewise.
1955 (RANLIB_FOR_TARGET): Likewise.
1956 (libsubdir): Likewise.
1957 (slibdir): Likewise.
1958 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
1960 (libgcc.a): Don't pass them here.
1961 (stmp-multilib): Or here.
1962 (install-libgcc): Or here.
1963 (install-multilib): Or here.
1964 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
1965 (stage1_build): Or here.
1967 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1969 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
1970 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
1972 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1974 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
1975 "*fmaddsf", "*fmsubsf"): New insns.
1977 2003-08-26 Roger Sayle <roger@eyesopen.com>
1979 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
1980 (C1*C2)/X when unsafe math optimizations are allowed.
1981 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
1982 math optimizations. Minor code clean-ups. Recursively call
1983 fold when constructing sub-expressions.
1985 2003-08-26 Roger Sayle <roger@eyesopen.com>
1987 * builtins.c (fold_builtin_bitop): New function to perform constant
1988 folding of ffs, clz, ctz, popcount and parity builtin functions
1989 and their long and long long variants (such as ffsl and ffsll).
1990 (fold_builtin): fold_builtin_bitop when appropriate.
1991 * simplify-rtx.c (simplify_unary_operation): Honor both
1992 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
1993 evaluating clz and ctz at compile-time, for operands wider
1996 2003-08-26 Nathan Sidwell <nathan@codesourcery.com>
1998 * builtins.c (build_function_call_expr): Don't set
1999 TREE_SIDE_EFFECTS here.
2000 * expr.c (emit_block_move_via_libcall): Likewise.
2001 (clear_storage_via_libcall): Likewise.
2002 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
2005 * gcse.c (is_too_expensive): New function.
2006 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
2008 2003-08-25 Zack Weinberg <zack@codesourcery.com>
2010 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
2011 commented-out logic to use DCE threads (if present), add
2012 support for POSIX threads.
2013 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
2014 #defines for -pthread. Add -lpthread to LIB_SPEC when
2015 -pthread. In both cases take -mt as a synonym for -pthread
2016 for acc compatibility.
2017 Define GTHREAD_USE_WEAK to 0.
2018 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
2019 Remove old logic for DCE threads from LIB_SPEC.
2020 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
2022 2003-08-25 Roger Sayle <roger@eyesopen.com>
2024 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
2025 return 0 for invalid argument types. Instead drop through to a
2026 call of expand_call at the bottom of function. If op is SQRT,
2027 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
2029 2003-08-25 Richard Henderson <rth@redhat.com>
2031 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
2032 result when op0 is SImode.
2034 2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
2036 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
2038 * fixinc/fixincl.x: Regenerate.
2039 * fixinc/tests/base/sys/signal.h: Regenerate.
2041 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
2043 * combine.c (simplify_comparison): Re-enable widening of comparisons
2044 with non-paradoxical subregs of non-REG expressions.
2046 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
2048 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
2050 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
2052 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
2054 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2056 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
2057 * c-pretty-print.h (c_pretty_printer): Now typedef to the
2058 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
2059 (struct c_pretty_print_info): Document. Add new fields.
2060 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
2061 (pp_direct_abstract_declarator): New macro.
2062 (pp_ptr_operator): Likewise.
2063 (pp_simple_type_specifier): Likewise.
2064 (pp_expression): Likewise.
2065 (pp_parameter_list): Rename from pp_parameter_declaration.
2066 * c-pretty-print.c (pp_c_whitespace): Now a function.
2067 (pp_c_left_paren): Likewise.
2068 (pp_c_right_paren): Likewise.
2069 (pp_c_dot): Likewise.
2070 (pp_c_ampersand): Likewise.
2071 (pp_c_arrow): Likewise.
2072 (pp_c_semicolon): Likewise.
2073 (pp_c_type_cast): New function.
2074 (pp_c_space_for_pointer_operator): Likewise.
2075 (pp_c_call_argument_list): Likewise.
2076 (pp_c_cv_qualifier): Adjust prototype.
2077 (pp_c_type_qualifier_list): Likewise.
2078 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
2079 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
2080 Adjust to follow standard grammar.
2081 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
2082 REFERENCE_TYPE. Tidy.
2083 (pp_c_parameter_type_list): Adjust prototype. Tidy.
2084 (pp_c_parameter_declaration): Remove.
2085 (pp_c_abstract_declarator): Adjust prototype.
2086 (pp_c_direct_abstract_declarator): Likewise.
2087 (pp_c_type_id): Likewise.
2088 (pp_c_storage_class_specifier): Likewise.
2089 (pp_c_function_specifier): Likewise.
2090 (pp_c_declaration_specifiers): Likewise.
2091 (pp_c_direct_declarator): Likewise.
2092 (pp_c_declarator): Likewise.
2093 (pp_c_declarator): Likewise.
2094 (pp_c_declaration): Likewise.
2095 (pp_c_attributes): Likewise. Tidy.
2096 (pp_c_function_definition): Adjust prototype.
2097 (pp_c_char): Likewise.
2098 (pp_c_string_literal): Likewise.
2099 (pp_c_integer_constant): Likewise.
2100 (pp_c_character_constant): Likewise.
2101 (pp_c_bool_constant): Likewise.
2102 (pp_c_enumeration_constant): Likewise.
2103 (pp_c_floating_constant): Likewise.
2104 (pp_c_constant): Likewise.
2105 (pp_c_identifier): Likewise.
2106 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
2107 (pp_c_initializer): Adjust prototype.
2108 (pp_c_init_declarator): Likewise.
2109 (pp_c_initializer_list): Likewise.
2110 (pp_c_id_expression): Likewise.
2111 (pp_c_postfix_expression): Likewise.
2112 (pp_c_expression_list): Likewise.
2113 (pp_c_unary_expression): Likewise.
2114 (pp_c_cast_expression): Likewise.
2115 (pp_c_multiplicative_expression): Likewise.
2116 (pp_c_additive_expression): Likewise.
2117 (pp_c_shift_expression): Likewise.
2118 (pp_c_relational_expression): Likewise.
2119 (pp_c_equality_expression): Likewise.
2120 (pp_c_and_expression): Likewise.
2121 (pp_c_exclusive_or_expression): Likewise.
2122 (pp_c_inclusive_or_expression): Likewise.
2123 (pp_c_logical_and_expression): Likewise.
2124 (pp_c_logical_or_expression): Likewise.
2125 (pp_c_conditional_expression): Likewise.
2126 (pp_c_assignment_expression): Likewise.
2127 (pp_c_expression): Likewise. Tidy.
2128 (pp_c_statement): Likewise. Document.
2129 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
2131 * c-lang.c (c_initialize_diagnostics): Update.
2132 * c-common.h (strip_pointer_operator): Declare.
2133 * c-common.c (strip_pointer_operator): Define.
2135 2003-08-25 Mark Mitchell <mark@codesourcery.com>
2138 * tree.h (build_method_type_directly): Declare.
2139 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
2140 (vector_size_helper): Likewise.
2141 * tree.c (build_method_type_directly): New function.
2142 (build_method_type): Use it.
2144 2003-08-24 Richard Henderson <rth@redhat.com>
2146 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
2147 for 16-byte vector modes if sse not enabled; warn for abi change.
2148 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
2150 2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
2152 * rtlanal.c (may_trap_p): Simplify an integer comparison.
2154 2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
2156 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
2157 comment. Enable for DYNIX/ptx systems (when they switch to
2158 regular fixincludes).
2159 * fixinc/fixincl.x: Regenerate.
2161 2003-08-23 Jason Eckhardt <jle@rice.edu>
2163 * config/i860/t-i860: New.
2164 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
2166 2003-08-23 Jakub Jelinek <jakub@redhat.com>
2168 * c-decl.c (pushdecl): Only put decls which finish_struct will do
2169 something about onto incomplete chain.
2170 (finish_struct): If not removing type from incomplete
2173 2003-08-20 Jan Hubicka <jh@suse.cz>
2176 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
2179 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
2180 const_0_to_15_operand, const_0_to_255_operand): New predicates.
2181 * i386.h (PREDICATE_CODES): Add these.
2182 * i386.c (pinsrw and pextrw patterns): Use them.
2185 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
2188 * expr.c (convert_modes): Deal properly with integer to vector
2189 constant conversion.
2192 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
2194 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
2196 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
2197 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
2198 ("*movhi"): ... this.
2199 ("movqi", "*movqi"): Likewise.
2200 ("movqi_64"): Remove.
2201 ("*zero_extendhisi2_31"): Change predicate to s_operand.
2203 2003-08-23 Dale Johannesen <dalej@apple.com>
2204 * calls.c (emit_library_call_value_1): Fix obvious errors in
2205 arguments to emit_group_store.
2207 2003-08-23 Jason Eckhardt <jle@rice.edu>
2209 * calls.c (emit_library_call_value_1): Remove code related
2210 to LIBGCC_NEEDS_DOUBLE.
2211 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
2212 * doc/tm.texi: Likewise.
2213 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
2215 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
2217 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
2219 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
2221 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
2222 as well. Put memory references in the varargs alias set.
2223 (mips_expand_prologue): Remove varargs handling from here.
2225 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
2227 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
2228 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
2229 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
2230 for function pointer calls.
2231 * config/s390/s390.md ("*negdi2_31"): Likewise.
2233 2003-08-23 Roger Sayle <roger@eyesopen.com>
2235 * combine.c (apply_distributive_law): Correct comment.
2237 2003-08-23 Jason Eckhardt <jle@rice.edu>
2239 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
2241 2003-08-22 Jason Eckhardt <jle@rice.edu>
2243 * config/i860/i860.c (i860_build_va_list): Create the va_decl
2244 declaration. Document the va_list structure.
2245 (i860_va_start): Initialize the va_list structure.
2246 (i860_va_arg): Rewrite completely.
2247 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
2248 * config/i860/varargs.asm: Do not allocate or initialize
2249 a va_list. Return the address of the register save area.
2251 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2253 * config/iq2000/iq2000.c: Fix comment typos.
2254 * config/iq2000/iq2000.md: Likewise.
2256 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2258 * config/iq2000/iq2000.c: Follow spelling conventions.
2259 * config/iq2000/iq2000.h: Likewise.
2260 * config/mn10300/mn10300.c: Likewise.
2262 2003-08-22 Jason Eckhardt <jle@rice.edu>
2264 * config/i860/i860.c (output_move_double): Don't set latehalf
2265 to zero for CONST_INT (since it could be, e.g., -1).
2267 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
2268 (MODSI3_LIBCALL): ...with this one.
2269 (UREMSI3_LIBCALL): Replace this macro...
2270 (UMODSI3_LIBCALL): ...with this one.
2272 2003-08-22 Jason Eckhardt <jle@rice.edu>
2274 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
2275 (output_delayed_branch): Remove prototype.
2276 (single_insn_src_p): Remove prototype.
2277 * config/i860/i860.c (single_insn_src_p): Remove function.
2278 (output_delayed_branch): Remove function.
2279 (output_delay_insn): Remove function.
2280 (va_start): Remove unconditional test and dead code, re-format.
2281 Fix coding style and spelling problems in various comments.
2282 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
2283 (blockage pattern): ...and use it here.
2284 (all define_peephole patterns related to delayed branches): Remove.
2285 Fix coding style and spelling problems in various comments.
2287 2003-08-22 Jason Eckhardt <jle@rice.edu>
2289 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2290 Remove all uses of the PARAMS macro. Remove superflous prototypes.
2291 Convert all function definitions from traditional to ISO C90 syntax.
2292 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
2293 with 'GCC'. Remove all uses of the PARAMS macro.
2294 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
2295 * config/i860/i860.md: Likewise.
2296 * config/i860/sysv4.h: Likewise.
2297 * config/i860/varargs.asm: Likewise.
2299 2003-08-22 Jason Eckhardt <jle@rice.edu>
2301 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
2303 (tdesc_section): Add prototype.
2304 Update copyright dates.
2305 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
2306 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
2307 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
2308 (targetm): Likewise.
2309 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
2310 for '%d' where necessary.
2311 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
2312 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
2313 by UNITS_PER_WORD when referencing (likewise for .floats).
2314 (I860_SVR4_VARARGS): Rename...
2315 (I860_SVR4_VA_LIST): ...to this.
2316 Call build() with 't' rather than 'field'.
2317 (i860_rtx_costs): New function.
2318 (TARGET_RTX_COSTS): Define.
2319 (i860_internal_label): New function.
2320 (TARGET_ASM_INTERNAL_LABEL): Define.
2321 (i860_file_start): New function.
2322 Update copyright dates.
2323 * config/i860/i860.h (CPP_PREDEFINES): Remove.
2324 (TARGET_CPU_CPP_BUILTINS): Define.
2325 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
2326 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
2327 (ASM_FILE_START): Remove.
2328 (ASM_FILE_START_1): Remove.
2329 (ASM_GLOBALIZE_LABEL): Remove.
2330 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
2331 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
2332 with targetm.asm_out.internal_label.
2333 Update copyright dates.
2334 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
2335 (CPP_PREDEFINES): Remove.
2336 (TARGET_OS_CPP_BUILTINS): Define.
2337 (GLOBAL_ASM_OP): Define.
2338 (ASM_FILE_START): Remove.
2339 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
2340 (TARGET_ASM_FILE_START): Define.
2341 Update copyright dates.
2343 2003-08-22 Jason Eckhardt <jle@rice.edu>
2345 * gcc/config.gcc (i860-*-sysv4*): Add target.
2346 * config/i860/i860-protos.h: New.
2347 * config/i860/i860.c: New.
2348 * config/i860/i860.h: New.
2349 * config/i860/i860.md: New.
2350 * config/i860/sysv4.h: New.
2351 * config/i860/varargs.asm: New.
2352 * config/i860/x-sysv4: New.
2354 2003-08-22 Jason Eckhardt <jle@rice.edu>
2356 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
2357 Remove all uses of PARAMS macro.
2358 Convert all function definitions to ISO C90 syntax.
2359 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
2360 * config/pa/fptr.c: Likewise.
2361 * config/pa/lib2funcs.asm: Likewise.
2362 * config/pa/long_double.h: Likewise.
2363 * config/pa/milli64.S: Likewise.
2364 * config/pa/pa-64.h: Likewise.
2365 * config/pa/pa-hpux.h: Likewise.
2366 * config/pa/pa-hpux10.h: Likewise.
2367 * config/pa/pa-hpux11.h: Likewise.
2368 * config/pa/pa-linux.h: Likewise.
2369 * config/pa/pa-modes.def: Likewise.
2370 * config/pa/pa-osf.h: Likewise.
2371 * config/pa/pa-pro-end.h: Likewise.
2372 * config/pa/pa.md: Likewise.
2373 * config/pa/pa32-linux.h: Likewise.
2374 * config/pa/pa64-linux.h: Likewise.
2375 * config/pa/pa64-hpux.h: Likewise.
2376 * config/pa/pa64-regs.h: Likewise.
2377 * config/pa/quadlib.c: Likewise.
2378 * config/pa/rtems.h: Likewise.
2379 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
2380 all uses of the PARAMS macro.
2381 * config/pa/pa.h: Likewise.
2382 * config/pa/som.h: Likewise.
2384 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
2385 Remove all uses of PARAMS macro.
2386 Convert all function definitions to ISO C90 syntax.
2387 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
2388 Remove all uses of PARAMS macro.
2389 * config/iq2000.h: Remove all uses of PARAMS macro.
2390 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
2392 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
2394 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
2395 * config/s390/s390.c (gen_consttable): Remove.
2396 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
2397 (s390_output_pool_entry): New function.
2398 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
2399 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
2400 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
2401 (UNSPECV_POOL_ENTRY): ... this new constant.
2402 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2403 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
2404 ("*pool_entry"): ... and replace by this new insn.
2405 ("literal_pool_31"): Do not emit anchor label if pool empty.
2407 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
2408 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
2409 (s390_fixup_clobbered_return_reg): Remove.
2410 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
2411 (s390_return_addr_rtx): Always retrieve return address from save area
2412 slot. Use save_return_addr_p to force slot to be filled.
2413 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
2415 2003-08-22 Chris Demetriou <cgd@broadcom.com>
2417 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
2418 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
2419 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
2420 around SB-1 errata if TARGET_FIX_SB1 is set.
2421 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
2422 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
2424 2003-08-22 Roger Sayle <roger@eyesopen.com>
2426 * hashtable.c (ht_expand): Avoid calculating rehash for the common
2427 case that the first probe hits an empty hash table slot.
2429 2003-08-22 Mark Mitchell <mark@codesourcery.com>
2431 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
2433 2003-08-22 Mark Mitchell <mark@codesourcery.com>
2435 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
2436 (ptr_extend_plus_imm): ... this.
2437 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
2438 optimization in C++.
2439 (ia64_output_mi_thunk): Support ILP32 mode.
2441 2003-08-22 Bernardo Innocenti <bernie@develer.com>
2443 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
2445 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
2447 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2449 * config/i386/i386.c (const_int_1_operand): Simplify an
2452 2003-08-22 Alan Modra <amodra@bigpond.net.au>
2454 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
2455 * config/rs6000/ppc64-fp.c: Likewise.
2457 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2459 * cfgcleanup.c: Fix comment typos.
2460 * emit-rtl.c: Likewise.
2461 * optabs.c: Likewise.
2462 * ra-build.c: Likewise.
2463 * rtlanal.c: Likewise.
2466 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2468 * c-decl.c: Fix comment formatting.
2469 * cfgrtl.c: Likewise.
2470 * combine.c: Likewise.
2471 * convert.c: Likewise.
2472 * dominance.c: Likewise.
2473 * dwarf2out.c: Likewise.
2474 * dwarfout.c: Likewise.
2475 * expmed.c: Likewise.
2476 * fold-const.c: Likewise.
2478 * genattrtab.c: Likewise.
2479 * ggc-common.c: Likewise.
2480 * mips-tfile.c: Likewise.
2481 * regmove.c: Likewise.
2483 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2485 * builtin-attrs.def: Fix comment formatting.
2486 * c-pretty-print.c: Likewise.
2487 * diagnostic.h: Likewise.
2488 * langhooks.h: Likewise.
2489 * recog.c: Likewise.
2490 * simplify-rtx.c: Likewise.
2491 * tree.def: Likewise.
2493 2003-08-22 Bernardo Innocenti <bernie@develer.com>
2495 * config/m68k/m68k-protos.h: Convert to ISO C90.
2496 * config/m68k/m68k.c: Likewise.
2498 2003-08-21 Bernardo Innocenti <bernie@develer.com>
2499 Paul Dale <pauli@snapgear.com>
2500 Peter Barada <peter@baradas.org>
2502 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
2505 2003-08-21 Zack Weinberg <zack@codesourcery.com>
2507 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
2508 * config.gcc (*-*-openbsd): Don't set tm_file.
2509 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
2510 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
2511 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
2512 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
2513 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
2514 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
2515 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
2516 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
2517 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
2518 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
2519 xscale-*-coff): Use explicit and complete lists of target headers
2520 to include. Move definitions to tm_defines where appropriate.
2521 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
2522 not-yet-contributed configuration.
2524 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
2525 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
2526 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
2527 * config/i386/nto.h, config/iq2000/iq2000.h,
2528 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
2529 * config/m68k/linux.h, config/m68k/m68k-aout.h
2530 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
2531 * config/m68k/netbsd.h, config/m68k/openbsd.h
2532 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
2533 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
2534 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
2535 Remove includes of other target config headers, and
2536 definitions of macros moved to tm_defines lists. Add #undefs
2537 where now necessary to prevent redefinition warnings.
2539 * config/h8300/coff.h: New file split out of...
2540 * config/h8300/elf.h: ...here.
2541 * config/m68k/hp320base.h: New file split out of...
2542 * config/m68k/hp320.h: ...here.
2543 * config/rs6000/lynxbase.h: New file split out of...
2544 * config/rs6000/lynx.h: ...here.
2546 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
2547 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
2549 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
2550 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
2551 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
2552 Remove unnecessary #ifndef.
2553 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
2554 [under IN_LIBGCC2] with config/.
2556 2003-08-21 Per Bothner <pbothner@apple.com>
2558 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
2560 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
2561 by return_at_eof check. Always call _cpp_pop_buffer at end.
2563 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
2566 * config/h8300/h8300.md (two anonymous patterns): Remove.
2568 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
2570 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
2571 * config/mips/mips.c (function_arg_pass_by_reference): Never return
2574 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
2576 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
2577 and similarly in (A | C) == D where C & ~D != 0.
2579 2003-08-20 Geoffrey Keating <geoffk@apple.com>
2582 * configure.in: When testing with_libs and with_headers, treat
2583 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
2584 * configure: Regenerate.
2586 2003-08-20 Peter Barada <peter@baradas.org>
2588 * longlong.h (umul_ppmm): Add ColdFire support.
2590 2003-08-20 Peter Barada <peter@baradas.org>
2591 Bernardo Innocenti <bernie@develer.com>
2593 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
2594 * config/m68k/m68k.h: Likewise.
2595 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
2596 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
2597 * config/m68k/linux.h: Likewise.
2598 * config/m68k/m68k.c: Likewise.
2599 * config/m68k/m68k.md: Likewise.
2600 * config/m68k/m68kelf.h: Likewise.
2601 * config/m68k/netbsd-elf.h: Likewise.
2602 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
2604 2003-08-20 Bernardo Innocenti <bernie@develer.com>
2606 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
2607 * config/m68k/m68k.md: Likewise.
2609 2003-08-20 Mark Mitchell <mark@codesourcery.com>
2613 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2614 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2615 types with precisions other than those given by native machine
2618 2003-08-20 Gunther Nikl <gni@gecko.de>
2620 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
2621 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
2622 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
2623 * config/m68k/m68k.md (anonymous define_insn): Likewise
2624 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
2625 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
2626 code selected by NO_ASM_FMOVECR
2628 2003-08-20 Gunther Nikl <gni@gecko.de>
2630 * config/m68k/m68k.c (output_move_const_into_data_reg,
2631 output_move_himode): unify MOTOROLA/MIT handling of moveq
2632 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
2635 2003-08-20 Gunther Nikl <gni@gecko.de>
2637 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2639 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2640 HOST_WIDE_INT_PRINT_DEC with %wd
2642 2003-08-20 Loren James Rittle <ljrittle@acm.org>
2644 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2647 2003-08-20 Roger Sayle <roger@eyesopen.com>
2650 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2651 operands before calling tree_int_cst_lt when performing associative
2654 2003-08-20 Jason Merrill <jason@redhat.com>
2656 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2657 (EXPR_CHECK): Don't check for 'r' or 's' if we're
2658 checking IS_EXPR_CODE_CLASS.
2659 * calls.c (calls_function_1): Likewise.
2660 * fold-const.c (fold): Likewise.
2661 * tree.c (iterative_hash_expr): Likewise.
2662 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2664 2003-08-20 Gunther Nikl <gni@gecko.de>
2666 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2667 depending on MOTOROLA_BSR
2668 * config/m68k/m68k.md (anonymous define_insn): Likewise
2670 2003-08-20 Jason Merrill <jason@redhat.com>
2672 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
2673 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2674 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2675 * dojump.c (do_jump): Likewise.
2676 * fold-const.c (operand_equal_p, fold): Likewise.
2677 (tree_expr_nonnegative_p): Likewise.
2679 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2680 TYPE_USER_ALIGN for FIELD_DECLs.
2682 * attribs.c (decl_attributes): Rebuild the function pointer type after
2683 changing the target type.
2684 * tree.c (get_qualified_type): Also check that the attributes match.
2686 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
2688 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2689 * objc/config-lang.in (stagestuff): ... to here.
2691 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2694 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2695 NOP_EXPR) when necessary.
2696 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2697 types with precisions other than those given by native machine
2700 2003-08-19 Geoffrey Keating <geoffk@apple.com>
2702 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2703 because some macro is defined.
2705 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2707 * config/i386/darwin.h (ASM_SPEC): New.
2708 (SUBTARGET_EXTRA_SPECS): New.
2709 * config/rs6000/darwin.h (ASM_SPEC): New.
2710 (SUBTARGET_EXTRA_SPECS): New.
2711 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2712 a cross-compiler between two different processors on Darwin.
2713 * configure: Regenerate.
2715 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2717 * builtins.c: Fix comment typos.
2718 * c-common.c: Likewise.
2719 * c-decl.c: Likewise.
2720 * c-pretty-print.c: Likewise.
2721 * cfgbuild.c: Likewise.
2722 * cfglayout.c: Likewise.
2723 * cfgloopanal.c: Likewise.
2724 * cgraphunit.c: Likewise.
2725 * cppfiles.c: Likewise.
2726 * dwarfout.c: Likewise.
2728 * fold-const.c: Likewise.
2730 * ggc-page.c: Likewise.
2731 * haifa-sched.c: Likewise.
2732 * pretty-print.c: Likewise.
2735 * value-prof.c: Likewise.
2737 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2739 * c-decl.c: Follow spelling conventions.
2740 * cppfiles.c: Likewise.
2742 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2744 * c-common.c: Fix comment formatting.
2745 * c-common.h: Likewise.
2746 * c-decl.c: Likewise.
2747 * cppinit.c: Likewise.
2748 * cpplib.h: Likewise.
2749 * emit-rtl.c: Likewise.
2750 * input.h: Likewise.
2751 * line-map.h: Likewise.
2754 * simplify-rtx.c: Likewise.
2756 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
2758 * unwind-c.c: Add libgcc-style exception.
2759 * unwind-dw2.c: Likewise.
2760 * unwind-pe.h: Likewise.
2761 * unwind-sjlj.c: Likewise.
2762 * unwind.inc: Likewise.
2764 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2766 PR c/5582 PR c++/10538
2767 * langhooks-def.h (lhd_decl_uninit): Declare.
2768 (LANG_HOOKS_DECL_UNINIT): New macro.
2769 (LANG_HOOKS_INITIALIZER): Adjust.
2770 * langhooks.h (struct lang_hooks): Add new field
2772 * langhooks.c (lhd_decl_uninit): Define.
2773 * c-common.c (c_decl_uninit_1): New function.
2774 (c_decl_uninit): New function.
2775 (warn_init_self): Define.
2776 * c-common.h (c_decl_uninit): Declare.
2777 (warn_init_self): Declare.
2778 * c.opt: Introduce -Winit-self.
2779 * c-opts.c (c_common_handle_options): Set warn_init_self.
2780 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2781 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2782 * function.c (uninitialized_vars_warning): Call the language hook.
2783 * doc/invoke.texi: Document -Winit-self.
2785 2003-08-19 Chris Demetriou <cgd@broadcom.com>
2787 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2788 to use better predicates and constraints. Define new
2789 instruction to handle "trap_if" with DI-mode arguments.
2790 (conditional_trap): FAIL if trap code is not 0.
2792 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2794 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2795 strstr with $pb to a strcompare with "<pic base>"
2796 (ix86_output_addr_diff_elt): Output the real pic base.
2798 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2800 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2801 (LANG_HOOKS_INITIALIZER): Correct.
2802 * c-lang.c: Likewise.
2804 2003-08-19 Jan Hubicka <jh@suse.cz>
2806 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2807 (cgraph_varpool_mark_needed_node): Likewise.
2808 * cgraph.h (notice_global_symbol): Declare
2809 * varasm.c (notice_global_symbol): Break out from ...
2810 (assemble_start_function): ... here; update for variables.
2811 (assemble_variable): Use notice_global_symbol.
2813 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2815 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2816 expect SFmode and DFmode arguments to be passed in FPRs,
2817 regardless of the underlying type.
2819 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
2822 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2823 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2825 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
2828 * c-typeck.c (set_init_index): Check for negative index.
2830 2003-08-18 Bob Wilson <bob.wilson@acm.org>
2832 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2834 * config/xtensa/crtn.asm (_init, _fini): Likewise.
2835 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2836 __umodsi3, __modsi3): Likewise.
2837 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2840 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
2842 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2844 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2846 * config/mips/mips.md: Quote C code in braces. Remove use of
2847 fake const0_rtx operands. Remove double backslashes. Use \;.
2848 Remove workarounds for bogus warnings.
2850 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2852 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2853 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2854 rather than TARGET_MIPS4300.
2855 (mulsf3_internal, mulsf3_r4300): Likewise.
2857 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
2859 * config/mips/mips.md: Renumber unspecs. Clean up comments.
2861 2003-08-17 Roger Sayle <roger@eyesopen.com>
2863 * simplify-rtx.c (associative_constant_p): New function to test
2864 whether an RTX expression is an immediate constant.
2865 (simplify_associative_operation): New function to perform some
2866 reassociation optimizations of associative binary expressions.
2867 (simplify_binary_operation): Use simplify_associative_operation
2868 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
2869 Floating point expressions are only reassociated when unsafe
2870 math optimizations are permitted.
2872 2003-08-17 Andreas Jaeger <aj@suse.de>
2874 * config/alpha/alpha.md: Remove usage of PARAMS.
2876 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
2877 * config/i386/i386-interix.h: Likewise.
2878 * config/i386/winnt.c: Likewise.
2879 * config/i386/cygming.h: Likewise.
2880 * config/i386/cygwin2.c: Likewise.
2881 * config/darwin.c: Likewise.
2882 * config/darwin-c.c: Likewise.
2883 * config/darwin-protos.h: Likewise.
2884 * config/darwin.h: Likewise.
2885 * config/s390/s390-protos.h: Likewise.
2886 * config/s390/s390.c: Likewise.
2887 * config/ia64/ia64.c: Likewse
2888 * config/ia64/ia64-protos.h: Likewise.
2889 * config/ia64/ia64-c.c: Likewise.
2891 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2893 * config/sparc/sparc.c: Convert to ISO C.
2895 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
2896 * config/sparc/sparc.c: Likewise.
2898 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
2901 * stmt.c (expand_expr_stmt_value): Don't warn about any void
2904 2003-08-16 Jan Hubicka <jh@suse.cz>
2906 * i386.c (ix86_fntype_regparm): Rename from ...
2907 (ix86_function_regparm): ... this one; add fastcall and local
2909 (ix86_function_ok_for_sibcall): Update.
2910 (ix86_return_pops_args): Likewise.
2911 (init_cumulative_args): Likewise.
2912 (x86_can_output_mi_thunk): Likewise.
2913 (function_arg): Fix formating.
2914 (x86_this_parameter): Fix fastcall.
2915 (x86_output_mi_thunk): Likewise.
2917 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
2918 body as reachable; mark nested functions as needed too.
2919 (dump_cgraph): Do not output global.calls.
2920 * cgraph.h (cgraph_global_info): Kill.
2921 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
2922 (record_call_1): Speedup.
2923 (cgraph_analyze_function): Break out from ...; compute inlining
2925 (cgraph_finalize_compilation_unit): ... here.
2926 (cgraph_mark_inline): Kill computation of calls.
2927 (cgraph_decide_inlining): Do not compute most of initial values.
2929 2003-08-14 Roger Sayle <roger@eyesopen.com>
2931 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
2932 to negate if either operand is easy to negate, if we don't care
2933 about sign-dependent rounding.
2934 (negate_expr): Make the logic to negate a REAL_CST explicit.
2935 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
2936 that's easy to negate, if we don't honor sign-dependent rounding.
2937 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
2938 negate, and the symmetric A * -B as -A * B if A is easy to negate.
2939 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
2940 -C/D if B and C are cheap to negate. Add an explicit rule to
2941 optimize X/-1.0 as -X when we don't care about signaling NaNs.
2943 2003-08-14 Zack Weinberg <zack@codesourcery.com>
2945 * Makefile.in (tm_file): Rename tm_include_list.
2946 (tm_p_file): Rename tm_p_include_list.
2947 (build_xm_file): Rename build_xm_include_list.
2948 (host_xm_file): Rename host_xm_include_list.
2949 (xm_file): Rename xm_include_list.
2950 (xm_file_list): Add to be substituted.
2951 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
2953 (bt-load.o): Add missing dependency on $(TM_H).
2954 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
2955 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
2956 build_xm_file, generate both *_file_list and *_include_list
2957 values from it. (xm_file_list was formerly not being generated.)
2958 In *_include_list, prefix the names of all headers found in
2959 $(srcdir)/config with config/. In each loop, consider only
2960 the special case files that can actually appear in that list.
2961 AC_SUBST all *_file_list and all *_include_list variables; do
2962 not AC_SUBST the plain *_file variables.
2963 * configure: Regenerate.
2965 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2967 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
2969 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2971 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
2973 (attr_length_call): Include it here. Improve length estimate for
2975 (output_call): Use targetm.binds_local_p.
2977 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2979 * builtins.c (CASE_MATHFN): New helper macro.
2980 (mathfn_built_in): Simplify and sort.
2982 * protoize.c (substr): Delete, callers changed to `strstr'.
2984 2003-08-13 Zack Weinberg <zack@codesourcery.com>
2986 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
2987 * config/iq2000/xm-iq2000.h: Delete file.
2989 2003-08-13 Geoffrey Keating <geoffk@apple.com>
2991 * gengtype.c (walk_type): Process a subobject before processing
2992 the pointer that points to the subobject.
2994 2003-08-13 Per Bothner <pbothner@apple.com>
2996 * regclass.c (init_reg_modes): Make non-static.
2997 Rename to init_reg_modes_once per new naming convention.
2998 (init_regs): Don't call init_reg_modes here.
2999 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
3000 * rtl.h (init_reg_modes_once): New declaration.
3001 * toplev.c (backend_init): Call init_regs after init_emit_once.
3003 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
3005 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
3006 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
3008 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
3010 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
3011 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
3013 2003-08-13 Dale Johannesen <dalej@apple.com>
3015 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
3016 handling of decrement-and-branch farther than 32 bits.
3018 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
3020 * configure.in (make_compare_target): Move test to ...
3021 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
3022 * configure: Regenerate.
3024 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
3026 * config/mips/iris6.h: Convert to C90 prototypes.
3027 * config/mips/irix6-libc-compat.c: Likewise.
3028 * config/mips/mips-protos.h: Likewise.
3029 * config/mips/mips.c: Likewise.
3031 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
3033 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
3034 for selected machines. Comment heavily.
3035 fixinc/fixincl.x: Rebuild.
3036 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
3038 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
3040 * config/mips/mips.h: Tweak various comments.
3041 * config/mips/mips.c: Likewise.
3043 2003-08-11 James E Wilson <wilson@tuliptree.org>
3045 PR optimization/11319
3047 * alias.c (find_base_value, case REG): Return 0 not src if no base
3050 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3052 * gcse.c (gmalloc): Fix last change.
3054 2003-08-11 Roger Sayle <roger@eyesopen.com>
3056 * simplify-rtx.c (simplify_binary_operation): Replace calls to
3057 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
3058 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
3059 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
3061 2003-08-11 Roger Sayle <roger@eyesopen.com>
3063 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
3064 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
3065 typecode for an ABS_EXPR.
3067 * doc/c-tree.texi: Document ABS_EXPR.
3069 2003-08-11 Roger Sayle <roger@eyesopen.com>
3071 * fold-const.c (fold): Optimize any associative floating point
3072 operator with -funsafe-math-optimizations, not just MULT_EXPR.
3074 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
3076 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
3077 information in SHmedia case too.
3078 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
3080 (__set_fpscr): Use an access via GOT for PIC case.
3082 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
3084 * configure.in (intermodule): Make switch test more portable.
3085 * configure: Regenerate.
3087 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
3089 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
3090 (restrap): Likewise.
3092 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3094 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
3095 (grealloc): Size argument is a size_t.
3096 (gcalloc): New function. Use throughout in lieu of
3099 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
3101 * config/ia64/ia64.c (ia64_reorg): Likewise.
3102 * conflict.c (conflict_graph_new): Likewise.
3103 * fixinc/fixincl.c (run_compiles): Likewise.
3104 * genattrtab.c (optimize_attrs): Likewise.
3105 * genrecog.c (new_decision): Likewise.
3106 * haifa-sched.c (schedule_block): Likewise.
3107 * hashtable.c (ht_create): Likewise.
3109 2003-08-11 Bob Wilson <bob.wilson@acm.org>
3111 * config/xtensa/lib2funcs.S: Fix whitespace.
3112 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
3113 syntax where appropriate. Remove unnecessary backslash escapes.
3114 Reformat comments and fix some code formatting.
3115 (extendqisi2): Rearrange conditional.
3116 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
3117 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
3120 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
3122 * config/mips/mips.c: Various formatting fixes.
3123 (override_options): Resync -mtune handling with gas.
3124 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
3125 * config/mips/mips.h: More formatting fixes.
3126 (mips_abi): Move declaration.
3127 * config/mips/mips.md (exception_receiver): Add mode to
3130 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
3132 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
3134 (bdesc_1arg): Remove evsplati and evsplatfi.
3136 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
3138 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
3141 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3143 * builtins.c (expand_builtin_strcat): Optimize constant strings.
3145 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
3147 * pretty-print.c (pp_base_indent): Rename from pp_indent.
3148 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
3149 (struct c_pretty_print_info): Add more fields.
3150 (pp_c_left_paren): Move to c-pretty-print.c.
3151 (pp_c_right_paren): Likewise.
3152 (pp_c_left_brace): Likewise.
3153 (pp_c_right_brace): Likewise.
3154 (pp_c_left_bracket): Likewise.
3155 (pp_c_right_bracket): Likewise.
3156 (pp_c_declarator): Declare.
3157 (pp_c_direct_declarator): Likewise.
3158 (pp_c_specifier_qualifier_list): Likewise.
3159 (pp_c_type_id): Likewise.
3160 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
3161 (pp_c_type_qualifier_list): New.
3162 (pp_c_pointer): Likewise.
3163 (pp_c_parameter_type_list): Likewise.
3164 (pp_c_function_definition): Likewise.
3165 (pp_c_id_expression): Likewise.
3166 (pp_c_simple_type_specifier): Tidy.
3167 (pp_c_unary_expression): Likewise.
3168 (pp_c_expression): Likewise.
3169 (pp_c_pretty_printer_init): Likewise.
3170 (pp_c_specifier_qualifier_list): Rework..
3171 (pp_c_abstract_declarator): Likewise.
3172 (pp_c_postfix_expression): Likewise.
3173 (pp_c_primary_expression): Likewise.
3174 (pp_c_cast_expression): Likewise.
3175 (pp_c_direct_abstract_declarator): Likewise.
3176 (pp_c_storage_class_specifier): Likewise.
3177 (pp_c_function_specifier): Likewise.
3178 (pp_c_declaration_specifiers): Likewise.
3179 (pp_c_direct_declarator): Likewise.
3180 (pp_c_declarator): Likewise.
3181 (pp_c_declaration): Likewise.
3182 (pp_c_statement): Likewise.
3183 (pp_c_integer_constant): Rename from pp_c_integer_literal.
3184 (pp_c_character_constant): Rename from pp_c_character_literal.
3185 (pp_c_bool_constant): Rename from pp_c_bool_literal.
3186 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
3187 (pp_c_floating_constant): Rename from pp_c_real_literal.
3188 (pp_c_constant): Rename from pp_c_literal.
3189 * c-lang.c: Include diagnostic.h and c-pretty-print.h
3190 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
3191 (c_initialize_diagnostics): New.
3192 * Makefile.in (c-lang.o): Update dependency.
3194 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
3196 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
3198 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
3200 * config/mips/mips.c (mips_no_mips16_string): Remove.
3201 (override_options): Don't handle -mips16 as part of -mipsN.
3202 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
3203 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
3204 (TARGET_OPTIONS): Remove -mno-mips16.
3206 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
3208 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
3209 (coprocessor2_operand): Likewise.
3210 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
3211 (lookup_name): Remove declaration.
3212 (abort_with_insn): Remove. Replace all uses with fatal_insn.
3213 (mips16, mips_abicalls): Remove.
3214 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
3215 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
3216 (coprocessor_operand, coprocessor2_operand): Remove.
3217 (override_options): Don't set mips16 or mips_abicalls.
3218 (print_operand): Don't expect SIGN_EXTEND operands.
3219 (mips_secondary_reload_class): Likewise.
3220 (mips_output_conditional_branch): Remove disabled long-branch code.
3221 * config/mips/mips.h (call_used_regs): Remove declaration.
3222 (may_call_alloca): Likewise.
3223 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
3224 (mips_abicalls, mips16): Remove declarations.
3225 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
3226 (CC1_SPEC): Remove outdated comment.
3227 (MIPS_VERSION, MACHINE_TYPE): Remove.
3228 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
3229 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
3230 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
3231 (PUSH_ROUNDING): Likewise.
3232 (ASSEMBLER_SCRATCH_REGNUM): Remove.
3233 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
3234 and mips16 with TARGET_MIPS16.
3236 2003-08-09 Per Bothner <pbothner@apple.com>
3238 * cppinit.c (cpp_read_main_file): Split out source-independent
3239 initialization to separate function ...
3240 (cpp_post_options): New function.
3241 * cppfiles.c (cpp_stack_file): Rename public name to ...
3242 (_cpp_stack_file): New internal function name.
3243 * cpplib.h: Update accordingly.
3244 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
3245 (cpp_read_main_file): Don't initialize line here.
3246 * c-opts.c (c_common_post_options): Call cpp_post_options.
3247 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
3248 * fix-header.c (read_scan_file): Call cpp_post_options.
3250 2003-08-09 Per Bothner <per@bothner.com>
3252 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
3254 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3256 * pa.c (pa_asm_output_mi_thunk): Fix typo.
3258 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
3260 PR preprocessor/11839
3261 * cppfiles.c (open_file): Handle ENOTDIR.
3263 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
3266 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
3268 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3270 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
3271 source/destination is not a register operand.
3273 2003-08-08 Richard Henderson <rth@redhat.com>
3276 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
3277 RETURN_ADDRESS_POINTER_REGNUM.
3278 (ia64_expand_prologue): Don't frob it.
3279 (ia64_output_function_epilogue): Likewise.
3280 (ia64_return_addr_rtx): New.
3281 (ia64_split_return_addr_rtx): New.
3282 * config/ia64/ia64-protos.h: Update.
3283 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
3284 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
3285 (GENERAL_REGNO_P): Don't check it.
3286 (AR_*_REGNUM): Renumber.
3287 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
3288 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
3289 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
3290 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
3291 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
3292 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
3293 (movdi_ret_addr): New.
3295 2003-08-08 Geoffrey Keating <geoffk@apple.com>
3297 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
3299 2003-08-08 Roger Sayle <roger@eyesopen.com>
3301 * tree.h (get_identifier) Define a macro form of get_identifier
3302 that calls get_identifier_with_length when the string is constant.
3303 (get_identifier_with_length): Change type of second argument to
3304 size_t in prototype.
3305 * stringpool.c (get_identifier): Undefine the macro before giving
3306 the function definition.
3307 (get_identifier_with_length): Change type of second argument to
3308 size_t in function definition.
3309 * hashtable.c (calc_hash): Change type of second argument to size_t.
3310 (ht_lookup): Change type of third argument to size_t. Reorganize
3311 to speed-up the cases where the hash table slot is empty, or the
3312 first probe matches (i.e. there isn't a collision).
3313 * hashtable.h (ht_lookup): Adjust function prototype.
3315 2003-08-08 Bernardo Innocenti <bernie@develer.com>
3319 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
3321 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
3323 * common.opt: Add debug switches.
3324 * flags.h (use_gnu_debug_info_extensions): Boolify.
3325 * opts.c (write_symbols, debug_info_level,
3326 use_gnu_debug_info_extensions): Move from toplev.c.
3327 (set_debug_level): New.
3328 (common_handle_options): Handle debug switches.
3329 (print_help): Display target options directly.
3330 * toplev.c (debug_hooks): Don't initialize.
3331 (write_symbols, debug_info_level,
3332 use_gnu_debug_info_extensions): Move to opts.c.
3333 (debug_args, display_help, decode_g_option): Remove.
3334 (process_options): Set no debug if level zero here,
3335 and no-debug-hooks. Error here if impossible debug format selected.
3336 * toplev.h (display_help, decode_g_option): Remove.
3338 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
3340 * tree.c (get_file_function_name_long): Fix size of alloca() area.
3342 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
3344 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
3345 and gcc_cv_prog_cmp_skip.
3346 * configure: Regenerate.
3348 2003-08-08 Stan Cox <scox@redhat.com>
3350 * config/iq2000: New port.
3351 * config.gcc (iq2000-*-elf): Added.
3352 * doc/install.texi (Specific): Add iq2000 description.
3354 2003-08-08 Andreas Schwab <schwab@suse.de>
3356 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
3357 and insert missing empty argument.
3358 * configure: Regenerate.
3360 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3362 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
3363 (attr_length_millicode_call): Likewise.
3364 (attr_length_call): Likewise. Revise some maximum insn lengths.
3365 (attr_length_indirect_call): Likewise.
3366 (output_call): Fix thinko that added extra nop.
3367 * pa.h (IN_NAMED_SECTION_P): Define.
3370 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
3371 __STDC_EXT__ when using C++ dialect.
3373 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
3375 * sh.c (calc_live_regs): If the return address pointer is live,
3377 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
3378 for saves / restores.
3379 (sh_expand_epilogue): If sh_media_register_for_return returns a
3380 register number, flag the instructions that restores PR_MEDIA_REG
3382 Remove dead update of offset.
3383 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
3384 we can use the result of get_hard_reg_initial_val.
3385 * sh.md (UNSPEC_RA): New constant.
3386 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
3387 (load_ra). Handle UNSPEC_RA.
3388 (sibcall_media): Use PR_MEDIA_REG.
3390 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
3391 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
3392 needs saving on SHmedia.
3394 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
3396 * config/s390/s390.md: Replace all occurrences of \\t with \t.
3398 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
3400 * local-alloc.c (combine_regs): Fix comment typo.
3402 2003-08-06 Zack Weinberg <zack@codesourcery.com>
3404 * c-decl.c (builtin_decls): Replace with first_builtin_decl
3405 and last_builtin_decl.
3406 (c_init_decl_processing): Initialize both.
3407 (c_reset_state): Iterate from first_builtin_decl to
3408 last_builtin_decl inclusive to reintroduce builtins.
3410 2003-08-06 David Mosberger <davidm@hpl.hp.com>
3412 * doc/extend.texi (Function Attributes): Document the IA-64 version
3413 of the "model" attribute.
3415 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
3416 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
3417 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
3419 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
3420 (ia64_encode_section_info): Likewise.
3421 (ia64_attribute_table): Add "model" attribute.
3422 (TARGET_ENCODE_SECTION_INFO): Define.
3423 (small_addr_symbolic_operand): New function.
3424 (got_symbolic_operand): Return 0 for a symbolref to an object
3425 in the small address area.
3426 (enum ia64_addr_area): New type.
3427 (small_ident1): New variable.
3428 (small_ident2): Likewise.
3429 (init_idents): New function.
3430 (ia64_get_addr_area): Likewise.
3431 (ia64_encode_addr_area): Likewise.
3432 (ia64_encode_section_info): Likewise.
3433 (ia64_expand_load_address): For symbolic references to objects in
3434 the small-address-area, load the address via gen_rtx_SET() (which,
3435 eventually, will expand into "addl").
3437 2003-08-06 Per Bothner <pbothner@apple.com>